From dab3edfb9e12f756935f3d855a1dfcbdc7768776 Mon Sep 17 00:00:00 2001 From: Lephe Date: Sun, 31 May 2020 22:33:23 +0200 Subject: [PATCH] periodic check of SH3 compatibility --- assets-fx/img/opt_switch_ctx_sh3.png | Bin 0 -> 2614 bytes src/gint/switch.c | 23 +++++++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 assets-fx/img/opt_switch_ctx_sh3.png diff --git a/assets-fx/img/opt_switch_ctx_sh3.png b/assets-fx/img/opt_switch_ctx_sh3.png new file mode 100644 index 0000000000000000000000000000000000000000..588b3857c3389e3d77b1c2e5ef7ab97a7606015e GIT binary patch literal 2614 zcmV-63d!|}P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3#bvNN|0h2MJ>SprFr1i2gzKvi~-<>y07z8>O= zovKK_l76X0f;bc8$Nu$CfBwO(l-Zx!boAMK;#Oy!W$|L9UvKt({=An{eII|h|cJnv96zu%kL`E@w-EPj`RI< zzr)==r(3nthWzDC3(NrxhsE-*ZSTk_mNgQxu%;=+T2f`xnxP6Yraoj z*|X)#^T~%AYq6p{mvV}{?+wv1%aJ5mYTUCIl_^(-6gkC2q&`x9YRT`u^WE>{!Ok~x zX~`^>`O1I2KYw+>-?_V=M2~WgX68??sH>E~Ax9e}9=QxavVU=FZ-ali|JoxYGVCv0MI?Tk;Y>xUTX1;aAohsFjx`mAxCqWC4QIv$WiE(o!_%DrErBqVgiO zY!Jw;l}nMOigd6U@QA(nj^_8;(#q$3qyj!ox+vI8S%6h*gFjja99m6UZLRgDZM50e z)1}wmdhgmpb4x|5Htni9bm|&1>S&`69b?R~W|@K{+w4>4m~*bho~u5qExx_DVy#`a z?7G|TTld&=uLFHfJ?-?PXPkM~Emv;6?e?p8+-#5E9r&?PWSBiC92xxg&V zf+|{}$QIb#oYs>&5LU~jdH%ufSLFUSZV$cwE8NQ8LGB6Y{tw8N$K(&V{RwI}obbGe zeN-4dO@jKsBfFVbdv?BEPIi^Gsgy6xUZ(f!QjQx|l9b}x7|G|=nFm;yER%d~&vcuy zp-u?tqso!V&iLdhd%LLbu6D)uV6C-B!^+N_Abri0{>ii<*}PHHu2=mz966SVlkisG zCpyyBHTJ)rjB<6=yXlc{7H5O&o%VH1w)i;{^V9NR;a1b}R897c=z#@C?v>pZHDkkV z&kH-cj-`-iH=oory3mJg?c5Dj=R6zgiQF+ zKx(DWOXWWDOK=I|un4QApdzf%O>geS6^_FFI;~DQ6Y+Q zn6oGRpGpGuc>o;zPUxk2x<}0LoM^>yU5{AFIvSQlTOBW8Jr&Cvnm4*MeHYw=1H)mI zeeokSz#-cxNYO3iGyU193!>#5+|ULGWq4{f1&^Sop(NiLD3?2s4^k{W(HrzDGYOrS z0cx-q>N|DOrnQZ|O9J0s4+zI6P=I!_f@0wtwAWc#Oc@d@)J_?`bbGE16&MrKP2Q}| zh~tUsPpOVgQ7xhhobedr62H!*+3oIVe`9eB`raoR8-}OWmK<1>CPX&A<%#atX^Vb0 znD=T0k;F;^QJ{&f=h!;oD-YMA>wI^vdTRH)acV_zEHuTj+M$=d=?&z;yLxP`QmWFq zexg`U<2?eYj8Ab%N@c5d#x5^`H&Nw4IHTu zQ$YGijh=C|9wi`=$>AWQMAMt%*)R84{)6zc1xiRnUYDW7{(9E@(vN>BGTwbyW~RjX zVs^(jU7EeNj9-!a@lJXr0>Q|hu3rX@k6~p5fCCd+}+%U0QEPFNjh#YzQ%FG8H}6C**uO42&{0VUfA50Sh$n*^IR@=S}NBiFi#I`md?Z+MP*6Q z1Y=l_3|O!FNoWVw#TAT09Ck7(piY#!AqV7=a5ro;t|o8?zhB>pLHSLEqaJ>XFqf6+ ztC9L&iV@Z;!l1BZFn!$u00%&TXSDh6peH9T>Fs3`4KeZ|$I))FS$Gsc8dv1*A= z2c&}mzBmJUK+?VgRs>$?VV26?oG!2Z3WE1;#^>oi3yv@WTls6pr$L~7BVkC9PX6?5 zJ**w^5acx=YkR*(rmgWS6eVMX$D@yA5M~S_m{M*L7hu77%!J{ut+P7kPEl8TU5Am? zb$_OU)QOCyfJ9;{c2f3AJm5&Ev-gKll-EplI~NGL_PQ)l#Pz*!x=v0{>&_Ol4*?21R{U$%o64-9Gw8pjHt|sF)EY&M0H=xq?HkI zaI_fkrN)d4C;CAYF?6OFO?f71COqwoPp2|ZSgR-og&=>%(DC8ksn2H;ffV2Ql`~?2 z$R|ddcYdWM{JmlWOIT6tFBStZvN1@~KP_n1}a9|4IRS0leJH zfnK@FxB}vfCDrW>F=fnGaLXt!GMa9nuY;QA+us`(9#KX#qh|y(h;=>&!h{buZ$bK5 YJf&y&rZe#1r~m)}07*qoM6N<$f`9fM@Bjb+ literal 0 HcmV?d00001 diff --git a/src/gint/switch.c b/src/gint/switch.c index 509b0ab..9eb933f 100644 --- a/src/gint/switch.c +++ b/src/gint/switch.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -59,8 +60,9 @@ static void ctx_dd() static void ctx_rtc() { uint8_t *ctx = driver_ctx("RTC"); - uint8_t RCR1=ctx[0], RCR2=ctx[1]; + if(!ctx) return; + uint8_t RCR1=ctx[0], RCR2=ctx[1]; row_print(1, 1, "RCR1:%02x", RCR1); row_print(2, 1, "RCR2:%02x", RCR2); } @@ -72,9 +74,12 @@ static void show_etmu(int line, int id, etmu_t *t) static void ctx_etmu(int start) { etmu_t *t = driver_ctx("TMU") + 3 * sizeof(tmu_t); - t += start; + int length = 3; - for(int i = 0; i < 3; i++, t++) + if(isSH3()) length=1, start=0; + + t += start; + for(int i = 0; i < length; i++, t++) { show_etmu(2*i+1, i+start, t); } @@ -114,8 +119,9 @@ static void ctx_dd() static void ctx_rtc() { uint8_t *ctx = driver_ctx("RTC"); - uint8_t RCR1=ctx[0], RCR2=ctx[1]; + if(!ctx) return; + uint8_t RCR1=ctx[0], RCR2=ctx[1]; row_print(1, 1, "RCR1:%02x", RCR1); row_print(2, 1, "RCR2:%02x", RCR2); } @@ -148,8 +154,13 @@ static void system_contexts(void) dclear(C_WHITE); #ifdef FX9860G + extern image_t img_opt_switch_ctx_sh3; extern image_t img_opt_switch_ctx; - dimage(0, 56, &img_opt_switch_ctx); + + if(isSH3()) + dimage(0, 56, &img_opt_switch_ctx_sh3); + else + dimage(0, 56, &img_opt_switch_ctx); #endif #ifdef FXCG50 @@ -182,7 +193,7 @@ static void system_contexts(void) if(key == KEY_F4) tab = 3; #ifdef FX9860G - if(key == KEY_F5) tab = 4; + if(key == KEY_F5 && isSH3()) tab = 4; #endif } }