From 5ecb7c90bf37ae7654f656f6e63a5a20713e38ac Mon Sep 17 00:00:00 2001 From: Zane Kaminski Date: Sat, 11 Nov 2023 05:55:08 -0500 Subject: [PATCH] Fix RAM2E saving --- bin/GWRAM.dbg.po | Bin 143360 -> 143360 bytes bin/GWRAM.po | Bin 143360 -> 143360 bytes ram2e_hal_max.c | 41 +++++++++++++++++++++++++---------------- 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/bin/GWRAM.dbg.po b/bin/GWRAM.dbg.po index 7ce9458dd47abfd19c37394eff686961dd93f9ac..215f8ef9b7343a56f3e57a54615f395be5ab23c0 100644 GIT binary patch delta 6929 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 delta 6938 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 delta 7206 zcma)B4RjONm7b9-+cMaQ6p9TdJZvzLf4~G|ncA{t2q4XyLYDu40g;5%WMTRL*_1FM zARpOS!rlRD66jH;2p9#qcG8w|5`wpBILJwNCuc*T+ue;%*d?SPWWqLwEN$@K`$jer zNqXud-n@6;efQpX-+lLfGx+*4eSMi-KS~=uvxIX_$;;xnw>W|w(`&pbz`vTFCQkXG zKwLA)&#RR@l@Mo5=?gvNR<&X}?-Y*THuu`@D0$}#g~PsH+gD2ei{ih@(-ss+^#Z9S z|U_#7cSrm9?UYfscm`ijI;MEx*WFQ^>3S*K=V^OQ1^^j8{$EF`ot z0=ZZX!W6E>i!>WFVNq)YsriEOTzgRH#?=DU!H=RUvik}m5(bbvPQ$7X-#jTnJM8$vGHIxjpEd?A&#rQT%Tr_M&{$7Mv-FuRCKi<<$$nFWsz*%@p(@@iaX*o~e%pE)a&6uT_9ZI1NLtv3am7oDTMoYZb5EU1&9p zy;fmpU``|7&gP%ThtliD}`zm7^VII8u34!Dvu7@gpE(E zC`=l1Fa$FBRf4z~ooE4<3~(_*S}H-RLq(}9=*@~k)U^%Oun5LjChr%DZx^aX-$G1L zs`le@;H*JTwvsJ2;(x0_1fy_9Qd7s@IRtrR`~>2ipuUqT6(`tzfH_h*fzSyFzF(yB z8J(RV{IQiK`uxxPSm>Oz{YC&UIm>g3c!@QG* z1T!|T8w56)js$6U5(_)&9m?#%H7r;84FX&95Ux34WHUw>frLLL5k?~6-6X;&B-~ME ziT#zt|6lRBr9 zNOd?3vf!pkY#7ytscCGIA0TIvPI>Bz5e|^XG_5k6gOXL|tvQS^nAydTo#70)Pmhl$ z?@c7b;yrzZi02+r`EQWem5o$G zTEy!OdB)a|FIg(VfU5+WL{E%PG714yfp}iaC)_5J$5(DfGWdzPh;5<7*a9P1aUWM% zNRXA|4JHokU>O;9yt6WOZHT!ZOf*U0Hm4nG8E8Wlcc(}7bew?g)Dl+L8j_SY7-9FI z(!_???zfFs$D=u@HJN^5e5wu4LOfL2r6l2(nN>{ZG=t2JraDRIP?VgPM941>LO7yM_4IdQSWv)a!oDD*mNJoLVMc zo{WaY*xWdn8wqoxlk0YRDGCBkXfIDTgc|JmD5^HzuRmDo=OJ^lj9ZCyNDIyqAP)u~ z6FO%JXC9N4)zhS2C%8Gnf!COm{+Qwt^>cI+Ck9K@TLV3K!mYK12d|~TlJWz%^@l0sm_4eGf!lEf zo))!Vj7?R)W&@M@b=V46#tP|UD&fnGtHIn`3}#3vFU}7!!|ubY`4wIOPeqJtPl zZ&CX%u@!hnG_zR$DBK``ouG7QF~fE4srX=1;9-X4nu`ZeU9(gSOTHD>0XYTMeV7zQ zEHvL@1d>z2yzpI!t{Tqv(`gAD2QrgzTsXbkC!hM!FpNlcJkNf+3gpAkLnf{-D#4 z_@MLnv!kV1aM9TZoqPbE?1N4&rq=r(bl`Z|JTRuhyy2AwB11^QVhKMP#m!yo2Qfxk z*J9|iOg${l>$bQ_A09XB4~cJ9stsaKrMg>`pq+xTPt_qCbJZ1Bl#x#RkT$b`4Yw`CCOkmqkA&yb1L!5>n!Kk9`?RJRge9guJgf{$E3 zqM5G$#2b5p1{YCMTBR;hC}co#txi1Ui5#l>#NwGIn}

jjOm?X+_T>WuBAox89Dn)e6DBemq=sz^XwR+}_9TI&v5&K=^8&Z7a_okstm zro-enPXCdnpWvgT>8Q#LKi%GO34Yxj!P6dWRr$*L3jVk}bi;V*l!y2nQEiA~IX{mc zJ_H{uz43{fwfhLRWWR%i9OB6;l~aZsUrc*#cVVJTvxF8?JuhAYoh1}boHdi- zT=fsyNIX{~^g7xD;KcR-xFx<(n*__wETj4;cT=0C&GLd}Uv>k{UI{YPax$W-F`Su@ zu}RAY^s$QG00*hNv`O);+ECIfIfC2KTGX;#8$x0ZQ2Gp0x(iHQrrF&wke%T2B|ZJwF4~nI+DTh?(W=;T z`q|FuG#Xn$k!)7EsHZ=;g0?`roW>SY%}gq*NPQJ_b?kzI;6I`(pOaT@oWlP`4sBet zKI-Xw#e=bW#?u+YPB=|mKw=_=O6?`nYOc?N>oh;c_1L~V1H^Q93lJMiZ9R4gUSGqU zo}o4?9%iYImBZcVs%kDM{zGdawhegl# z%11UWkgj-iQ?3_2&U(=hPDvv!7bK_-JFk~Oo32d^baxOAbIzAeU{N?oFdEcoEe$eQ z4zj{)QHRpsB4#+TfVdIB_~GjK{6`xB+6RA3{ejSK3OR`H4%m6k3hy)%tE1vaP8dpQ z+83CcAg_UXE5i!dSP?w&b)Y6E&S_a;3yiUNRHN>GEf@0rh!{$a?WTSv8LS9s5tM?w zq@W%Y#9a8oPma{(t}XCSByIv-{{%0*c0xMwhST=9$=5eevQ2^SP#`*-j!h<1sIgn> z_%?avmfTU05L%iJ_*DvfdrQFfm8jLW*v6`WqT5@px4_XI zhy+eH6TTLMUp!U|+`rrMFn>zExn(}D$TeF_M!M^onok5yhMEHVL!fX$oj*hrdH2>C zPcQc9*4|$2j`|Q7etwCE9eB6zx=-i5*Y|qCg+6~XfEa%OYEA1w8vB{2^906F#CLLU z?uLVyC)uR~Uq=Jo0h~c=PSu||NMU;_FLH9;ws~0)er&1OBX8c8FR{&u(VE~Miu^%| zhI};Aa`HfMFAcpwJ0LFZc-qq9qLu{}AhwTo?x$XHlf&NzPC3!$?ywKjZB?IS>e+3! z(~VgH?Jv;|Z=<&{s&d|SnWr0@+Omq;0@~e^Z4kiizDw?wc3-0xeXDSA{_^j)jvP-GOxk(uH;tO4JRszzac;4W+vVLNcvmU7xqZt8o5M(?L9usdDl5xzcE?HQ@{h zoY**_lL%xKD}R<|Edz4h7(vU91adcw5un?$AzujQ3lJP`xRyZ57cgpr;{H+gsw3JW4o=YDY+C$a%6chL*ze`a6h4s4X&t36^ z-w~g3ootC52<@Z6{qoQq_MuHKHA8&H0S;5^U#s7-I>X-VY4sfRh#dP1zTpX-_XOYa zgnsJ@oa^ro{?2&3>uLR0IsW|QNkfFt^ECE>M;{rP=Z?&G6Yc`{JdHN`=QsN2wRly& z%FA&Z>t)_lAiMTh8fq1a`9aD1rSEv5fd8dtI)B@I+zH(~XSfSJqBbhF@j{%}Y^q18 z3BK+ww~PP_ciTRh60py){uIkbZ-y*)R|%Ge`)_Qb*B9Co}$7JJl-lY z?p{|$ht(H!30|fD#`#h74PDT`_&xV${q~JFboq~a7MkA?&hB$bXI&D1q3izvorRkL diff --git a/ram2e_hal_max.c b/ram2e_hal_max.c index 5e9d47d..69c9944 100644 --- a/ram2e_hal_max.c +++ b/ram2e_hal_max.c @@ -9,25 +9,34 @@ static void ram2e_max_erase() { ram2e_cmd(0xEE, 0x00); } /* ram2e_max_save(...) */ static void ram2e_max_save(char mask, char enled) { - char i; - char led; - if (mask == 0xFF) { mask = 0x80; } // Encode 0xFF mask properly + char wmask; - // Shift mask into UFMD - for (i = 0; i < 8; i++) { - ram2e_max_bitbang(0x80 | ((mask << (i-1)) & 0x40)); - } + // Encode 0xFF mask properly + if (mask == 0xFF) { wmask = 0x80; } + else { wmask = mask; } - // Shift LED setting into UFMD - if (( enled && (mask >> 7)) || - (!enled && !(mask >> 7))) { led = 0x80; } - else { led = 0xC0; } - ram2e_max_bitbang(led); + // Shift mask into UFMD + ram2e_max_bitbang(0x80 | ((wmask >> 1) & 0x40)); + ram2e_max_bitbang(0x80 | ((wmask >> 0) & 0x40)); + ram2e_max_bitbang(0x80 | ((wmask << 1) & 0x40)); + ram2e_max_bitbang(0x80 | ((wmask << 2) & 0x40)); + ram2e_max_bitbang(0x80 | ((wmask << 3) & 0x40)); + ram2e_max_bitbang(0x80 | ((wmask << 4) & 0x40)); + ram2e_max_bitbang(0x80 | ((wmask << 5) & 0x40)); + ram2e_max_bitbang(0x80 | ((wmask << 6) & 0x40)); - // Shift low six bits of mask into UFMD again - for (i = 1; i < 8; i++) { - ram2e_max_bitbang(0x80 | ((mask << (i-1)) & 0x40)); - } + // Shift mask into UFMD + if (( enled && (wmask >> 7)) || + (!enled && !(wmask >> 7))) { + ram2e_max_bitbang(0x80); + } else { ram2e_max_bitbang(0xC0); } + ram2e_max_bitbang(0xC0); + ram2e_max_bitbang(0xC0); + ram2e_max_bitbang(0xC0); + ram2e_max_bitbang(0xC0); + ram2e_max_bitbang(0xC0); + ram2e_max_bitbang(0xC0); + ram2e_max_bitbang(0xC0); // Program UFM ram2e_max_program();