From bca8cbbcfa8115a128632c11ba15e233353599e6 Mon Sep 17 00:00:00 2001 From: Sven Van de Velde Date: Sun, 8 Oct 2023 16:07:37 +0200 Subject: [PATCH] - Bugfixes and new concept to build SMC.BIN header. --- python/SMC-HEADER.BIN | Bin 32 -> 32 bytes python/SMC-R45.BIN | Bin 7450 -> 0 bytes python/SMC.BIN | Bin 7482 -> 7482 bytes python/smc_convert.py | 12 +- python/x16-smc-header.hex | 4 +- src/cx16-display.c | 2 +- src/cx16-smc.c | 15 +- src/cx16-smc.h | 2 +- src/cx16-update.c | 8 +- target/src/SMC.BIN | Bin 7100 -> 7482 bytes target/src/cx16-update.asm | 12335 +++++++++++++++++----------------- target/src/cx16-update.klog | 4 +- target/src/cx16-update.prg | Bin 24373 -> 24753 bytes 13 files changed, 6265 insertions(+), 6117 deletions(-) delete mode 100644 python/SMC-R45.BIN diff --git a/python/SMC-HEADER.BIN b/python/SMC-HEADER.BIN index 78ed94b78f28b60a7969fca8e5568782cf34c9b3..a08f4e348ca884f9d1b5da0ddac9f8c5fa97f5f6 100644 GIT binary patch literal 32 NcmdO8WWWP-v;hWU0EPen literal 32 LcmdPaVZaLj3e*5t diff --git a/python/SMC-R45.BIN b/python/SMC-R45.BIN deleted file mode 100644 index 38dbae88daf30b495b0ddd6196fb767f3b2971ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7450 zcmb7J3s@9Kw(c^bjK-ZAUkF42F+rokj88NwnqSY`f zvtK^@J!!1^uF6O@o!d?>wzM^O!C`zaag(XMd%Zu7Y$D|Z;eq03PwnX5>^G2qwj3dk z;JAX@=#z$nClOPKL-p4obG9T{cNKI5-cyoAbc+HHHspsT&I-UQL%nLkX1vhd; zyEDVRENH_XKS7BFZCLvZz;0i$FWh^j$sS*Kt(~$ER!d-%FU^-pBp!uy#!)SuYS$oq zC8foJ2E)B=$W~&#^$50=WCyy#lfBgqo>nhM=YugEls07L+-dGii7SkFK`G_F)K?{y z5A3^snPdf9P#Ug`(ry#0#C9#{r5K57;xbw~(Wop-`CMg%XHd3zwVFj(=@}IBDb+%Z zpueMuDt;SiWBF&-MM1$@4!Ko7U?uThmf3dx23tzB2#h%C)5v5wZMyD)#9Gwalum>Z>2-^HBKjJak* zicb9rb7!L`>eM>Soia?(so!Dlj1k_4umdDEU_(l#>h^JZ3$Z09t6UN{y{Km!x;QV8 zx=^S^Gn;ywb;@4sEU{XgW!-Vk7@hhheqQCqge#wF9R5pomgJQ!mASFi{;1L$a$j?# z>MY5!oR^JSjkBDV`zFuu*P>`xoB0|?TxF-_sM6l%a-hp!>nx*koREJ{2C5Z9)37kk2@6Qd*D!(!h^ymI?hMZgCPRlKOMdLR| zezT<(c^hA)b11I>h21h0B2R~pPXizKINH7ZWAJi{0UDWlm-Z<&mi900S4vw%&IX8> zrIg)4M4ljVH10?+f+B(y5|GXG0{H&35M%y`9K$1(W)dJekM%T9c(~xd z6M!lfg(otP7WH&AWMR8m2-7Kl#;mXiU6Ji;?52A4ITY}@ql$Yh8j|5zcR?VYCKYi~ zD$4MzGWg}^5PS)#Xneyr$Q4r>Z2Ps@m|}PeqEU2S!%R%yvdoSa!s68YQ#_g3 zFbi|=6{*tbd{ee+bxQS%>`JCGynqS0-F!xH`*?COd4j(gzOsbLm@9BxXN7deLslnp z#xB@K-c4kMLRfc^76WtoJ^#zr-TQa{b41;U{EAO1@*+3t^t*3*KB?00&#$^tal692 zel4QwFg5uRYs;OeQ=D>8T1vNnzkdJL{q35xj-s-Z$#lkpCu#p6;M1$>L6NDLck^rc z$I z;eyH;2Vp12nO3V-;vp_l<0V>is*MML`_R-5Ymbo?|m z+S)$)GIxt3vemT0A8kDkdt)2A^im*o3|&vBbyX{)O>tUZf6lI)wWsBq9?-~eA839R>}U?9 z10S)+E+zgZ}eeB1q+iw#!1| z@DU*YML8YhSlMKO=YFmJcdfn*>e*yTlR;dC)TV{LptQGsJ}(DtX(3MXDNtHTS<_>= z19J!EM!SL*2=-rYiYg6#hw=vSLc|&En9h#*C(#jpI3oNAr0^q=yNVU&0Se|rmXZcp ziUl3eGLxGA_1!LZ`>opmg(Cm^CM?cFN5uJvh-pX>Eyzj!+Qgra1M@6tilP79lE~@^c@&G^NhZ3k#8G zDuH(fM88Fdmlhy{Nb3uc4LH6AUvr_%fifE%1b(l9UJk%}F0z|ew^|g3X-{jeNvBlG zlyAFCGl60O0y_mFu#=o`Oa}`T!Ri-4bZnQ8Qt*Uk3oOh^Il9v}%1)B4QP(z}2Oe`Y z9^HY*ds^$)jhAF<%_{9Hv++#G!qH8GTrsX%^vlTsAxn0S;O84H;3Ka#Qj4-+Q64P1 z2`su@vuHKMuvM_)V-1esocds^*9@o+zZm{o_+`*_dzR?BTGQW3j(4NEdueRF(sb@ZE9viwa0RpV&U~#JU+yrKBje;bz{qaUHAT9h%x`SR%Ihco0vcUM z`oKKv$TtnaC{1(2j$E1*${&h}t$>Ly0TbH*6Wi~{1jt$dnAi%K_!2O&4KT4C<&!}T zys+ip#KadGCcXenY}PQbS;NGZhhk!jhKbD@CN_sKu^TY)#a)=#t?g3Z+`+`o5GK9? z9P9>6>;Uhl^_?0fcEQ&cD4U^tpNHogF(hP zC_|vcLwN$qcZYu#roTb?w7uKw^NG}1RHCMTMzTr z^W=)0RexGO093Oen+aw>FBUA(&QSF95bljHIOOl>DY{eVAOo7A#tQMsBn&}xPhFzK znap8aYnK9=k;Q}W451mBTHJ{6fCdcQk3fD!B{D-6(%z4*Z#jua)rB3p)5a7`QwnaG z@y940_UOUD^FOb%l7$I+@DBNxlZ&surR`qVk6&;2LH-ADEK(WZXn+~1&ljCE^fz`J zqEOF&?&J~JOPFM1*kQk4t^wL=O*&SJMRIZ-WGD`>Kv0_M0-a)&*((Kiaz}%hfL6T3}hu2UZl!)>gcm7rCE^R@)%ZOM$Pgl$5x;1*JZBtg&X_v`r>etP-bm}TxquS$(S~;k{f~n;417)ZF-l3r^piaY;t=T5CpL*U9jy{q2-H&=>B8-LgjYFn_VX!xd zU`qkkO1)_)im9yJ;A)A3tpBD=N5?6Zh4zd2dm=Ck_bc?Sr7)uW8m-g0=|}=~n33MN zaPB=;jZ5VQw#BuFm+2lq6jc_+RQ@Dqhw8M45k><(#vs(s7^YL#$QYz%VI6s}j+L^j z-1XjtYb!s>lvf^uGX=f*^?ae;p-j{VQf1jg*UFd*O22q0j!2`t$g@@vXB0v$5^$aVGg4#GJW1)s`dE~AW@N|$p6;U%)Ul@u7>A2azJ}l)zfI5S$_+@I8v!Sm(O2v6D1I6*tzL@P;f2*1)t}+N z>0vJDSHwxEj`YPm z+!wHLUr-paLZR8}@MF0X)78$D-;*P7gOMrcrPTYIe80jOrhQb=H9E?0jK;Z*zCyid zn(k+%bkL54IZo)!7lsUNlL)yIWN6#Pose1XLJg$z46@uVr9mtLEfj*ZyOG<+hH^U$ zxg8yO_c&IXgnlABNi$>zoD5<3O%dFHP z>)kU_%6hW;t~plRUvB*vvnZN%xH7wQ<&e zxwexe_AZO*)JRQN2P>G2n#eI|1@txlP)qH8r1nQrTgwX5z+Y#z#tI7=lkgf72U%z< zWOq|F+{MC4*$b%1#sp61I(0e@SEpeQ)G{zV2Q>gv$JW}&!K04hI>l6b@K|Cky%jP6 zUSk2Tj-*CegnQ{XaHT4k&3+8|T>e#hvZd!~4CiSAdjpm_5Uz+*k+r!__GqI%NlCxa zx!3JGAk%rPz!LY4qqi_|AlnW(R#=Ii1WaugQy_|VqG~RcM}YSh%P!wW?R>uYIF*a~ z{qM`=g5Iepn`CJ-aPpHW$X}(^--mh~cw`E!V-dvY-{(Qsmeri0jk3Tfow6S+GYw@o z&(copE$3TFZ>!PT$J)=@*BW8%Z-uPMwt)O_)YsCvCr|4+c(modo*b=b&(VWt>WK3y zPl{}ITa-208ayS(f@s4Zi9B? zFrkK?nZkHgAR~32o1TE&wJq>SfHC&&JImNNCSeN0O#LwQuO9uAFZfFdy{Fyjxv!Ge zsb$%{-!quh>Cp10|9FX+HIsI|!mN3jzUOzl)@37eg8qrg1iE(A^3; i--) { + if(smc_file_header[i] == rom_release) return 1; } return 0; @@ -156,7 +163,7 @@ unsigned int smc_read(unsigned char display_progress) { if (fp) { // Read the ROM releases in the SMC.BIN header first. - smc_file_read = fgets(smc_rom_releases, 32, fp); + smc_file_read = fgets(smc_file_header, 32, fp); // Has the header been read, all ok, otherwise the file size is wrong! if(smc_file_read) { diff --git a/src/cx16-smc.h b/src/cx16-smc.h index caf7c68..5cddea1 100644 --- a/src/cx16-smc.h +++ b/src/cx16-smc.h @@ -32,7 +32,7 @@ extern unsigned int smc_bootloader; extern unsigned char smc_version_text[16]; extern unsigned int smc_file_size; -extern unsigned char smc_rom_releases[32]; +extern unsigned char smc_file_header[32]; extern unsigned char smc_release; extern unsigned char smc_major; diff --git a/src/cx16-update.c b/src/cx16-update.c index 766101a..cb1ab80 100644 --- a/src/cx16-update.c +++ b/src/cx16-update.c @@ -181,10 +181,10 @@ void main() { display_info_smc(STATUS_ISSUE, "SMC.BIN too large!"); // Stop with SMC issue, and reset the CX16. } else { // SF-4 | SMC.BIN and all ok | Display the SMC.BIN file version and set SMC to Flash. | Flash - // Fill the version data ... - smc_file_release = rom_get_release(*((char*)RAM_BASE+0x30)); - smc_file_major = rom_get_prefix(*((char*)RAM_BASE+0x31)); - smc_file_minor = rom_get_prefix(*((char*)RAM_BASE+0x32)); + // The first 3 bytes of the smc file header is the version of the SMC file. + smc_file_release = smc_file_header[0]; + smc_file_major = smc_file_header[1]; + smc_file_minor = smc_file_header[2]; char smc_file_version_text[13]; smc_get_version_text(smc_file_version_text, smc_file_release, smc_file_major, smc_file_minor); diff --git a/target/src/SMC.BIN b/target/src/SMC.BIN index 552bbdae6700e06535bdf9362da93bde4196f80c..4bec1b21b757b01236d68be0418e2731e08a028c 100644 GIT binary patch literal 7482 zcmb7J3s@9Kw(c^bjK-ZAUkF42F+rokj88Nwnq{52vLFpu51uqGepVJFVT4*V|j z_J3!tc%NDQ&dRq8z;V(DW}>kRFiwn(>HP@9n3Cf9gmq<@$>zcR`gUWO(W8dM_wNq< zV;+wP*D=i4Ck90J?7=YO#wQGodKB7+G10vkX3&J;k1+$`b0ic-&oJ|txpSbFv3NoH zBFmez-&^|nl7+8*Ks#44%tU59RGwmz>38t=2-B4bqtyw_I0l7&T|z(9rE9n$b}HNc zW)Af-4vE<>pZ%URR()4xB%97{Cl_1Vn!DgIzL&VkRNlSbA4fKka)R(c@w2CPbZ_<> z$Uj?-kVkM_!EN+O!@==&-Rt}f^~K+1$Ze>PwYN3g%L`sq6knq7f(P-Vre5a-30+81 z2$>#8Wo;aB=vhfZtmHu);YqkRRuB;{2q-B{j4saPV4R4G(~2`=p-qfvzNU>$yA5M` zNknI5p0F_Lu$)qH)58jhFg6Ko5=>~jU`B&0!gr(FVK^xzQbFrW29^&@srp;e=ShW0 z_JqCYJG4N*VjwqA82B_v!kayy;Qe@W&A z9IP4%m!tE+7!FDsvU2V;cc#P@M!cYu za$oAJlFA46UB67Sf-NWwS4L^KiB)2|7W7h#L^W|4EuCmomZf~IvcfYc+q_!MBCPZb ziusgkAx6;O(L@!$4YaZRvukqyBu9xoUZ+mQ8#pId*k=;XE#Zt4@O;!dqItyOAzypy zMmS48F8RYqM*>g&Fro|gdUL!zJg59@AR1psua`JWI=5RE*P@R=Q{~FX(7PTXJXqhu zd(rPmu*N$Q^2!1}UsRxn+xOR~${vN}LjTsTD{e%V=9XAT>(pJCzs{L;>P*ay(y8xa z&S=J5vmr&N{)D-+(GzuQ9p+9Mrs&k~Fn7iX??c!D5*x4~B~x|#IK73~l9N>~iJM;3 zvkhIG7f4+w)S{V9z0EphFLst#EzYv;IA@Gb{SrT~a$~}kPc;tzB|A&<%9hI9*lK@N z=?%HBIZ}0&WLeJ3MyPDVRa$cb2%;Hpte~bggN)x0zES$F5K)&z{(KwHelRWn8SP zkW;e)sTQslU2Kdh4a&$aSTDzDGO`N=Ibsy$&o0gj$<3zc$j0$HC10*Z`x~jP?J`I5 z%d$1ubt(rE>C_KpI@6;Mn2E~0voSc6`-Ak*Oz!vRhGufV^D32JnFsoFe>g+VEpeyi zmc63!nLUj8w7ImG~tOub9{lp0I>m-Z{A zEh1+FM9fmk?jRyhkT@E5Bp5*v!3qh;W_kg9|5=DJe?*SqkxDZO5S_<*nkT&UM~Gq1 z0t%OlYelzMEItT9-&HhL^r{$C!3uG}V=&4w31M6aO*&;7=7r}WM!bLuBkEh%oe{`a zO@MW52dW7`6^p_XnMaFyIvTRD-7JLZls{uuScI;~_BD1>z4{yq_}o#&Jr)hg@T|Ka z5KoheI4Koncvczw@^c8jgj6)X;Tz`6RTeUi+`bBmnQyE^sgxqdEBe;D$xtKh`-wa<_!eq=9IIgoo zI^!X$6FFlSY$NX`vO*!OyGVG$VX zU8%TTVP3x$(RG-b{D`&XPShz*IVdfq+rMAGf9w8sOVcbM6uAez9PKldt)=jhxv(c8= zaptg_YW#3P<&1-{ljBUQRV#7Yvd-~jgUw;P$^|%6!3u>+uJcgL0FAL5=I)}QeGscn z^?o{jni_3wAAOm-#Sz(RTH%kjo`=1$4PAOEkUEC0r_;KsmC^CTl+mWo)tp`KcXIXx zSK0h>aFy+G4usck4ru*V-#cw*NV#k8T8 zkQ{A@O7sumM$O4uc`gy8 zazoo?A#wN!kpH5b4sxt)vcPk{R{y(JUk3GTvZTo%u0m?lLSInYTR)$dgSNB~C;1d8 zt)#5!vD|^VgL0!?K??-?FE>S%hQ33219&0gjCM?C$NZD%2tOPVegsnZk;q-e3iAL3 z^C3$~gDk~@4rrN4P5=6C7rXt|ZGb|N|9uk{=bg}JE6q^N>v zXe-tAu%x)@qkDdi;)sdtL0vG-VqWx~^2Z9Z(G$aCrP(M}n1ig4Va%<&qm<(?!Svyf{;w`euq*wMdH)l}`D&4_=y5 z=jVlmNHmqeI|HKMBE(AzkU^yNg~$dRUxTl?Q073HjSd38*FY}^;5`@FO{-fiio>+0 zHP@t5DrL&IU8b2pu>gUc0uk6r&Nrrm1&Uzx3m`hS%SS1ALbC-HW~Ch6X&YrH$=0ZA z8_xreIU0}dz~eow_3Oq90ra`V4S1tPG z6Mq4Xt|NV5o^|A#hG3MYxnV~x%?jlY#l%*?#Fv1HZGegG_hSNNEdWex1x$PinAirG z*pBkapax#p@^50|3k?%r046qTnAoggV#`A@u|>ngW(^aYLzvhNnE2u@OzhTnsc-IJ zVrK{wUjYtw115HW_tW}L4HLWIYYUXkP`=PGu`7g$E%##rR^9Fs1Hk4xLYT-W^BdAh zKGDPKcYrwVcZAAA=-@MzYMG1n9 zwZ*N6dFy#{Mb4@}Egt}?S&+>HGoTj>mS|@vdU^==#ups&ck~q9sdJD4%}`^7cw`cW zAiAe6QQ}PIFs`*r0nNzb!FPtxj7%+VM0h|02JS~7zoHVEAq#2mN7uKU#G~rM4&7;E z3Z^Lqx6Jrs6c2m!VBqp!Kq&#G zG!lI2-jj9kG|fuTD#3YMg7dayMpeQ#p;&MWDMFH<=k@#bd<;Lp8>IcQlT4{nnzUS6 zdq*~(6ae`qfP53dlEV}Nbp`4=Z$R(~?VQ&N%Y`%{wbKmuuJ*y4#{=i&5a;p0Ir;y| znWBQ~vNLyC3Q9f{Sxq{16|Pb3@kOm1)L+3=a`}O>Q-AN!P!>?9;mX!*li5!_Zzw7* zr*{SPq#g@507D~mY9?kSHzLp)ya(WIk=R`hCq>0wz7B3#Mj=O^Nc`?cy)hBS!urM` zQ^7FU8$__B0Bfb*G!(^DR&H>$#6i}7Q>LTil*&T;#r!=Hn1%Zlde>4IQGSiq>D+WA zfjZ1cZ(KO{9;?Qsas%7q+QZ9qj~|LE3u7vOlCwi~+QSH=0Uu)!>SqkoscU2mQnRp* zJXps{*;Vd(@4~f}A7#obkHMJ&WW#W~u|%#c+;NwWJY3&*&ycQk@HZ=ex{Ielq|)v9 zC<<@?s7d64a?<@@a&w3p^JV2M`xwn0WsbH!;V(&3qVg611f zLETBRwB0)$Gyz%AbebLY0Bz$k+#!T#WZ;)TLPaYGTHh{$?|l}15r z9F(z8#y}a34s5_1{UmIiLcDRoJ0ICw zXj>N4ZP2z3-q|Sof(P2xK>dB#uF|Rqdix{a~(OLJ*(&ouAi;ns~6o(5#H($lcNt%7@1o%&UEow2;yAU*>l zrXhp$8pB8n8CG}$yeCqLfRS&&sAbyM$a;gg48DT7BLndP74V^(i=`w}+vm8SzJz^c zGSH`kKQCY)w`Z6F-Ss2FBuyq(*bUyLQ!C|WbGWj+S|OKSQB!rE2s{)&jh9w0#q03G z>Wu2o@Za&z_y#ssXX8Itzgj&K)44Jj$kv(0q?0fQ%_5DhyqL}y#HSFJCWG`a7xXLQ zBveQGVjk`bShz1Jj98)2Y<2jt+==OGXUgx%5xBv~l=D*R{Y}1K;SAG0s^}UWWjIFT z+(uuaUNlYjvr;-}$HE*Z^yUjghPFwBTnRF??cz?zEO(&>(s>41ZkN&^7J(KDLE7EO z?PEi^9fsVFj=XyuD@{T_ksWewicZ-nQ#lSF&6nH9=cX8yA4r)@`D8tm57k8@acPuP zQu}3A>X7yB87XBwS$)?WD{im?)ogH$^u+k^(I?1kIqTfjyEy2SEq7*S&pvGCpUI?q z#_`%X>%UyvNfLXP#dK<?A3IJ?)pl4!r;LLYOh!%Q7_ywu>ncMLSV7m&zl+dy8e4Z=-fT zUwoX(Mg9Kw<#IvqRFqA!v>7=0$rR+T((3O+y$(Dw1=g_$V)XCxpli!&&d^3#V3bbT z50;sRvYTgVC-#=}t)#crXzgR|XYFf^u=ck?)?`~iemLrD>D-g2^&C9fa$ir5*0bm6 z!83Kld6g$cHoGm#8f^`pl4EiQxFTIqu4os%8yHYpi*6pJwP+1f z(Q~&!yK$IML(fcMyeg29I?qi{K>HCXg<+c~orG(zo z?)2PON$b?I?B4GgOzL!K`O|;A#LSvWyIx_|yiDKoyIt$DkvT#C#AE_pJL>wdYh5mO IS%aAW1LvOVWB>pF literal 7100 zcmb6;3se+Gwp}VZ6XP-i%2x%%Z%}4NMTHnK+3dcP-QiUC z?W%ik-MYWJRXl@twASGEPpa@%d|PYDCr4U6Sin4X<3F`l;BxH54s6HIGJpL`@rDakql!rq{T*!VwgKjQzncb%`o%kPEC&+1LO0j#cQ+- zlQlgdaqKM&vtZ$jnMt=o|12hX9K%e`&X~wdg3me7m}rK1oO$d~fL5<9D*S`_sYjlF z@{jA*Jn<48e1>6in1uk`&Mczeq2EYm6ca_kY-Rz2!oLyW9~v=Aqf1@NM&2-`ern1g z>ATNKPs?X5I#PFHFFD`)L+=P2#gFss$!#3d8B8O40(%L>JY?)RB)*9wj4j zTGbUKcl~2w`@>nZJ z?9r^qBUTg;M|h&~rV4Jv3oc|R@Fdq3b3o@twFR}ssnF+%@BLn-Ew}=-yy!;XNjzbJ z>WGxvbg7aRW&`aUR3~Jjy@CNvY0|uhu0&x&Zla8~`X)6_%58byu+va&u+2DtK0`&( z8zym+gh_XiKSXazv8B|c-0N)*YP^!i?+JK@Jd)@a{|mi{+WlvcgT@P1z6HC~RiCbesNHG`Vg;J z()g|GMGM%3;&2TV_iay$C!&pLF-4>rIg8>9cAqU>t1QLaI44&fyBIrsoIV?`LW8q= zXCImRVP*Slr*FIOH*@SWc=DUsBe2(7=Dnq|FUSrh;|u7IKBsSZzjM(YJU{2kkQ~>Gm1r4MTxI($FpLz?(_Uw^Wl;af72aTuiKY_$>3Z%EuThoJp%Z zfw{R_#eq3}Jmz|Jxmx8UPRh~C6LS+Uq`VPh(#iwa>9d%f4P$WGe64Z}S1a6njr=*b zgZv|4th|9*G)0KMYSkA0ZED%94Z)=Pvl91Ra*kFxfVn>160OpVxqdyo-%;r$Nte6! zqC3Dvn~8PNB84+>%WB46MyDSi%3C9}q2KurN#jk4iqp5nd`Qx(5NF;mjbEgdTckFW z4y)HH?@JtUH8e>{^)aSKz^&NqY@pKZk$#Rd)m*&)H7PNR@-EwaGCYfOb05s24LW_U z&E1maIMqi1jxlj^V%7$k@*Il;=X*iga|==xne^um<(auQG}x0=ACi+TdQwVJ!Sc|7DC z>eXecSKkR+RszH+sD~ZXZ5Qb5=}!Y`wldu6{y2rSNc8h>?7`;cASO3nE7| zk_a4WjIhEqWHsKSu)>{?eeOc`j6}JQT}XcBdMjKgX-;Dz70=B+8hh zDW1=odYV`v1-Pc7GNTZ+`~oX1Md0c3eV7-12l?dps5)M&+>NdM0@>;3i6cjd(#y|w zkHlLDD=r0$5H&kbi1J-<_VFZ|r+?SHyy!CAS|SF>nTbw|h=>H)|Nz{l5~O?{>gu36{2_v=t`p6r(9B zL7_b#Nv=ggRQ?45TIm2wELu27pgjXK3ya9mvCgv6p40`Vs7p$EhM;iz$=JzppfL+^TDP3w$u_IqdY&8Nj8z+Cs(EcCjR?Te zkH*|}ICKnhjj=OG>F-pMEfMOo+>acQEXEDNWXk~Td6&_d2Zr+I)AbBn*I{{H`Yd^# zai>!Du6tA2!O$vu9}KP1-BhTL!Ivtx3w;LSJ(Ye|bhl`{^NooV`=tRX%a|Q3d$(-! zap_VeXe1*5R@ewTm0iB(-T8`{aO9wWecuMKEl<{V6~gzsQbUjHpB(3113@`f<1x_U>{a)oV#F7j4|k^qJP$mXI!rjLQ`|x>&Fn zSg#ev2e?d-$_;&Ih0KiEApdEp5af8;Z-(a~75=*luLrnpNWq0vk>8LLo%O% z+%2r|2>9!xP<=cG)yL!L1GVC4jq4nJdh`#Y6J#2rpZl@r5p>k^C?cN6knDLJImw$n zypWG-jItsaXAV+b&oZPfn>ThRN+U+HAC17YI=R=|7fcl%M$6w(Y>lg56^C&{S2(QquZXrDL1!zYeJ{ywB`p5)CO0pKiB!z zI1Bk^G_4Vr$p?BO>!-CuE$`;vXro&B@2fuf@iA(rjpz)lEwYE0AmXMW&diF_P}>n2 zg`6JYTFKiM@!ksZA0WMp+}$&=bW-W$(qxBU%^x&Rp7S3+HAvzd@s3axKAf*b!ej%C#Dq6?Xh$Ow>b6G(b%J z4PxT;pT-2pS_Lst4>8dIG4VHuiPupDncU3_zJD<$YSoyig_x*QW1>!t3EwZqgino$ zIyENh!ZEQMVxsoCnAnY|CcpYN5)(VaG4UqE!ET6&H^BQTyi<*dUGU|DRtK$Cjfq|1 znDG5HCV+3mClbKsZ-ir_f~@K;Bo!nYR{sXrBO)Kgh{Oc#_o*>aL4JVDTS4ybrZG_$ zj)@8)tG(IXG$txYmdf!&SHBdgEOee!kTC_?6liJCrb0_cM+qjOa|u1I@v!gKjJ0Rf z$R8TpqyDPw=)8jHe%ZU~N?y$j!OB|Gwhl;@ojf@wRd*hjJ^-wIs3Jo3#=TYR)Uy$- zq&433s!xK~Mry9Y9Ia`TR3Qx+g(-;csq5r4s2U0fM^w>zDh+&R3azJ<+8%@xx-oD+ z3bhcGNDsA8WV}~-t4mtc9%Z^1={pP+M2p0ptGZf$={(cWd(y?OwdXggyVkhQe|C3B z9|5Ntg#k`Fn2GxOt6jP{{phJO_4xa`zJxu5S)`9T5)4YMfICZ-iWMg#Ui!q;9`&5U z11*i-n`OzDrB4AzD>s6D(qS!WkkM1an5<|<7II2T@kD!~-;4I>ry9gu(Jj`BZ;LG= zD?lz1AQuUci-Zi&&kU4K(xc}rTst^@AU%47y0@f?Gr<1r=Q zLazuXV-Zfqq5-uCZws}8TgVj*wEj92&8P4Q-VpAW!(_@63&cN*o3F|i5Qjj%g&^M| zu+1!)04xKn^$rOEA;NjH@Mobw$Qw4pjjO#m=Pcm7Aj~-nI4}4&Ia5EUx*X135<`+t zM;4=2c?P#Cw)C1o4&a9{m0Y^1?9_v=X=n>z7vSc>5~C?dv*C19+elCK^emkUXZ4v- zjTd89EJp--Lnn6Lnuy(vwse#1ZY+iS5F@h3CgNvbiNQpe2kV=Uj8(HB+q=P*E?6t| zrs*i9xp|xGWE#}*mn2G^CO22xPFL)Y$1L20&|8t}_{Q%kOy{PQ1Ynqv-i>hX{T7u= z^EURRYdC`BUFN z{YtS^*TIuZARC5zh;>qP^}g$T6|lr0eOsYMrq$odV}_&J5cF7JY;+Ung?11v~p-JXl`WbXGJ4G^P$ayHW!)+eXtF0 zdw*NV1F2<7PteRd7d+O4Y{x}_=L0+s;H?1L0k%QDal+eyww$1S9KbB}S>bI#+(0Gt zJqPf!uy0vOUni~A{pyp4XDR7apI>*{nNaS=)t7eeh_ z(p0|LVlHWMHnD4+Ep&X&zycUw0OMIVj<0dHKul#GCY6Dmndzi2GdiFni;s($zYV;T zd1UIRl`F_snOg<~GP<+;q(DY?Zh*~@WW`+Atv15#r&ci?Zr2+Q>pV+=VhPfTs~JWtVpw4;@^meeF5kfIfzGoPR^^4U-N+qa!^etJWzPreL=}R&fthNOF zA%8GcC}NDlYKGQRgHW&Bq551ZocX-4dzE4W=S;1#3~Q7-aV0=&Fs@Z#`Mci;nw&f5YyxRH+DC#1n_`=nIiFX*wkL-j(X$3kAo!1t!`mB7*+I{V73X+DEBY9ac6{lC z(zw$2Qk_HZh;hU^=owO{-iv(EO6&h9UJ=L~ZRMrPA!%sj5TlP7pRXUEGGhtDEPXlr ze<%8HsL(I>YR}IC1;a+x-}t?p$y)|J_x_#> diff --git a/target/src/cx16-update.asm b/target/src/cx16-update.asm index 7397e27..5c245c9 100644 --- a/target/src/cx16-update.asm +++ b/target/src/cx16-update.asm @@ -170,7 +170,7 @@ .label VERA_L1_MAPBASE = $9f35 .label BRAM = 0 .label BROM = 1 - .label __errno = $f0 + .label __errno = $f2 .segment Code // __start __start: { @@ -210,10 +210,10 @@ __start: { /// Print a character into snprintf buffer /// Used by snprintf() /// @param c The character to print -// void snputc(__zp($ea) char c) +// void snputc(__zp($ed) char c) snputc: { .const OFFSET_STACK_C = 0 - .label c = $ea + .label c = $ed // [10] snputc::c#0 = stackidx(char,snputc::OFFSET_STACK_C) -- vbuz1=_stackidxbyte_vbuc1 tsx lda STACK_BASE+OFFSET_STACK_C,x @@ -287,8 +287,8 @@ conio_x16_init: { // conio_x16_init::@1 // textcolor(CONIO_TEXTCOLOR_DEFAULT) // [22] call textcolor - // [744] phi from conio_x16_init::@1 to textcolor [phi:conio_x16_init::@1->textcolor] - // [744] phi textcolor::color#18 = WHITE [phi:conio_x16_init::@1->textcolor#0] -- vbuz1=vbuc1 + // [738] phi from conio_x16_init::@1 to textcolor [phi:conio_x16_init::@1->textcolor] + // [738] phi textcolor::color#18 = WHITE [phi:conio_x16_init::@1->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor @@ -296,8 +296,8 @@ conio_x16_init: { // conio_x16_init::@2 // bgcolor(CONIO_BACKCOLOR_DEFAULT) // [24] call bgcolor - // [749] phi from conio_x16_init::@2 to bgcolor [phi:conio_x16_init::@2->bgcolor] - // [749] phi bgcolor::color#14 = BLUE [phi:conio_x16_init::@2->bgcolor#0] -- vbuz1=vbuc1 + // [743] phi from conio_x16_init::@2 to bgcolor [phi:conio_x16_init::@2->bgcolor] + // [743] phi bgcolor::color#14 = BLUE [phi:conio_x16_init::@2->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor @@ -342,9 +342,9 @@ conio_x16_init: { lda __conio+1 sta.z gotoxy.y // [40] call gotoxy - // [762] phi from conio_x16_init::@6 to gotoxy [phi:conio_x16_init::@6->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#2 [phi:conio_x16_init::@6->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#2 [phi:conio_x16_init::@6->gotoxy#1] -- register_copy + // [756] phi from conio_x16_init::@6 to gotoxy [phi:conio_x16_init::@6->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#2 [phi:conio_x16_init::@6->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#2 [phi:conio_x16_init::@6->gotoxy#1] -- register_copy jsr gotoxy // conio_x16_init::@7 // __conio.scroll[0] = 1 @@ -371,8 +371,8 @@ conio_x16_init: { cputc: { .const OFFSET_STACK_C = 0 .label cputc__1 = $22 - .label cputc__2 = $b1 - .label cputc__3 = $b2 + .label cputc__2 = $af + .label cputc__3 = $b0 .label c = $34 // [44] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) -- vbuz1=_stackidxbyte_vbuc1 tsx @@ -509,57 +509,58 @@ main: { .const bank_push_set_bram1_bank = 1 .const bank_set_bram2_bank = 0 .const bank_set_brom7_bank = 0 - .label main__79 = $f2 - .label main__105 = $67 - .label main__107 = $bf - .label main__187 = $ee + .label main__79 = $72 + .label main__104 = $68 + .label main__106 = $bf + .label main__186 = $f0 .label check_status_smc1_main__0 = $37 - .label check_status_smc2_main__0 = $e8 - .label check_status_cx16_rom1_check_status_rom1_main__0 = $e7 + .label check_status_cx16_rom1_check_status_rom1_main__0 = $e5 .label check_status_smc3_main__0 = $2f - .label check_status_smc4_main__0 = $e6 - .label check_status_roms1_check_status_rom1_main__0 = $ec - .label check_status_smc6_main__0 = $c4 - .label check_status_vera2_main__0 = $d0 - .label check_status_roms2_check_status_rom1_main__0 = $71 - .label check_status_cx16_rom4_check_status_rom1_main__0 = $6a - .label check_status_smc9_main__0 = $70 - .label check_status_cx16_rom5_check_status_rom1_main__0 = $53 - .label check_status_rom1_main__0 = $bc - .label check_status_smc10_main__0 = $66 - .label check_status_smc11_main__0 = $be - .label check_status_vera4_main__0 = $68 - .label check_status_smc12_main__0 = $73 - .label check_status_vera5_main__0 = $e9 - .label check_status_roms4_check_status_rom1_main__0 = $b3 - .label check_status_smc13_main__0 = $df + .label check_status_cx16_rom2_check_status_rom1_main__0 = $e8 + .label check_status_vera1_main__0 = $c4 + .label check_status_roms1_check_status_rom1_main__0 = $73 + .label check_status_smc6_main__0 = $cf + .label check_status_vera2_main__0 = $e6 + .label check_status_roms2_check_status_rom1_main__0 = $69 + .label check_status_roms_all1_check_status_rom1_main__0 = $ba + .label check_status_smc8_main__0 = $67 + .label check_status_cx16_rom4_check_status_rom1_main__0 = $71 + .label check_status_smc9_main__0 = $d4 + .label check_status_cx16_rom5_check_status_rom1_main__0 = $df + .label check_status_rom1_main__0 = $ee + .label check_status_smc10_main__0 = $be + .label check_status_smc11_main__0 = $b1 + .label check_status_roms3_check_status_rom1_main__0 = $53 + .label check_status_roms4_check_status_rom1_main__0 = $70 + .label check_status_smc13_main__0 = $6a .label check_status_smc1_return = $37 - .label check_status_smc2_return = $e8 - .label check_status_cx16_rom1_check_status_rom1_return = $e7 + .label check_status_cx16_rom1_check_status_rom1_return = $e5 .label check_status_smc3_return = $2f - .label check_status_smc4_return = $e6 - .label check_status_roms1_check_status_rom1_return = $ec - .label check_status_smc6_return = $c4 - .label check_status_vera2_return = $d0 - .label check_status_roms2_check_status_rom1_return = $71 - .label check_status_cx16_rom4_check_status_rom1_return = $6a - .label check_status_smc9_return = $70 - .label check_status_cx16_rom5_check_status_rom1_return = $53 - .label check_status_rom1_return = $bc - .label check_status_smc10_return = $66 + .label check_status_cx16_rom2_check_status_rom1_return = $e8 + .label check_status_vera1_return = $c4 + .label check_status_roms1_check_status_rom1_return = $73 + .label check_status_smc6_return = $cf + .label check_status_vera2_return = $e6 + .label check_status_roms2_check_status_rom1_return = $69 + .label check_status_roms_all1_check_status_rom1_return = $ba + .label check_status_smc8_return = $67 + .label check_status_cx16_rom4_check_status_rom1_return = $71 + .label check_status_smc9_return = $d4 + .label check_status_cx16_rom5_check_status_rom1_return = $df + .label ch1 = $e9 + .label check_status_rom1_return = $ee + .label check_status_smc10_return = $be .label rom_differences = $30 - .label check_status_smc11_return = $be - .label check_status_vera4_return = $68 - .label check_status_smc12_return = $73 - .label check_status_vera5_return = $e9 - .label check_status_roms4_check_status_rom1_return = $b3 - .label check_status_smc13_return = $df - .label main__319 = $f2 - .label main__320 = $f2 - .label main__321 = $f2 - .label main__323 = $67 - .label main__324 = $67 - .label main__325 = $67 + .label check_status_smc11_return = $b1 + .label check_status_roms3_check_status_rom1_return = $53 + .label check_status_roms4_check_status_rom1_return = $70 + .label check_status_smc13_return = $6a + .label main__318 = $72 + .label main__319 = $72 + .label main__320 = $72 + .label main__322 = $68 + .label main__323 = $68 + .label main__324 = $68 // main::SEI1 // asm // asm { sei } @@ -595,51 +596,51 @@ main: { } } */ - // [783] phi from main::@66 to display_frame_init_64 [phi:main::@66->display_frame_init_64] + // [777] phi from main::@66 to display_frame_init_64 [phi:main::@66->display_frame_init_64] jsr display_frame_init_64 // [77] phi from main::@66 to main::@91 [phi:main::@66->main::@91] // main::@91 // display_frame_draw() // [78] call display_frame_draw - // [803] phi from main::@91 to display_frame_draw [phi:main::@91->display_frame_draw] + // [797] phi from main::@91 to display_frame_draw [phi:main::@91->display_frame_draw] jsr display_frame_draw // [79] phi from main::@91 to main::@92 [phi:main::@91->main::@92] // main::@92 // display_frame_title("Commander X16 Flash Utility!") // [80] call display_frame_title - // [844] phi from main::@92 to display_frame_title [phi:main::@92->display_frame_title] + // [838] phi from main::@92 to display_frame_title [phi:main::@92->display_frame_title] jsr display_frame_title // [81] phi from main::@92 to main::display_info_title1 [phi:main::@92->main::display_info_title1] // main::display_info_title1 // cputsxy(INFO_X-2, INFO_Y-2, "# Chip Status Type Curr. Release Update Info") // [82] call cputsxy - // [849] phi from main::display_info_title1 to cputsxy [phi:main::display_info_title1->cputsxy] - // [849] phi cputsxy::s#4 = main::s [phi:main::display_info_title1->cputsxy#0] -- pbuz1=pbuc1 + // [843] phi from main::display_info_title1 to cputsxy [phi:main::display_info_title1->cputsxy] + // [843] phi cputsxy::s#4 = main::s [phi:main::display_info_title1->cputsxy#0] -- pbuz1=pbuc1 lda #s sta.z cputsxy.s+1 - // [849] phi cputsxy::y#4 = $11-2 [phi:main::display_info_title1->cputsxy#1] -- vbuz1=vbuc1 + // [843] phi cputsxy::y#4 = $11-2 [phi:main::display_info_title1->cputsxy#1] -- vbuz1=vbuc1 lda #$11-2 sta.z cputsxy.y - // [849] phi cputsxy::x#4 = 4-2 [phi:main::display_info_title1->cputsxy#2] -- vbuz1=vbuc1 + // [843] phi cputsxy::x#4 = 4-2 [phi:main::display_info_title1->cputsxy#2] -- vbuz1=vbuc1 lda #4-2 sta.z cputsxy.x jsr cputsxy // [83] phi from main::display_info_title1 to main::@93 [phi:main::display_info_title1->main::@93] // main::@93 - // cputsxy(INFO_X-2, INFO_Y-1, "- ---- --------- ------ ------------- --------------------") + // cputsxy(INFO_X-2, INFO_Y-1, "- ---- --------- ------ ------------- --------------------------") // [84] call cputsxy - // [849] phi from main::@93 to cputsxy [phi:main::@93->cputsxy] - // [849] phi cputsxy::s#4 = main::s1 [phi:main::@93->cputsxy#0] -- pbuz1=pbuc1 + // [843] phi from main::@93 to cputsxy [phi:main::@93->cputsxy] + // [843] phi cputsxy::s#4 = main::s1 [phi:main::@93->cputsxy#0] -- pbuz1=pbuc1 lda #s1 sta.z cputsxy.s+1 - // [849] phi cputsxy::y#4 = $11-1 [phi:main::@93->cputsxy#1] -- vbuz1=vbuc1 + // [843] phi cputsxy::y#4 = $11-1 [phi:main::@93->cputsxy#1] -- vbuz1=vbuc1 lda #$11-1 sta.z cputsxy.y - // [849] phi cputsxy::x#4 = 4-2 [phi:main::@93->cputsxy#2] -- vbuz1=vbuc1 + // [843] phi cputsxy::x#4 = 4-2 [phi:main::@93->cputsxy#2] -- vbuz1=vbuc1 lda #4-2 sta.z cputsxy.x jsr cputsxy @@ -647,8 +648,8 @@ main: { // main::@67 // display_action_progress("Introduction ...") // [86] call display_action_progress - // [856] phi from main::@67 to display_action_progress [phi:main::@67->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text [phi:main::@67->display_action_progress#0] -- pbuz1=pbuc1 + // [850] phi from main::@67 to display_action_progress [phi:main::@67->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text [phi:main::@67->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text @@ -658,51 +659,54 @@ main: { // main::@94 // display_progress_clear() // [88] call display_progress_clear - // [870] phi from main::@94 to display_progress_clear [phi:main::@94->display_progress_clear] + // [864] phi from main::@94 to display_progress_clear [phi:main::@94->display_progress_clear] jsr display_progress_clear // [89] phi from main::@94 to main::@95 [phi:main::@94->main::@95] // main::@95 // display_chip_smc() // [90] call display_chip_smc - // [885] phi from main::@95 to display_chip_smc [phi:main::@95->display_chip_smc] + // [879] phi from main::@95 to display_chip_smc [phi:main::@95->display_chip_smc] jsr display_chip_smc // [91] phi from main::@95 to main::@96 [phi:main::@95->main::@96] // main::@96 // display_chip_vera() // [92] call display_chip_vera - // [890] phi from main::@96 to display_chip_vera [phi:main::@96->display_chip_vera] + // [884] phi from main::@96 to display_chip_vera [phi:main::@96->display_chip_vera] jsr display_chip_vera // [93] phi from main::@96 to main::@97 [phi:main::@96->main::@97] // main::@97 // display_chip_rom() // [94] call display_chip_rom - // [895] phi from main::@97 to display_chip_rom [phi:main::@97->display_chip_rom] + // [889] phi from main::@97 to display_chip_rom [phi:main::@97->display_chip_rom] jsr display_chip_rom // [95] phi from main::@97 to main::@98 [phi:main::@97->main::@98] // main::@98 // display_info_smc(STATUS_COLOR_NONE, NULL) // [96] call display_info_smc - // [914] phi from main::@98 to display_info_smc [phi:main::@98->display_info_smc] - // [914] phi display_info_smc::info_text#18 = 0 [phi:main::@98->display_info_smc#0] -- pbuz1=vbuc1 + // [908] phi from main::@98 to display_info_smc [phi:main::@98->display_info_smc] + // [908] phi display_info_smc::info_text#18 = 0 [phi:main::@98->display_info_smc#0] -- pbuz1=vbuc1 lda #<0 sta.z display_info_smc.info_text sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = BLACK [phi:main::@98->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = 0 [phi:main::@98->display_info_smc#1] -- vwum1=vwuc1 + sta smc_bootloader_1 + sta smc_bootloader_1+1 + // [908] phi display_info_smc::info_status#18 = BLACK [phi:main::@98->display_info_smc#2] -- vbum1=vbuc1 lda #BLACK - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc // [97] phi from main::@98 to main::@99 [phi:main::@98->main::@99] // main::@99 // display_info_vera(STATUS_NONE, NULL) // [98] call display_info_vera - // [944] phi from main::@99 to display_info_vera [phi:main::@99->display_info_vera] - // [944] phi display_info_vera::info_text#10 = 0 [phi:main::@99->display_info_vera#0] -- pbuz1=vbuc1 + // [942] phi from main::@99 to display_info_vera [phi:main::@99->display_info_vera] + // [942] phi display_info_vera::info_text#10 = 0 [phi:main::@99->display_info_vera#0] -- pbuz1=vbuc1 lda #<0 sta.z display_info_vera.info_text sta.z display_info_vera.info_text+1 - // [944] phi display_info_vera::info_status#3 = STATUS_NONE [phi:main::@99->display_info_vera#1] -- vbuz1=vbuc1 + // [942] phi display_info_vera::info_status#3 = STATUS_NONE [phi:main::@99->display_info_vera#1] -- vbum1=vbuc1 lda #STATUS_NONE - sta.z display_info_vera.info_status + sta display_info_vera.info_status jsr display_info_vera // [99] phi from main::@99 to main::@13 [phi:main::@99->main::@13] // [99] phi main::rom_chip#2 = 0 [phi:main::@99->main::@13#0] -- vbum1=vbuc1 @@ -732,13 +736,13 @@ main: { sta smc_bootloader+1 // strcpy(smc_version_text, "0.0.0") // [105] call strcpy - // [981] phi from main::@102 to strcpy [phi:main::@102->strcpy] - // [981] phi strcpy::dst#0 = smc_version_text [phi:main::@102->strcpy#0] -- pbuz1=pbuc1 + // [979] phi from main::@102 to strcpy [phi:main::@102->strcpy] + // [979] phi strcpy::dst#0 = smc_version_text [phi:main::@102->strcpy#0] -- pbuz1=pbuc1 lda #smc_version_text sta.z strcpy.dst+1 - // [981] phi strcpy::src#0 = main::source1 [phi:main::@102->strcpy#1] -- pbuz1=pbuc1 + // [979] phi strcpy::src#0 = main::source1 [phi:main::@102->strcpy#1] -- pbuz1=pbuc1 lda #source1 @@ -748,7 +752,7 @@ main: { // main::@103 // display_chip_smc() // [107] call display_chip_smc - // [885] phi from main::@103 to display_chip_smc [phi:main::@103->display_chip_smc] + // [879] phi from main::@103 to display_chip_smc [phi:main::@103->display_chip_smc] jsr display_chip_smc // main::@104 // if(smc_bootloader == 0x0100) @@ -844,130 +848,80 @@ main: { lda smc_minor sta.z smc_get_version_text.minor // [129] call smc_get_version_text - // [994] phi from main::@113 to smc_get_version_text [phi:main::@113->smc_get_version_text] - // [994] phi smc_get_version_text::minor#2 = smc_get_version_text::minor#0 [phi:main::@113->smc_get_version_text#0] -- register_copy - // [994] phi smc_get_version_text::major#2 = smc_get_version_text::major#0 [phi:main::@113->smc_get_version_text#1] -- register_copy - // [994] phi smc_get_version_text::release#2 = smc_get_version_text::release#0 [phi:main::@113->smc_get_version_text#2] -- register_copy - // [994] phi smc_get_version_text::version_string#2 = smc_version_text [phi:main::@113->smc_get_version_text#3] -- pbuz1=pbuc1 + // [992] phi from main::@113 to smc_get_version_text [phi:main::@113->smc_get_version_text] + // [992] phi smc_get_version_text::minor#2 = smc_get_version_text::minor#0 [phi:main::@113->smc_get_version_text#0] -- register_copy + // [992] phi smc_get_version_text::major#2 = smc_get_version_text::major#0 [phi:main::@113->smc_get_version_text#1] -- register_copy + // [992] phi smc_get_version_text::release#2 = smc_get_version_text::release#0 [phi:main::@113->smc_get_version_text#2] -- register_copy + // [992] phi smc_get_version_text::version_string#2 = smc_version_text [phi:main::@113->smc_get_version_text#3] -- pbuz1=pbuc1 lda #smc_version_text sta.z smc_get_version_text.version_string+1 jsr smc_get_version_text - // [130] phi from main::@113 to main::@114 [phi:main::@113->main::@114] // main::@114 - // sprintf(info_text, "BL:v%u", smc_bootloader) - // [131] call snprintf_init - // [1011] phi from main::@114 to snprintf_init [phi:main::@114->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@114->snprintf_init#0] -- pbuz1=pbuc1 - lda #<@info_text - sta.z snprintf_init.s - lda #>@info_text - sta.z snprintf_init.s+1 - jsr snprintf_init - // [132] phi from main::@114 to main::@115 [phi:main::@114->main::@115] - // main::@115 - // sprintf(info_text, "BL:v%u", smc_bootloader) - // [133] call printf_str - // [1016] phi from main::@115 to printf_str [phi:main::@115->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@115->printf_str#0] -- pprz1=pprc1 - lda #snputc - sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s4 [phi:main::@115->printf_str#1] -- pbuz1=pbuc1 - lda #s4 - sta.z printf_str.s+1 - jsr printf_str - // main::@116 - // sprintf(info_text, "BL:v%u", smc_bootloader) - // [134] printf_uint::uvalue#13 = smc_bootloader#0 -- vwuz1=vwum2 + // [130] smc_bootloader#467 = smc_bootloader#0 -- vwum1=vwum2 lda smc_bootloader - sta.z printf_uint.uvalue + sta smc_bootloader_1 lda smc_bootloader+1 - sta.z printf_uint.uvalue+1 - // [135] call printf_uint - // [1025] phi from main::@116 to printf_uint [phi:main::@116->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 0 [phi:main::@116->printf_uint#0] -- vbuz1=vbuc1 - lda #0 - sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 0 [phi:main::@116->printf_uint#1] -- vbuz1=vbuc1 - sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = DECIMAL [phi:main::@116->printf_uint#2] -- vbuz1=vbuc1 - lda #DECIMAL - sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#13 [phi:main::@116->printf_uint#3] -- register_copy - jsr printf_uint - // main::@117 - // sprintf(info_text, "BL:v%u", smc_bootloader) - // [136] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 - lda #0 - pha - // [137] callexecute snputc -- call_vprc1 - jsr snputc - // sideeffect stackpullpadding(1) -- _stackpullpadding_1 - pla - // display_info_smc(STATUS_DETECTED, info_text) - // [139] call display_info_smc - // All ok, display bootloader version. - // [914] phi from main::@117 to display_info_smc [phi:main::@117->display_info_smc] - // [914] phi display_info_smc::info_text#18 = info_text [phi:main::@117->display_info_smc#0] -- pbuz1=pbuc1 - lda #<@info_text + sta smc_bootloader_1+1 + // display_info_smc(STATUS_DETECTED, NULL) + // [131] call display_info_smc + // [908] phi from main::@114 to display_info_smc [phi:main::@114->display_info_smc] + // [908] phi display_info_smc::info_text#18 = 0 [phi:main::@114->display_info_smc#0] -- pbuz1=vbuc1 + lda #<0 sta.z display_info_smc.info_text - lda #>@info_text sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_DETECTED [phi:main::@117->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#467 [phi:main::@114->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_DETECTED [phi:main::@114->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_DETECTED - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // [140] phi from main::@117 to main::@2 [phi:main::@117->main::@2] - // [140] phi smc_minor#398 = smc_minor#0 [phi:main::@117->main::@2#0] -- register_copy - // [140] phi smc_major#399 = smc_major#0 [phi:main::@117->main::@2#1] -- register_copy - // [140] phi smc_release#400 = smc_release#0 [phi:main::@117->main::@2#2] -- register_copy + // [132] phi from main::@114 to main::@2 [phi:main::@114->main::@2] + // [132] phi smc_minor#398 = smc_minor#0 [phi:main::@114->main::@2#0] -- register_copy + // [132] phi smc_major#399 = smc_major#0 [phi:main::@114->main::@2#1] -- register_copy + // [132] phi smc_release#400 = smc_release#0 [phi:main::@114->main::@2#2] -- register_copy // main::@2 __b2: // display_chip_vera() - // [141] call display_chip_vera + // [133] call display_chip_vera // Detecting VERA FPGA. - // [890] phi from main::@2 to display_chip_vera [phi:main::@2->display_chip_vera] + // [884] phi from main::@2 to display_chip_vera [phi:main::@2->display_chip_vera] jsr display_chip_vera - // [142] phi from main::@2 to main::@118 [phi:main::@2->main::@118] - // main::@118 + // [134] phi from main::@2 to main::@115 [phi:main::@2->main::@115] + // main::@115 // display_info_vera(STATUS_DETECTED, "VERA installed, OK") - // [143] call display_info_vera - // [944] phi from main::@118 to display_info_vera [phi:main::@118->display_info_vera] - // [944] phi display_info_vera::info_text#10 = main::info_text3 [phi:main::@118->display_info_vera#0] -- pbuz1=pbuc1 + // [135] call display_info_vera + // [942] phi from main::@115 to display_info_vera [phi:main::@115->display_info_vera] + // [942] phi display_info_vera::info_text#10 = main::info_text3 [phi:main::@115->display_info_vera#0] -- pbuz1=pbuc1 lda #info_text3 sta.z display_info_vera.info_text+1 - // [944] phi display_info_vera::info_status#3 = STATUS_DETECTED [phi:main::@118->display_info_vera#1] -- vbuz1=vbuc1 + // [942] phi display_info_vera::info_status#3 = STATUS_DETECTED [phi:main::@115->display_info_vera#1] -- vbum1=vbuc1 lda #STATUS_DETECTED - sta.z display_info_vera.info_status + sta display_info_vera.info_status jsr display_info_vera - // [144] phi from main::@118 to main::@119 [phi:main::@118->main::@119] - // main::@119 + // [136] phi from main::@115 to main::@116 [phi:main::@115->main::@116] + // main::@116 // rom_detect() - // [145] call rom_detect + // [137] call rom_detect // Detecting ROM chips - // [1035] phi from main::@119 to rom_detect [phi:main::@119->rom_detect] + // [1009] phi from main::@116 to rom_detect [phi:main::@116->rom_detect] jsr rom_detect - // [146] phi from main::@119 to main::@120 [phi:main::@119->main::@120] - // main::@120 + // [138] phi from main::@116 to main::@117 [phi:main::@116->main::@117] + // main::@117 // display_chip_rom() - // [147] call display_chip_rom - // [895] phi from main::@120 to display_chip_rom [phi:main::@120->display_chip_rom] + // [139] call display_chip_rom + // [889] phi from main::@117 to display_chip_rom [phi:main::@117->display_chip_rom] jsr display_chip_rom - // [148] phi from main::@120 to main::@21 [phi:main::@120->main::@21] - // [148] phi main::rom_chip1#10 = 0 [phi:main::@120->main::@21#0] -- vbum1=vbuc1 + // [140] phi from main::@117 to main::@21 [phi:main::@117->main::@21] + // [140] phi main::rom_chip1#10 = 0 [phi:main::@117->main::@21#0] -- vbum1=vbuc1 lda #0 sta rom_chip1 // main::@21 __b21: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [149] if(main::rom_chip1#10<8) goto main::@22 -- vbum1_lt_vbuc1_then_la1 + // [141] if(main::rom_chip1#10<8) goto main::@22 -- vbum1_lt_vbuc1_then_la1 lda rom_chip1 cmp #8 bcs !__b22+ @@ -975,71 +929,71 @@ main: { !__b22: // main::bank_set_brom2 // BROM = bank - // [150] BROM = main::bank_set_brom2_bank#0 -- vbuz1=vbuc1 + // [142] BROM = main::bank_set_brom2_bank#0 -- vbuz1=vbuc1 lda #bank_set_brom2_bank sta.z BROM // main::CLI1 // asm // asm { cli } cli - // [152] phi from main::CLI1 to main::@68 [phi:main::CLI1->main::@68] + // [144] phi from main::CLI1 to main::@68 [phi:main::CLI1->main::@68] // main::@68 // display_progress_text(display_into_briefing_text, display_intro_briefing_count) - // [153] call display_progress_text - // [1085] phi from main::@68 to display_progress_text [phi:main::@68->display_progress_text] - // [1085] phi display_progress_text::text#12 = display_into_briefing_text [phi:main::@68->display_progress_text#0] -- qbuz1=qbuc1 + // [145] call display_progress_text + // [1059] phi from main::@68 to display_progress_text [phi:main::@68->display_progress_text] + // [1059] phi display_progress_text::text#12 = display_into_briefing_text [phi:main::@68->display_progress_text#0] -- qbuz1=qbuc1 lda #display_into_briefing_text sta.z display_progress_text.text+1 - // [1085] phi display_progress_text::lines#11 = display_intro_briefing_count [phi:main::@68->display_progress_text#1] -- vbuz1=vbuc1 + // [1059] phi display_progress_text::lines#11 = display_intro_briefing_count [phi:main::@68->display_progress_text#1] -- vbuz1=vbuc1 lda #display_intro_briefing_count sta.z display_progress_text.lines jsr display_progress_text - // [154] phi from main::@68 to main::@121 [phi:main::@68->main::@121] - // main::@121 + // [146] phi from main::@68 to main::@118 [phi:main::@68->main::@118] + // main::@118 // util_wait_space() - // [155] call util_wait_space - // [1095] phi from main::@121 to util_wait_space [phi:main::@121->util_wait_space] + // [147] call util_wait_space + // [1069] phi from main::@118 to util_wait_space [phi:main::@118->util_wait_space] jsr util_wait_space - // [156] phi from main::@121 to main::@122 [phi:main::@121->main::@122] - // main::@122 + // [148] phi from main::@118 to main::@119 [phi:main::@118->main::@119] + // main::@119 // display_progress_text(display_into_colors_text, display_intro_colors_count) - // [157] call display_progress_text - // [1085] phi from main::@122 to display_progress_text [phi:main::@122->display_progress_text] - // [1085] phi display_progress_text::text#12 = display_into_colors_text [phi:main::@122->display_progress_text#0] -- qbuz1=qbuc1 + // [149] call display_progress_text + // [1059] phi from main::@119 to display_progress_text [phi:main::@119->display_progress_text] + // [1059] phi display_progress_text::text#12 = display_into_colors_text [phi:main::@119->display_progress_text#0] -- qbuz1=qbuc1 lda #display_into_colors_text sta.z display_progress_text.text+1 - // [1085] phi display_progress_text::lines#11 = display_intro_colors_count [phi:main::@122->display_progress_text#1] -- vbuz1=vbuc1 + // [1059] phi display_progress_text::lines#11 = display_intro_colors_count [phi:main::@119->display_progress_text#1] -- vbuz1=vbuc1 lda #display_intro_colors_count sta.z display_progress_text.lines jsr display_progress_text - // [158] phi from main::@122 to main::@24 [phi:main::@122->main::@24] - // [158] phi main::intro_status#2 = 0 [phi:main::@122->main::@24#0] -- vbum1=vbuc1 + // [150] phi from main::@119 to main::@24 [phi:main::@119->main::@24] + // [150] phi main::intro_status#2 = 0 [phi:main::@119->main::@24#0] -- vbum1=vbuc1 lda #0 sta intro_status // main::@24 __b24: // for(unsigned char intro_status=0; intro_status<11; intro_status++) - // [159] if(main::intro_status#2<$b) goto main::@25 -- vbum1_lt_vbuc1_then_la1 + // [151] if(main::intro_status#2<$b) goto main::@25 -- vbum1_lt_vbuc1_then_la1 lda intro_status cmp #$b bcs !__b25+ jmp __b25 !__b25: - // [160] phi from main::@24 to main::@26 [phi:main::@24->main::@26] + // [152] phi from main::@24 to main::@26 [phi:main::@24->main::@26] // main::@26 // util_wait_space() - // [161] call util_wait_space - // [1095] phi from main::@26 to util_wait_space [phi:main::@26->util_wait_space] + // [153] call util_wait_space + // [1069] phi from main::@26 to util_wait_space [phi:main::@26->util_wait_space] jsr util_wait_space - // [162] phi from main::@26 to main::@128 [phi:main::@26->main::@128] - // main::@128 + // [154] phi from main::@26 to main::@125 [phi:main::@26->main::@125] + // main::@125 // display_progress_clear() - // [163] call display_progress_clear - // [870] phi from main::@128 to display_progress_clear [phi:main::@128->display_progress_clear] + // [155] call display_progress_clear + // [864] phi from main::@125 to display_progress_clear [phi:main::@125->display_progress_clear] jsr display_progress_clear // main::SEI2 // asm @@ -1047,7 +1001,7 @@ main: { sei // main::bank_set_brom4 // BROM = bank - // [165] BROM = main::bank_set_brom4_bank#0 -- vbuz1=vbuc1 + // [157] BROM = main::bank_set_brom4_bank#0 -- vbuz1=vbuc1 lda #bank_set_brom4_bank sta.z BROM // main::SEI3 @@ -1056,7 +1010,7 @@ main: { sei // main::check_status_smc1 // status_smc == status - // [167] main::check_status_smc1_$0 = status_smc#0 == STATUS_DETECTED -- vboz1=vbum2_eq_vbuc1 + // [159] main::check_status_smc1_$0 = status_smc#0 == STATUS_DETECTED -- vboz1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_DETECTED beq !+ @@ -1065,37 +1019,37 @@ main: { eor #1 sta.z check_status_smc1_main__0 // return (unsigned char)(status_smc == status); - // [168] main::check_status_smc1_return#0 = (char)main::check_status_smc1_$0 + // [160] main::check_status_smc1_return#0 = (char)main::check_status_smc1_$0 // main::@70 // if(check_status_smc(STATUS_DETECTED)) - // [169] if(0==main::check_status_smc1_return#0) goto main::CLI2 -- 0_eq_vbuz1_then_la1 + // [161] if(0==main::check_status_smc1_return#0) goto main::CLI2 -- 0_eq_vbuz1_then_la1 lda.z check_status_smc1_return bne !__b8+ jmp __b8 !__b8: - // [170] phi from main::@70 to main::@27 [phi:main::@70->main::@27] + // [162] phi from main::@70 to main::@27 [phi:main::@70->main::@27] // main::@27 // smc_read(0) - // [171] call smc_read - // [1098] phi from main::@27 to smc_read [phi:main::@27->smc_read] - // [1098] phi smc_read::display_progress#19 = 0 [phi:main::@27->smc_read#0] -- vbum1=vbuc1 + // [163] call smc_read + // [1072] phi from main::@27 to smc_read [phi:main::@27->smc_read] + // [1072] phi smc_read::display_progress#19 = 0 [phi:main::@27->smc_read#0] -- vbuz1=vbuc1 lda #0 - sta smc_read.display_progress - // [1098] phi __errno#35 = 0 [phi:main::@27->smc_read#1] -- vwsz1=vwsc1 + sta.z smc_read.display_progress + // [1072] phi __errno#35 = 0 [phi:main::@27->smc_read#1] -- vwsz1=vwsc1 sta.z __errno sta.z __errno+1 jsr smc_read // smc_read(0) - // [172] smc_read::return#2 = smc_read::return#0 - // main::@129 + // [164] smc_read::return#2 = smc_read::return#0 + // main::@126 // smc_file_size = smc_read(0) - // [173] smc_file_size#0 = smc_read::return#2 -- vwum1=vwum2 + // [165] smc_file_size#0 = smc_read::return#2 -- vwum1=vwum2 lda smc_read.return sta smc_file_size lda smc_read.return+1 sta smc_file_size+1 // if (!smc_file_size) - // [174] if(0==smc_file_size#0) goto main::@30 -- 0_eq_vwum1_then_la1 + // [166] if(0==smc_file_size#0) goto main::@30 -- 0_eq_vwum1_then_la1 lda smc_file_size ora smc_file_size+1 bne !__b30+ @@ -1103,7 +1057,7 @@ main: { !__b30: // main::@28 // if(smc_file_size > 0x1E00) - // [175] if(smc_file_size#0>$1e00) goto main::@31 -- vwum1_gt_vwuc1_then_la1 + // [167] if(smc_file_size#0>$1e00) goto main::@31 -- vwum1_gt_vwuc1_then_la1 lda #>$1e00 cmp smc_file_size+1 bcs !__b31+ @@ -1117,158 +1071,164 @@ main: { !__b31: !: // main::@29 - // rom_get_release(*((char*)0xA030)) - // [176] rom_get_release::release#2 = *((char *) 41008) -- vbum1=_deref_pbuc1 - lda $a030 + // rom_get_release(*((char*)RAM_BASE+0x30)) + // [168] rom_get_release::release#2 = *((char *)$7800+$30) -- vbum1=_deref_pbuc1 + lda $7800+$30 sta rom_get_release.release - // [177] call rom_get_release - // [1161] phi from main::@29 to rom_get_release [phi:main::@29->rom_get_release] - // [1161] phi rom_get_release::release#4 = rom_get_release::release#2 [phi:main::@29->rom_get_release#0] -- register_copy + // [169] call rom_get_release + // [1135] phi from main::@29 to rom_get_release [phi:main::@29->rom_get_release] + // [1135] phi rom_get_release::release#4 = rom_get_release::release#2 [phi:main::@29->rom_get_release#0] -- register_copy jsr rom_get_release - // rom_get_release(*((char*)0xA030)) - // [178] rom_get_release::return#3 = rom_get_release::return#0 - // main::@130 - // smc_file_release = rom_get_release(*((char*)0xA030)) - // [179] smc_file_release#0 = rom_get_release::return#3 -- vbum1=vbum2 + // rom_get_release(*((char*)RAM_BASE+0x30)) + // [170] rom_get_release::return#3 = rom_get_release::return#0 + // main::@127 + // smc_file_release = rom_get_release(*((char*)RAM_BASE+0x30)) + // [171] smc_file_release#0 = rom_get_release::return#3 -- vbum1=vbum2 lda rom_get_release.return sta smc_file_release - // rom_get_prefix(*((char*)0xA031)) - // [180] rom_get_prefix::release#1 = *((char *) 41009) -- vbuz1=_deref_pbuc1 - lda $a031 - sta.z rom_get_prefix.release - // [181] call rom_get_prefix - // [1168] phi from main::@130 to rom_get_prefix [phi:main::@130->rom_get_prefix] - // [1168] phi rom_get_prefix::release#4 = rom_get_prefix::release#1 [phi:main::@130->rom_get_prefix#0] -- register_copy + // rom_get_prefix(*((char*)RAM_BASE+0x31)) + // [172] rom_get_prefix::release#1 = *((char *)$7800+$31) -- vbum1=_deref_pbuc1 + lda $7800+$31 + sta rom_get_prefix.release + // [173] call rom_get_prefix + // [1142] phi from main::@127 to rom_get_prefix [phi:main::@127->rom_get_prefix] + // [1142] phi rom_get_prefix::release#4 = rom_get_prefix::release#1 [phi:main::@127->rom_get_prefix#0] -- register_copy jsr rom_get_prefix - // rom_get_prefix(*((char*)0xA031)) - // [182] rom_get_prefix::return#3 = rom_get_prefix::return#0 - // main::@131 - // smc_file_major = rom_get_prefix(*((char*)0xA031)) - // [183] smc_file_major#0 = rom_get_prefix::return#3 -- vbum1=vbum2 + // rom_get_prefix(*((char*)RAM_BASE+0x31)) + // [174] rom_get_prefix::return#3 = rom_get_prefix::return#0 + // main::@128 + // smc_file_major = rom_get_prefix(*((char*)RAM_BASE+0x31)) + // [175] smc_file_major#0 = rom_get_prefix::return#3 -- vbum1=vbum2 lda rom_get_prefix.return sta smc_file_major - // rom_get_prefix(*((char*)0xA032)) - // [184] rom_get_prefix::release#2 = *((char *) 41010) -- vbuz1=_deref_pbuc1 - lda $a032 - sta.z rom_get_prefix.release - // [185] call rom_get_prefix - // [1168] phi from main::@131 to rom_get_prefix [phi:main::@131->rom_get_prefix] - // [1168] phi rom_get_prefix::release#4 = rom_get_prefix::release#2 [phi:main::@131->rom_get_prefix#0] -- register_copy + // rom_get_prefix(*((char*)RAM_BASE+0x32)) + // [176] rom_get_prefix::release#2 = *((char *)$7800+$32) -- vbum1=_deref_pbuc1 + lda $7800+$32 + sta rom_get_prefix.release + // [177] call rom_get_prefix + // [1142] phi from main::@128 to rom_get_prefix [phi:main::@128->rom_get_prefix] + // [1142] phi rom_get_prefix::release#4 = rom_get_prefix::release#2 [phi:main::@128->rom_get_prefix#0] -- register_copy jsr rom_get_prefix - // rom_get_prefix(*((char*)0xA032)) - // [186] rom_get_prefix::return#4 = rom_get_prefix::return#0 - // main::@132 - // smc_file_minor = rom_get_prefix(*((char*)0xA032)) - // [187] smc_file_minor#0 = rom_get_prefix::return#4 -- vbum1=vbum2 + // rom_get_prefix(*((char*)RAM_BASE+0x32)) + // [178] rom_get_prefix::return#4 = rom_get_prefix::return#0 + // main::@129 + // smc_file_minor = rom_get_prefix(*((char*)RAM_BASE+0x32)) + // [179] smc_file_minor#0 = rom_get_prefix::return#4 -- vbum1=vbum2 lda rom_get_prefix.return sta smc_file_minor // smc_get_version_text(smc_file_version_text, smc_file_release, smc_file_major, smc_file_minor) - // [188] smc_get_version_text::release#1 = smc_file_release#0 -- vbuz1=vbum2 + // [180] smc_get_version_text::release#1 = smc_file_release#0 -- vbuz1=vbum2 lda smc_file_release sta.z smc_get_version_text.release - // [189] smc_get_version_text::major#1 = smc_file_major#0 -- vbuz1=vbum2 + // [181] smc_get_version_text::major#1 = smc_file_major#0 -- vbuz1=vbum2 lda smc_file_major sta.z smc_get_version_text.major - // [190] smc_get_version_text::minor#1 = smc_file_minor#0 -- vbuz1=vbum2 + // [182] smc_get_version_text::minor#1 = smc_file_minor#0 -- vbuz1=vbum2 lda smc_file_minor sta.z smc_get_version_text.minor - // [191] call smc_get_version_text - // [994] phi from main::@132 to smc_get_version_text [phi:main::@132->smc_get_version_text] - // [994] phi smc_get_version_text::minor#2 = smc_get_version_text::minor#1 [phi:main::@132->smc_get_version_text#0] -- register_copy - // [994] phi smc_get_version_text::major#2 = smc_get_version_text::major#1 [phi:main::@132->smc_get_version_text#1] -- register_copy - // [994] phi smc_get_version_text::release#2 = smc_get_version_text::release#1 [phi:main::@132->smc_get_version_text#2] -- register_copy - // [994] phi smc_get_version_text::version_string#2 = main::smc_file_version_text [phi:main::@132->smc_get_version_text#3] -- pbuz1=pbuc1 + // [183] call smc_get_version_text + // [992] phi from main::@129 to smc_get_version_text [phi:main::@129->smc_get_version_text] + // [992] phi smc_get_version_text::minor#2 = smc_get_version_text::minor#1 [phi:main::@129->smc_get_version_text#0] -- register_copy + // [992] phi smc_get_version_text::major#2 = smc_get_version_text::major#1 [phi:main::@129->smc_get_version_text#1] -- register_copy + // [992] phi smc_get_version_text::release#2 = smc_get_version_text::release#1 [phi:main::@129->smc_get_version_text#2] -- register_copy + // [992] phi smc_get_version_text::version_string#2 = main::smc_file_version_text [phi:main::@129->smc_get_version_text#3] -- pbuz1=pbuc1 lda #smc_file_version_text sta.z smc_get_version_text.version_string+1 jsr smc_get_version_text - // [192] phi from main::@132 to main::@133 [phi:main::@132->main::@133] - // main::@133 + // [184] phi from main::@129 to main::@130 [phi:main::@129->main::@130] + // main::@130 // sprintf(info_text, "SMC.BIN:%s", smc_file_version_text) - // [193] call snprintf_init - // [1011] phi from main::@133 to snprintf_init [phi:main::@133->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@133->snprintf_init#0] -- pbuz1=pbuc1 + // [185] call snprintf_init + // [1151] phi from main::@130 to snprintf_init [phi:main::@130->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@130->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [194] phi from main::@133 to main::@134 [phi:main::@133->main::@134] - // main::@134 + // [186] phi from main::@130 to main::@131 [phi:main::@130->main::@131] + // main::@131 // sprintf(info_text, "SMC.BIN:%s", smc_file_version_text) - // [195] call printf_str - // [1016] phi from main::@134 to printf_str [phi:main::@134->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@134->printf_str#0] -- pprz1=pprc1 + // [187] call printf_str + // [1156] phi from main::@131 to printf_str [phi:main::@131->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@131->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s5 [phi:main::@134->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s5 + lda #>s4 sta.z printf_str.s+1 jsr printf_str - // [196] phi from main::@134 to main::@135 [phi:main::@134->main::@135] - // main::@135 + // [188] phi from main::@131 to main::@132 [phi:main::@131->main::@132] + // main::@132 // sprintf(info_text, "SMC.BIN:%s", smc_file_version_text) - // [197] call printf_string - // [1177] phi from main::@135 to printf_string [phi:main::@135->printf_string] - // [1177] phi printf_string::putc#22 = &snputc [phi:main::@135->printf_string#0] -- pprz1=pprc1 + // [189] call printf_string + // [1165] phi from main::@132 to printf_string [phi:main::@132->printf_string] + // [1165] phi printf_string::putc#22 = &snputc [phi:main::@132->printf_string#0] -- pprz1=pprc1 lda #snputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = main::smc_file_version_text [phi:main::@135->printf_string#1] -- pbuz1=pbuc1 + // [1165] phi printf_string::str#22 = main::smc_file_version_text [phi:main::@132->printf_string#1] -- pbuz1=pbuc1 lda #smc_file_version_text sta.z printf_string.str+1 - // [1177] phi printf_string::format_justify_left#22 = 0 [phi:main::@135->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_justify_left#22 = 0 [phi:main::@132->printf_string#2] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 0 [phi:main::@135->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 0 [phi:main::@132->printf_string#3] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // main::@136 + // main::@133 // sprintf(info_text, "SMC.BIN:%s", smc_file_version_text) - // [198] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [190] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [199] callexecute snputc -- call_vprc1 + // [191] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla + // [193] smc_bootloader#469 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_FLASH, info_text) - // [201] call display_info_smc - // All ok, display bootloader version. - // [914] phi from main::@136 to display_info_smc [phi:main::@136->display_info_smc] - // [914] phi display_info_smc::info_text#18 = info_text [phi:main::@136->display_info_smc#0] -- pbuz1=pbuc1 + // [194] call display_info_smc + // All ok, display file version. + // [908] phi from main::@133 to display_info_smc [phi:main::@133->display_info_smc] + // [908] phi display_info_smc::info_text#18 = info_text [phi:main::@133->display_info_smc#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_info_smc.info_text lda #>@info_text sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_FLASH [phi:main::@136->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#469 [phi:main::@133->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_FLASH [phi:main::@133->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_FLASH - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // [202] phi from main::@136 to main::CLI2 [phi:main::@136->main::CLI2] - // [202] phi smc_file_minor#246 = smc_file_minor#0 [phi:main::@136->main::CLI2#0] -- register_copy - // [202] phi smc_file_major#247 = smc_file_major#0 [phi:main::@136->main::CLI2#1] -- register_copy - // [202] phi smc_file_release#248 = smc_file_release#0 [phi:main::@136->main::CLI2#2] -- register_copy - // [202] phi __errno#239 = __errno#18 [phi:main::@136->main::CLI2#3] -- register_copy + // [195] phi from main::@133 to main::CLI2 [phi:main::@133->main::CLI2] + // [195] phi smc_file_minor#246 = smc_file_minor#0 [phi:main::@133->main::CLI2#0] -- register_copy + // [195] phi smc_file_major#247 = smc_file_major#0 [phi:main::@133->main::CLI2#1] -- register_copy + // [195] phi smc_file_release#248 = smc_file_release#0 [phi:main::@133->main::CLI2#2] -- register_copy + // [195] phi __errno#239 = __errno#18 [phi:main::@133->main::CLI2#3] -- register_copy jmp CLI2 - // [202] phi from main::@70 to main::CLI2 [phi:main::@70->main::CLI2] + // [195] phi from main::@70 to main::CLI2 [phi:main::@70->main::CLI2] __b8: - // [202] phi smc_file_minor#246 = 0 [phi:main::@70->main::CLI2#0] -- vbum1=vbuc1 + // [195] phi smc_file_minor#246 = 0 [phi:main::@70->main::CLI2#0] -- vbum1=vbuc1 lda #0 sta smc_file_minor - // [202] phi smc_file_major#247 = 0 [phi:main::@70->main::CLI2#1] -- vbum1=vbuc1 + // [195] phi smc_file_major#247 = 0 [phi:main::@70->main::CLI2#1] -- vbum1=vbuc1 sta smc_file_major - // [202] phi smc_file_release#248 = 0 [phi:main::@70->main::CLI2#2] -- vbum1=vbuc1 + // [195] phi smc_file_release#248 = 0 [phi:main::@70->main::CLI2#2] -- vbum1=vbuc1 sta smc_file_release - // [202] phi __errno#239 = 0 [phi:main::@70->main::CLI2#3] -- vwsz1=vwsc1 + // [195] phi __errno#239 = 0 [phi:main::@70->main::CLI2#3] -- vwsz1=vwsc1 sta.z __errno sta.z __errno+1 // main::CLI2 @@ -1279,9 +1239,9 @@ main: { // main::SEI4 // asm { sei } sei - // [205] phi from main::SEI4 to main::@32 [phi:main::SEI4->main::@32] - // [205] phi __errno#114 = __errno#239 [phi:main::SEI4->main::@32#0] -- register_copy - // [205] phi main::rom_chip2#10 = 0 [phi:main::SEI4->main::@32#1] -- vbum1=vbuc1 + // [198] phi from main::SEI4 to main::@32 [phi:main::SEI4->main::@32] + // [198] phi __errno#114 = __errno#239 [phi:main::SEI4->main::@32#0] -- register_copy + // [198] phi main::rom_chip2#10 = 0 [phi:main::SEI4->main::@32#1] -- vbum1=vbuc1 lda #0 sta rom_chip2 // We loop all the possible ROM chip slots on the board and on the extension card, @@ -1291,7 +1251,7 @@ main: { // main::@32 __b32: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [206] if(main::rom_chip2#10<8) goto main::bank_set_brom5 -- vbum1_lt_vbuc1_then_la1 + // [199] if(main::rom_chip2#10<8) goto main::bank_set_brom5 -- vbum1_lt_vbuc1_then_la1 lda rom_chip2 cmp #8 bcs !bank_set_brom5+ @@ -1299,7 +1259,7 @@ main: { !bank_set_brom5: // main::bank_set_brom6 // BROM = bank - // [207] BROM = main::bank_set_brom6_bank#0 -- vbuz1=vbuc1 + // [200] BROM = main::bank_set_brom6_bank#0 -- vbuz1=vbuc1 lda #bank_set_brom6_bank sta.z BROM // main::CLI3 @@ -1308,21 +1268,21 @@ main: { cli // main::check_status_smc2 // status_smc == status - // [209] main::check_status_smc2_$0 = status_smc#0 == STATUS_FLASH -- vboz1=vbum2_eq_vbuc1 + // [202] main::check_status_smc2_$0 = status_smc#0 == STATUS_FLASH -- vbom1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_FLASH beq !+ lda #1 !: eor #1 - sta.z check_status_smc2_main__0 + sta check_status_smc2_main__0 // return (unsigned char)(status_smc == status); - // [210] main::check_status_smc2_return#0 = (char)main::check_status_smc2_$0 - // [211] phi from main::check_status_smc2 to main::check_status_cx16_rom1 [phi:main::check_status_smc2->main::check_status_cx16_rom1] + // [203] main::check_status_smc2_return#0 = (char)main::check_status_smc2_$0 + // [204] phi from main::check_status_smc2 to main::check_status_cx16_rom1 [phi:main::check_status_smc2->main::check_status_cx16_rom1] // main::check_status_cx16_rom1 // main::check_status_cx16_rom1_check_status_rom1 // status_rom[rom_chip] == status - // [212] main::check_status_cx16_rom1_check_status_rom1_$0 = *status_rom == STATUS_FLASH -- vboz1=_deref_pbuc1_eq_vbuc2 + // [205] main::check_status_cx16_rom1_check_status_rom1_$0 = *status_rom == STATUS_FLASH -- vboz1=_deref_pbuc1_eq_vbuc2 lda status_rom eor #STATUS_FLASH beq !+ @@ -1331,14 +1291,14 @@ main: { eor #1 sta.z check_status_cx16_rom1_check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [213] main::check_status_cx16_rom1_check_status_rom1_return#0 = (char)main::check_status_cx16_rom1_check_status_rom1_$0 + // [206] main::check_status_cx16_rom1_check_status_rom1_return#0 = (char)main::check_status_cx16_rom1_check_status_rom1_$0 // main::@72 // if(!check_status_smc(STATUS_FLASH) && check_status_cx16_rom(STATUS_FLASH)) - // [214] if(0!=main::check_status_smc2_return#0) goto main::check_status_smc3 -- 0_neq_vbuz1_then_la1 - lda.z check_status_smc2_return + // [207] if(0!=main::check_status_smc2_return#0) goto main::check_status_smc3 -- 0_neq_vbum1_then_la1 + lda check_status_smc2_return bne check_status_smc3 - // main::@223 - // [215] if(0!=main::check_status_cx16_rom1_check_status_rom1_return#0) goto main::@39 -- 0_neq_vbuz1_then_la1 + // main::@220 + // [208] if(0!=main::check_status_cx16_rom1_check_status_rom1_return#0) goto main::@39 -- 0_neq_vbuz1_then_la1 lda.z check_status_cx16_rom1_check_status_rom1_return beq !__b39+ jmp __b39 @@ -1346,7 +1306,7 @@ main: { // main::check_status_smc3 check_status_smc3: // status_smc == status - // [216] main::check_status_smc3_$0 = status_smc#0 == STATUS_FLASH -- vboz1=vbum2_eq_vbuc1 + // [209] main::check_status_smc3_$0 = status_smc#0 == STATUS_FLASH -- vboz1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_FLASH beq !+ @@ -1355,51 +1315,51 @@ main: { eor #1 sta.z check_status_smc3_main__0 // return (unsigned char)(status_smc == status); - // [217] main::check_status_smc3_return#0 = (char)main::check_status_smc3_$0 - // [218] phi from main::check_status_smc3 to main::check_status_cx16_rom2 [phi:main::check_status_smc3->main::check_status_cx16_rom2] + // [210] main::check_status_smc3_return#0 = (char)main::check_status_smc3_$0 + // [211] phi from main::check_status_smc3 to main::check_status_cx16_rom2 [phi:main::check_status_smc3->main::check_status_cx16_rom2] // main::check_status_cx16_rom2 // main::check_status_cx16_rom2_check_status_rom1 // status_rom[rom_chip] == status - // [219] main::check_status_cx16_rom2_check_status_rom1_$0 = *status_rom == STATUS_NONE -- vbom1=_deref_pbuc1_eq_vbuc2 + // [212] main::check_status_cx16_rom2_check_status_rom1_$0 = *status_rom == STATUS_NONE -- vboz1=_deref_pbuc1_eq_vbuc2 lda status_rom eor #STATUS_NONE beq !+ lda #1 !: eor #1 - sta check_status_cx16_rom2_check_status_rom1_main__0 + sta.z check_status_cx16_rom2_check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [220] main::check_status_cx16_rom2_check_status_rom1_return#0 = (char)main::check_status_cx16_rom2_check_status_rom1_$0 + // [213] main::check_status_cx16_rom2_check_status_rom1_return#0 = (char)main::check_status_cx16_rom2_check_status_rom1_$0 // main::@75 // if(check_status_smc(STATUS_FLASH) && check_status_cx16_rom(STATUS_NONE)) - // [221] if(0==main::check_status_smc3_return#0) goto main::check_status_smc4 -- 0_eq_vbuz1_then_la1 + // [214] if(0==main::check_status_smc3_return#0) goto main::check_status_smc4 -- 0_eq_vbuz1_then_la1 // VA-3 | SMC.BIN and CX16 ROM not Detected | Display issue and don't flash. Ask to close the J1 jumper pins on the CX16 main board. | Issue lda.z check_status_smc3_return beq check_status_smc4 - // main::@224 - // [222] if(0!=main::check_status_cx16_rom2_check_status_rom1_return#0) goto main::@3 -- 0_neq_vbum1_then_la1 - lda check_status_cx16_rom2_check_status_rom1_return + // main::@221 + // [215] if(0!=main::check_status_cx16_rom2_check_status_rom1_return#0) goto main::@3 -- 0_neq_vbuz1_then_la1 + lda.z check_status_cx16_rom2_check_status_rom1_return beq !__b3+ jmp __b3 !__b3: // main::check_status_smc4 check_status_smc4: // status_smc == status - // [223] main::check_status_smc4_$0 = status_smc#0 == STATUS_FLASH -- vboz1=vbum2_eq_vbuc1 + // [216] main::check_status_smc4_$0 = status_smc#0 == STATUS_FLASH -- vbom1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_FLASH beq !+ lda #1 !: eor #1 - sta.z check_status_smc4_main__0 + sta check_status_smc4_main__0 // return (unsigned char)(status_smc == status); - // [224] main::check_status_smc4_return#0 = (char)main::check_status_smc4_$0 - // [225] phi from main::check_status_smc4 to main::check_status_cx16_rom3 [phi:main::check_status_smc4->main::check_status_cx16_rom3] + // [217] main::check_status_smc4_return#0 = (char)main::check_status_smc4_$0 + // [218] phi from main::check_status_smc4 to main::check_status_cx16_rom3 [phi:main::check_status_smc4->main::check_status_cx16_rom3] // main::check_status_cx16_rom3 // main::check_status_cx16_rom3_check_status_rom1 // status_rom[rom_chip] == status - // [226] main::check_status_cx16_rom3_check_status_rom1_$0 = *status_rom == STATUS_FLASH -- vbom1=_deref_pbuc1_eq_vbuc2 + // [219] main::check_status_cx16_rom3_check_status_rom1_$0 = *status_rom == STATUS_FLASH -- vbom1=_deref_pbuc1_eq_vbuc2 lda status_rom eor #STATUS_FLASH beq !+ @@ -1408,14 +1368,14 @@ main: { eor #1 sta check_status_cx16_rom3_check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [227] main::check_status_cx16_rom3_check_status_rom1_return#0 = (char)main::check_status_cx16_rom3_check_status_rom1_$0 + // [220] main::check_status_cx16_rom3_check_status_rom1_return#0 = (char)main::check_status_cx16_rom3_check_status_rom1_$0 // main::@76 // if(check_status_smc(STATUS_FLASH) && !check_status_cx16_rom(STATUS_FLASH)) - // [228] if(0==main::check_status_smc4_return#0) goto main::@4 -- 0_eq_vbuz1_then_la1 - lda.z check_status_smc4_return + // [221] if(0==main::check_status_smc4_return#0) goto main::@4 -- 0_eq_vbum1_then_la1 + lda check_status_smc4_return beq __b4 - // main::@225 - // [229] if(0==main::check_status_cx16_rom3_check_status_rom1_return#0) goto main::@6 -- 0_eq_vbum1_then_la1 + // main::@222 + // [222] if(0==main::check_status_cx16_rom3_check_status_rom1_return#0) goto main::@6 -- 0_eq_vbum1_then_la1 lda check_status_cx16_rom3_check_status_rom1_return bne !__b6+ jmp __b6 @@ -1423,17 +1383,17 @@ main: { // main::@4 __b4: // if(smc_release == smc_file_release && smc_major == smc_file_major && smc_minor == smc_file_minor) - // [230] if(smc_release#400!=smc_file_release#248) goto main::@5 -- vbum1_neq_vbum2_then_la1 + // [223] if(smc_release#400!=smc_file_release#248) goto main::@5 -- vbum1_neq_vbum2_then_la1 lda smc_release cmp smc_file_release bne __b5 - // main::@227 - // [231] if(smc_major#399!=smc_file_major#247) goto main::@5 -- vbum1_neq_vbum2_then_la1 + // main::@224 + // [224] if(smc_major#399!=smc_file_major#247) goto main::@5 -- vbum1_neq_vbum2_then_la1 lda smc_major cmp smc_file_major bne __b5 - // main::@226 - // [232] if(smc_minor#398==smc_file_minor#246) goto main::@7 -- vbum1_eq_vbum2_then_la1 + // main::@223 + // [225] if(smc_minor#398==smc_file_minor#246) goto main::@7 -- vbum1_eq_vbum2_then_la1 lda smc_minor cmp smc_file_minor bne !__b7+ @@ -1442,103 +1402,108 @@ main: { // main::@5 __b5: // smc_supported_rom(rom_release[0]) - // [233] smc_supported_rom::rom_release#0 = *rom_release -- vbum1=_deref_pbuc1 + // [226] smc_supported_rom::rom_release#0 = *rom_release -- vbum1=_deref_pbuc1 lda rom_release sta smc_supported_rom.rom_release - // [234] call smc_supported_rom - // [1202] phi from main::@5 to smc_supported_rom [phi:main::@5->smc_supported_rom] + // [227] call smc_supported_rom + // [1190] phi from main::@5 to smc_supported_rom [phi:main::@5->smc_supported_rom] jsr smc_supported_rom // smc_supported_rom(rom_release[0]) - // [235] smc_supported_rom::return#3 = smc_supported_rom::return#2 - // main::@171 - // [236] main::$52 = smc_supported_rom::return#3 + // [228] smc_supported_rom::return#3 = smc_supported_rom::return#2 + // main::@168 + // [229] main::$52 = smc_supported_rom::return#3 // if(!smc_supported_rom(rom_release[0])) - // [237] if(0!=main::$52) goto main::check_status_smc5 -- 0_neq_vbum1_then_la1 + // [230] if(0!=main::$52) goto main::check_status_smc5 -- 0_neq_vbum1_then_la1 lda main__52 bne check_status_smc5 - // [238] phi from main::@171 to main::@8 [phi:main::@171->main::@8] + // [231] phi from main::@168 to main::@8 [phi:main::@168->main::@8] // main::@8 // display_action_progress("The ROM.BIN isn't compatible with SMC.BIN, no flash allowed!") - // [239] call display_action_progress - // [856] phi from main::@8 to display_action_progress [phi:main::@8->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text15 [phi:main::@8->display_action_progress#0] -- pbuz1=pbuc1 + // [232] call display_action_progress + // [850] phi from main::@8 to display_action_progress [phi:main::@8->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text15 [phi:main::@8->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text15 sta.z display_action_progress.info_text+1 jsr display_action_progress - // [240] phi from main::@8 to main::@174 [phi:main::@8->main::@174] - // main::@174 + // [233] phi from main::@8 to main::@171 [phi:main::@8->main::@171] + // main::@171 // display_progress_text(display_smc_unsupported_rom_text, display_smc_unsupported_rom_count) - // [241] call display_progress_text - // [1085] phi from main::@174 to display_progress_text [phi:main::@174->display_progress_text] - // [1085] phi display_progress_text::text#12 = display_smc_unsupported_rom_text [phi:main::@174->display_progress_text#0] -- qbuz1=qbuc1 + // [234] call display_progress_text + // [1059] phi from main::@171 to display_progress_text [phi:main::@171->display_progress_text] + // [1059] phi display_progress_text::text#12 = display_smc_unsupported_rom_text [phi:main::@171->display_progress_text#0] -- qbuz1=qbuc1 lda #display_smc_unsupported_rom_text sta.z display_progress_text.text+1 - // [1085] phi display_progress_text::lines#11 = display_smc_unsupported_rom_count [phi:main::@174->display_progress_text#1] -- vbuz1=vbuc1 + // [1059] phi display_progress_text::lines#11 = display_smc_unsupported_rom_count [phi:main::@171->display_progress_text#1] -- vbuz1=vbuc1 lda #display_smc_unsupported_rom_count sta.z display_progress_text.lines jsr display_progress_text - // [242] phi from main::@174 to main::@175 [phi:main::@174->main::@175] - // main::@175 + // [235] phi from main::@171 to main::@172 [phi:main::@171->main::@172] + // main::@172 // unsigned char ch = util_wait_key("You still want to continue with flashing? [YN]", "YN") - // [243] call util_wait_key - // [1209] phi from main::@175 to util_wait_key [phi:main::@175->util_wait_key] - // [1209] phi util_wait_key::filter#13 = main::filter [phi:main::@175->util_wait_key#0] -- pbuz1=pbuc1 + // [236] call util_wait_key + // [1197] phi from main::@172 to util_wait_key [phi:main::@172->util_wait_key] + // [1197] phi util_wait_key::filter#13 = main::filter [phi:main::@172->util_wait_key#0] -- pbuz1=pbuc1 lda #filter sta.z util_wait_key.filter+1 - // [1209] phi util_wait_key::info_text#3 = main::info_text16 [phi:main::@175->util_wait_key#1] -- pbuz1=pbuc1 + // [1197] phi util_wait_key::info_text#3 = main::info_text16 [phi:main::@172->util_wait_key#1] -- pbuz1=pbuc1 lda #info_text16 sta.z util_wait_key.info_text+1 jsr util_wait_key // unsigned char ch = util_wait_key("You still want to continue with flashing? [YN]", "YN") - // [244] util_wait_key::return#3 = util_wait_key::ch#4 -- vbum1=vwum2 + // [237] util_wait_key::return#3 = util_wait_key::ch#4 -- vbum1=vwum2 lda util_wait_key.ch sta util_wait_key.return - // main::@176 - // [245] main::ch#0 = util_wait_key::return#3 + // main::@173 + // [238] main::ch#0 = util_wait_key::return#3 // if(ch == 'N') - // [246] if(main::ch#0!='N') goto main::check_status_smc5 -- vbum1_neq_vbuc1_then_la1 + // [239] if(main::ch#0!='N') goto main::check_status_smc5 -- vbum1_neq_vbuc1_then_la1 lda #'N' cmp ch bne check_status_smc5 - // [247] phi from main::@176 to main::@9 [phi:main::@176->main::@9] // main::@9 + // [240] smc_bootloader#465 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_ISSUE, NULL) - // [248] call display_info_smc + // [241] call display_info_smc // Cancel flash - // [914] phi from main::@9 to display_info_smc [phi:main::@9->display_info_smc] - // [914] phi display_info_smc::info_text#18 = 0 [phi:main::@9->display_info_smc#0] -- pbuz1=vbuc1 + // [908] phi from main::@9 to display_info_smc [phi:main::@9->display_info_smc] + // [908] phi display_info_smc::info_text#18 = 0 [phi:main::@9->display_info_smc#0] -- pbuz1=vbuc1 lda #<0 sta.z display_info_smc.info_text sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@9->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#465 [phi:main::@9->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@9->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_ISSUE - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // [249] phi from main::@9 to main::@177 [phi:main::@9->main::@177] - // main::@177 + // [242] phi from main::@9 to main::@174 [phi:main::@9->main::@174] + // main::@174 // display_info_cx16_rom(STATUS_ISSUE, NULL) - // [250] call display_info_cx16_rom - // [1233] phi from main::@177 to display_info_cx16_rom [phi:main::@177->display_info_cx16_rom] - // [1233] phi display_info_cx16_rom::info_text#4 = 0 [phi:main::@177->display_info_cx16_rom#0] -- pbuz1=vbuc1 + // [243] call display_info_cx16_rom + // [1221] phi from main::@174 to display_info_cx16_rom [phi:main::@174->display_info_cx16_rom] + // [1221] phi display_info_cx16_rom::info_text#4 = 0 [phi:main::@174->display_info_cx16_rom#0] -- pbuz1=vbuc1 lda #<0 sta.z display_info_cx16_rom.info_text sta.z display_info_cx16_rom.info_text+1 - // [1233] phi display_info_cx16_rom::info_status#4 = STATUS_ISSUE [phi:main::@177->display_info_cx16_rom#1] -- vbuz1=vbuc1 + // [1221] phi display_info_cx16_rom::info_status#4 = STATUS_ISSUE [phi:main::@174->display_info_cx16_rom#1] -- vbum1=vbuc1 lda #STATUS_ISSUE - sta.z display_info_cx16_rom.info_status + sta display_info_cx16_rom.info_status jsr display_info_cx16_rom // main::check_status_smc5 check_status_smc5: // status_smc == status - // [251] main::check_status_smc5_$0 = status_smc#0 == STATUS_ISSUE -- vbom1=vbum2_eq_vbuc1 + // [244] main::check_status_smc5_$0 = status_smc#0 == STATUS_ISSUE -- vbom1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_ISSUE beq !+ @@ -1547,43 +1512,43 @@ main: { eor #1 sta check_status_smc5_main__0 // return (unsigned char)(status_smc == status); - // [252] main::check_status_smc5_return#0 = (char)main::check_status_smc5_$0 + // [245] main::check_status_smc5_return#0 = (char)main::check_status_smc5_$0 // main::check_status_vera1 // status_vera == status - // [253] main::check_status_vera1_$0 = status_vera#0 == STATUS_ISSUE -- vbom1=vbum2_eq_vbuc1 + // [246] main::check_status_vera1_$0 = status_vera#0 == STATUS_ISSUE -- vboz1=vbum2_eq_vbuc1 lda status_vera eor #STATUS_ISSUE beq !+ lda #1 !: eor #1 - sta check_status_vera1_main__0 + sta.z check_status_vera1_main__0 // return (unsigned char)(status_vera == status); - // [254] main::check_status_vera1_return#0 = (char)main::check_status_vera1_$0 - // [255] phi from main::check_status_vera1 to main::check_status_roms1 [phi:main::check_status_vera1->main::check_status_roms1] + // [247] main::check_status_vera1_return#0 = (char)main::check_status_vera1_$0 + // [248] phi from main::check_status_vera1 to main::check_status_roms1 [phi:main::check_status_vera1->main::check_status_roms1] // main::check_status_roms1 - // [256] phi from main::check_status_roms1 to main::check_status_roms1_@1 [phi:main::check_status_roms1->main::check_status_roms1_@1] - // [256] phi main::check_status_roms1_rom_chip#2 = 0 [phi:main::check_status_roms1->main::check_status_roms1_@1#0] -- vbum1=vbuc1 + // [249] phi from main::check_status_roms1 to main::check_status_roms1_@1 [phi:main::check_status_roms1->main::check_status_roms1_@1] + // [249] phi main::check_status_roms1_rom_chip#2 = 0 [phi:main::check_status_roms1->main::check_status_roms1_@1#0] -- vbum1=vbuc1 lda #0 sta check_status_roms1_rom_chip // main::check_status_roms1_@1 check_status_roms1___b1: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [257] if(main::check_status_roms1_rom_chip#2<8) goto main::check_status_roms1_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 + // [250] if(main::check_status_roms1_rom_chip#2<8) goto main::check_status_roms1_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 lda check_status_roms1_rom_chip cmp #8 bcs !check_status_roms1_check_status_rom1+ jmp check_status_roms1_check_status_rom1 !check_status_roms1_check_status_rom1: - // [258] phi from main::check_status_roms1_@1 to main::check_status_roms1_@return [phi:main::check_status_roms1_@1->main::check_status_roms1_@return] - // [258] phi main::check_status_roms1_return#2 = 0 [phi:main::check_status_roms1_@1->main::check_status_roms1_@return#0] -- vbum1=vbuc1 + // [251] phi from main::check_status_roms1_@1 to main::check_status_roms1_@return [phi:main::check_status_roms1_@1->main::check_status_roms1_@return] + // [251] phi main::check_status_roms1_return#2 = 0 [phi:main::check_status_roms1_@1->main::check_status_roms1_@return#0] -- vbum1=vbuc1 lda #0 sta check_status_roms1_return // main::check_status_roms1_@return // main::check_status_smc6 check_status_smc6: // status_smc == status - // [259] main::check_status_smc6_$0 = status_smc#0 == STATUS_ERROR -- vboz1=vbum2_eq_vbuc1 + // [252] main::check_status_smc6_$0 = status_smc#0 == STATUS_ERROR -- vboz1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_ERROR beq !+ @@ -1592,10 +1557,10 @@ main: { eor #1 sta.z check_status_smc6_main__0 // return (unsigned char)(status_smc == status); - // [260] main::check_status_smc6_return#0 = (char)main::check_status_smc6_$0 + // [253] main::check_status_smc6_return#0 = (char)main::check_status_smc6_$0 // main::check_status_vera2 // status_vera == status - // [261] main::check_status_vera2_$0 = status_vera#0 == STATUS_ERROR -- vboz1=vbum2_eq_vbuc1 + // [254] main::check_status_vera2_$0 = status_vera#0 == STATUS_ERROR -- vboz1=vbum2_eq_vbuc1 lda status_vera eor #STATUS_ERROR beq !+ @@ -1604,24 +1569,24 @@ main: { eor #1 sta.z check_status_vera2_main__0 // return (unsigned char)(status_vera == status); - // [262] main::check_status_vera2_return#0 = (char)main::check_status_vera2_$0 - // [263] phi from main::check_status_vera2 to main::check_status_roms2 [phi:main::check_status_vera2->main::check_status_roms2] + // [255] main::check_status_vera2_return#0 = (char)main::check_status_vera2_$0 + // [256] phi from main::check_status_vera2 to main::check_status_roms2 [phi:main::check_status_vera2->main::check_status_roms2] // main::check_status_roms2 - // [264] phi from main::check_status_roms2 to main::check_status_roms2_@1 [phi:main::check_status_roms2->main::check_status_roms2_@1] - // [264] phi main::check_status_roms2_rom_chip#2 = 0 [phi:main::check_status_roms2->main::check_status_roms2_@1#0] -- vbum1=vbuc1 + // [257] phi from main::check_status_roms2 to main::check_status_roms2_@1 [phi:main::check_status_roms2->main::check_status_roms2_@1] + // [257] phi main::check_status_roms2_rom_chip#2 = 0 [phi:main::check_status_roms2->main::check_status_roms2_@1#0] -- vbum1=vbuc1 lda #0 sta check_status_roms2_rom_chip // main::check_status_roms2_@1 check_status_roms2___b1: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [265] if(main::check_status_roms2_rom_chip#2<8) goto main::check_status_roms2_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 + // [258] if(main::check_status_roms2_rom_chip#2<8) goto main::check_status_roms2_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 lda check_status_roms2_rom_chip cmp #8 bcs !check_status_roms2_check_status_rom1+ jmp check_status_roms2_check_status_rom1 !check_status_roms2_check_status_rom1: - // [266] phi from main::check_status_roms2_@1 to main::check_status_roms2_@return [phi:main::check_status_roms2_@1->main::check_status_roms2_@return] - // [266] phi main::check_status_roms2_return#2 = 0 [phi:main::check_status_roms2_@1->main::check_status_roms2_@return#0] -- vbum1=vbuc1 + // [259] phi from main::check_status_roms2_@1 to main::check_status_roms2_@return [phi:main::check_status_roms2_@1->main::check_status_roms2_@return] + // [259] phi main::check_status_roms2_return#2 = 0 [phi:main::check_status_roms2_@1->main::check_status_roms2_@return#0] -- vbum1=vbuc1 lda #0 sta check_status_roms2_return // main::check_status_roms2_@return @@ -1629,19 +1594,19 @@ main: { __b77: // if(!check_status_smc(STATUS_ISSUE) && !check_status_vera(STATUS_ISSUE) && !check_status_roms(STATUS_ISSUE) && // !check_status_smc(STATUS_ERROR) && !check_status_vera(STATUS_ERROR) && !check_status_roms(STATUS_ERROR)) - // [267] if(0!=main::check_status_smc5_return#0) goto main::check_status_smc7 -- 0_neq_vbum1_then_la1 + // [260] if(0!=main::check_status_smc5_return#0) goto main::check_status_smc7 -- 0_neq_vbum1_then_la1 lda check_status_smc5_return bne check_status_smc7 - // main::@232 - // [268] if(0==main::check_status_vera1_return#0) goto main::@231 -- 0_eq_vbum1_then_la1 - lda check_status_vera1_return - bne !__b231+ - jmp __b231 - !__b231: + // main::@229 + // [261] if(0==main::check_status_vera1_return#0) goto main::@228 -- 0_eq_vbuz1_then_la1 + lda.z check_status_vera1_return + bne !__b228+ + jmp __b228 + !__b228: // main::check_status_smc7 check_status_smc7: // status_smc == status - // [269] main::check_status_smc7_$0 = status_smc#0 == STATUS_SKIP -- vbom1=vbum2_eq_vbuc1 + // [262] main::check_status_smc7_$0 = status_smc#0 == STATUS_SKIP -- vbom1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_SKIP beq !+ @@ -1650,10 +1615,10 @@ main: { eor #1 sta check_status_smc7_main__0 // return (unsigned char)(status_smc == status); - // [270] main::check_status_smc7_return#0 = (char)main::check_status_smc7_$0 + // [263] main::check_status_smc7_return#0 = (char)main::check_status_smc7_$0 // main::check_status_vera3 // status_vera == status - // [271] main::check_status_vera3_$0 = status_vera#0 == STATUS_SKIP -- vbom1=vbum2_eq_vbuc1 + // [264] main::check_status_vera3_$0 = status_vera#0 == STATUS_SKIP -- vbom1=vbum2_eq_vbuc1 lda status_vera eor #STATUS_SKIP beq !+ @@ -1662,39 +1627,39 @@ main: { eor #1 sta check_status_vera3_main__0 // return (unsigned char)(status_vera == status); - // [272] main::check_status_vera3_return#0 = (char)main::check_status_vera3_$0 - // [273] phi from main::check_status_vera3 to main::check_status_roms_all1 [phi:main::check_status_vera3->main::check_status_roms_all1] + // [265] main::check_status_vera3_return#0 = (char)main::check_status_vera3_$0 + // [266] phi from main::check_status_vera3 to main::check_status_roms_all1 [phi:main::check_status_vera3->main::check_status_roms_all1] // main::check_status_roms_all1 - // [274] phi from main::check_status_roms_all1 to main::check_status_roms_all1_@1 [phi:main::check_status_roms_all1->main::check_status_roms_all1_@1] - // [274] phi main::check_status_roms_all1_rom_chip#2 = 0 [phi:main::check_status_roms_all1->main::check_status_roms_all1_@1#0] -- vbum1=vbuc1 + // [267] phi from main::check_status_roms_all1 to main::check_status_roms_all1_@1 [phi:main::check_status_roms_all1->main::check_status_roms_all1_@1] + // [267] phi main::check_status_roms_all1_rom_chip#2 = 0 [phi:main::check_status_roms_all1->main::check_status_roms_all1_@1#0] -- vbum1=vbuc1 lda #0 sta check_status_roms_all1_rom_chip // main::check_status_roms_all1_@1 check_status_roms_all1___b1: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [275] if(main::check_status_roms_all1_rom_chip#2<8) goto main::check_status_roms_all1_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 + // [268] if(main::check_status_roms_all1_rom_chip#2<8) goto main::check_status_roms_all1_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 lda check_status_roms_all1_rom_chip cmp #8 bcs !check_status_roms_all1_check_status_rom1+ jmp check_status_roms_all1_check_status_rom1 !check_status_roms_all1_check_status_rom1: - // [276] phi from main::check_status_roms_all1_@1 to main::check_status_roms_all1_@return [phi:main::check_status_roms_all1_@1->main::check_status_roms_all1_@return] - // [276] phi main::check_status_roms_all1_return#2 = 1 [phi:main::check_status_roms_all1_@1->main::check_status_roms_all1_@return#0] -- vbum1=vbuc1 + // [269] phi from main::check_status_roms_all1_@1 to main::check_status_roms_all1_@return [phi:main::check_status_roms_all1_@1->main::check_status_roms_all1_@return] + // [269] phi main::check_status_roms_all1_return#2 = 1 [phi:main::check_status_roms_all1_@1->main::check_status_roms_all1_@return#0] -- vbum1=vbuc1 lda #1 sta check_status_roms_all1_return // main::check_status_roms_all1_@return // main::@78 __b78: // if(check_status_smc(STATUS_SKIP) && check_status_vera(STATUS_SKIP) && check_status_roms_all(STATUS_SKIP)) - // [277] if(0==main::check_status_smc7_return#0) goto main::check_status_smc11 -- 0_eq_vbum1_then_la1 + // [270] if(0==main::check_status_smc7_return#0) goto main::check_status_smc11 -- 0_eq_vbum1_then_la1 lda check_status_smc7_return beq check_status_smc11 - // main::@234 - // [278] if(0==main::check_status_vera3_return#0) goto main::check_status_smc11 -- 0_eq_vbum1_then_la1 + // main::@231 + // [271] if(0==main::check_status_vera3_return#0) goto main::check_status_smc11 -- 0_eq_vbum1_then_la1 lda check_status_vera3_return beq check_status_smc11 - // main::@233 - // [279] if(0!=main::check_status_roms_all1_return#2) goto main::vera_display_set_border_color1 -- 0_neq_vbum1_then_la1 + // main::@230 + // [272] if(0!=main::check_status_roms_all1_return#2) goto main::vera_display_set_border_color1 -- 0_neq_vbum1_then_la1 lda check_status_roms_all1_return beq !vera_display_set_border_color1+ jmp vera_display_set_border_color1 @@ -1702,7 +1667,7 @@ main: { // main::check_status_smc11 check_status_smc11: // status_smc == status - // [280] main::check_status_smc11_$0 = status_smc#0 == STATUS_ERROR -- vboz1=vbum2_eq_vbuc1 + // [273] main::check_status_smc11_$0 = status_smc#0 == STATUS_ERROR -- vboz1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_ERROR beq !+ @@ -1711,139 +1676,139 @@ main: { eor #1 sta.z check_status_smc11_main__0 // return (unsigned char)(status_smc == status); - // [281] main::check_status_smc11_return#0 = (char)main::check_status_smc11_$0 + // [274] main::check_status_smc11_return#0 = (char)main::check_status_smc11_$0 // main::check_status_vera4 // status_vera == status - // [282] main::check_status_vera4_$0 = status_vera#0 == STATUS_ERROR -- vboz1=vbum2_eq_vbuc1 + // [275] main::check_status_vera4_$0 = status_vera#0 == STATUS_ERROR -- vbom1=vbum2_eq_vbuc1 lda status_vera eor #STATUS_ERROR beq !+ lda #1 !: eor #1 - sta.z check_status_vera4_main__0 + sta check_status_vera4_main__0 // return (unsigned char)(status_vera == status); - // [283] main::check_status_vera4_return#0 = (char)main::check_status_vera4_$0 - // [284] phi from main::check_status_vera4 to main::check_status_roms3 [phi:main::check_status_vera4->main::check_status_roms3] + // [276] main::check_status_vera4_return#0 = (char)main::check_status_vera4_$0 + // [277] phi from main::check_status_vera4 to main::check_status_roms3 [phi:main::check_status_vera4->main::check_status_roms3] // main::check_status_roms3 - // [285] phi from main::check_status_roms3 to main::check_status_roms3_@1 [phi:main::check_status_roms3->main::check_status_roms3_@1] - // [285] phi main::check_status_roms3_rom_chip#2 = 0 [phi:main::check_status_roms3->main::check_status_roms3_@1#0] -- vbum1=vbuc1 + // [278] phi from main::check_status_roms3 to main::check_status_roms3_@1 [phi:main::check_status_roms3->main::check_status_roms3_@1] + // [278] phi main::check_status_roms3_rom_chip#2 = 0 [phi:main::check_status_roms3->main::check_status_roms3_@1#0] -- vbum1=vbuc1 lda #0 sta check_status_roms3_rom_chip // main::check_status_roms3_@1 check_status_roms3___b1: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [286] if(main::check_status_roms3_rom_chip#2<8) goto main::check_status_roms3_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 + // [279] if(main::check_status_roms3_rom_chip#2<8) goto main::check_status_roms3_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 lda check_status_roms3_rom_chip cmp #8 bcs !check_status_roms3_check_status_rom1+ jmp check_status_roms3_check_status_rom1 !check_status_roms3_check_status_rom1: - // [287] phi from main::check_status_roms3_@1 to main::check_status_roms3_@return [phi:main::check_status_roms3_@1->main::check_status_roms3_@return] - // [287] phi main::check_status_roms3_return#2 = 0 [phi:main::check_status_roms3_@1->main::check_status_roms3_@return#0] -- vbum1=vbuc1 + // [280] phi from main::check_status_roms3_@1 to main::check_status_roms3_@return [phi:main::check_status_roms3_@1->main::check_status_roms3_@return] + // [280] phi main::check_status_roms3_return#2 = 0 [phi:main::check_status_roms3_@1->main::check_status_roms3_@return#0] -- vbum1=vbuc1 lda #0 sta check_status_roms3_return // main::check_status_roms3_@return // main::@85 __b85: // if(check_status_smc(STATUS_ERROR) || check_status_vera(STATUS_ERROR) || check_status_roms(STATUS_ERROR)) - // [288] if(0!=main::check_status_smc11_return#0) goto main::vera_display_set_border_color2 -- 0_neq_vbuz1_then_la1 + // [281] if(0!=main::check_status_smc11_return#0) goto main::vera_display_set_border_color2 -- 0_neq_vbuz1_then_la1 lda.z check_status_smc11_return beq !vera_display_set_border_color2+ jmp vera_display_set_border_color2 !vera_display_set_border_color2: - // main::@241 - // [289] if(0!=main::check_status_vera4_return#0) goto main::vera_display_set_border_color2 -- 0_neq_vbuz1_then_la1 - lda.z check_status_vera4_return + // main::@238 + // [282] if(0!=main::check_status_vera4_return#0) goto main::vera_display_set_border_color2 -- 0_neq_vbum1_then_la1 + lda check_status_vera4_return beq !vera_display_set_border_color2+ jmp vera_display_set_border_color2 !vera_display_set_border_color2: - // main::@240 - // [290] if(0!=main::check_status_roms3_return#2) goto main::vera_display_set_border_color2 -- 0_neq_vbum1_then_la1 + // main::@237 + // [283] if(0!=main::check_status_roms3_return#2) goto main::vera_display_set_border_color2 -- 0_neq_vbum1_then_la1 lda check_status_roms3_return beq !vera_display_set_border_color2+ jmp vera_display_set_border_color2 !vera_display_set_border_color2: // main::check_status_smc12 // status_smc == status - // [291] main::check_status_smc12_$0 = status_smc#0 == STATUS_ISSUE -- vboz1=vbum2_eq_vbuc1 + // [284] main::check_status_smc12_$0 = status_smc#0 == STATUS_ISSUE -- vbom1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_ISSUE beq !+ lda #1 !: eor #1 - sta.z check_status_smc12_main__0 + sta check_status_smc12_main__0 // return (unsigned char)(status_smc == status); - // [292] main::check_status_smc12_return#0 = (char)main::check_status_smc12_$0 + // [285] main::check_status_smc12_return#0 = (char)main::check_status_smc12_$0 // main::check_status_vera5 // status_vera == status - // [293] main::check_status_vera5_$0 = status_vera#0 == STATUS_ISSUE -- vboz1=vbum2_eq_vbuc1 + // [286] main::check_status_vera5_$0 = status_vera#0 == STATUS_ISSUE -- vbom1=vbum2_eq_vbuc1 lda status_vera eor #STATUS_ISSUE beq !+ lda #1 !: eor #1 - sta.z check_status_vera5_main__0 + sta check_status_vera5_main__0 // return (unsigned char)(status_vera == status); - // [294] main::check_status_vera5_return#0 = (char)main::check_status_vera5_$0 - // [295] phi from main::check_status_vera5 to main::check_status_roms4 [phi:main::check_status_vera5->main::check_status_roms4] + // [287] main::check_status_vera5_return#0 = (char)main::check_status_vera5_$0 + // [288] phi from main::check_status_vera5 to main::check_status_roms4 [phi:main::check_status_vera5->main::check_status_roms4] // main::check_status_roms4 - // [296] phi from main::check_status_roms4 to main::check_status_roms4_@1 [phi:main::check_status_roms4->main::check_status_roms4_@1] - // [296] phi main::check_status_roms4_rom_chip#2 = 0 [phi:main::check_status_roms4->main::check_status_roms4_@1#0] -- vbum1=vbuc1 + // [289] phi from main::check_status_roms4 to main::check_status_roms4_@1 [phi:main::check_status_roms4->main::check_status_roms4_@1] + // [289] phi main::check_status_roms4_rom_chip#2 = 0 [phi:main::check_status_roms4->main::check_status_roms4_@1#0] -- vbum1=vbuc1 lda #0 sta check_status_roms4_rom_chip // main::check_status_roms4_@1 check_status_roms4___b1: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [297] if(main::check_status_roms4_rom_chip#2<8) goto main::check_status_roms4_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 + // [290] if(main::check_status_roms4_rom_chip#2<8) goto main::check_status_roms4_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 lda check_status_roms4_rom_chip cmp #8 bcs !check_status_roms4_check_status_rom1+ jmp check_status_roms4_check_status_rom1 !check_status_roms4_check_status_rom1: - // [298] phi from main::check_status_roms4_@1 to main::check_status_roms4_@return [phi:main::check_status_roms4_@1->main::check_status_roms4_@return] - // [298] phi main::check_status_roms4_return#2 = 0 [phi:main::check_status_roms4_@1->main::check_status_roms4_@return#0] -- vbum1=vbuc1 + // [291] phi from main::check_status_roms4_@1 to main::check_status_roms4_@return [phi:main::check_status_roms4_@1->main::check_status_roms4_@return] + // [291] phi main::check_status_roms4_return#2 = 0 [phi:main::check_status_roms4_@1->main::check_status_roms4_@return#0] -- vbum1=vbuc1 lda #0 sta check_status_roms4_return // main::check_status_roms4_@return // main::@87 __b87: // if(check_status_smc(STATUS_ISSUE) || check_status_vera(STATUS_ISSUE) || check_status_roms(STATUS_ISSUE)) - // [299] if(0!=main::check_status_smc12_return#0) goto main::vera_display_set_border_color3 -- 0_neq_vbuz1_then_la1 - lda.z check_status_smc12_return + // [292] if(0!=main::check_status_smc12_return#0) goto main::vera_display_set_border_color3 -- 0_neq_vbum1_then_la1 + lda check_status_smc12_return beq !vera_display_set_border_color3+ jmp vera_display_set_border_color3 !vera_display_set_border_color3: - // main::@243 - // [300] if(0!=main::check_status_vera5_return#0) goto main::vera_display_set_border_color3 -- 0_neq_vbuz1_then_la1 - lda.z check_status_vera5_return + // main::@240 + // [293] if(0!=main::check_status_vera5_return#0) goto main::vera_display_set_border_color3 -- 0_neq_vbum1_then_la1 + lda check_status_vera5_return beq !vera_display_set_border_color3+ jmp vera_display_set_border_color3 !vera_display_set_border_color3: - // main::@242 - // [301] if(0!=main::check_status_roms4_return#2) goto main::vera_display_set_border_color3 -- 0_neq_vbum1_then_la1 + // main::@239 + // [294] if(0!=main::check_status_roms4_return#2) goto main::vera_display_set_border_color3 -- 0_neq_vbum1_then_la1 lda check_status_roms4_return beq !vera_display_set_border_color3+ jmp vera_display_set_border_color3 !vera_display_set_border_color3: // main::vera_display_set_border_color4 // *VERA_CTRL &= ~VERA_DCSEL - // [302] *VERA_CTRL = *VERA_CTRL & ~VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 + // [295] *VERA_CTRL = *VERA_CTRL & ~VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 lda #VERA_DCSEL^$ff and VERA_CTRL sta VERA_CTRL // *VERA_DC_BORDER = color - // [303] *VERA_DC_BORDER = GREEN -- _deref_pbuc1=vbuc2 + // [296] *VERA_DC_BORDER = GREEN -- _deref_pbuc1=vbuc2 lda #GREEN sta VERA_DC_BORDER - // [304] phi from main::vera_display_set_border_color4 to main::@89 [phi:main::vera_display_set_border_color4->main::@89] + // [297] phi from main::vera_display_set_border_color4 to main::@89 [phi:main::vera_display_set_border_color4->main::@89] // main::@89 // display_action_progress("Your CX16 update is a success!") - // [305] call display_action_progress - // [856] phi from main::@89 to display_action_progress [phi:main::@89->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text37 [phi:main::@89->display_action_progress#0] -- pbuz1=pbuc1 + // [298] call display_action_progress + // [850] phi from main::@89 to display_action_progress [phi:main::@89->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text37 [phi:main::@89->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text37 @@ -1851,7 +1816,7 @@ main: { jsr display_action_progress // main::check_status_smc13 // status_smc == status - // [306] main::check_status_smc13_$0 = status_smc#0 == STATUS_FLASHED -- vboz1=vbum2_eq_vbuc1 + // [299] main::check_status_smc13_$0 = status_smc#0 == STATUS_FLASHED -- vboz1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_FLASHED beq !+ @@ -1860,341 +1825,341 @@ main: { eor #1 sta.z check_status_smc13_main__0 // return (unsigned char)(status_smc == status); - // [307] main::check_status_smc13_return#0 = (char)main::check_status_smc13_$0 + // [300] main::check_status_smc13_return#0 = (char)main::check_status_smc13_$0 // main::@90 // if(check_status_smc(STATUS_FLASHED)) - // [308] if(0!=main::check_status_smc13_return#0) goto main::@58 -- 0_neq_vbuz1_then_la1 + // [301] if(0!=main::check_status_smc13_return#0) goto main::@58 -- 0_neq_vbuz1_then_la1 lda.z check_status_smc13_return beq !__b58+ jmp __b58 !__b58: - // [309] phi from main::@90 to main::@12 [phi:main::@90->main::@12] + // [302] phi from main::@90 to main::@12 [phi:main::@90->main::@12] // main::@12 // display_progress_text(display_debriefing_text_rom, display_debriefing_count_rom) - // [310] call display_progress_text - // [1085] phi from main::@12 to display_progress_text [phi:main::@12->display_progress_text] - // [1085] phi display_progress_text::text#12 = display_debriefing_text_rom [phi:main::@12->display_progress_text#0] -- qbuz1=qbuc1 + // [303] call display_progress_text + // [1059] phi from main::@12 to display_progress_text [phi:main::@12->display_progress_text] + // [1059] phi display_progress_text::text#12 = display_debriefing_text_rom [phi:main::@12->display_progress_text#0] -- qbuz1=qbuc1 lda #display_debriefing_text_rom sta.z display_progress_text.text+1 - // [1085] phi display_progress_text::lines#11 = display_debriefing_count_rom [phi:main::@12->display_progress_text#1] -- vbuz1=vbuc1 + // [1059] phi display_progress_text::lines#11 = display_debriefing_count_rom [phi:main::@12->display_progress_text#1] -- vbuz1=vbuc1 lda #display_debriefing_count_rom sta.z display_progress_text.lines jsr display_progress_text - // [311] phi from main::@12 main::@216 main::@84 main::@88 to main::@63 [phi:main::@12/main::@216/main::@84/main::@88->main::@63] + // [304] phi from main::@12 main::@213 main::@84 main::@88 to main::@63 [phi:main::@12/main::@213/main::@84/main::@88->main::@63] __b9: - // [311] phi main::w1#2 = $c8 [phi:main::@12/main::@216/main::@84/main::@88->main::@63#0] -- vbum1=vbuc1 + // [304] phi main::w1#2 = $c8 [phi:main::@12/main::@213/main::@84/main::@88->main::@63#0] -- vbum1=vbuc1 lda #$c8 sta w1 // DE-6 | Wait until reset // main::@63 __b63: // for (unsigned char w=200; w>0; w--) - // [312] if(main::w1#2>0) goto main::@64 -- vbum1_gt_0_then_la1 + // [305] if(main::w1#2>0) goto main::@64 -- vbum1_gt_0_then_la1 lda w1 bne __b64 - // [313] phi from main::@63 to main::@65 [phi:main::@63->main::@65] + // [306] phi from main::@63 to main::@65 [phi:main::@63->main::@65] // main::@65 // system_reset() - // [314] call system_reset - // [1238] phi from main::@65 to system_reset [phi:main::@65->system_reset] + // [307] call system_reset + // [1226] phi from main::@65 to system_reset [phi:main::@65->system_reset] jsr system_reset // main::@return // } - // [315] return + // [308] return rts - // [316] phi from main::@63 to main::@64 [phi:main::@63->main::@64] + // [309] phi from main::@63 to main::@64 [phi:main::@63->main::@64] // main::@64 __b64: // wait_moment() - // [317] call wait_moment - // [1243] phi from main::@64 to wait_moment [phi:main::@64->wait_moment] + // [310] call wait_moment + // [1231] phi from main::@64 to wait_moment [phi:main::@64->wait_moment] jsr wait_moment - // [318] phi from main::@64 to main::@217 [phi:main::@64->main::@217] - // main::@217 + // [311] phi from main::@64 to main::@214 [phi:main::@64->main::@214] + // main::@214 // sprintf(info_text, "(%u) Your CX16 will reset ...", w) - // [319] call snprintf_init - // [1011] phi from main::@217 to snprintf_init [phi:main::@217->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@217->snprintf_init#0] -- pbuz1=pbuc1 + // [312] call snprintf_init + // [1151] phi from main::@214 to snprintf_init [phi:main::@214->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@214->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [320] phi from main::@217 to main::@218 [phi:main::@217->main::@218] - // main::@218 + // [313] phi from main::@214 to main::@215 [phi:main::@214->main::@215] + // main::@215 // sprintf(info_text, "(%u) Your CX16 will reset ...", w) - // [321] call printf_str - // [1016] phi from main::@218 to printf_str [phi:main::@218->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@218->printf_str#0] -- pprz1=pprc1 + // [314] call printf_str + // [1156] phi from main::@215 to printf_str [phi:main::@215->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@215->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s16 [phi:main::@218->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s16 + lda #>s15 sta.z printf_str.s+1 jsr printf_str - // main::@219 + // main::@216 // sprintf(info_text, "(%u) Your CX16 will reset ...", w) - // [322] printf_uchar::uvalue#13 = main::w1#2 -- vbuz1=vbum2 + // [315] printf_uchar::uvalue#13 = main::w1#2 -- vbuz1=vbum2 lda w1 sta.z printf_uchar.uvalue - // [323] call printf_uchar - // [1248] phi from main::@219 to printf_uchar [phi:main::@219->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 0 [phi:main::@219->printf_uchar#0] -- vbuz1=vbuc1 + // [316] call printf_uchar + // [1236] phi from main::@216 to printf_uchar [phi:main::@216->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 0 [phi:main::@216->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 0 [phi:main::@219->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 0 [phi:main::@216->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:main::@219->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:main::@216->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = DECIMAL [phi:main::@219->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = DECIMAL [phi:main::@216->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#13 [phi:main::@219->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#13 [phi:main::@216->printf_uchar#4] -- register_copy jsr printf_uchar - // [324] phi from main::@219 to main::@220 [phi:main::@219->main::@220] - // main::@220 + // [317] phi from main::@216 to main::@217 [phi:main::@216->main::@217] + // main::@217 // sprintf(info_text, "(%u) Your CX16 will reset ...", w) - // [325] call printf_str - // [1016] phi from main::@220 to printf_str [phi:main::@220->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@220->printf_str#0] -- pprz1=pprc1 + // [318] call printf_str + // [1156] phi from main::@217 to printf_str [phi:main::@217->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@217->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s20 [phi:main::@220->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s20 + lda #>s19 sta.z printf_str.s+1 jsr printf_str - // main::@221 + // main::@218 // sprintf(info_text, "(%u) Your CX16 will reset ...", w) - // [326] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [319] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [327] callexecute snputc -- call_vprc1 + // [320] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [329] call display_action_text - // [1259] phi from main::@221 to display_action_text [phi:main::@221->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:main::@221->display_action_text#0] -- pbuz1=pbuc1 + // [322] call display_action_text + // [1247] phi from main::@218 to display_action_text [phi:main::@218->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:main::@218->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text sta.z display_action_text.info_text+1 jsr display_action_text - // main::@222 + // main::@219 // for (unsigned char w=200; w>0; w--) - // [330] main::w1#1 = -- main::w1#2 -- vbum1=_dec_vbum1 + // [323] main::w1#1 = -- main::w1#2 -- vbum1=_dec_vbum1 dec w1 - // [311] phi from main::@222 to main::@63 [phi:main::@222->main::@63] - // [311] phi main::w1#2 = main::w1#1 [phi:main::@222->main::@63#0] -- register_copy + // [304] phi from main::@219 to main::@63 [phi:main::@219->main::@63] + // [304] phi main::w1#2 = main::w1#1 [phi:main::@219->main::@63#0] -- register_copy jmp __b63 - // [331] phi from main::@90 to main::@58 [phi:main::@90->main::@58] + // [324] phi from main::@90 to main::@58 [phi:main::@90->main::@58] // main::@58 __b58: // display_progress_text(display_debriefing_text_smc, display_debriefing_count_smc) - // [332] call display_progress_text - // [1085] phi from main::@58 to display_progress_text [phi:main::@58->display_progress_text] - // [1085] phi display_progress_text::text#12 = display_debriefing_text_smc [phi:main::@58->display_progress_text#0] -- qbuz1=qbuc1 + // [325] call display_progress_text + // [1059] phi from main::@58 to display_progress_text [phi:main::@58->display_progress_text] + // [1059] phi display_progress_text::text#12 = display_debriefing_text_smc [phi:main::@58->display_progress_text#0] -- qbuz1=qbuc1 lda #display_debriefing_text_smc sta.z display_progress_text.text+1 - // [1085] phi display_progress_text::lines#11 = display_debriefing_count_smc [phi:main::@58->display_progress_text#1] -- vbuz1=vbuc1 + // [1059] phi display_progress_text::lines#11 = display_debriefing_count_smc [phi:main::@58->display_progress_text#1] -- vbuz1=vbuc1 lda #display_debriefing_count_smc sta.z display_progress_text.lines jsr display_progress_text - // [333] phi from main::@58 to main::@59 [phi:main::@58->main::@59] - // [333] phi main::w#2 = $f0 [phi:main::@58->main::@59#0] -- vbum1=vbuc1 + // [326] phi from main::@58 to main::@59 [phi:main::@58->main::@59] + // [326] phi main::w#2 = $f0 [phi:main::@58->main::@59#0] -- vbum1=vbuc1 lda #$f0 sta w // main::@59 __b59: // for (unsigned char w=240; w>0; w--) - // [334] if(main::w#2>0) goto main::@60 -- vbum1_gt_0_then_la1 + // [327] if(main::w#2>0) goto main::@60 -- vbum1_gt_0_then_la1 lda w bne __b60 - // [335] phi from main::@59 to main::@61 [phi:main::@59->main::@61] + // [328] phi from main::@59 to main::@61 [phi:main::@59->main::@61] // main::@61 // sprintf(info_text, "Please disconnect your CX16 from power source ...") - // [336] call snprintf_init - // [1011] phi from main::@61 to snprintf_init [phi:main::@61->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@61->snprintf_init#0] -- pbuz1=pbuc1 + // [329] call snprintf_init + // [1151] phi from main::@61 to snprintf_init [phi:main::@61->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@61->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [337] phi from main::@61 to main::@214 [phi:main::@61->main::@214] - // main::@214 + // [330] phi from main::@61 to main::@211 [phi:main::@61->main::@211] + // main::@211 // sprintf(info_text, "Please disconnect your CX16 from power source ...") - // [338] call printf_str - // [1016] phi from main::@214 to printf_str [phi:main::@214->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@214->printf_str#0] -- pprz1=pprc1 + // [331] call printf_str + // [1156] phi from main::@211 to printf_str [phi:main::@211->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@211->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s18 [phi:main::@214->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s18 + lda #>s17 sta.z printf_str.s+1 jsr printf_str - // main::@215 + // main::@212 // sprintf(info_text, "Please disconnect your CX16 from power source ...") - // [339] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [332] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [340] callexecute snputc -- call_vprc1 + // [333] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [342] call display_action_text - // [1259] phi from main::@215 to display_action_text [phi:main::@215->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:main::@215->display_action_text#0] -- pbuz1=pbuc1 + // [335] call display_action_text + // [1247] phi from main::@212 to display_action_text [phi:main::@212->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:main::@212->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text sta.z display_action_text.info_text+1 jsr display_action_text - // [343] phi from main::@215 to main::@216 [phi:main::@215->main::@216] - // main::@216 + // [336] phi from main::@212 to main::@213 [phi:main::@212->main::@213] + // main::@213 // smc_reset() - // [344] call smc_reset + // [337] call smc_reset // DE-5 | The components correctly updated, SMC bootloader 2 // When bootloader 1, the CX16 won't shut down automatically and will hang! The user will see the above bootloader 1 action. // When bootloader 2, the CX16 will shut down automatically. The user will never see the bootloader 1 action. - // [1273] phi from main::@216 to smc_reset [phi:main::@216->smc_reset] + // [1261] phi from main::@213 to smc_reset [phi:main::@213->smc_reset] jsr smc_reset jmp __b9 - // [345] phi from main::@59 to main::@60 [phi:main::@59->main::@60] + // [338] phi from main::@59 to main::@60 [phi:main::@59->main::@60] // main::@60 __b60: // wait_moment() - // [346] call wait_moment - // [1243] phi from main::@60 to wait_moment [phi:main::@60->wait_moment] + // [339] call wait_moment + // [1231] phi from main::@60 to wait_moment [phi:main::@60->wait_moment] jsr wait_moment - // [347] phi from main::@60 to main::@208 [phi:main::@60->main::@208] - // main::@208 + // [340] phi from main::@60 to main::@205 [phi:main::@60->main::@205] + // main::@205 // sprintf(info_text, "(%u) Please read carefully the below ...", w) - // [348] call snprintf_init - // [1011] phi from main::@208 to snprintf_init [phi:main::@208->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@208->snprintf_init#0] -- pbuz1=pbuc1 + // [341] call snprintf_init + // [1151] phi from main::@205 to snprintf_init [phi:main::@205->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@205->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [349] phi from main::@208 to main::@209 [phi:main::@208->main::@209] - // main::@209 + // [342] phi from main::@205 to main::@206 [phi:main::@205->main::@206] + // main::@206 // sprintf(info_text, "(%u) Please read carefully the below ...", w) - // [350] call printf_str - // [1016] phi from main::@209 to printf_str [phi:main::@209->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@209->printf_str#0] -- pprz1=pprc1 + // [343] call printf_str + // [1156] phi from main::@206 to printf_str [phi:main::@206->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@206->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s16 [phi:main::@209->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s16 + lda #>s15 sta.z printf_str.s+1 jsr printf_str - // main::@210 + // main::@207 // sprintf(info_text, "(%u) Please read carefully the below ...", w) - // [351] printf_uchar::uvalue#12 = main::w#2 -- vbuz1=vbum2 + // [344] printf_uchar::uvalue#12 = main::w#2 -- vbuz1=vbum2 lda w sta.z printf_uchar.uvalue - // [352] call printf_uchar - // [1248] phi from main::@210 to printf_uchar [phi:main::@210->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 0 [phi:main::@210->printf_uchar#0] -- vbuz1=vbuc1 + // [345] call printf_uchar + // [1236] phi from main::@207 to printf_uchar [phi:main::@207->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 0 [phi:main::@207->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 0 [phi:main::@210->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 0 [phi:main::@207->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:main::@210->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:main::@207->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = DECIMAL [phi:main::@210->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = DECIMAL [phi:main::@207->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#12 [phi:main::@210->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#12 [phi:main::@207->printf_uchar#4] -- register_copy jsr printf_uchar - // [353] phi from main::@210 to main::@211 [phi:main::@210->main::@211] - // main::@211 + // [346] phi from main::@207 to main::@208 [phi:main::@207->main::@208] + // main::@208 // sprintf(info_text, "(%u) Please read carefully the below ...", w) - // [354] call printf_str - // [1016] phi from main::@211 to printf_str [phi:main::@211->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@211->printf_str#0] -- pprz1=pprc1 + // [347] call printf_str + // [1156] phi from main::@208 to printf_str [phi:main::@208->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@208->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s17 [phi:main::@211->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s17 + lda #>s16 sta.z printf_str.s+1 jsr printf_str - // main::@212 + // main::@209 // sprintf(info_text, "(%u) Please read carefully the below ...", w) - // [355] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [348] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [356] callexecute snputc -- call_vprc1 + // [349] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [358] call display_action_text - // [1259] phi from main::@212 to display_action_text [phi:main::@212->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:main::@212->display_action_text#0] -- pbuz1=pbuc1 + // [351] call display_action_text + // [1247] phi from main::@209 to display_action_text [phi:main::@209->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:main::@209->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text sta.z display_action_text.info_text+1 jsr display_action_text - // main::@213 + // main::@210 // for (unsigned char w=240; w>0; w--) - // [359] main::w#1 = -- main::w#2 -- vbum1=_dec_vbum1 + // [352] main::w#1 = -- main::w#2 -- vbum1=_dec_vbum1 dec w - // [333] phi from main::@213 to main::@59 [phi:main::@213->main::@59] - // [333] phi main::w#2 = main::w#1 [phi:main::@213->main::@59#0] -- register_copy + // [326] phi from main::@210 to main::@59 [phi:main::@210->main::@59] + // [326] phi main::w#2 = main::w#1 [phi:main::@210->main::@59#0] -- register_copy jmp __b59 // main::vera_display_set_border_color3 vera_display_set_border_color3: // *VERA_CTRL &= ~VERA_DCSEL - // [360] *VERA_CTRL = *VERA_CTRL & ~VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 + // [353] *VERA_CTRL = *VERA_CTRL & ~VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 lda #VERA_DCSEL^$ff and VERA_CTRL sta VERA_CTRL // *VERA_DC_BORDER = color - // [361] *VERA_DC_BORDER = YELLOW -- _deref_pbuc1=vbuc2 + // [354] *VERA_DC_BORDER = YELLOW -- _deref_pbuc1=vbuc2 lda #YELLOW sta VERA_DC_BORDER - // [362] phi from main::vera_display_set_border_color3 to main::@88 [phi:main::vera_display_set_border_color3->main::@88] + // [355] phi from main::vera_display_set_border_color3 to main::@88 [phi:main::vera_display_set_border_color3->main::@88] // main::@88 // display_action_progress("Update issues, your CX16 is not updated!") - // [363] call display_action_progress - // [856] phi from main::@88 to display_action_progress [phi:main::@88->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text36 [phi:main::@88->display_action_progress#0] -- pbuz1=pbuc1 + // [356] call display_action_progress + // [850] phi from main::@88 to display_action_progress [phi:main::@88->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text36 [phi:main::@88->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text36 @@ -2204,7 +2169,7 @@ main: { // main::check_status_roms4_check_status_rom1 check_status_roms4_check_status_rom1: // status_rom[rom_chip] == status - // [364] main::check_status_roms4_check_status_rom1_$0 = status_rom[main::check_status_roms4_rom_chip#2] == STATUS_ISSUE -- vboz1=pbuc1_derefidx_vbum2_eq_vbuc2 + // [357] main::check_status_roms4_check_status_rom1_$0 = status_rom[main::check_status_roms4_rom_chip#2] == STATUS_ISSUE -- vboz1=pbuc1_derefidx_vbum2_eq_vbuc2 lda #STATUS_ISSUE ldy check_status_roms4_rom_chip eor status_rom,y @@ -2214,66 +2179,66 @@ main: { eor #1 sta.z check_status_roms4_check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [365] main::check_status_roms4_check_status_rom1_return#0 = (char)main::check_status_roms4_check_status_rom1_$0 + // [358] main::check_status_roms4_check_status_rom1_return#0 = (char)main::check_status_roms4_check_status_rom1_$0 // main::check_status_roms4_@11 // if(check_status_rom(rom_chip, status)) - // [366] if(0==main::check_status_roms4_check_status_rom1_return#0) goto main::check_status_roms4_@4 -- 0_eq_vbuz1_then_la1 + // [359] if(0==main::check_status_roms4_check_status_rom1_return#0) goto main::check_status_roms4_@4 -- 0_eq_vbuz1_then_la1 lda.z check_status_roms4_check_status_rom1_return beq check_status_roms4___b4 - // [298] phi from main::check_status_roms4_@11 to main::check_status_roms4_@return [phi:main::check_status_roms4_@11->main::check_status_roms4_@return] - // [298] phi main::check_status_roms4_return#2 = 1 [phi:main::check_status_roms4_@11->main::check_status_roms4_@return#0] -- vbum1=vbuc1 + // [291] phi from main::check_status_roms4_@11 to main::check_status_roms4_@return [phi:main::check_status_roms4_@11->main::check_status_roms4_@return] + // [291] phi main::check_status_roms4_return#2 = 1 [phi:main::check_status_roms4_@11->main::check_status_roms4_@return#0] -- vbum1=vbuc1 lda #1 sta check_status_roms4_return jmp __b87 // main::check_status_roms4_@4 check_status_roms4___b4: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [367] main::check_status_roms4_rom_chip#1 = ++ main::check_status_roms4_rom_chip#2 -- vbum1=_inc_vbum1 + // [360] main::check_status_roms4_rom_chip#1 = ++ main::check_status_roms4_rom_chip#2 -- vbum1=_inc_vbum1 inc check_status_roms4_rom_chip - // [296] phi from main::check_status_roms4_@4 to main::check_status_roms4_@1 [phi:main::check_status_roms4_@4->main::check_status_roms4_@1] - // [296] phi main::check_status_roms4_rom_chip#2 = main::check_status_roms4_rom_chip#1 [phi:main::check_status_roms4_@4->main::check_status_roms4_@1#0] -- register_copy + // [289] phi from main::check_status_roms4_@4 to main::check_status_roms4_@1 [phi:main::check_status_roms4_@4->main::check_status_roms4_@1] + // [289] phi main::check_status_roms4_rom_chip#2 = main::check_status_roms4_rom_chip#1 [phi:main::check_status_roms4_@4->main::check_status_roms4_@1#0] -- register_copy jmp check_status_roms4___b1 // main::vera_display_set_border_color2 vera_display_set_border_color2: // *VERA_CTRL &= ~VERA_DCSEL - // [368] *VERA_CTRL = *VERA_CTRL & ~VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 + // [361] *VERA_CTRL = *VERA_CTRL & ~VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 lda #VERA_DCSEL^$ff and VERA_CTRL sta VERA_CTRL // *VERA_DC_BORDER = color - // [369] *VERA_DC_BORDER = RED -- _deref_pbuc1=vbuc2 + // [362] *VERA_DC_BORDER = RED -- _deref_pbuc1=vbuc2 lda #RED sta VERA_DC_BORDER - // [370] phi from main::vera_display_set_border_color2 to main::@86 [phi:main::vera_display_set_border_color2->main::@86] + // [363] phi from main::vera_display_set_border_color2 to main::@86 [phi:main::vera_display_set_border_color2->main::@86] // main::@86 // display_action_progress("Update Failure! Your CX16 may be bricked!") - // [371] call display_action_progress - // [856] phi from main::@86 to display_action_progress [phi:main::@86->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text34 [phi:main::@86->display_action_progress#0] -- pbuz1=pbuc1 + // [364] call display_action_progress + // [850] phi from main::@86 to display_action_progress [phi:main::@86->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text34 [phi:main::@86->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text34 sta.z display_action_progress.info_text+1 jsr display_action_progress - // [372] phi from main::@86 to main::@207 [phi:main::@86->main::@207] - // main::@207 + // [365] phi from main::@86 to main::@204 [phi:main::@86->main::@204] + // main::@204 // display_action_text("Take a foto of this screen. And shut down power ...") - // [373] call display_action_text - // [1259] phi from main::@207 to display_action_text [phi:main::@207->display_action_text] - // [1259] phi display_action_text::info_text#19 = main::info_text35 [phi:main::@207->display_action_text#0] -- pbuz1=pbuc1 + // [366] call display_action_text + // [1247] phi from main::@204 to display_action_text [phi:main::@204->display_action_text] + // [1247] phi display_action_text::info_text#19 = main::info_text35 [phi:main::@204->display_action_text#0] -- pbuz1=pbuc1 lda #info_text35 sta.z display_action_text.info_text+1 jsr display_action_text - // [374] phi from main::@207 main::@62 to main::@62 [phi:main::@207/main::@62->main::@62] + // [367] phi from main::@204 main::@62 to main::@62 [phi:main::@204/main::@62->main::@62] // main::@62 __b62: jmp __b62 // main::check_status_roms3_check_status_rom1 check_status_roms3_check_status_rom1: // status_rom[rom_chip] == status - // [375] main::check_status_roms3_check_status_rom1_$0 = status_rom[main::check_status_roms3_rom_chip#2] == STATUS_ERROR -- vbom1=pbuc1_derefidx_vbum2_eq_vbuc2 + // [368] main::check_status_roms3_check_status_rom1_$0 = status_rom[main::check_status_roms3_rom_chip#2] == STATUS_ERROR -- vboz1=pbuc1_derefidx_vbum2_eq_vbuc2 lda #STATUS_ERROR ldy check_status_roms3_rom_chip eor status_rom,y @@ -2281,44 +2246,44 @@ main: { lda #1 !: eor #1 - sta check_status_roms3_check_status_rom1_main__0 + sta.z check_status_roms3_check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [376] main::check_status_roms3_check_status_rom1_return#0 = (char)main::check_status_roms3_check_status_rom1_$0 + // [369] main::check_status_roms3_check_status_rom1_return#0 = (char)main::check_status_roms3_check_status_rom1_$0 // main::check_status_roms3_@11 // if(check_status_rom(rom_chip, status)) - // [377] if(0==main::check_status_roms3_check_status_rom1_return#0) goto main::check_status_roms3_@4 -- 0_eq_vbum1_then_la1 - lda check_status_roms3_check_status_rom1_return + // [370] if(0==main::check_status_roms3_check_status_rom1_return#0) goto main::check_status_roms3_@4 -- 0_eq_vbuz1_then_la1 + lda.z check_status_roms3_check_status_rom1_return beq check_status_roms3___b4 - // [287] phi from main::check_status_roms3_@11 to main::check_status_roms3_@return [phi:main::check_status_roms3_@11->main::check_status_roms3_@return] - // [287] phi main::check_status_roms3_return#2 = 1 [phi:main::check_status_roms3_@11->main::check_status_roms3_@return#0] -- vbum1=vbuc1 + // [280] phi from main::check_status_roms3_@11 to main::check_status_roms3_@return [phi:main::check_status_roms3_@11->main::check_status_roms3_@return] + // [280] phi main::check_status_roms3_return#2 = 1 [phi:main::check_status_roms3_@11->main::check_status_roms3_@return#0] -- vbum1=vbuc1 lda #1 sta check_status_roms3_return jmp __b85 // main::check_status_roms3_@4 check_status_roms3___b4: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [378] main::check_status_roms3_rom_chip#1 = ++ main::check_status_roms3_rom_chip#2 -- vbum1=_inc_vbum1 + // [371] main::check_status_roms3_rom_chip#1 = ++ main::check_status_roms3_rom_chip#2 -- vbum1=_inc_vbum1 inc check_status_roms3_rom_chip - // [285] phi from main::check_status_roms3_@4 to main::check_status_roms3_@1 [phi:main::check_status_roms3_@4->main::check_status_roms3_@1] - // [285] phi main::check_status_roms3_rom_chip#2 = main::check_status_roms3_rom_chip#1 [phi:main::check_status_roms3_@4->main::check_status_roms3_@1#0] -- register_copy + // [278] phi from main::check_status_roms3_@4 to main::check_status_roms3_@1 [phi:main::check_status_roms3_@4->main::check_status_roms3_@1] + // [278] phi main::check_status_roms3_rom_chip#2 = main::check_status_roms3_rom_chip#1 [phi:main::check_status_roms3_@4->main::check_status_roms3_@1#0] -- register_copy jmp check_status_roms3___b1 // main::vera_display_set_border_color1 vera_display_set_border_color1: // *VERA_CTRL &= ~VERA_DCSEL - // [379] *VERA_CTRL = *VERA_CTRL & ~VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 + // [372] *VERA_CTRL = *VERA_CTRL & ~VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 lda #VERA_DCSEL^$ff and VERA_CTRL sta VERA_CTRL // *VERA_DC_BORDER = color - // [380] *VERA_DC_BORDER = BLACK -- _deref_pbuc1=vbuc2 + // [373] *VERA_DC_BORDER = BLACK -- _deref_pbuc1=vbuc2 lda #BLACK sta VERA_DC_BORDER - // [381] phi from main::vera_display_set_border_color1 to main::@84 [phi:main::vera_display_set_border_color1->main::@84] + // [374] phi from main::vera_display_set_border_color1 to main::@84 [phi:main::vera_display_set_border_color1->main::@84] // main::@84 // display_action_progress("The update has been cancelled!") - // [382] call display_action_progress - // [856] phi from main::@84 to display_action_progress [phi:main::@84->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text33 [phi:main::@84->display_action_progress#0] -- pbuz1=pbuc1 + // [375] call display_action_progress + // [850] phi from main::@84 to display_action_progress [phi:main::@84->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text33 [phi:main::@84->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text33 @@ -2328,7 +2293,7 @@ main: { // main::check_status_roms_all1_check_status_rom1 check_status_roms_all1_check_status_rom1: // status_rom[rom_chip] == status - // [383] main::check_status_roms_all1_check_status_rom1_$0 = status_rom[main::check_status_roms_all1_rom_chip#2] == STATUS_SKIP -- vbom1=pbuc1_derefidx_vbum2_eq_vbuc2 + // [376] main::check_status_roms_all1_check_status_rom1_$0 = status_rom[main::check_status_roms_all1_rom_chip#2] == STATUS_SKIP -- vboz1=pbuc1_derefidx_vbum2_eq_vbuc2 lda #STATUS_SKIP ldy check_status_roms_all1_rom_chip eor status_rom,y @@ -2336,72 +2301,72 @@ main: { lda #1 !: eor #1 - sta check_status_roms_all1_check_status_rom1_main__0 + sta.z check_status_roms_all1_check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [384] main::check_status_roms_all1_check_status_rom1_return#0 = (char)main::check_status_roms_all1_check_status_rom1_$0 + // [377] main::check_status_roms_all1_check_status_rom1_return#0 = (char)main::check_status_roms_all1_check_status_rom1_$0 // main::check_status_roms_all1_@11 // if(check_status_rom(rom_chip, status) != status) - // [385] if(main::check_status_roms_all1_check_status_rom1_return#0==STATUS_SKIP) goto main::check_status_roms_all1_@4 -- vbum1_eq_vbuc1_then_la1 + // [378] if(main::check_status_roms_all1_check_status_rom1_return#0==STATUS_SKIP) goto main::check_status_roms_all1_@4 -- vbuz1_eq_vbuc1_then_la1 lda #STATUS_SKIP - cmp check_status_roms_all1_check_status_rom1_return + cmp.z check_status_roms_all1_check_status_rom1_return beq check_status_roms_all1___b4 - // [276] phi from main::check_status_roms_all1_@11 to main::check_status_roms_all1_@return [phi:main::check_status_roms_all1_@11->main::check_status_roms_all1_@return] - // [276] phi main::check_status_roms_all1_return#2 = 0 [phi:main::check_status_roms_all1_@11->main::check_status_roms_all1_@return#0] -- vbum1=vbuc1 + // [269] phi from main::check_status_roms_all1_@11 to main::check_status_roms_all1_@return [phi:main::check_status_roms_all1_@11->main::check_status_roms_all1_@return] + // [269] phi main::check_status_roms_all1_return#2 = 0 [phi:main::check_status_roms_all1_@11->main::check_status_roms_all1_@return#0] -- vbum1=vbuc1 lda #0 sta check_status_roms_all1_return jmp __b78 // main::check_status_roms_all1_@4 check_status_roms_all1___b4: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [386] main::check_status_roms_all1_rom_chip#1 = ++ main::check_status_roms_all1_rom_chip#2 -- vbum1=_inc_vbum1 + // [379] main::check_status_roms_all1_rom_chip#1 = ++ main::check_status_roms_all1_rom_chip#2 -- vbum1=_inc_vbum1 inc check_status_roms_all1_rom_chip - // [274] phi from main::check_status_roms_all1_@4 to main::check_status_roms_all1_@1 [phi:main::check_status_roms_all1_@4->main::check_status_roms_all1_@1] - // [274] phi main::check_status_roms_all1_rom_chip#2 = main::check_status_roms_all1_rom_chip#1 [phi:main::check_status_roms_all1_@4->main::check_status_roms_all1_@1#0] -- register_copy + // [267] phi from main::check_status_roms_all1_@4 to main::check_status_roms_all1_@1 [phi:main::check_status_roms_all1_@4->main::check_status_roms_all1_@1] + // [267] phi main::check_status_roms_all1_rom_chip#2 = main::check_status_roms_all1_rom_chip#1 [phi:main::check_status_roms_all1_@4->main::check_status_roms_all1_@1#0] -- register_copy jmp check_status_roms_all1___b1 - // main::@231 - __b231: + // main::@228 + __b228: // if(!check_status_smc(STATUS_ISSUE) && !check_status_vera(STATUS_ISSUE) && !check_status_roms(STATUS_ISSUE) && // !check_status_smc(STATUS_ERROR) && !check_status_vera(STATUS_ERROR) && !check_status_roms(STATUS_ERROR)) - // [387] if(0!=main::check_status_roms1_return#2) goto main::check_status_smc7 -- 0_neq_vbum1_then_la1 + // [380] if(0!=main::check_status_roms1_return#2) goto main::check_status_smc7 -- 0_neq_vbum1_then_la1 lda check_status_roms1_return beq !check_status_smc7+ jmp check_status_smc7 !check_status_smc7: - // main::@230 - // [388] if(0==main::check_status_smc6_return#0) goto main::@229 -- 0_eq_vbuz1_then_la1 + // main::@227 + // [381] if(0==main::check_status_smc6_return#0) goto main::@226 -- 0_eq_vbuz1_then_la1 lda.z check_status_smc6_return - beq __b229 + beq __b226 jmp check_status_smc7 - // main::@229 - __b229: - // [389] if(0!=main::check_status_vera2_return#0) goto main::check_status_smc7 -- 0_neq_vbuz1_then_la1 + // main::@226 + __b226: + // [382] if(0!=main::check_status_vera2_return#0) goto main::check_status_smc7 -- 0_neq_vbuz1_then_la1 lda.z check_status_vera2_return beq !check_status_smc7+ jmp check_status_smc7 !check_status_smc7: - // main::@228 - // [390] if(0==main::check_status_roms2_return#2) goto main::check_status_smc8 -- 0_eq_vbum1_then_la1 + // main::@225 + // [383] if(0==main::check_status_roms2_return#2) goto main::check_status_smc8 -- 0_eq_vbum1_then_la1 lda check_status_roms2_return beq check_status_smc8 jmp check_status_smc7 // main::check_status_smc8 check_status_smc8: // status_smc == status - // [391] main::check_status_smc8_$0 = status_smc#0 == STATUS_FLASH -- vbom1=vbum2_eq_vbuc1 + // [384] main::check_status_smc8_$0 = status_smc#0 == STATUS_FLASH -- vboz1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_FLASH beq !+ lda #1 !: eor #1 - sta check_status_smc8_main__0 + sta.z check_status_smc8_main__0 // return (unsigned char)(status_smc == status); - // [392] main::check_status_smc8_return#0 = (char)main::check_status_smc8_$0 - // [393] phi from main::check_status_smc8 to main::check_status_cx16_rom4 [phi:main::check_status_smc8->main::check_status_cx16_rom4] + // [385] main::check_status_smc8_return#0 = (char)main::check_status_smc8_$0 + // [386] phi from main::check_status_smc8 to main::check_status_cx16_rom4 [phi:main::check_status_smc8->main::check_status_cx16_rom4] // main::check_status_cx16_rom4 // main::check_status_cx16_rom4_check_status_rom1 // status_rom[rom_chip] == status - // [394] main::check_status_cx16_rom4_check_status_rom1_$0 = *status_rom == STATUS_FLASH -- vboz1=_deref_pbuc1_eq_vbuc2 + // [387] main::check_status_cx16_rom4_check_status_rom1_$0 = *status_rom == STATUS_FLASH -- vboz1=_deref_pbuc1_eq_vbuc2 lda status_rom eor #STATUS_FLASH beq !+ @@ -2410,42 +2375,42 @@ main: { eor #1 sta.z check_status_cx16_rom4_check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [395] main::check_status_cx16_rom4_check_status_rom1_return#0 = (char)main::check_status_cx16_rom4_check_status_rom1_$0 - // [396] phi from main::check_status_cx16_rom4_check_status_rom1 to main::check_status_card_roms1 [phi:main::check_status_cx16_rom4_check_status_rom1->main::check_status_card_roms1] + // [388] main::check_status_cx16_rom4_check_status_rom1_return#0 = (char)main::check_status_cx16_rom4_check_status_rom1_$0 + // [389] phi from main::check_status_cx16_rom4_check_status_rom1 to main::check_status_card_roms1 [phi:main::check_status_cx16_rom4_check_status_rom1->main::check_status_card_roms1] // main::check_status_card_roms1 - // [397] phi from main::check_status_card_roms1 to main::check_status_card_roms1_@1 [phi:main::check_status_card_roms1->main::check_status_card_roms1_@1] - // [397] phi main::check_status_card_roms1_rom_chip#2 = 1 [phi:main::check_status_card_roms1->main::check_status_card_roms1_@1#0] -- vbum1=vbuc1 + // [390] phi from main::check_status_card_roms1 to main::check_status_card_roms1_@1 [phi:main::check_status_card_roms1->main::check_status_card_roms1_@1] + // [390] phi main::check_status_card_roms1_rom_chip#2 = 1 [phi:main::check_status_card_roms1->main::check_status_card_roms1_@1#0] -- vbum1=vbuc1 lda #1 sta check_status_card_roms1_rom_chip // main::check_status_card_roms1_@1 check_status_card_roms1___b1: // for(unsigned char rom_chip = 1; rom_chip < 8; rom_chip++) - // [398] if(main::check_status_card_roms1_rom_chip#2<8) goto main::check_status_card_roms1_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 + // [391] if(main::check_status_card_roms1_rom_chip#2<8) goto main::check_status_card_roms1_check_status_rom1 -- vbum1_lt_vbuc1_then_la1 lda check_status_card_roms1_rom_chip cmp #8 bcs !check_status_card_roms1_check_status_rom1+ jmp check_status_card_roms1_check_status_rom1 !check_status_card_roms1_check_status_rom1: - // [399] phi from main::check_status_card_roms1_@1 to main::check_status_card_roms1_@return [phi:main::check_status_card_roms1_@1->main::check_status_card_roms1_@return] - // [399] phi main::check_status_card_roms1_return#2 = 0 [phi:main::check_status_card_roms1_@1->main::check_status_card_roms1_@return#0] -- vbum1=vbuc1 + // [392] phi from main::check_status_card_roms1_@1 to main::check_status_card_roms1_@return [phi:main::check_status_card_roms1_@1->main::check_status_card_roms1_@return] + // [392] phi main::check_status_card_roms1_return#2 = 0 [phi:main::check_status_card_roms1_@1->main::check_status_card_roms1_@return#0] -- vbum1=vbuc1 lda #0 sta check_status_card_roms1_return // main::check_status_card_roms1_@return // main::@79 __b79: // if(check_status_smc(STATUS_FLASH) && check_status_cx16_rom(STATUS_FLASH) || check_status_card_roms(STATUS_FLASH)) - // [400] if(0==main::check_status_smc8_return#0) goto main::@235 -- 0_eq_vbum1_then_la1 - lda check_status_smc8_return - beq __b235 - // main::@236 - // [401] if(0!=main::check_status_cx16_rom4_check_status_rom1_return#0) goto main::@10 -- 0_neq_vbuz1_then_la1 + // [393] if(0==main::check_status_smc8_return#0) goto main::@232 -- 0_eq_vbuz1_then_la1 + lda.z check_status_smc8_return + beq __b232 + // main::@233 + // [394] if(0!=main::check_status_cx16_rom4_check_status_rom1_return#0) goto main::@10 -- 0_neq_vbuz1_then_la1 lda.z check_status_cx16_rom4_check_status_rom1_return beq !__b10+ jmp __b10 !__b10: - // main::@235 - __b235: - // [402] if(0!=main::check_status_card_roms1_return#2) goto main::@10 -- 0_neq_vbum1_then_la1 + // main::@232 + __b232: + // [395] if(0!=main::check_status_card_roms1_return#2) goto main::@10 -- 0_neq_vbum1_then_la1 lda check_status_card_roms1_return beq !__b10+ jmp __b10 @@ -2453,7 +2418,7 @@ main: { // main::bank_set_bram2 bank_set_bram2: // BRAM = bank - // [403] BRAM = main::bank_set_bram2_bank#0 -- vbuz1=vbuc1 + // [396] BRAM = main::bank_set_bram2_bank#0 -- vbuz1=vbuc1 lda #bank_set_bram2_bank sta.z BRAM // main::SEI5 @@ -2462,7 +2427,7 @@ main: { sei // main::check_status_smc9 // status_smc == status - // [405] main::check_status_smc9_$0 = status_smc#0 == STATUS_FLASH -- vboz1=vbum2_eq_vbuc1 + // [398] main::check_status_smc9_$0 = status_smc#0 == STATUS_FLASH -- vboz1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_FLASH beq !+ @@ -2471,12 +2436,12 @@ main: { eor #1 sta.z check_status_smc9_main__0 // return (unsigned char)(status_smc == status); - // [406] main::check_status_smc9_return#0 = (char)main::check_status_smc9_$0 - // [407] phi from main::check_status_smc9 to main::check_status_cx16_rom5 [phi:main::check_status_smc9->main::check_status_cx16_rom5] + // [399] main::check_status_smc9_return#0 = (char)main::check_status_smc9_$0 + // [400] phi from main::check_status_smc9 to main::check_status_cx16_rom5 [phi:main::check_status_smc9->main::check_status_cx16_rom5] // main::check_status_cx16_rom5 // main::check_status_cx16_rom5_check_status_rom1 // status_rom[rom_chip] == status - // [408] main::check_status_cx16_rom5_check_status_rom1_$0 = *status_rom == STATUS_FLASH -- vboz1=_deref_pbuc1_eq_vbuc2 + // [401] main::check_status_cx16_rom5_check_status_rom1_$0 = *status_rom == STATUS_FLASH -- vboz1=_deref_pbuc1_eq_vbuc2 lda status_rom eor #STATUS_FLASH beq !+ @@ -2485,26 +2450,26 @@ main: { eor #1 sta.z check_status_cx16_rom5_check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [409] main::check_status_cx16_rom5_check_status_rom1_return#0 = (char)main::check_status_cx16_rom5_check_status_rom1_$0 + // [402] main::check_status_cx16_rom5_check_status_rom1_return#0 = (char)main::check_status_cx16_rom5_check_status_rom1_$0 // main::@80 // if (check_status_smc(STATUS_FLASH) && check_status_cx16_rom(STATUS_FLASH)) - // [410] if(0==main::check_status_smc9_return#0) goto main::@43 -- 0_eq_vbuz1_then_la1 + // [403] if(0==main::check_status_smc9_return#0) goto main::@43 -- 0_eq_vbuz1_then_la1 lda.z check_status_smc9_return beq __b43 - // main::@237 - // [411] if(0!=main::check_status_cx16_rom5_check_status_rom1_return#0) goto main::@54 -- 0_neq_vbuz1_then_la1 + // main::@234 + // [404] if(0!=main::check_status_cx16_rom5_check_status_rom1_return#0) goto main::@54 -- 0_neq_vbuz1_then_la1 lda.z check_status_cx16_rom5_check_status_rom1_return beq !__b54+ jmp __b54 !__b54: - // [412] phi from main::@237 to main::@43 [phi:main::@237->main::@43] - // [412] phi from main::@184 main::@44 main::@45 main::@57 main::@80 to main::@43 [phi:main::@184/main::@44/main::@45/main::@57/main::@80->main::@43] - // [412] phi __errno#387 = __errno#18 [phi:main::@184/main::@44/main::@45/main::@57/main::@80->main::@43#0] -- register_copy + // [405] phi from main::@234 to main::@43 [phi:main::@234->main::@43] + // [405] phi from main::@181 main::@44 main::@45 main::@57 main::@80 to main::@43 [phi:main::@181/main::@44/main::@45/main::@57/main::@80->main::@43] + // [405] phi __errno#387 = __errno#18 [phi:main::@181/main::@44/main::@45/main::@57/main::@80->main::@43#0] -- register_copy // main::@43 __b43: - // [413] phi from main::@43 to main::@46 [phi:main::@43->main::@46] - // [413] phi __errno#116 = __errno#387 [phi:main::@43->main::@46#0] -- register_copy - // [413] phi main::rom_chip4#10 = 7 [phi:main::@43->main::@46#1] -- vbum1=vbuc1 + // [406] phi from main::@43 to main::@46 [phi:main::@43->main::@46] + // [406] phi __errno#116 = __errno#387 [phi:main::@43->main::@46#0] -- register_copy + // [406] phi main::rom_chip4#10 = 7 [phi:main::@43->main::@46#1] -- vbum1=vbuc1 lda #7 sta rom_chip4 // Flash the ROM chips. @@ -2516,7 +2481,7 @@ main: { // main::@46 __b46: // for(unsigned char rom_chip = 7; rom_chip != 255; rom_chip--) - // [414] if(main::rom_chip4#10!=$ff) goto main::check_status_rom1 -- vbum1_neq_vbuc1_then_la1 + // [407] if(main::rom_chip4#10!=$ff) goto main::check_status_rom1 -- vbum1_neq_vbuc1_then_la1 lda #$ff cmp rom_chip4 bne check_status_rom1 @@ -2524,7 +2489,7 @@ main: { // main::check_status_rom1 check_status_rom1: // status_rom[rom_chip] == status - // [415] main::check_status_rom1_$0 = status_rom[main::rom_chip4#10] == STATUS_FLASH -- vboz1=pbuc1_derefidx_vbum2_eq_vbuc2 + // [408] main::check_status_rom1_$0 = status_rom[main::rom_chip4#10] == STATUS_FLASH -- vboz1=pbuc1_derefidx_vbum2_eq_vbuc2 lda #STATUS_FLASH ldy rom_chip4 eor status_rom,y @@ -2534,15 +2499,15 @@ main: { eor #1 sta.z check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [416] main::check_status_rom1_return#0 = (char)main::check_status_rom1_$0 + // [409] main::check_status_rom1_return#0 = (char)main::check_status_rom1_$0 // main::@81 // if(check_status_rom(rom_chip, STATUS_FLASH)) - // [417] if(0==main::check_status_rom1_return#0) goto main::@47 -- 0_eq_vbuz1_then_la1 + // [410] if(0==main::check_status_rom1_return#0) goto main::@47 -- 0_eq_vbuz1_then_la1 lda.z check_status_rom1_return beq __b47 // main::check_status_smc10 // status_smc == status - // [418] main::check_status_smc10_$0 = status_smc#0 == STATUS_FLASHED -- vboz1=vbum2_eq_vbuc1 + // [411] main::check_status_smc10_$0 = status_smc#0 == STATUS_FLASHED -- vboz1=vbum2_eq_vbuc1 lda status_smc eor #STATUS_FLASHED beq !+ @@ -2551,64 +2516,64 @@ main: { eor #1 sta.z check_status_smc10_main__0 // return (unsigned char)(status_smc == status); - // [419] main::check_status_smc10_return#0 = (char)main::check_status_smc10_$0 + // [412] main::check_status_smc10_return#0 = (char)main::check_status_smc10_$0 // main::@82 // if((rom_chip == 0 && check_status_smc(STATUS_FLASHED)) || (rom_chip != 0)) - // [420] if(main::rom_chip4#10!=0) goto main::@238 -- vbum1_neq_0_then_la1 + // [413] if(main::rom_chip4#10!=0) goto main::@235 -- vbum1_neq_0_then_la1 // IMPORTANT! We only flash the CX16 ROM chip if the SMC got flashed succesfully! lda rom_chip4 - bne __b238 - // main::@239 - // [421] if(0!=main::check_status_smc10_return#0) goto main::bank_set_brom7 -- 0_neq_vbuz1_then_la1 + bne __b235 + // main::@236 + // [414] if(0!=main::check_status_smc10_return#0) goto main::bank_set_brom7 -- 0_neq_vbuz1_then_la1 lda.z check_status_smc10_return bne bank_set_brom7 - // main::@238 - __b238: - // [422] if(main::rom_chip4#10!=0) goto main::bank_set_brom7 -- vbum1_neq_0_then_la1 + // main::@235 + __b235: + // [415] if(main::rom_chip4#10!=0) goto main::bank_set_brom7 -- vbum1_neq_0_then_la1 lda rom_chip4 bne bank_set_brom7 // main::@53 // display_info_rom(rom_chip, STATUS_ISSUE, "Update SMC failed!") - // [423] display_info_rom::rom_chip#10 = main::rom_chip4#10 -- vbuz1=vbum2 + // [416] display_info_rom::rom_chip#10 = main::rom_chip4#10 -- vbuz1=vbum2 sta.z display_info_rom.rom_chip - // [424] call display_info_rom - // [1282] phi from main::@53 to display_info_rom [phi:main::@53->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = main::info_text28 [phi:main::@53->display_info_rom#0] -- pbuz1=pbuc1 + // [417] call display_info_rom + // [1270] phi from main::@53 to display_info_rom [phi:main::@53->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = main::info_text28 [phi:main::@53->display_info_rom#0] -- pbuz1=pbuc1 lda #info_text28 sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#10 [phi:main::@53->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_ISSUE [phi:main::@53->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#10 [phi:main::@53->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_ISSUE [phi:main::@53->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_ISSUE - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom - // [425] phi from main::@195 main::@206 main::@48 main::@52 main::@53 main::@81 to main::@47 [phi:main::@195/main::@206/main::@48/main::@52/main::@53/main::@81->main::@47] - // [425] phi __errno#388 = __errno#18 [phi:main::@195/main::@206/main::@48/main::@52/main::@53/main::@81->main::@47#0] -- register_copy + // [418] phi from main::@192 main::@203 main::@48 main::@52 main::@53 main::@81 to main::@47 [phi:main::@192/main::@203/main::@48/main::@52/main::@53/main::@81->main::@47] + // [418] phi __errno#388 = __errno#18 [phi:main::@192/main::@203/main::@48/main::@52/main::@53/main::@81->main::@47#0] -- register_copy // main::@47 __b47: // for(unsigned char rom_chip = 7; rom_chip != 255; rom_chip--) - // [426] main::rom_chip4#1 = -- main::rom_chip4#10 -- vbum1=_dec_vbum1 + // [419] main::rom_chip4#1 = -- main::rom_chip4#10 -- vbum1=_dec_vbum1 dec rom_chip4 - // [413] phi from main::@47 to main::@46 [phi:main::@47->main::@46] - // [413] phi __errno#116 = __errno#388 [phi:main::@47->main::@46#0] -- register_copy - // [413] phi main::rom_chip4#10 = main::rom_chip4#1 [phi:main::@47->main::@46#1] -- register_copy + // [406] phi from main::@47 to main::@46 [phi:main::@47->main::@46] + // [406] phi __errno#116 = __errno#388 [phi:main::@47->main::@46#0] -- register_copy + // [406] phi main::rom_chip4#10 = main::rom_chip4#1 [phi:main::@47->main::@46#1] -- register_copy jmp __b46 // main::bank_set_brom7 bank_set_brom7: // BROM = bank - // [427] BROM = main::bank_set_brom7_bank#0 -- vbuz1=vbuc1 + // [420] BROM = main::bank_set_brom7_bank#0 -- vbuz1=vbuc1 lda #bank_set_brom7_bank sta.z BROM - // [428] phi from main::bank_set_brom7 to main::@83 [phi:main::bank_set_brom7->main::@83] + // [421] phi from main::bank_set_brom7 to main::@83 [phi:main::bank_set_brom7->main::@83] // main::@83 // display_progress_clear() - // [429] call display_progress_clear - // [870] phi from main::@83 to display_progress_clear [phi:main::@83->display_progress_clear] + // [422] call display_progress_clear + // [864] phi from main::@83 to display_progress_clear [phi:main::@83->display_progress_clear] jsr display_progress_clear - // main::@188 + // main::@185 // unsigned char rom_bank = rom_chip * 32 - // [430] main::rom_bank1#0 = main::rom_chip4#10 << 5 -- vbum1=vbum2_rol_5 + // [423] main::rom_bank1#0 = main::rom_chip4#10 << 5 -- vbum1=vbum2_rol_5 lda rom_chip4 asl asl @@ -2617,114 +2582,114 @@ main: { asl sta rom_bank1 // unsigned char* file = rom_file(rom_chip) - // [431] rom_file::rom_chip#1 = main::rom_chip4#10 -- vbuz1=vbum2 + // [424] rom_file::rom_chip#1 = main::rom_chip4#10 -- vbum1=vbum2 lda rom_chip4 - sta.z rom_file.rom_chip - // [432] call rom_file - // [1325] phi from main::@188 to rom_file [phi:main::@188->rom_file] - // [1325] phi rom_file::rom_chip#2 = rom_file::rom_chip#1 [phi:main::@188->rom_file#0] -- register_copy + sta rom_file.rom_chip + // [425] call rom_file + // [1313] phi from main::@185 to rom_file [phi:main::@185->rom_file] + // [1313] phi rom_file::rom_chip#2 = rom_file::rom_chip#1 [phi:main::@185->rom_file#0] -- register_copy jsr rom_file // unsigned char* file = rom_file(rom_chip) - // [433] rom_file::return#5 = rom_file::return#2 - // main::@189 - // [434] main::file1#0 = rom_file::return#5 + // [426] rom_file::return#5 = rom_file::return#2 + // main::@186 + // [427] main::file1#0 = rom_file::return#5 // sprintf(info_text, "Reading %s ... (.) data ( ) empty", file) - // [435] call snprintf_init - // [1011] phi from main::@189 to snprintf_init [phi:main::@189->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@189->snprintf_init#0] -- pbuz1=pbuc1 + // [428] call snprintf_init + // [1151] phi from main::@186 to snprintf_init [phi:main::@186->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@186->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [436] phi from main::@189 to main::@190 [phi:main::@189->main::@190] - // main::@190 + // [429] phi from main::@186 to main::@187 [phi:main::@186->main::@187] + // main::@187 // sprintf(info_text, "Reading %s ... (.) data ( ) empty", file) - // [437] call printf_str - // [1016] phi from main::@190 to printf_str [phi:main::@190->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@190->printf_str#0] -- pprz1=pprc1 + // [430] call printf_str + // [1156] phi from main::@187 to printf_str [phi:main::@187->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@187->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s12 [phi:main::@190->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s12 + lda #>s11 sta.z printf_str.s+1 jsr printf_str - // main::@191 + // main::@188 // sprintf(info_text, "Reading %s ... (.) data ( ) empty", file) - // [438] printf_string::str#21 = main::file1#0 -- pbuz1=pbum2 + // [431] printf_string::str#21 = main::file1#0 -- pbuz1=pbum2 lda file1 sta.z printf_string.str lda file1+1 sta.z printf_string.str+1 - // [439] call printf_string - // [1177] phi from main::@191 to printf_string [phi:main::@191->printf_string] - // [1177] phi printf_string::putc#22 = &snputc [phi:main::@191->printf_string#0] -- pprz1=pprc1 + // [432] call printf_string + // [1165] phi from main::@188 to printf_string [phi:main::@188->printf_string] + // [1165] phi printf_string::putc#22 = &snputc [phi:main::@188->printf_string#0] -- pprz1=pprc1 lda #snputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#21 [phi:main::@191->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 0 [phi:main::@191->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#21 [phi:main::@188->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 0 [phi:main::@188->printf_string#2] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 0 [phi:main::@191->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 0 [phi:main::@188->printf_string#3] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // [440] phi from main::@191 to main::@192 [phi:main::@191->main::@192] - // main::@192 + // [433] phi from main::@188 to main::@189 [phi:main::@188->main::@189] + // main::@189 // sprintf(info_text, "Reading %s ... (.) data ( ) empty", file) - // [441] call printf_str - // [1016] phi from main::@192 to printf_str [phi:main::@192->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@192->printf_str#0] -- pprz1=pprc1 + // [434] call printf_str + // [1156] phi from main::@189 to printf_str [phi:main::@189->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@189->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s7 [phi:main::@192->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s7 + lda #>s6 sta.z printf_str.s+1 jsr printf_str - // main::@193 + // main::@190 // sprintf(info_text, "Reading %s ... (.) data ( ) empty", file) - // [442] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [435] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [443] callexecute snputc -- call_vprc1 + // [436] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_progress(info_text) - // [445] call display_action_progress - // [856] phi from main::@193 to display_action_progress [phi:main::@193->display_action_progress] - // [856] phi display_action_progress::info_text#18 = info_text [phi:main::@193->display_action_progress#0] -- pbuz1=pbuc1 + // [438] call display_action_progress + // [850] phi from main::@190 to display_action_progress [phi:main::@190->display_action_progress] + // [850] phi display_action_progress::info_text#18 = info_text [phi:main::@190->display_action_progress#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_progress.info_text lda #>@info_text sta.z display_action_progress.info_text+1 jsr display_action_progress - // main::@194 + // main::@191 // unsigned long rom_bytes_read = rom_read(1, rom_chip, file, STATUS_READING, rom_bank, rom_sizes[rom_chip]) - // [446] main::$275 = main::rom_chip4#10 << 2 -- vbum1=vbum2_rol_2 + // [439] main::$274 = main::rom_chip4#10 << 2 -- vbum1=vbum2_rol_2 lda rom_chip4 asl asl - sta main__275 - // [447] rom_read::file#1 = main::file1#0 -- pbum1=pbum2 + sta main__274 + // [440] rom_read::file#1 = main::file1#0 -- pbum1=pbum2 lda file1 sta rom_read.file lda file1+1 sta rom_read.file+1 - // [448] rom_read::brom_bank_start#2 = main::rom_bank1#0 -- vbum1=vbum2 + // [441] rom_read::brom_bank_start#2 = main::rom_bank1#0 -- vbuz1=vbum2 lda rom_bank1 - sta rom_read.brom_bank_start - // [449] rom_read::rom_size#1 = rom_sizes[main::$275] -- vduz1=pduc1_derefidx_vbum2 - ldy main__275 + sta.z rom_read.brom_bank_start + // [442] rom_read::rom_size#1 = rom_sizes[main::$274] -- vduz1=pduc1_derefidx_vbum2 + ldy main__274 lda rom_sizes,y sta.z rom_read.rom_size lda rom_sizes+1,y @@ -2733,22 +2698,22 @@ main: { sta.z rom_read.rom_size+2 lda rom_sizes+3,y sta.z rom_read.rom_size+3 - // [450] call rom_read - // [1331] phi from main::@194 to rom_read [phi:main::@194->rom_read] - // [1331] phi rom_read::display_progress#28 = 1 [phi:main::@194->rom_read#0] -- vbum1=vbuc1 + // [443] call rom_read + // [1319] phi from main::@191 to rom_read [phi:main::@191->rom_read] + // [1319] phi rom_read::display_progress#28 = 1 [phi:main::@191->rom_read#0] -- vbum1=vbuc1 lda #1 sta rom_read.display_progress - // [1331] phi rom_read::rom_size#12 = rom_read::rom_size#1 [phi:main::@194->rom_read#1] -- register_copy - // [1331] phi __errno#108 = __errno#116 [phi:main::@194->rom_read#2] -- register_copy - // [1331] phi rom_read::file#11 = rom_read::file#1 [phi:main::@194->rom_read#3] -- register_copy - // [1331] phi rom_read::brom_bank_start#22 = rom_read::brom_bank_start#2 [phi:main::@194->rom_read#4] -- register_copy + // [1319] phi rom_read::rom_size#12 = rom_read::rom_size#1 [phi:main::@191->rom_read#1] -- register_copy + // [1319] phi __errno#108 = __errno#116 [phi:main::@191->rom_read#2] -- register_copy + // [1319] phi rom_read::file#11 = rom_read::file#1 [phi:main::@191->rom_read#3] -- register_copy + // [1319] phi rom_read::brom_bank_start#22 = rom_read::brom_bank_start#2 [phi:main::@191->rom_read#4] -- register_copy jsr rom_read // unsigned long rom_bytes_read = rom_read(1, rom_chip, file, STATUS_READING, rom_bank, rom_sizes[rom_chip]) - // [451] rom_read::return#3 = rom_read::return#0 - // main::@195 - // [452] main::rom_bytes_read1#0 = rom_read::return#3 + // [444] rom_read::return#3 = rom_read::return#0 + // main::@192 + // [445] main::rom_bytes_read1#0 = rom_read::return#3 // if(rom_bytes_read) - // [453] if(0==main::rom_bytes_read1#0) goto main::@47 -- 0_eq_vdum1_then_la1 + // [446] if(0==main::rom_bytes_read1#0) goto main::@47 -- 0_eq_vdum1_then_la1 lda rom_bytes_read1 ora rom_bytes_read1+1 ora rom_bytes_read1+2 @@ -2756,46 +2721,46 @@ main: { bne !__b47+ jmp __b47 !__b47: - // [454] phi from main::@195 to main::@50 [phi:main::@195->main::@50] + // [447] phi from main::@192 to main::@50 [phi:main::@192->main::@50] // main::@50 // display_action_progress("Comparing ... (.) same, (*) different.") - // [455] call display_action_progress + // [448] call display_action_progress // Now we compare the RAM with the actual ROM contents. - // [856] phi from main::@50 to display_action_progress [phi:main::@50->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text29 [phi:main::@50->display_action_progress#0] -- pbuz1=pbuc1 + // [850] phi from main::@50 to display_action_progress [phi:main::@50->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text29 [phi:main::@50->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text29 sta.z display_action_progress.info_text+1 jsr display_action_progress - // main::@196 + // main::@193 // display_info_rom(rom_chip, STATUS_COMPARING, "") - // [456] display_info_rom::rom_chip#11 = main::rom_chip4#10 -- vbuz1=vbum2 + // [449] display_info_rom::rom_chip#11 = main::rom_chip4#10 -- vbuz1=vbum2 lda rom_chip4 sta.z display_info_rom.rom_chip - // [457] call display_info_rom - // [1282] phi from main::@196 to display_info_rom [phi:main::@196->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = info_text4 [phi:main::@196->display_info_rom#0] -- pbuz1=pbuc1 + // [450] call display_info_rom + // [1270] phi from main::@193 to display_info_rom [phi:main::@193->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = info_text4 [phi:main::@193->display_info_rom#0] -- pbuz1=pbuc1 lda #info_text4 sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#11 [phi:main::@196->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_COMPARING [phi:main::@196->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#11 [phi:main::@193->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_COMPARING [phi:main::@193->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_COMPARING - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom - // main::@197 + // main::@194 // unsigned long rom_differences = rom_verify( // rom_chip, rom_bank, file_sizes[rom_chip]) - // [458] rom_verify::rom_chip#0 = main::rom_chip4#10 -- vbuz1=vbum2 + // [451] rom_verify::rom_chip#0 = main::rom_chip4#10 -- vbuz1=vbum2 lda rom_chip4 sta.z rom_verify.rom_chip - // [459] rom_verify::rom_bank_start#0 = main::rom_bank1#0 -- vbum1=vbum2 + // [452] rom_verify::rom_bank_start#0 = main::rom_bank1#0 -- vbum1=vbum2 lda rom_bank1 sta rom_verify.rom_bank_start - // [460] rom_verify::file_size#0 = file_sizes[main::$275] -- vdum1=pduc1_derefidx_vbum2 - ldy main__275 + // [453] rom_verify::file_size#0 = file_sizes[main::$274] -- vdum1=pduc1_derefidx_vbum2 + ldy main__274 lda file_sizes,y sta rom_verify.file_size lda file_sizes+1,y @@ -2804,12 +2769,12 @@ main: { sta rom_verify.file_size+2 lda file_sizes+3,y sta rom_verify.file_size+3 - // [461] call rom_verify + // [454] call rom_verify // Verify the ROM... jsr rom_verify - // [462] rom_verify::return#2 = rom_verify::rom_different_bytes#11 - // main::@198 - // [463] main::rom_differences#0 = rom_verify::return#2 -- vduz1=vduz2 + // [455] rom_verify::return#2 = rom_verify::rom_different_bytes#11 + // main::@195 + // [456] main::rom_differences#0 = rom_verify::return#2 -- vduz1=vduz2 lda.z rom_verify.return sta.z rom_differences lda.z rom_verify.return+1 @@ -2819,7 +2784,7 @@ main: { lda.z rom_verify.return+3 sta.z rom_differences+3 // if (!rom_differences) - // [464] if(0==main::rom_differences#0) goto main::@48 -- 0_eq_vduz1_then_la1 + // [457] if(0==main::rom_differences#0) goto main::@48 -- 0_eq_vduz1_then_la1 lda.z rom_differences ora.z rom_differences+1 ora.z rom_differences+2 @@ -2827,85 +2792,85 @@ main: { bne !__b48+ jmp __b48 !__b48: - // [465] phi from main::@198 to main::@51 [phi:main::@198->main::@51] + // [458] phi from main::@195 to main::@51 [phi:main::@195->main::@51] // main::@51 // sprintf(info_text, "%05x differences!", rom_differences) - // [466] call snprintf_init - // [1011] phi from main::@51 to snprintf_init [phi:main::@51->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@51->snprintf_init#0] -- pbuz1=pbuc1 + // [459] call snprintf_init + // [1151] phi from main::@51 to snprintf_init [phi:main::@51->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@51->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // main::@199 + // main::@196 // sprintf(info_text, "%05x differences!", rom_differences) - // [467] printf_ulong::uvalue#7 = main::rom_differences#0 - // [468] call printf_ulong - // [1482] phi from main::@199 to printf_ulong [phi:main::@199->printf_ulong] - // [1482] phi printf_ulong::format_zero_padding#10 = 1 [phi:main::@199->printf_ulong#0] -- vbuz1=vbuc1 + // [460] printf_ulong::uvalue#7 = main::rom_differences#0 + // [461] call printf_ulong + // [1470] phi from main::@196 to printf_ulong [phi:main::@196->printf_ulong] + // [1470] phi printf_ulong::format_zero_padding#10 = 1 [phi:main::@196->printf_ulong#0] -- vbuz1=vbuc1 lda #1 sta.z printf_ulong.format_zero_padding - // [1482] phi printf_ulong::format_min_length#10 = 5 [phi:main::@199->printf_ulong#1] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_min_length#10 = 5 [phi:main::@196->printf_ulong#1] -- vbuz1=vbuc1 lda #5 sta.z printf_ulong.format_min_length - // [1482] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:main::@199->printf_ulong#2] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:main::@196->printf_ulong#2] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_ulong.format_radix - // [1482] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#7 [phi:main::@199->printf_ulong#3] -- register_copy + // [1470] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#7 [phi:main::@196->printf_ulong#3] -- register_copy jsr printf_ulong - // [469] phi from main::@199 to main::@200 [phi:main::@199->main::@200] - // main::@200 + // [462] phi from main::@196 to main::@197 [phi:main::@196->main::@197] + // main::@197 // sprintf(info_text, "%05x differences!", rom_differences) - // [470] call printf_str - // [1016] phi from main::@200 to printf_str [phi:main::@200->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@200->printf_str#0] -- pprz1=pprc1 + // [463] call printf_str + // [1156] phi from main::@197 to printf_str [phi:main::@197->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@197->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s14 [phi:main::@200->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s14 + lda #>s13 sta.z printf_str.s+1 jsr printf_str - // main::@201 + // main::@198 // sprintf(info_text, "%05x differences!", rom_differences) - // [471] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [464] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [472] callexecute snputc -- call_vprc1 + // [465] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_info_rom(rom_chip, STATUS_FLASH, info_text) - // [474] display_info_rom::rom_chip#13 = main::rom_chip4#10 -- vbuz1=vbum2 + // [467] display_info_rom::rom_chip#13 = main::rom_chip4#10 -- vbuz1=vbum2 lda rom_chip4 sta.z display_info_rom.rom_chip - // [475] call display_info_rom - // [1282] phi from main::@201 to display_info_rom [phi:main::@201->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = info_text [phi:main::@201->display_info_rom#0] -- pbuz1=pbuc1 + // [468] call display_info_rom + // [1270] phi from main::@198 to display_info_rom [phi:main::@198->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = info_text [phi:main::@198->display_info_rom#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_info_rom.info_text lda #>@info_text sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#13 [phi:main::@201->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_FLASH [phi:main::@201->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#13 [phi:main::@198->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_FLASH [phi:main::@198->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_FLASH - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom - // main::@202 + // main::@199 // unsigned long rom_flash_errors = rom_flash( // rom_chip, rom_bank, file_sizes[rom_chip]) - // [476] rom_flash::rom_chip#0 = main::rom_chip4#10 -- vbum1=vbum2 + // [469] rom_flash::rom_chip#0 = main::rom_chip4#10 -- vbum1=vbum2 lda rom_chip4 sta rom_flash.rom_chip - // [477] rom_flash::rom_bank_start#0 = main::rom_bank1#0 -- vbum1=vbum2 + // [470] rom_flash::rom_bank_start#0 = main::rom_bank1#0 -- vbum1=vbum2 lda rom_bank1 sta rom_flash.rom_bank_start - // [478] rom_flash::file_size#0 = file_sizes[main::$275] -- vdum1=pduc1_derefidx_vbum2 - ldy main__275 + // [471] rom_flash::file_size#0 = file_sizes[main::$274] -- vdum1=pduc1_derefidx_vbum2 + ldy main__274 lda file_sizes,y sta rom_flash.file_size lda file_sizes+1,y @@ -2914,14 +2879,14 @@ main: { sta rom_flash.file_size+2 lda file_sizes+3,y sta rom_flash.file_size+3 - // [479] call rom_flash - // [1492] phi from main::@202 to rom_flash [phi:main::@202->rom_flash] + // [472] call rom_flash + // [1480] phi from main::@199 to rom_flash [phi:main::@199->rom_flash] jsr rom_flash // unsigned long rom_flash_errors = rom_flash( // rom_chip, rom_bank, file_sizes[rom_chip]) - // [480] rom_flash::return#2 = rom_flash::flash_errors#10 - // main::@203 - // [481] main::rom_flash_errors#0 = rom_flash::return#2 -- vdum1=vdum2 + // [473] rom_flash::return#2 = rom_flash::flash_errors#10 + // main::@200 + // [474] main::rom_flash_errors#0 = rom_flash::return#2 -- vdum1=vdum2 lda rom_flash.return sta rom_flash_errors lda rom_flash.return+1 @@ -2931,7 +2896,7 @@ main: { lda rom_flash.return+3 sta rom_flash_errors+3 // if(rom_flash_errors) - // [482] if(0!=main::rom_flash_errors#0) goto main::@49 -- 0_neq_vdum1_then_la1 + // [475] if(0!=main::rom_flash_errors#0) goto main::@49 -- 0_neq_vdum1_then_la1 lda rom_flash_errors ora rom_flash_errors+1 ora rom_flash_errors+2 @@ -2939,38 +2904,38 @@ main: { bne __b49 // main::@52 // display_info_rom(rom_chip, STATUS_FLASHED, "OK!") - // [483] display_info_rom::rom_chip#15 = main::rom_chip4#10 -- vbuz1=vbum2 + // [476] display_info_rom::rom_chip#15 = main::rom_chip4#10 -- vbuz1=vbum2 lda rom_chip4 sta.z display_info_rom.rom_chip - // [484] call display_info_rom + // [477] call display_info_rom // RF-3 | Flash ROM and all ok - // [1282] phi from main::@52 to display_info_rom [phi:main::@52->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = main::info_text32 [phi:main::@52->display_info_rom#0] -- pbuz1=pbuc1 + // [1270] phi from main::@52 to display_info_rom [phi:main::@52->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = main::info_text32 [phi:main::@52->display_info_rom#0] -- pbuz1=pbuc1 lda #info_text32 sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#15 [phi:main::@52->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_FLASHED [phi:main::@52->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#15 [phi:main::@52->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_FLASHED [phi:main::@52->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_FLASHED - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom jmp __b47 - // [485] phi from main::@203 to main::@49 [phi:main::@203->main::@49] + // [478] phi from main::@200 to main::@49 [phi:main::@200->main::@49] // main::@49 __b49: // sprintf(info_text, "%u flash errors!", rom_flash_errors) - // [486] call snprintf_init - // [1011] phi from main::@49 to snprintf_init [phi:main::@49->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@49->snprintf_init#0] -- pbuz1=pbuc1 + // [479] call snprintf_init + // [1151] phi from main::@49 to snprintf_init [phi:main::@49->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@49->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // main::@204 + // main::@201 // sprintf(info_text, "%u flash errors!", rom_flash_errors) - // [487] printf_ulong::uvalue#8 = main::rom_flash_errors#0 -- vduz1=vdum2 + // [480] printf_ulong::uvalue#8 = main::rom_flash_errors#0 -- vduz1=vdum2 lda rom_flash_errors sta.z printf_ulong.uvalue lda rom_flash_errors+1 @@ -2979,161 +2944,166 @@ main: { sta.z printf_ulong.uvalue+2 lda rom_flash_errors+3 sta.z printf_ulong.uvalue+3 - // [488] call printf_ulong - // [1482] phi from main::@204 to printf_ulong [phi:main::@204->printf_ulong] - // [1482] phi printf_ulong::format_zero_padding#10 = 0 [phi:main::@204->printf_ulong#0] -- vbuz1=vbuc1 + // [481] call printf_ulong + // [1470] phi from main::@201 to printf_ulong [phi:main::@201->printf_ulong] + // [1470] phi printf_ulong::format_zero_padding#10 = 0 [phi:main::@201->printf_ulong#0] -- vbuz1=vbuc1 lda #0 sta.z printf_ulong.format_zero_padding - // [1482] phi printf_ulong::format_min_length#10 = 0 [phi:main::@204->printf_ulong#1] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_min_length#10 = 0 [phi:main::@201->printf_ulong#1] -- vbuz1=vbuc1 sta.z printf_ulong.format_min_length - // [1482] phi printf_ulong::format_radix#10 = DECIMAL [phi:main::@204->printf_ulong#2] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_radix#10 = DECIMAL [phi:main::@201->printf_ulong#2] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_ulong.format_radix - // [1482] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#8 [phi:main::@204->printf_ulong#3] -- register_copy + // [1470] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#8 [phi:main::@201->printf_ulong#3] -- register_copy jsr printf_ulong - // [489] phi from main::@204 to main::@205 [phi:main::@204->main::@205] - // main::@205 + // [482] phi from main::@201 to main::@202 [phi:main::@201->main::@202] + // main::@202 // sprintf(info_text, "%u flash errors!", rom_flash_errors) - // [490] call printf_str - // [1016] phi from main::@205 to printf_str [phi:main::@205->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@205->printf_str#0] -- pprz1=pprc1 + // [483] call printf_str + // [1156] phi from main::@202 to printf_str [phi:main::@202->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@202->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s15 [phi:main::@205->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s15 + lda #>s14 sta.z printf_str.s+1 jsr printf_str - // main::@206 + // main::@203 // sprintf(info_text, "%u flash errors!", rom_flash_errors) - // [491] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [484] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [492] callexecute snputc -- call_vprc1 + // [485] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_info_rom(rom_chip, STATUS_ERROR, info_text) - // [494] display_info_rom::rom_chip#14 = main::rom_chip4#10 -- vbuz1=vbum2 + // [487] display_info_rom::rom_chip#14 = main::rom_chip4#10 -- vbuz1=vbum2 lda rom_chip4 sta.z display_info_rom.rom_chip - // [495] call display_info_rom - // [1282] phi from main::@206 to display_info_rom [phi:main::@206->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = info_text [phi:main::@206->display_info_rom#0] -- pbuz1=pbuc1 + // [488] call display_info_rom + // [1270] phi from main::@203 to display_info_rom [phi:main::@203->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = info_text [phi:main::@203->display_info_rom#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_info_rom.info_text lda #>@info_text sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#14 [phi:main::@206->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_ERROR [phi:main::@206->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#14 [phi:main::@203->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_ERROR [phi:main::@203->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_ERROR - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom jmp __b47 // main::@48 __b48: // display_info_rom(rom_chip, STATUS_FLASHED, "No update required") - // [496] display_info_rom::rom_chip#12 = main::rom_chip4#10 -- vbuz1=vbum2 + // [489] display_info_rom::rom_chip#12 = main::rom_chip4#10 -- vbuz1=vbum2 lda rom_chip4 sta.z display_info_rom.rom_chip - // [497] call display_info_rom + // [490] call display_info_rom // RF-1 | ROM and ROM.BIN equal | Display that there are no differences between the ROM and ROM.BIN. Set ROM to Flashed. | None - // [1282] phi from main::@48 to display_info_rom [phi:main::@48->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = main::info_text31 [phi:main::@48->display_info_rom#0] -- pbuz1=pbuc1 + // [1270] phi from main::@48 to display_info_rom [phi:main::@48->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = main::info_text31 [phi:main::@48->display_info_rom#0] -- pbuz1=pbuc1 lda #info_text31 sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#12 [phi:main::@48->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_FLASHED [phi:main::@48->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#12 [phi:main::@48->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_FLASHED [phi:main::@48->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_FLASHED - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom jmp __b47 - // [498] phi from main::@237 to main::@54 [phi:main::@237->main::@54] + // [491] phi from main::@234 to main::@54 [phi:main::@234->main::@54] // main::@54 __b54: // display_progress_clear() - // [499] call display_progress_clear - // [870] phi from main::@54 to display_progress_clear [phi:main::@54->display_progress_clear] + // [492] call display_progress_clear + // [864] phi from main::@54 to display_progress_clear [phi:main::@54->display_progress_clear] jsr display_progress_clear - // [500] phi from main::@54 to main::@183 [phi:main::@54->main::@183] - // main::@183 + // [493] phi from main::@54 to main::@180 [phi:main::@54->main::@180] + // main::@180 // smc_read(1) - // [501] call smc_read - // [1098] phi from main::@183 to smc_read [phi:main::@183->smc_read] - // [1098] phi smc_read::display_progress#19 = 1 [phi:main::@183->smc_read#0] -- vbum1=vbuc1 + // [494] call smc_read + // [1072] phi from main::@180 to smc_read [phi:main::@180->smc_read] + // [1072] phi smc_read::display_progress#19 = 1 [phi:main::@180->smc_read#0] -- vbuz1=vbuc1 lda #1 - sta smc_read.display_progress - // [1098] phi __errno#35 = __errno#114 [phi:main::@183->smc_read#1] -- register_copy + sta.z smc_read.display_progress + // [1072] phi __errno#35 = __errno#114 [phi:main::@180->smc_read#1] -- register_copy jsr smc_read // smc_read(1) - // [502] smc_read::return#3 = smc_read::return#0 - // main::@184 + // [495] smc_read::return#3 = smc_read::return#0 + // main::@181 // smc_file_size = smc_read(1) - // [503] smc_file_size#1 = smc_read::return#3 -- vwum1=vwum2 + // [496] smc_file_size#1 = smc_read::return#3 -- vwum1=vwum2 lda smc_read.return sta smc_file_size_1 lda smc_read.return+1 sta smc_file_size_1+1 // if(smc_file_size) - // [504] if(0==smc_file_size#1) goto main::@43 -- 0_eq_vwum1_then_la1 + // [497] if(0==smc_file_size#1) goto main::@43 -- 0_eq_vwum1_then_la1 lda smc_file_size_1 ora smc_file_size_1+1 bne !__b43+ jmp __b43 !__b43: - // [505] phi from main::@184 to main::@55 [phi:main::@184->main::@55] + // [498] phi from main::@181 to main::@55 [phi:main::@181->main::@55] // main::@55 // display_action_text("Press both POWER/RESET buttons on the CX16 board!") - // [506] call display_action_text + // [499] call display_action_text // Flash the SMC chip. - // [1259] phi from main::@55 to display_action_text [phi:main::@55->display_action_text] - // [1259] phi display_action_text::info_text#19 = main::info_text23 [phi:main::@55->display_action_text#0] -- pbuz1=pbuc1 + // [1247] phi from main::@55 to display_action_text [phi:main::@55->display_action_text] + // [1247] phi display_action_text::info_text#19 = main::info_text23 [phi:main::@55->display_action_text#0] -- pbuz1=pbuc1 lda #info_text23 sta.z display_action_text.info_text+1 jsr display_action_text - // [507] phi from main::@55 to main::@185 [phi:main::@55->main::@185] - // main::@185 + // main::@182 + // [500] smc_bootloader#474 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_FLASHING, "Press POWER/RESET!") - // [508] call display_info_smc - // [914] phi from main::@185 to display_info_smc [phi:main::@185->display_info_smc] - // [914] phi display_info_smc::info_text#18 = main::info_text24 [phi:main::@185->display_info_smc#0] -- pbuz1=pbuc1 + // [501] call display_info_smc + // [908] phi from main::@182 to display_info_smc [phi:main::@182->display_info_smc] + // [908] phi display_info_smc::info_text#18 = main::info_text24 [phi:main::@182->display_info_smc#0] -- pbuz1=pbuc1 lda #info_text24 sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_FLASHING [phi:main::@185->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#474 [phi:main::@182->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_FLASHING [phi:main::@182->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_FLASHING - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // main::@186 + // main::@183 // unsigned int flashed_bytes = smc_flash(smc_file_size) - // [509] smc_flash::smc_bytes_total#0 = smc_file_size#1 -- vwuz1=vwum2 + // [502] smc_flash::smc_bytes_total#0 = smc_file_size#1 -- vwuz1=vwum2 lda smc_file_size_1 sta.z smc_flash.smc_bytes_total lda smc_file_size_1+1 sta.z smc_flash.smc_bytes_total+1 - // [510] call smc_flash - // [1607] phi from main::@186 to smc_flash [phi:main::@186->smc_flash] + // [503] call smc_flash + // [1595] phi from main::@183 to smc_flash [phi:main::@183->smc_flash] jsr smc_flash // unsigned int flashed_bytes = smc_flash(smc_file_size) - // [511] smc_flash::return#5 = smc_flash::return#1 - // main::@187 - // [512] main::flashed_bytes#0 = smc_flash::return#5 + // [504] smc_flash::return#5 = smc_flash::return#1 + // main::@184 + // [505] main::flashed_bytes#0 = smc_flash::return#5 // if(flashed_bytes) - // [513] if(0!=main::flashed_bytes#0) goto main::@44 -- 0_neq_vwum1_then_la1 + // [506] if(0!=main::flashed_bytes#0) goto main::@44 -- 0_neq_vwum1_then_la1 lda flashed_bytes ora flashed_bytes+1 bne __b44 // main::@56 // if(flashed_bytes == (unsigned int)0xFFFF) - // [514] if(main::flashed_bytes#0==$ffff) goto main::@45 -- vwum1_eq_vwuc1_then_la1 + // [507] if(main::flashed_bytes#0==$ffff) goto main::@45 -- vwum1_eq_vwuc1_then_la1 lda flashed_bytes cmp #<$ffff bne !+ @@ -3141,162 +3111,182 @@ main: { cmp #>$ffff beq __b45 !: - // [515] phi from main::@56 to main::@57 [phi:main::@56->main::@57] // main::@57 + // [508] smc_bootloader#480 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_ISSUE, "POWER/RESET not pressed!") - // [516] call display_info_smc + // [509] call display_info_smc // SF-2 | no action on POWER/RESET press request - // [914] phi from main::@57 to display_info_smc [phi:main::@57->display_info_smc] - // [914] phi display_info_smc::info_text#18 = main::info_text27 [phi:main::@57->display_info_smc#0] -- pbuz1=pbuc1 + // [908] phi from main::@57 to display_info_smc [phi:main::@57->display_info_smc] + // [908] phi display_info_smc::info_text#18 = main::info_text27 [phi:main::@57->display_info_smc#0] -- pbuz1=pbuc1 lda #info_text27 sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@57->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#480 [phi:main::@57->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@57->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_ISSUE - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc jmp __b43 - // [517] phi from main::@56 to main::@45 [phi:main::@56->main::@45] // main::@45 __b45: + // [510] smc_bootloader#479 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_ERROR, "SMC has errors!") - // [518] call display_info_smc + // [511] call display_info_smc // SF-3 | errors during flash - // [914] phi from main::@45 to display_info_smc [phi:main::@45->display_info_smc] - // [914] phi display_info_smc::info_text#18 = main::info_text26 [phi:main::@45->display_info_smc#0] -- pbuz1=pbuc1 + // [908] phi from main::@45 to display_info_smc [phi:main::@45->display_info_smc] + // [908] phi display_info_smc::info_text#18 = main::info_text26 [phi:main::@45->display_info_smc#0] -- pbuz1=pbuc1 lda #info_text26 sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_ERROR [phi:main::@45->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#479 [phi:main::@45->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_ERROR [phi:main::@45->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_ERROR - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc jmp __b43 - // [519] phi from main::@187 to main::@44 [phi:main::@187->main::@44] // main::@44 __b44: + // [512] smc_bootloader#478 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_FLASHED, "") - // [520] call display_info_smc + // [513] call display_info_smc // SF-1 | and POWER/RESET pressed - // [914] phi from main::@44 to display_info_smc [phi:main::@44->display_info_smc] - // [914] phi display_info_smc::info_text#18 = info_text4 [phi:main::@44->display_info_smc#0] -- pbuz1=pbuc1 + // [908] phi from main::@44 to display_info_smc [phi:main::@44->display_info_smc] + // [908] phi display_info_smc::info_text#18 = info_text4 [phi:main::@44->display_info_smc#0] -- pbuz1=pbuc1 lda #info_text4 sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_FLASHED [phi:main::@44->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#478 [phi:main::@44->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_FLASHED [phi:main::@44->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_FLASHED - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc jmp __b43 - // [521] phi from main::@235 main::@236 to main::@10 [phi:main::@235/main::@236->main::@10] + // [514] phi from main::@232 main::@233 to main::@10 [phi:main::@232/main::@233->main::@10] // main::@10 __b10: // display_action_progress("Chipsets have been detected and update files validated!") - // [522] call display_action_progress - // [856] phi from main::@10 to display_action_progress [phi:main::@10->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text17 [phi:main::@10->display_action_progress#0] -- pbuz1=pbuc1 + // [515] call display_action_progress + // [850] phi from main::@10 to display_action_progress [phi:main::@10->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text17 [phi:main::@10->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text17 sta.z display_action_progress.info_text+1 jsr display_action_progress - // [523] phi from main::@10 to main::@178 [phi:main::@10->main::@178] - // main::@178 + // [516] phi from main::@10 to main::@175 [phi:main::@10->main::@175] + // main::@175 // unsigned char ch = util_wait_key("Continue with update of highlighted chipsets? [Y/N]", "nyNY") - // [524] call util_wait_key - // [1209] phi from main::@178 to util_wait_key [phi:main::@178->util_wait_key] - // [1209] phi util_wait_key::filter#13 = main::filter1 [phi:main::@178->util_wait_key#0] -- pbuz1=pbuc1 + // [517] call util_wait_key + // [1197] phi from main::@175 to util_wait_key [phi:main::@175->util_wait_key] + // [1197] phi util_wait_key::filter#13 = main::filter1 [phi:main::@175->util_wait_key#0] -- pbuz1=pbuc1 lda #filter1 sta.z util_wait_key.filter+1 - // [1209] phi util_wait_key::info_text#3 = main::info_text18 [phi:main::@178->util_wait_key#1] -- pbuz1=pbuc1 + // [1197] phi util_wait_key::info_text#3 = main::info_text18 [phi:main::@175->util_wait_key#1] -- pbuz1=pbuc1 lda #info_text18 sta.z util_wait_key.info_text+1 jsr util_wait_key // unsigned char ch = util_wait_key("Continue with update of highlighted chipsets? [Y/N]", "nyNY") - // [525] util_wait_key::return#4 = util_wait_key::ch#4 -- vbum1=vwum2 + // [518] util_wait_key::return#4 = util_wait_key::ch#4 -- vbuz1=vwum2 lda util_wait_key.ch - sta util_wait_key.return_1 - // main::@179 - // [526] main::ch1#0 = util_wait_key::return#4 + sta.z util_wait_key.return_1 + // main::@176 + // [519] main::ch1#0 = util_wait_key::return#4 // strchr("nN", ch) - // [527] strchr::c#1 = main::ch1#0 - // [528] call strchr - // [1769] phi from main::@179 to strchr [phi:main::@179->strchr] - // [1769] phi strchr::c#4 = strchr::c#1 [phi:main::@179->strchr#0] -- register_copy - // [1769] phi strchr::str#2 = (const void *)main::$299 [phi:main::@179->strchr#1] -- pvoz1=pvoc1 - lda #strchr] + // [1757] phi strchr::c#4 = strchr::c#1 [phi:main::@176->strchr#0] -- register_copy + // [1757] phi strchr::str#2 = (const void *)main::$298 [phi:main::@176->strchr#1] -- pvoz1=pvoc1 + lda #main__299 + lda #>main__298 sta.z strchr.str+1 jsr strchr // strchr("nN", ch) - // [529] strchr::return#4 = strchr::return#2 - // main::@180 - // [530] main::$187 = strchr::return#4 + // [522] strchr::return#4 = strchr::return#2 + // main::@177 + // [523] main::$186 = strchr::return#4 // if(strchr("nN", ch)) - // [531] if((void *)0==main::$187) goto main::bank_set_bram2 -- pvoc1_eq_pvoz1_then_la1 - lda.z main__187 + // [524] if((void *)0==main::$186) goto main::bank_set_bram2 -- pvoc1_eq_pvoz1_then_la1 + lda.z main__186 cmp #<0 bne !+ - lda.z main__187+1 + lda.z main__186+1 cmp #>0 bne !bank_set_bram2+ jmp bank_set_bram2 !bank_set_bram2: !: - // [532] phi from main::@180 to main::@11 [phi:main::@180->main::@11] // main::@11 + // [525] smc_bootloader#468 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_SKIP, "Cancelled") - // [533] call display_info_smc + // [526] call display_info_smc // We cancel all updates, the updates are skipped. - // [914] phi from main::@11 to display_info_smc [phi:main::@11->display_info_smc] - // [914] phi display_info_smc::info_text#18 = main::info_text19 [phi:main::@11->display_info_smc#0] -- pbuz1=pbuc1 + // [908] phi from main::@11 to display_info_smc [phi:main::@11->display_info_smc] + // [908] phi display_info_smc::info_text#18 = main::info_text19 [phi:main::@11->display_info_smc#0] -- pbuz1=pbuc1 lda #info_text19 sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_SKIP [phi:main::@11->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#468 [phi:main::@11->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_SKIP [phi:main::@11->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_SKIP - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // [534] phi from main::@11 to main::@181 [phi:main::@11->main::@181] - // main::@181 + // [527] phi from main::@11 to main::@178 [phi:main::@11->main::@178] + // main::@178 // display_info_vera(STATUS_SKIP, "Cancelled") - // [535] call display_info_vera - // [944] phi from main::@181 to display_info_vera [phi:main::@181->display_info_vera] - // [944] phi display_info_vera::info_text#10 = main::info_text19 [phi:main::@181->display_info_vera#0] -- pbuz1=pbuc1 + // [528] call display_info_vera + // [942] phi from main::@178 to display_info_vera [phi:main::@178->display_info_vera] + // [942] phi display_info_vera::info_text#10 = main::info_text19 [phi:main::@178->display_info_vera#0] -- pbuz1=pbuc1 lda #info_text19 sta.z display_info_vera.info_text+1 - // [944] phi display_info_vera::info_status#3 = STATUS_SKIP [phi:main::@181->display_info_vera#1] -- vbuz1=vbuc1 + // [942] phi display_info_vera::info_status#3 = STATUS_SKIP [phi:main::@178->display_info_vera#1] -- vbum1=vbuc1 lda #STATUS_SKIP - sta.z display_info_vera.info_status + sta display_info_vera.info_status jsr display_info_vera - // [536] phi from main::@181 to main::@40 [phi:main::@181->main::@40] - // [536] phi main::rom_chip3#2 = 0 [phi:main::@181->main::@40#0] -- vbum1=vbuc1 + // [529] phi from main::@178 to main::@40 [phi:main::@178->main::@40] + // [529] phi main::rom_chip3#2 = 0 [phi:main::@178->main::@40#0] -- vbum1=vbuc1 lda #0 sta rom_chip3 // main::@40 __b40: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [537] if(main::rom_chip3#2<8) goto main::@41 -- vbum1_lt_vbuc1_then_la1 + // [530] if(main::rom_chip3#2<8) goto main::@41 -- vbum1_lt_vbuc1_then_la1 lda rom_chip3 cmp #8 bcc __b41 - // [538] phi from main::@40 to main::@42 [phi:main::@40->main::@42] + // [531] phi from main::@40 to main::@42 [phi:main::@40->main::@42] // main::@42 // display_action_text("You have selected not to cancel the update ... ") - // [539] call display_action_text - // [1259] phi from main::@42 to display_action_text [phi:main::@42->display_action_text] - // [1259] phi display_action_text::info_text#19 = main::info_text22 [phi:main::@42->display_action_text#0] -- pbuz1=pbuc1 + // [532] call display_action_text + // [1247] phi from main::@42 to display_action_text [phi:main::@42->display_action_text] + // [1247] phi display_action_text::info_text#19 = main::info_text22 [phi:main::@42->display_action_text#0] -- pbuz1=pbuc1 lda #info_text22 @@ -3306,32 +3296,32 @@ main: { // main::@41 __b41: // display_info_rom(rom_chip, STATUS_SKIP, "Cancelled") - // [540] display_info_rom::rom_chip#9 = main::rom_chip3#2 -- vbuz1=vbum2 + // [533] display_info_rom::rom_chip#9 = main::rom_chip3#2 -- vbuz1=vbum2 lda rom_chip3 sta.z display_info_rom.rom_chip - // [541] call display_info_rom - // [1282] phi from main::@41 to display_info_rom [phi:main::@41->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = main::info_text19 [phi:main::@41->display_info_rom#0] -- pbuz1=pbuc1 + // [534] call display_info_rom + // [1270] phi from main::@41 to display_info_rom [phi:main::@41->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = main::info_text19 [phi:main::@41->display_info_rom#0] -- pbuz1=pbuc1 lda #info_text19 sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#9 [phi:main::@41->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_SKIP [phi:main::@41->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#9 [phi:main::@41->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_SKIP [phi:main::@41->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_SKIP - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom - // main::@182 + // main::@179 // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [542] main::rom_chip3#1 = ++ main::rom_chip3#2 -- vbum1=_inc_vbum1 + // [535] main::rom_chip3#1 = ++ main::rom_chip3#2 -- vbum1=_inc_vbum1 inc rom_chip3 - // [536] phi from main::@182 to main::@40 [phi:main::@182->main::@40] - // [536] phi main::rom_chip3#2 = main::rom_chip3#1 [phi:main::@182->main::@40#0] -- register_copy + // [529] phi from main::@179 to main::@40 [phi:main::@179->main::@40] + // [529] phi main::rom_chip3#2 = main::rom_chip3#1 [phi:main::@179->main::@40#0] -- register_copy jmp __b40 // main::check_status_card_roms1_check_status_rom1 check_status_card_roms1_check_status_rom1: // status_rom[rom_chip] == status - // [543] main::check_status_card_roms1_check_status_rom1_$0 = status_rom[main::check_status_card_roms1_rom_chip#2] == STATUS_FLASH -- vbom1=pbuc1_derefidx_vbum2_eq_vbuc2 + // [536] main::check_status_card_roms1_check_status_rom1_$0 = status_rom[main::check_status_card_roms1_rom_chip#2] == STATUS_FLASH -- vbom1=pbuc1_derefidx_vbum2_eq_vbuc2 lda #STATUS_FLASH ldy check_status_card_roms1_rom_chip eor status_rom,y @@ -3341,29 +3331,29 @@ main: { eor #1 sta check_status_card_roms1_check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [544] main::check_status_card_roms1_check_status_rom1_return#0 = (char)main::check_status_card_roms1_check_status_rom1_$0 + // [537] main::check_status_card_roms1_check_status_rom1_return#0 = (char)main::check_status_card_roms1_check_status_rom1_$0 // main::check_status_card_roms1_@11 // if(check_status_rom(rom_chip, status)) - // [545] if(0==main::check_status_card_roms1_check_status_rom1_return#0) goto main::check_status_card_roms1_@4 -- 0_eq_vbum1_then_la1 + // [538] if(0==main::check_status_card_roms1_check_status_rom1_return#0) goto main::check_status_card_roms1_@4 -- 0_eq_vbum1_then_la1 lda check_status_card_roms1_check_status_rom1_return beq check_status_card_roms1___b4 - // [399] phi from main::check_status_card_roms1_@11 to main::check_status_card_roms1_@return [phi:main::check_status_card_roms1_@11->main::check_status_card_roms1_@return] - // [399] phi main::check_status_card_roms1_return#2 = 1 [phi:main::check_status_card_roms1_@11->main::check_status_card_roms1_@return#0] -- vbum1=vbuc1 + // [392] phi from main::check_status_card_roms1_@11 to main::check_status_card_roms1_@return [phi:main::check_status_card_roms1_@11->main::check_status_card_roms1_@return] + // [392] phi main::check_status_card_roms1_return#2 = 1 [phi:main::check_status_card_roms1_@11->main::check_status_card_roms1_@return#0] -- vbum1=vbuc1 lda #1 sta check_status_card_roms1_return jmp __b79 // main::check_status_card_roms1_@4 check_status_card_roms1___b4: // for(unsigned char rom_chip = 1; rom_chip < 8; rom_chip++) - // [546] main::check_status_card_roms1_rom_chip#1 = ++ main::check_status_card_roms1_rom_chip#2 -- vbum1=_inc_vbum1 + // [539] main::check_status_card_roms1_rom_chip#1 = ++ main::check_status_card_roms1_rom_chip#2 -- vbum1=_inc_vbum1 inc check_status_card_roms1_rom_chip - // [397] phi from main::check_status_card_roms1_@4 to main::check_status_card_roms1_@1 [phi:main::check_status_card_roms1_@4->main::check_status_card_roms1_@1] - // [397] phi main::check_status_card_roms1_rom_chip#2 = main::check_status_card_roms1_rom_chip#1 [phi:main::check_status_card_roms1_@4->main::check_status_card_roms1_@1#0] -- register_copy + // [390] phi from main::check_status_card_roms1_@4 to main::check_status_card_roms1_@1 [phi:main::check_status_card_roms1_@4->main::check_status_card_roms1_@1] + // [390] phi main::check_status_card_roms1_rom_chip#2 = main::check_status_card_roms1_rom_chip#1 [phi:main::check_status_card_roms1_@4->main::check_status_card_roms1_@1#0] -- register_copy jmp check_status_card_roms1___b1 // main::check_status_roms2_check_status_rom1 check_status_roms2_check_status_rom1: // status_rom[rom_chip] == status - // [547] main::check_status_roms2_check_status_rom1_$0 = status_rom[main::check_status_roms2_rom_chip#2] == STATUS_ERROR -- vboz1=pbuc1_derefidx_vbum2_eq_vbuc2 + // [540] main::check_status_roms2_check_status_rom1_$0 = status_rom[main::check_status_roms2_rom_chip#2] == STATUS_ERROR -- vboz1=pbuc1_derefidx_vbum2_eq_vbuc2 lda #STATUS_ERROR ldy check_status_roms2_rom_chip eor status_rom,y @@ -3373,29 +3363,29 @@ main: { eor #1 sta.z check_status_roms2_check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [548] main::check_status_roms2_check_status_rom1_return#0 = (char)main::check_status_roms2_check_status_rom1_$0 + // [541] main::check_status_roms2_check_status_rom1_return#0 = (char)main::check_status_roms2_check_status_rom1_$0 // main::check_status_roms2_@11 // if(check_status_rom(rom_chip, status)) - // [549] if(0==main::check_status_roms2_check_status_rom1_return#0) goto main::check_status_roms2_@4 -- 0_eq_vbuz1_then_la1 + // [542] if(0==main::check_status_roms2_check_status_rom1_return#0) goto main::check_status_roms2_@4 -- 0_eq_vbuz1_then_la1 lda.z check_status_roms2_check_status_rom1_return beq check_status_roms2___b4 - // [266] phi from main::check_status_roms2_@11 to main::check_status_roms2_@return [phi:main::check_status_roms2_@11->main::check_status_roms2_@return] - // [266] phi main::check_status_roms2_return#2 = 1 [phi:main::check_status_roms2_@11->main::check_status_roms2_@return#0] -- vbum1=vbuc1 + // [259] phi from main::check_status_roms2_@11 to main::check_status_roms2_@return [phi:main::check_status_roms2_@11->main::check_status_roms2_@return] + // [259] phi main::check_status_roms2_return#2 = 1 [phi:main::check_status_roms2_@11->main::check_status_roms2_@return#0] -- vbum1=vbuc1 lda #1 sta check_status_roms2_return jmp __b77 // main::check_status_roms2_@4 check_status_roms2___b4: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [550] main::check_status_roms2_rom_chip#1 = ++ main::check_status_roms2_rom_chip#2 -- vbum1=_inc_vbum1 + // [543] main::check_status_roms2_rom_chip#1 = ++ main::check_status_roms2_rom_chip#2 -- vbum1=_inc_vbum1 inc check_status_roms2_rom_chip - // [264] phi from main::check_status_roms2_@4 to main::check_status_roms2_@1 [phi:main::check_status_roms2_@4->main::check_status_roms2_@1] - // [264] phi main::check_status_roms2_rom_chip#2 = main::check_status_roms2_rom_chip#1 [phi:main::check_status_roms2_@4->main::check_status_roms2_@1#0] -- register_copy + // [257] phi from main::check_status_roms2_@4 to main::check_status_roms2_@1 [phi:main::check_status_roms2_@4->main::check_status_roms2_@1] + // [257] phi main::check_status_roms2_rom_chip#2 = main::check_status_roms2_rom_chip#1 [phi:main::check_status_roms2_@4->main::check_status_roms2_@1#0] -- register_copy jmp check_status_roms2___b1 // main::check_status_roms1_check_status_rom1 check_status_roms1_check_status_rom1: // status_rom[rom_chip] == status - // [551] main::check_status_roms1_check_status_rom1_$0 = status_rom[main::check_status_roms1_rom_chip#2] == STATUS_ISSUE -- vboz1=pbuc1_derefidx_vbum2_eq_vbuc2 + // [544] main::check_status_roms1_check_status_rom1_$0 = status_rom[main::check_status_roms1_rom_chip#2] == STATUS_ISSUE -- vboz1=pbuc1_derefidx_vbum2_eq_vbuc2 lda #STATUS_ISSUE ldy check_status_roms1_rom_chip eor status_rom,y @@ -3405,262 +3395,282 @@ main: { eor #1 sta.z check_status_roms1_check_status_rom1_main__0 // return (unsigned char)(status_rom[rom_chip] == status); - // [552] main::check_status_roms1_check_status_rom1_return#0 = (char)main::check_status_roms1_check_status_rom1_$0 + // [545] main::check_status_roms1_check_status_rom1_return#0 = (char)main::check_status_roms1_check_status_rom1_$0 // main::check_status_roms1_@11 // if(check_status_rom(rom_chip, status)) - // [553] if(0==main::check_status_roms1_check_status_rom1_return#0) goto main::check_status_roms1_@4 -- 0_eq_vbuz1_then_la1 + // [546] if(0==main::check_status_roms1_check_status_rom1_return#0) goto main::check_status_roms1_@4 -- 0_eq_vbuz1_then_la1 lda.z check_status_roms1_check_status_rom1_return beq check_status_roms1___b4 - // [258] phi from main::check_status_roms1_@11 to main::check_status_roms1_@return [phi:main::check_status_roms1_@11->main::check_status_roms1_@return] - // [258] phi main::check_status_roms1_return#2 = 1 [phi:main::check_status_roms1_@11->main::check_status_roms1_@return#0] -- vbum1=vbuc1 + // [251] phi from main::check_status_roms1_@11 to main::check_status_roms1_@return [phi:main::check_status_roms1_@11->main::check_status_roms1_@return] + // [251] phi main::check_status_roms1_return#2 = 1 [phi:main::check_status_roms1_@11->main::check_status_roms1_@return#0] -- vbum1=vbuc1 lda #1 sta check_status_roms1_return jmp check_status_smc6 // main::check_status_roms1_@4 check_status_roms1___b4: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [554] main::check_status_roms1_rom_chip#1 = ++ main::check_status_roms1_rom_chip#2 -- vbum1=_inc_vbum1 + // [547] main::check_status_roms1_rom_chip#1 = ++ main::check_status_roms1_rom_chip#2 -- vbum1=_inc_vbum1 inc check_status_roms1_rom_chip - // [256] phi from main::check_status_roms1_@4 to main::check_status_roms1_@1 [phi:main::check_status_roms1_@4->main::check_status_roms1_@1] - // [256] phi main::check_status_roms1_rom_chip#2 = main::check_status_roms1_rom_chip#1 [phi:main::check_status_roms1_@4->main::check_status_roms1_@1#0] -- register_copy + // [249] phi from main::check_status_roms1_@4 to main::check_status_roms1_@1 [phi:main::check_status_roms1_@4->main::check_status_roms1_@1] + // [249] phi main::check_status_roms1_rom_chip#2 = main::check_status_roms1_rom_chip#1 [phi:main::check_status_roms1_@4->main::check_status_roms1_@1#0] -- register_copy jmp check_status_roms1___b1 - // [555] phi from main::@226 to main::@7 [phi:main::@226->main::@7] + // [548] phi from main::@223 to main::@7 [phi:main::@223->main::@7] // main::@7 __b7: // display_action_progress("The SMC chip and SMC.BIN versions are equal, no flash required!") - // [556] call display_action_progress - // [856] phi from main::@7 to display_action_progress [phi:main::@7->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text14 [phi:main::@7->display_action_progress#0] -- pbuz1=pbuc1 + // [549] call display_action_progress + // [850] phi from main::@7 to display_action_progress [phi:main::@7->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text14 [phi:main::@7->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text14 sta.z display_action_progress.info_text+1 jsr display_action_progress - // [557] phi from main::@7 to main::@172 [phi:main::@7->main::@172] - // main::@172 + // main::@169 + // [550] smc_bootloader#473 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_SKIP, NULL) - // [558] call display_info_smc - // [914] phi from main::@172 to display_info_smc [phi:main::@172->display_info_smc] - // [914] phi display_info_smc::info_text#18 = 0 [phi:main::@172->display_info_smc#0] -- pbuz1=vbuc1 + // [551] call display_info_smc + // [908] phi from main::@169 to display_info_smc [phi:main::@169->display_info_smc] + // [908] phi display_info_smc::info_text#18 = 0 [phi:main::@169->display_info_smc#0] -- pbuz1=vbuc1 lda #<0 sta.z display_info_smc.info_text sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_SKIP [phi:main::@172->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#473 [phi:main::@169->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_SKIP [phi:main::@169->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_SKIP - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // [559] phi from main::@172 to main::@173 [phi:main::@172->main::@173] - // main::@173 + // [552] phi from main::@169 to main::@170 [phi:main::@169->main::@170] + // main::@170 // util_wait_space() - // [560] call util_wait_space - // [1095] phi from main::@173 to util_wait_space [phi:main::@173->util_wait_space] + // [553] call util_wait_space + // [1069] phi from main::@170 to util_wait_space [phi:main::@170->util_wait_space] jsr util_wait_space jmp __b5 - // [561] phi from main::@225 to main::@6 [phi:main::@225->main::@6] + // [554] phi from main::@222 to main::@6 [phi:main::@222->main::@6] // main::@6 __b6: // display_action_progress("CX16 ROM update issue!") - // [562] call display_action_progress - // [856] phi from main::@6 to display_action_progress [phi:main::@6->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text12 [phi:main::@6->display_action_progress#0] -- pbuz1=pbuc1 + // [555] call display_action_progress + // [850] phi from main::@6 to display_action_progress [phi:main::@6->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text12 [phi:main::@6->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text12 sta.z display_action_progress.info_text+1 jsr display_action_progress - // [563] phi from main::@6 to main::@167 [phi:main::@6->main::@167] - // main::@167 + // [556] phi from main::@6 to main::@164 [phi:main::@6->main::@164] + // main::@164 // display_progress_text(display_smc_rom_issue_text, display_smc_rom_issue_count) - // [564] call display_progress_text - // [1085] phi from main::@167 to display_progress_text [phi:main::@167->display_progress_text] - // [1085] phi display_progress_text::text#12 = display_smc_rom_issue_text [phi:main::@167->display_progress_text#0] -- qbuz1=qbuc1 + // [557] call display_progress_text + // [1059] phi from main::@164 to display_progress_text [phi:main::@164->display_progress_text] + // [1059] phi display_progress_text::text#12 = display_smc_rom_issue_text [phi:main::@164->display_progress_text#0] -- qbuz1=qbuc1 lda #display_smc_rom_issue_text sta.z display_progress_text.text+1 - // [1085] phi display_progress_text::lines#11 = display_smc_rom_issue_count [phi:main::@167->display_progress_text#1] -- vbuz1=vbuc1 + // [1059] phi display_progress_text::lines#11 = display_smc_rom_issue_count [phi:main::@164->display_progress_text#1] -- vbuz1=vbuc1 lda #display_smc_rom_issue_count sta.z display_progress_text.lines jsr display_progress_text - // [565] phi from main::@167 to main::@168 [phi:main::@167->main::@168] - // main::@168 + // main::@165 + // [558] smc_bootloader#472 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_SKIP, "Issue with main CX16 ROM!") - // [566] call display_info_smc - // [914] phi from main::@168 to display_info_smc [phi:main::@168->display_info_smc] - // [914] phi display_info_smc::info_text#18 = main::info_text10 [phi:main::@168->display_info_smc#0] -- pbuz1=pbuc1 + // [559] call display_info_smc + // [908] phi from main::@165 to display_info_smc [phi:main::@165->display_info_smc] + // [908] phi display_info_smc::info_text#18 = main::info_text10 [phi:main::@165->display_info_smc#0] -- pbuz1=pbuc1 lda #info_text10 sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_SKIP [phi:main::@168->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#472 [phi:main::@165->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_SKIP [phi:main::@165->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_SKIP - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // [567] phi from main::@168 to main::@169 [phi:main::@168->main::@169] - // main::@169 + // [560] phi from main::@165 to main::@166 [phi:main::@165->main::@166] + // main::@166 // display_info_cx16_rom(STATUS_ISSUE, NULL) - // [568] call display_info_cx16_rom - // [1233] phi from main::@169 to display_info_cx16_rom [phi:main::@169->display_info_cx16_rom] - // [1233] phi display_info_cx16_rom::info_text#4 = 0 [phi:main::@169->display_info_cx16_rom#0] -- pbuz1=vbuc1 + // [561] call display_info_cx16_rom + // [1221] phi from main::@166 to display_info_cx16_rom [phi:main::@166->display_info_cx16_rom] + // [1221] phi display_info_cx16_rom::info_text#4 = 0 [phi:main::@166->display_info_cx16_rom#0] -- pbuz1=vbuc1 lda #<0 sta.z display_info_cx16_rom.info_text sta.z display_info_cx16_rom.info_text+1 - // [1233] phi display_info_cx16_rom::info_status#4 = STATUS_ISSUE [phi:main::@169->display_info_cx16_rom#1] -- vbuz1=vbuc1 + // [1221] phi display_info_cx16_rom::info_status#4 = STATUS_ISSUE [phi:main::@166->display_info_cx16_rom#1] -- vbum1=vbuc1 lda #STATUS_ISSUE - sta.z display_info_cx16_rom.info_status + sta display_info_cx16_rom.info_status jsr display_info_cx16_rom - // [569] phi from main::@169 to main::@170 [phi:main::@169->main::@170] - // main::@170 + // [562] phi from main::@166 to main::@167 [phi:main::@166->main::@167] + // main::@167 // util_wait_space() - // [570] call util_wait_space - // [1095] phi from main::@170 to util_wait_space [phi:main::@170->util_wait_space] + // [563] call util_wait_space + // [1069] phi from main::@167 to util_wait_space [phi:main::@167->util_wait_space] jsr util_wait_space jmp __b4 - // [571] phi from main::@224 to main::@3 [phi:main::@224->main::@3] + // [564] phi from main::@221 to main::@3 [phi:main::@221->main::@3] // main::@3 __b3: // display_action_progress("CX16 ROM update issue, ROM not detected!") - // [572] call display_action_progress - // [856] phi from main::@3 to display_action_progress [phi:main::@3->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text9 [phi:main::@3->display_action_progress#0] -- pbuz1=pbuc1 + // [565] call display_action_progress + // [850] phi from main::@3 to display_action_progress [phi:main::@3->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text9 [phi:main::@3->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text9 sta.z display_action_progress.info_text+1 jsr display_action_progress - // [573] phi from main::@3 to main::@163 [phi:main::@3->main::@163] - // main::@163 + // [566] phi from main::@3 to main::@160 [phi:main::@3->main::@160] + // main::@160 // display_progress_text(display_smc_rom_issue_text, display_smc_rom_issue_count) - // [574] call display_progress_text - // [1085] phi from main::@163 to display_progress_text [phi:main::@163->display_progress_text] - // [1085] phi display_progress_text::text#12 = display_smc_rom_issue_text [phi:main::@163->display_progress_text#0] -- qbuz1=qbuc1 + // [567] call display_progress_text + // [1059] phi from main::@160 to display_progress_text [phi:main::@160->display_progress_text] + // [1059] phi display_progress_text::text#12 = display_smc_rom_issue_text [phi:main::@160->display_progress_text#0] -- qbuz1=qbuc1 lda #display_smc_rom_issue_text sta.z display_progress_text.text+1 - // [1085] phi display_progress_text::lines#11 = display_smc_rom_issue_count [phi:main::@163->display_progress_text#1] -- vbuz1=vbuc1 + // [1059] phi display_progress_text::lines#11 = display_smc_rom_issue_count [phi:main::@160->display_progress_text#1] -- vbuz1=vbuc1 lda #display_smc_rom_issue_count sta.z display_progress_text.lines jsr display_progress_text - // [575] phi from main::@163 to main::@164 [phi:main::@163->main::@164] - // main::@164 + // main::@161 + // [568] smc_bootloader#471 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_SKIP, "Issue with main CX16 ROM!") - // [576] call display_info_smc - // [914] phi from main::@164 to display_info_smc [phi:main::@164->display_info_smc] - // [914] phi display_info_smc::info_text#18 = main::info_text10 [phi:main::@164->display_info_smc#0] -- pbuz1=pbuc1 + // [569] call display_info_smc + // [908] phi from main::@161 to display_info_smc [phi:main::@161->display_info_smc] + // [908] phi display_info_smc::info_text#18 = main::info_text10 [phi:main::@161->display_info_smc#0] -- pbuz1=pbuc1 lda #info_text10 sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_SKIP [phi:main::@164->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#471 [phi:main::@161->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_SKIP [phi:main::@161->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_SKIP - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // [577] phi from main::@164 to main::@165 [phi:main::@164->main::@165] - // main::@165 + // [570] phi from main::@161 to main::@162 [phi:main::@161->main::@162] + // main::@162 // display_info_cx16_rom(STATUS_ISSUE, "Are J1 jumper pins closed?") - // [578] call display_info_cx16_rom - // [1233] phi from main::@165 to display_info_cx16_rom [phi:main::@165->display_info_cx16_rom] - // [1233] phi display_info_cx16_rom::info_text#4 = main::info_text11 [phi:main::@165->display_info_cx16_rom#0] -- pbuz1=pbuc1 + // [571] call display_info_cx16_rom + // [1221] phi from main::@162 to display_info_cx16_rom [phi:main::@162->display_info_cx16_rom] + // [1221] phi display_info_cx16_rom::info_text#4 = main::info_text11 [phi:main::@162->display_info_cx16_rom#0] -- pbuz1=pbuc1 lda #info_text11 sta.z display_info_cx16_rom.info_text+1 - // [1233] phi display_info_cx16_rom::info_status#4 = STATUS_ISSUE [phi:main::@165->display_info_cx16_rom#1] -- vbuz1=vbuc1 + // [1221] phi display_info_cx16_rom::info_status#4 = STATUS_ISSUE [phi:main::@162->display_info_cx16_rom#1] -- vbum1=vbuc1 lda #STATUS_ISSUE - sta.z display_info_cx16_rom.info_status + sta display_info_cx16_rom.info_status jsr display_info_cx16_rom - // [579] phi from main::@165 to main::@166 [phi:main::@165->main::@166] - // main::@166 + // [572] phi from main::@162 to main::@163 [phi:main::@162->main::@163] + // main::@163 // util_wait_space() - // [580] call util_wait_space - // [1095] phi from main::@166 to util_wait_space [phi:main::@166->util_wait_space] + // [573] call util_wait_space + // [1069] phi from main::@163 to util_wait_space [phi:main::@163->util_wait_space] jsr util_wait_space jmp __b4 - // [581] phi from main::@223 to main::@39 [phi:main::@223->main::@39] + // [574] phi from main::@220 to main::@39 [phi:main::@220->main::@39] // main::@39 __b39: // display_action_progress("SMC update issue!") - // [582] call display_action_progress - // [856] phi from main::@39 to display_action_progress [phi:main::@39->display_action_progress] - // [856] phi display_action_progress::info_text#18 = main::info_text7 [phi:main::@39->display_action_progress#0] -- pbuz1=pbuc1 + // [575] call display_action_progress + // [850] phi from main::@39 to display_action_progress [phi:main::@39->display_action_progress] + // [850] phi display_action_progress::info_text#18 = main::info_text7 [phi:main::@39->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text7 sta.z display_action_progress.info_text+1 jsr display_action_progress - // [583] phi from main::@39 to main::@159 [phi:main::@39->main::@159] - // main::@159 + // [576] phi from main::@39 to main::@156 [phi:main::@39->main::@156] + // main::@156 // display_progress_text(display_smc_rom_issue_text, display_smc_rom_issue_count) - // [584] call display_progress_text - // [1085] phi from main::@159 to display_progress_text [phi:main::@159->display_progress_text] - // [1085] phi display_progress_text::text#12 = display_smc_rom_issue_text [phi:main::@159->display_progress_text#0] -- qbuz1=qbuc1 + // [577] call display_progress_text + // [1059] phi from main::@156 to display_progress_text [phi:main::@156->display_progress_text] + // [1059] phi display_progress_text::text#12 = display_smc_rom_issue_text [phi:main::@156->display_progress_text#0] -- qbuz1=qbuc1 lda #display_smc_rom_issue_text sta.z display_progress_text.text+1 - // [1085] phi display_progress_text::lines#11 = display_smc_rom_issue_count [phi:main::@159->display_progress_text#1] -- vbuz1=vbuc1 + // [1059] phi display_progress_text::lines#11 = display_smc_rom_issue_count [phi:main::@156->display_progress_text#1] -- vbuz1=vbuc1 lda #display_smc_rom_issue_count sta.z display_progress_text.lines jsr display_progress_text - // [585] phi from main::@159 to main::@160 [phi:main::@159->main::@160] - // main::@160 + // [578] phi from main::@156 to main::@157 [phi:main::@156->main::@157] + // main::@157 // display_info_cx16_rom(STATUS_SKIP, "Issue with SMC!") - // [586] call display_info_cx16_rom - // [1233] phi from main::@160 to display_info_cx16_rom [phi:main::@160->display_info_cx16_rom] - // [1233] phi display_info_cx16_rom::info_text#4 = main::info_text8 [phi:main::@160->display_info_cx16_rom#0] -- pbuz1=pbuc1 + // [579] call display_info_cx16_rom + // [1221] phi from main::@157 to display_info_cx16_rom [phi:main::@157->display_info_cx16_rom] + // [1221] phi display_info_cx16_rom::info_text#4 = main::info_text8 [phi:main::@157->display_info_cx16_rom#0] -- pbuz1=pbuc1 lda #info_text8 sta.z display_info_cx16_rom.info_text+1 - // [1233] phi display_info_cx16_rom::info_status#4 = STATUS_SKIP [phi:main::@160->display_info_cx16_rom#1] -- vbuz1=vbuc1 + // [1221] phi display_info_cx16_rom::info_status#4 = STATUS_SKIP [phi:main::@157->display_info_cx16_rom#1] -- vbum1=vbuc1 lda #STATUS_SKIP - sta.z display_info_cx16_rom.info_status + sta display_info_cx16_rom.info_status jsr display_info_cx16_rom - // [587] phi from main::@160 to main::@161 [phi:main::@160->main::@161] - // main::@161 + // main::@158 + // [580] smc_bootloader#470 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_ISSUE, NULL) - // [588] call display_info_smc - // [914] phi from main::@161 to display_info_smc [phi:main::@161->display_info_smc] - // [914] phi display_info_smc::info_text#18 = 0 [phi:main::@161->display_info_smc#0] -- pbuz1=vbuc1 + // [581] call display_info_smc + // [908] phi from main::@158 to display_info_smc [phi:main::@158->display_info_smc] + // [908] phi display_info_smc::info_text#18 = 0 [phi:main::@158->display_info_smc#0] -- pbuz1=vbuc1 lda #<0 sta.z display_info_smc.info_text sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@161->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#470 [phi:main::@158->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@158->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_ISSUE - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // [589] phi from main::@161 to main::@162 [phi:main::@161->main::@162] - // main::@162 + // [582] phi from main::@158 to main::@159 [phi:main::@158->main::@159] + // main::@159 // util_wait_space() - // [590] call util_wait_space - // [1095] phi from main::@162 to util_wait_space [phi:main::@162->util_wait_space] + // [583] call util_wait_space + // [1069] phi from main::@159 to util_wait_space [phi:main::@159->util_wait_space] jsr util_wait_space jmp check_status_smc3 // main::bank_set_brom5 bank_set_brom5: // BROM = bank - // [591] BROM = main::bank_set_brom5_bank#0 -- vbuz1=vbuc1 + // [584] BROM = main::bank_set_brom5_bank#0 -- vbuz1=vbuc1 lda #bank_set_brom5_bank sta.z BROM // main::@71 // if(rom_device_ids[rom_chip] != UNKNOWN) - // [592] if(rom_device_ids[main::rom_chip2#10]==$55) goto main::@33 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 + // [585] if(rom_device_ids[main::rom_chip2#10]==$55) goto main::@33 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 ldy rom_chip2 lda rom_device_ids,y cmp #$55 bne !__b33+ jmp __b33 !__b33: - // [593] phi from main::@71 to main::@36 [phi:main::@71->main::@36] + // [586] phi from main::@71 to main::@36 [phi:main::@71->main::@36] // main::@36 // display_progress_clear() - // [594] call display_progress_clear - // [870] phi from main::@36 to display_progress_clear [phi:main::@36->display_progress_clear] + // [587] call display_progress_clear + // [864] phi from main::@36 to display_progress_clear [phi:main::@36->display_progress_clear] jsr display_progress_clear - // main::@137 + // main::@134 // unsigned char rom_bank = rom_chip * 32 - // [595] main::rom_bank#0 = main::rom_chip2#10 << 5 -- vbum1=vbum2_rol_5 + // [588] main::rom_bank#0 = main::rom_chip2#10 << 5 -- vbum1=vbum2_rol_5 lda rom_chip2 asl asl @@ -3669,118 +3679,118 @@ main: { asl sta rom_bank // unsigned char* file = rom_file(rom_chip) - // [596] rom_file::rom_chip#0 = main::rom_chip2#10 -- vbuz1=vbum2 + // [589] rom_file::rom_chip#0 = main::rom_chip2#10 -- vbum1=vbum2 lda rom_chip2 - sta.z rom_file.rom_chip - // [597] call rom_file - // [1325] phi from main::@137 to rom_file [phi:main::@137->rom_file] - // [1325] phi rom_file::rom_chip#2 = rom_file::rom_chip#0 [phi:main::@137->rom_file#0] -- register_copy + sta rom_file.rom_chip + // [590] call rom_file + // [1313] phi from main::@134 to rom_file [phi:main::@134->rom_file] + // [1313] phi rom_file::rom_chip#2 = rom_file::rom_chip#0 [phi:main::@134->rom_file#0] -- register_copy jsr rom_file // unsigned char* file = rom_file(rom_chip) - // [598] rom_file::return#4 = rom_file::return#2 - // main::@138 - // [599] main::file#0 = rom_file::return#4 -- pbum1=pbum2 + // [591] rom_file::return#4 = rom_file::return#2 + // main::@135 + // [592] main::file#0 = rom_file::return#4 -- pbum1=pbum2 lda rom_file.return sta file lda rom_file.return+1 sta file+1 // sprintf(info_text, "Checking %s ... (.) data ( ) empty", file) - // [600] call snprintf_init - // [1011] phi from main::@138 to snprintf_init [phi:main::@138->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@138->snprintf_init#0] -- pbuz1=pbuc1 + // [593] call snprintf_init + // [1151] phi from main::@135 to snprintf_init [phi:main::@135->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@135->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [601] phi from main::@138 to main::@139 [phi:main::@138->main::@139] - // main::@139 + // [594] phi from main::@135 to main::@136 [phi:main::@135->main::@136] + // main::@136 // sprintf(info_text, "Checking %s ... (.) data ( ) empty", file) - // [602] call printf_str - // [1016] phi from main::@139 to printf_str [phi:main::@139->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@139->printf_str#0] -- pprz1=pprc1 + // [595] call printf_str + // [1156] phi from main::@136 to printf_str [phi:main::@136->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@136->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s6 [phi:main::@139->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s6 + lda #>s5 sta.z printf_str.s+1 jsr printf_str - // main::@140 + // main::@137 // sprintf(info_text, "Checking %s ... (.) data ( ) empty", file) - // [603] printf_string::str#16 = main::file#0 -- pbuz1=pbum2 + // [596] printf_string::str#16 = main::file#0 -- pbuz1=pbum2 lda file sta.z printf_string.str lda file+1 sta.z printf_string.str+1 - // [604] call printf_string - // [1177] phi from main::@140 to printf_string [phi:main::@140->printf_string] - // [1177] phi printf_string::putc#22 = &snputc [phi:main::@140->printf_string#0] -- pprz1=pprc1 + // [597] call printf_string + // [1165] phi from main::@137 to printf_string [phi:main::@137->printf_string] + // [1165] phi printf_string::putc#22 = &snputc [phi:main::@137->printf_string#0] -- pprz1=pprc1 lda #snputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#16 [phi:main::@140->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 0 [phi:main::@140->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#16 [phi:main::@137->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 0 [phi:main::@137->printf_string#2] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 0 [phi:main::@140->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 0 [phi:main::@137->printf_string#3] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // [605] phi from main::@140 to main::@141 [phi:main::@140->main::@141] - // main::@141 + // [598] phi from main::@137 to main::@138 [phi:main::@137->main::@138] + // main::@138 // sprintf(info_text, "Checking %s ... (.) data ( ) empty", file) - // [606] call printf_str - // [1016] phi from main::@141 to printf_str [phi:main::@141->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@141->printf_str#0] -- pprz1=pprc1 + // [599] call printf_str + // [1156] phi from main::@138 to printf_str [phi:main::@138->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@138->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s7 [phi:main::@141->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s7 + lda #>s6 sta.z printf_str.s+1 jsr printf_str - // main::@142 + // main::@139 // sprintf(info_text, "Checking %s ... (.) data ( ) empty", file) - // [607] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [600] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [608] callexecute snputc -- call_vprc1 + // [601] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_progress(info_text) - // [610] call display_action_progress - // [856] phi from main::@142 to display_action_progress [phi:main::@142->display_action_progress] - // [856] phi display_action_progress::info_text#18 = info_text [phi:main::@142->display_action_progress#0] -- pbuz1=pbuc1 + // [603] call display_action_progress + // [850] phi from main::@139 to display_action_progress [phi:main::@139->display_action_progress] + // [850] phi display_action_progress::info_text#18 = info_text [phi:main::@139->display_action_progress#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_progress.info_text lda #>@info_text sta.z display_action_progress.info_text+1 jsr display_action_progress - // main::@143 + // main::@140 // unsigned long rom_bytes_read = rom_read(0, rom_chip, file, STATUS_CHECKING, rom_bank, rom_sizes[rom_chip]) - // [611] main::$273 = main::rom_chip2#10 << 2 -- vbum1=vbum2_rol_2 + // [604] main::$272 = main::rom_chip2#10 << 2 -- vbum1=vbum2_rol_2 lda rom_chip2 asl asl - sta main__273 - // [612] rom_read::file#0 = main::file#0 -- pbum1=pbum2 + sta main__272 + // [605] rom_read::file#0 = main::file#0 -- pbum1=pbum2 lda file sta rom_read.file lda file+1 sta rom_read.file+1 - // [613] rom_read::brom_bank_start#1 = main::rom_bank#0 -- vbum1=vbum2 + // [606] rom_read::brom_bank_start#1 = main::rom_bank#0 -- vbuz1=vbum2 lda rom_bank - sta rom_read.brom_bank_start - // [614] rom_read::rom_size#0 = rom_sizes[main::$273] -- vduz1=pduc1_derefidx_vbum2 - ldy main__273 + sta.z rom_read.brom_bank_start + // [607] rom_read::rom_size#0 = rom_sizes[main::$272] -- vduz1=pduc1_derefidx_vbum2 + ldy main__272 lda rom_sizes,y sta.z rom_read.rom_size lda rom_sizes+1,y @@ -3789,23 +3799,23 @@ main: { sta.z rom_read.rom_size+2 lda rom_sizes+3,y sta.z rom_read.rom_size+3 - // [615] call rom_read + // [608] call rom_read // Read the ROM(n).BIN file. - // [1331] phi from main::@143 to rom_read [phi:main::@143->rom_read] - // [1331] phi rom_read::display_progress#28 = 0 [phi:main::@143->rom_read#0] -- vbum1=vbuc1 + // [1319] phi from main::@140 to rom_read [phi:main::@140->rom_read] + // [1319] phi rom_read::display_progress#28 = 0 [phi:main::@140->rom_read#0] -- vbum1=vbuc1 lda #0 sta rom_read.display_progress - // [1331] phi rom_read::rom_size#12 = rom_read::rom_size#0 [phi:main::@143->rom_read#1] -- register_copy - // [1331] phi __errno#108 = __errno#114 [phi:main::@143->rom_read#2] -- register_copy - // [1331] phi rom_read::file#11 = rom_read::file#0 [phi:main::@143->rom_read#3] -- register_copy - // [1331] phi rom_read::brom_bank_start#22 = rom_read::brom_bank_start#1 [phi:main::@143->rom_read#4] -- register_copy + // [1319] phi rom_read::rom_size#12 = rom_read::rom_size#0 [phi:main::@140->rom_read#1] -- register_copy + // [1319] phi __errno#108 = __errno#114 [phi:main::@140->rom_read#2] -- register_copy + // [1319] phi rom_read::file#11 = rom_read::file#0 [phi:main::@140->rom_read#3] -- register_copy + // [1319] phi rom_read::brom_bank_start#22 = rom_read::brom_bank_start#1 [phi:main::@140->rom_read#4] -- register_copy jsr rom_read // unsigned long rom_bytes_read = rom_read(0, rom_chip, file, STATUS_CHECKING, rom_bank, rom_sizes[rom_chip]) - // [616] rom_read::return#2 = rom_read::return#0 - // main::@144 - // [617] main::rom_bytes_read#0 = rom_read::return#2 + // [609] rom_read::return#2 = rom_read::return#0 + // main::@141 + // [610] main::rom_bytes_read#0 = rom_read::return#2 // if (!rom_bytes_read) - // [618] if(0==main::rom_bytes_read#0) goto main::@34 -- 0_eq_vdum1_then_la1 + // [611] if(0==main::rom_bytes_read#0) goto main::@34 -- 0_eq_vdum1_then_la1 // In case no file was found, set the status to none and skip to the next, else, mention the amount of bytes read. lda rom_bytes_read ora rom_bytes_read+1 @@ -3816,7 +3826,7 @@ main: { !__b34: // main::@37 // unsigned long rom_file_modulo = rom_bytes_read % 0x4000 - // [619] main::rom_file_modulo#0 = main::rom_bytes_read#0 & $4000-1 -- vdum1=vdum2_band_vduc1 + // [612] main::rom_file_modulo#0 = main::rom_bytes_read#0 & $4000-1 -- vdum1=vdum2_band_vduc1 lda rom_bytes_read and #<$4000-1 sta rom_file_modulo @@ -3830,7 +3840,7 @@ main: { and #>$4000-1>>$10 sta rom_file_modulo+3 // if(rom_file_modulo) - // [620] if(0!=main::rom_file_modulo#0) goto main::@35 -- 0_neq_vdum1_then_la1 + // [613] if(0!=main::rom_file_modulo#0) goto main::@35 -- 0_neq_vdum1_then_la1 lda rom_file_modulo ora rom_file_modulo+1 ora rom_file_modulo+2 @@ -3840,10 +3850,10 @@ main: { !__b35: // main::@38 // file_sizes[rom_chip] = rom_bytes_read - // [621] file_sizes[main::$273] = main::rom_bytes_read#0 -- pduc1_derefidx_vbum1=vdum2 + // [614] file_sizes[main::$272] = main::rom_bytes_read#0 -- pduc1_derefidx_vbum1=vdum2 // RF-5 | ROM.BIN all ok | Display the ROM.BIN release version and github commit id (if any) and set ROM to Flash | Flash // We know the file size, so we indicate it in the status panel. - ldy main__273 + ldy main__272 lda rom_bytes_read sta file_sizes,y lda rom_bytes_read+1 @@ -3853,14 +3863,14 @@ main: { lda rom_bytes_read+3 sta file_sizes+3,y // rom_get_github_commit_id(rom_file_github, (char*)RAM_BASE) - // [622] call rom_get_github_commit_id - // [1778] phi from main::@38 to rom_get_github_commit_id [phi:main::@38->rom_get_github_commit_id] - // [1778] phi rom_get_github_commit_id::commit_id#6 = main::rom_file_github [phi:main::@38->rom_get_github_commit_id#0] -- pbuz1=pbuc1 + // [615] call rom_get_github_commit_id + // [1766] phi from main::@38 to rom_get_github_commit_id [phi:main::@38->rom_get_github_commit_id] + // [1766] phi rom_get_github_commit_id::commit_id#6 = main::rom_file_github [phi:main::@38->rom_get_github_commit_id#0] -- pbuz1=pbuc1 lda #rom_file_github sta.z rom_get_github_commit_id.commit_id+1 - // [1778] phi rom_get_github_commit_id::from#6 = (char *)$7800 [phi:main::@38->rom_get_github_commit_id#1] -- pbuz1=pbuc1 + // [1766] phi rom_get_github_commit_id::from#6 = (char *)$7800 [phi:main::@38->rom_get_github_commit_id#1] -- pbuz1=pbuc1 lda #<$7800 sta.z rom_get_github_commit_id.from lda #>$7800 @@ -3872,34 +3882,34 @@ main: { lda.z 0 pha // BRAM = bank - // [624] BRAM = main::bank_push_set_bram1_bank#0 -- vbuz1=vbuc1 + // [617] BRAM = main::bank_push_set_bram1_bank#0 -- vbuz1=vbuc1 lda #bank_push_set_bram1_bank sta.z BRAM // main::@73 // unsigned char rom_file_release = rom_get_release(*((char*)0xBF80)) - // [625] rom_get_release::release#3 = *((char *) 49024) -- vbum1=_deref_pbuc1 + // [618] rom_get_release::release#3 = *((char *) 49024) -- vbum1=_deref_pbuc1 lda $bf80 sta rom_get_release.release - // [626] call rom_get_release - // [1161] phi from main::@73 to rom_get_release [phi:main::@73->rom_get_release] - // [1161] phi rom_get_release::release#4 = rom_get_release::release#3 [phi:main::@73->rom_get_release#0] -- register_copy + // [619] call rom_get_release + // [1135] phi from main::@73 to rom_get_release [phi:main::@73->rom_get_release] + // [1135] phi rom_get_release::release#4 = rom_get_release::release#3 [phi:main::@73->rom_get_release#0] -- register_copy jsr rom_get_release // unsigned char rom_file_release = rom_get_release(*((char*)0xBF80)) - // [627] rom_get_release::return#4 = rom_get_release::return#0 - // main::@152 - // [628] main::rom_file_release#0 = rom_get_release::return#4 + // [620] rom_get_release::return#4 = rom_get_release::return#0 + // main::@149 + // [621] main::rom_file_release#0 = rom_get_release::return#4 // unsigned char rom_file_prefix = rom_get_prefix(*((char*)0xBF80)) - // [629] rom_get_prefix::release#3 = *((char *) 49024) -- vbuz1=_deref_pbuc1 + // [622] rom_get_prefix::release#3 = *((char *) 49024) -- vbum1=_deref_pbuc1 lda $bf80 - sta.z rom_get_prefix.release - // [630] call rom_get_prefix - // [1168] phi from main::@152 to rom_get_prefix [phi:main::@152->rom_get_prefix] - // [1168] phi rom_get_prefix::release#4 = rom_get_prefix::release#3 [phi:main::@152->rom_get_prefix#0] -- register_copy + sta rom_get_prefix.release + // [623] call rom_get_prefix + // [1142] phi from main::@149 to rom_get_prefix [phi:main::@149->rom_get_prefix] + // [1142] phi rom_get_prefix::release#4 = rom_get_prefix::release#3 [phi:main::@149->rom_get_prefix#0] -- register_copy jsr rom_get_prefix // unsigned char rom_file_prefix = rom_get_prefix(*((char*)0xBF80)) - // [631] rom_get_prefix::return#10 = rom_get_prefix::return#0 - // main::@153 - // [632] main::rom_file_prefix#0 = rom_get_prefix::return#10 + // [624] rom_get_prefix::return#10 = rom_get_prefix::return#0 + // main::@150 + // [625] main::rom_file_prefix#0 = rom_get_prefix::return#10 // main::bank_pull_bram1 // asm // asm { pla sta$00 } @@ -3907,370 +3917,380 @@ main: { sta.z 0 // main::@74 // rom_get_version_text(rom_file_release_text, rom_file_prefix, rom_file_release, rom_file_github) - // [634] rom_get_version_text::prefix#1 = main::rom_file_prefix#0 - // [635] rom_get_version_text::release#1 = main::rom_file_release#0 - // [636] call rom_get_version_text - // [1795] phi from main::@74 to rom_get_version_text [phi:main::@74->rom_get_version_text] - // [1795] phi rom_get_version_text::github#2 = main::rom_file_github [phi:main::@74->rom_get_version_text#0] -- pbuz1=pbuc1 + // [627] rom_get_version_text::prefix#1 = main::rom_file_prefix#0 + // [628] rom_get_version_text::release#1 = main::rom_file_release#0 + // [629] call rom_get_version_text + // [1783] phi from main::@74 to rom_get_version_text [phi:main::@74->rom_get_version_text] + // [1783] phi rom_get_version_text::github#2 = main::rom_file_github [phi:main::@74->rom_get_version_text#0] -- pbuz1=pbuc1 lda #rom_file_github sta.z rom_get_version_text.github+1 - // [1795] phi rom_get_version_text::release#2 = rom_get_version_text::release#1 [phi:main::@74->rom_get_version_text#1] -- register_copy - // [1795] phi rom_get_version_text::prefix#2 = rom_get_version_text::prefix#1 [phi:main::@74->rom_get_version_text#2] -- register_copy - // [1795] phi rom_get_version_text::release_info#2 = main::rom_file_release_text [phi:main::@74->rom_get_version_text#3] -- pbuz1=pbuc1 + // [1783] phi rom_get_version_text::release#2 = rom_get_version_text::release#1 [phi:main::@74->rom_get_version_text#1] -- register_copy + // [1783] phi rom_get_version_text::prefix#2 = rom_get_version_text::prefix#1 [phi:main::@74->rom_get_version_text#2] -- register_copy + // [1783] phi rom_get_version_text::release_info#2 = main::rom_file_release_text [phi:main::@74->rom_get_version_text#3] -- pbuz1=pbuc1 lda #rom_file_release_text sta.z rom_get_version_text.release_info+1 jsr rom_get_version_text - // [637] phi from main::@74 to main::@154 [phi:main::@74->main::@154] - // main::@154 + // [630] phi from main::@74 to main::@151 [phi:main::@74->main::@151] + // main::@151 // sprintf(info_text, "%s %s", file, rom_file_release_text) - // [638] call snprintf_init - // [1011] phi from main::@154 to snprintf_init [phi:main::@154->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@154->snprintf_init#0] -- pbuz1=pbuc1 + // [631] call snprintf_init + // [1151] phi from main::@151 to snprintf_init [phi:main::@151->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@151->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // main::@155 + // main::@152 // sprintf(info_text, "%s %s", file, rom_file_release_text) - // [639] printf_string::str#19 = main::file#0 -- pbuz1=pbum2 + // [632] printf_string::str#19 = main::file#0 -- pbuz1=pbum2 lda file sta.z printf_string.str lda file+1 sta.z printf_string.str+1 - // [640] call printf_string - // [1177] phi from main::@155 to printf_string [phi:main::@155->printf_string] - // [1177] phi printf_string::putc#22 = &snputc [phi:main::@155->printf_string#0] -- pprz1=pprc1 + // [633] call printf_string + // [1165] phi from main::@152 to printf_string [phi:main::@152->printf_string] + // [1165] phi printf_string::putc#22 = &snputc [phi:main::@152->printf_string#0] -- pprz1=pprc1 lda #snputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#19 [phi:main::@155->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 0 [phi:main::@155->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#19 [phi:main::@152->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 0 [phi:main::@152->printf_string#2] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 0 [phi:main::@155->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 0 [phi:main::@152->printf_string#3] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // [641] phi from main::@155 to main::@156 [phi:main::@155->main::@156] - // main::@156 + // [634] phi from main::@152 to main::@153 [phi:main::@152->main::@153] + // main::@153 // sprintf(info_text, "%s %s", file, rom_file_release_text) - // [642] call printf_str - // [1016] phi from main::@156 to printf_str [phi:main::@156->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@156->printf_str#0] -- pprz1=pprc1 + // [635] call printf_str + // [1156] phi from main::@153 to printf_str [phi:main::@153->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@153->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s [phi:main::@156->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s [phi:main::@153->printf_str#1] -- pbuz1=pbuc1 lda #<@s sta.z printf_str.s lda #>@s sta.z printf_str.s+1 jsr printf_str - // [643] phi from main::@156 to main::@157 [phi:main::@156->main::@157] - // main::@157 + // [636] phi from main::@153 to main::@154 [phi:main::@153->main::@154] + // main::@154 // sprintf(info_text, "%s %s", file, rom_file_release_text) - // [644] call printf_string - // [1177] phi from main::@157 to printf_string [phi:main::@157->printf_string] - // [1177] phi printf_string::putc#22 = &snputc [phi:main::@157->printf_string#0] -- pprz1=pprc1 + // [637] call printf_string + // [1165] phi from main::@154 to printf_string [phi:main::@154->printf_string] + // [1165] phi printf_string::putc#22 = &snputc [phi:main::@154->printf_string#0] -- pprz1=pprc1 lda #snputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = main::rom_file_release_text [phi:main::@157->printf_string#1] -- pbuz1=pbuc1 + // [1165] phi printf_string::str#22 = main::rom_file_release_text [phi:main::@154->printf_string#1] -- pbuz1=pbuc1 lda #rom_file_release_text sta.z printf_string.str+1 - // [1177] phi printf_string::format_justify_left#22 = 0 [phi:main::@157->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_justify_left#22 = 0 [phi:main::@154->printf_string#2] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 0 [phi:main::@157->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 0 [phi:main::@154->printf_string#3] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // main::@158 + // main::@155 // sprintf(info_text, "%s %s", file, rom_file_release_text) - // [645] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [638] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [646] callexecute snputc -- call_vprc1 + // [639] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_info_rom(rom_chip, STATUS_FLASH, info_text) - // [648] display_info_rom::rom_chip#8 = main::rom_chip2#10 -- vbuz1=vbum2 + // [641] display_info_rom::rom_chip#8 = main::rom_chip2#10 -- vbuz1=vbum2 lda rom_chip2 sta.z display_info_rom.rom_chip - // [649] call display_info_rom - // [1282] phi from main::@158 to display_info_rom [phi:main::@158->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = info_text [phi:main::@158->display_info_rom#0] -- pbuz1=pbuc1 + // [642] call display_info_rom + // [1270] phi from main::@155 to display_info_rom [phi:main::@155->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = info_text [phi:main::@155->display_info_rom#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_info_rom.info_text lda #>@info_text sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#8 [phi:main::@158->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_FLASH [phi:main::@158->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#8 [phi:main::@155->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_FLASH [phi:main::@155->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_FLASH - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom - // [650] phi from main::@147 main::@151 main::@158 main::@71 to main::@33 [phi:main::@147/main::@151/main::@158/main::@71->main::@33] - // [650] phi __errno#238 = __errno#18 [phi:main::@147/main::@151/main::@158/main::@71->main::@33#0] -- register_copy + // [643] phi from main::@144 main::@148 main::@155 main::@71 to main::@33 [phi:main::@144/main::@148/main::@155/main::@71->main::@33] + // [643] phi __errno#238 = __errno#18 [phi:main::@144/main::@148/main::@155/main::@71->main::@33#0] -- register_copy // main::@33 __b33: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [651] main::rom_chip2#1 = ++ main::rom_chip2#10 -- vbum1=_inc_vbum1 + // [644] main::rom_chip2#1 = ++ main::rom_chip2#10 -- vbum1=_inc_vbum1 inc rom_chip2 - // [205] phi from main::@33 to main::@32 [phi:main::@33->main::@32] - // [205] phi __errno#114 = __errno#238 [phi:main::@33->main::@32#0] -- register_copy - // [205] phi main::rom_chip2#10 = main::rom_chip2#1 [phi:main::@33->main::@32#1] -- register_copy + // [198] phi from main::@33 to main::@32 [phi:main::@33->main::@32] + // [198] phi __errno#114 = __errno#238 [phi:main::@33->main::@32#0] -- register_copy + // [198] phi main::rom_chip2#10 = main::rom_chip2#1 [phi:main::@33->main::@32#1] -- register_copy jmp __b32 - // [652] phi from main::@37 to main::@35 [phi:main::@37->main::@35] + // [645] phi from main::@37 to main::@35 [phi:main::@37->main::@35] // main::@35 __b35: // sprintf(info_text, "File %s size error!", file) - // [653] call snprintf_init - // [1011] phi from main::@35 to snprintf_init [phi:main::@35->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@35->snprintf_init#0] -- pbuz1=pbuc1 + // [646] call snprintf_init + // [1151] phi from main::@35 to snprintf_init [phi:main::@35->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@35->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [654] phi from main::@35 to main::@148 [phi:main::@35->main::@148] - // main::@148 + // [647] phi from main::@35 to main::@145 [phi:main::@35->main::@145] + // main::@145 // sprintf(info_text, "File %s size error!", file) - // [655] call printf_str - // [1016] phi from main::@148 to printf_str [phi:main::@148->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@148->printf_str#0] -- pprz1=pprc1 + // [648] call printf_str + // [1156] phi from main::@145 to printf_str [phi:main::@145->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@145->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s9 [phi:main::@148->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s9 + lda #>s8 sta.z printf_str.s+1 jsr printf_str - // main::@149 + // main::@146 // sprintf(info_text, "File %s size error!", file) - // [656] printf_string::str#18 = main::file#0 -- pbuz1=pbum2 + // [649] printf_string::str#18 = main::file#0 -- pbuz1=pbum2 lda file sta.z printf_string.str lda file+1 sta.z printf_string.str+1 - // [657] call printf_string - // [1177] phi from main::@149 to printf_string [phi:main::@149->printf_string] - // [1177] phi printf_string::putc#22 = &snputc [phi:main::@149->printf_string#0] -- pprz1=pprc1 + // [650] call printf_string + // [1165] phi from main::@146 to printf_string [phi:main::@146->printf_string] + // [1165] phi printf_string::putc#22 = &snputc [phi:main::@146->printf_string#0] -- pprz1=pprc1 lda #snputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#18 [phi:main::@149->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 0 [phi:main::@149->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#18 [phi:main::@146->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 0 [phi:main::@146->printf_string#2] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 0 [phi:main::@149->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 0 [phi:main::@146->printf_string#3] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // [658] phi from main::@149 to main::@150 [phi:main::@149->main::@150] - // main::@150 + // [651] phi from main::@146 to main::@147 [phi:main::@146->main::@147] + // main::@147 // sprintf(info_text, "File %s size error!", file) - // [659] call printf_str - // [1016] phi from main::@150 to printf_str [phi:main::@150->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@150->printf_str#0] -- pprz1=pprc1 + // [652] call printf_str + // [1156] phi from main::@147 to printf_str [phi:main::@147->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@147->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s10 [phi:main::@150->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s10 + lda #>s9 sta.z printf_str.s+1 jsr printf_str - // main::@151 + // main::@148 // sprintf(info_text, "File %s size error!", file) - // [660] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [653] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [661] callexecute snputc -- call_vprc1 + // [654] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_info_rom(rom_chip, STATUS_ISSUE, info_text) - // [663] display_info_rom::rom_chip#7 = main::rom_chip2#10 -- vbuz1=vbum2 + // [656] display_info_rom::rom_chip#7 = main::rom_chip2#10 -- vbuz1=vbum2 lda rom_chip2 sta.z display_info_rom.rom_chip - // [664] call display_info_rom - // [1282] phi from main::@151 to display_info_rom [phi:main::@151->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = info_text [phi:main::@151->display_info_rom#0] -- pbuz1=pbuc1 + // [657] call display_info_rom + // [1270] phi from main::@148 to display_info_rom [phi:main::@148->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = info_text [phi:main::@148->display_info_rom#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_info_rom.info_text lda #>@info_text sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#7 [phi:main::@151->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_ISSUE [phi:main::@151->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#7 [phi:main::@148->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_ISSUE [phi:main::@148->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_ISSUE - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom jmp __b33 - // [665] phi from main::@144 to main::@34 [phi:main::@144->main::@34] + // [658] phi from main::@141 to main::@34 [phi:main::@141->main::@34] // main::@34 __b34: // sprintf(info_text, "No %s", file) - // [666] call snprintf_init - // [1011] phi from main::@34 to snprintf_init [phi:main::@34->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@34->snprintf_init#0] -- pbuz1=pbuc1 + // [659] call snprintf_init + // [1151] phi from main::@34 to snprintf_init [phi:main::@34->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@34->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [667] phi from main::@34 to main::@145 [phi:main::@34->main::@145] - // main::@145 + // [660] phi from main::@34 to main::@142 [phi:main::@34->main::@142] + // main::@142 // sprintf(info_text, "No %s", file) - // [668] call printf_str - // [1016] phi from main::@145 to printf_str [phi:main::@145->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@145->printf_str#0] -- pprz1=pprc1 + // [661] call printf_str + // [1156] phi from main::@142 to printf_str [phi:main::@142->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@142->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s8 [phi:main::@145->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s8 + lda #>s7 sta.z printf_str.s+1 jsr printf_str - // main::@146 + // main::@143 // sprintf(info_text, "No %s", file) - // [669] printf_string::str#17 = main::file#0 -- pbuz1=pbum2 + // [662] printf_string::str#17 = main::file#0 -- pbuz1=pbum2 lda file sta.z printf_string.str lda file+1 sta.z printf_string.str+1 - // [670] call printf_string - // [1177] phi from main::@146 to printf_string [phi:main::@146->printf_string] - // [1177] phi printf_string::putc#22 = &snputc [phi:main::@146->printf_string#0] -- pprz1=pprc1 + // [663] call printf_string + // [1165] phi from main::@143 to printf_string [phi:main::@143->printf_string] + // [1165] phi printf_string::putc#22 = &snputc [phi:main::@143->printf_string#0] -- pprz1=pprc1 lda #snputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#17 [phi:main::@146->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 0 [phi:main::@146->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#17 [phi:main::@143->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 0 [phi:main::@143->printf_string#2] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 0 [phi:main::@146->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 0 [phi:main::@143->printf_string#3] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // main::@147 + // main::@144 // sprintf(info_text, "No %s", file) - // [671] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [664] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [672] callexecute snputc -- call_vprc1 + // [665] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_info_rom(rom_chip, STATUS_SKIP, info_text) - // [674] display_info_rom::rom_chip#6 = main::rom_chip2#10 -- vbuz1=vbum2 + // [667] display_info_rom::rom_chip#6 = main::rom_chip2#10 -- vbuz1=vbum2 lda rom_chip2 sta.z display_info_rom.rom_chip - // [675] call display_info_rom - // [1282] phi from main::@147 to display_info_rom [phi:main::@147->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = info_text [phi:main::@147->display_info_rom#0] -- pbuz1=pbuc1 + // [668] call display_info_rom + // [1270] phi from main::@144 to display_info_rom [phi:main::@144->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = info_text [phi:main::@144->display_info_rom#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_info_rom.info_text lda #>@info_text sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#6 [phi:main::@147->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_SKIP [phi:main::@147->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#6 [phi:main::@144->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_SKIP [phi:main::@144->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_SKIP - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom jmp __b33 - // [676] phi from main::@28 to main::@31 [phi:main::@28->main::@31] // main::@31 __b31: + // [669] smc_bootloader#477 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_ISSUE, "SMC.BIN too large!") - // [677] call display_info_smc + // [670] call display_info_smc // SF-3 | size SMC.BIN is > 0x1E00 | Display SMC.BIN file size issue and don't flash. Ask the user to place a correct SMC.BIN file onto the SDcard. | Issue - // [914] phi from main::@31 to display_info_smc [phi:main::@31->display_info_smc] - // [914] phi display_info_smc::info_text#18 = main::info_text6 [phi:main::@31->display_info_smc#0] -- pbuz1=pbuc1 + // [908] phi from main::@31 to display_info_smc [phi:main::@31->display_info_smc] + // [908] phi display_info_smc::info_text#18 = main::info_text6 [phi:main::@31->display_info_smc#0] -- pbuz1=pbuc1 lda #info_text6 sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@31->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#477 [phi:main::@31->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@31->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_ISSUE - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // [202] phi from main::@30 main::@31 to main::CLI2 [phi:main::@30/main::@31->main::CLI2] + // [195] phi from main::@30 main::@31 to main::CLI2 [phi:main::@30/main::@31->main::CLI2] __b11: - // [202] phi smc_file_minor#246 = 0 [phi:main::@30/main::@31->main::CLI2#0] -- vbum1=vbuc1 + // [195] phi smc_file_minor#246 = 0 [phi:main::@30/main::@31->main::CLI2#0] -- vbum1=vbuc1 lda #0 sta smc_file_minor - // [202] phi smc_file_major#247 = 0 [phi:main::@30/main::@31->main::CLI2#1] -- vbum1=vbuc1 + // [195] phi smc_file_major#247 = 0 [phi:main::@30/main::@31->main::CLI2#1] -- vbum1=vbuc1 sta smc_file_major - // [202] phi smc_file_release#248 = 0 [phi:main::@30/main::@31->main::CLI2#2] -- vbum1=vbuc1 + // [195] phi smc_file_release#248 = 0 [phi:main::@30/main::@31->main::CLI2#2] -- vbum1=vbuc1 sta smc_file_release - // [202] phi __errno#239 = __errno#18 [phi:main::@30/main::@31->main::CLI2#3] -- register_copy + // [195] phi __errno#239 = __errno#18 [phi:main::@30/main::@31->main::CLI2#3] -- register_copy jmp CLI2 - // [678] phi from main::@129 to main::@30 [phi:main::@129->main::@30] // main::@30 __b30: + // [671] smc_bootloader#476 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_SKIP, "No SMC.BIN!") - // [679] call display_info_smc + // [672] call display_info_smc // SF-1 | no SMC.BIN | Ask user to place an SMC.BIN file onto the SDcard and don't flash. | Issue // SF-2 | size SMC.BIN is 0 | Ask user to place an SMC.BIN file onto the SDcard and don't flash. | Issue - // [914] phi from main::@30 to display_info_smc [phi:main::@30->display_info_smc] - // [914] phi display_info_smc::info_text#18 = main::info_text5 [phi:main::@30->display_info_smc#0] -- pbuz1=pbuc1 + // [908] phi from main::@30 to display_info_smc [phi:main::@30->display_info_smc] + // [908] phi display_info_smc::info_text#18 = main::info_text5 [phi:main::@30->display_info_smc#0] -- pbuz1=pbuc1 lda #info_text5 sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_SKIP [phi:main::@30->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#476 [phi:main::@30->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_SKIP [phi:main::@30->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_SKIP - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc jmp __b11 // main::@25 __b25: // display_info_led(PROGRESS_X + 3, PROGRESS_Y + 3 + intro_status, status_color[intro_status], BLUE) - // [680] display_info_led::y#3 = PROGRESS_Y+3 + main::intro_status#2 -- vbuz1=vbuc1_plus_vbum2 + // [673] display_info_led::y#3 = PROGRESS_Y+3 + main::intro_status#2 -- vbuz1=vbuc1_plus_vbum2 lda #PROGRESS_Y+3 clc adc intro_status sta.z display_info_led.y - // [681] display_info_led::tc#3 = status_color[main::intro_status#2] -- vbuz1=pbuc1_derefidx_vbum2 + // [674] display_info_led::tc#3 = status_color[main::intro_status#2] -- vbuz1=pbuc1_derefidx_vbum2 ldy intro_status lda status_color,y sta.z display_info_led.tc - // [682] call display_info_led - // [1811] phi from main::@25 to display_info_led [phi:main::@25->display_info_led] - // [1811] phi display_info_led::y#4 = display_info_led::y#3 [phi:main::@25->display_info_led#0] -- register_copy - // [1811] phi display_info_led::x#4 = PROGRESS_X+3 [phi:main::@25->display_info_led#1] -- vbuz1=vbuc1 + // [675] call display_info_led + // [1799] phi from main::@25 to display_info_led [phi:main::@25->display_info_led] + // [1799] phi display_info_led::y#4 = display_info_led::y#3 [phi:main::@25->display_info_led#0] -- register_copy + // [1799] phi display_info_led::x#4 = PROGRESS_X+3 [phi:main::@25->display_info_led#1] -- vbuz1=vbuc1 lda #PROGRESS_X+3 sta.z display_info_led.x - // [1811] phi display_info_led::tc#4 = display_info_led::tc#3 [phi:main::@25->display_info_led#2] -- register_copy + // [1799] phi display_info_led::tc#4 = display_info_led::tc#3 [phi:main::@25->display_info_led#2] -- register_copy jsr display_info_led - // main::@127 + // main::@124 // for(unsigned char intro_status=0; intro_status<11; intro_status++) - // [683] main::intro_status#1 = ++ main::intro_status#2 -- vbum1=_inc_vbum1 + // [676] main::intro_status#1 = ++ main::intro_status#2 -- vbum1=_inc_vbum1 inc intro_status - // [158] phi from main::@127 to main::@24 [phi:main::@127->main::@24] - // [158] phi main::intro_status#2 = main::intro_status#1 [phi:main::@127->main::@24#0] -- register_copy + // [150] phi from main::@124 to main::@24 [phi:main::@124->main::@24] + // [150] phi main::intro_status#2 = main::intro_status#1 [phi:main::@124->main::@24#0] -- register_copy jmp __b24 // main::@22 __b22: // if(rom_device_ids[rom_chip] != UNKNOWN) - // [684] if(rom_device_ids[main::rom_chip1#10]!=$55) goto main::bank_set_brom3 -- pbuc1_derefidx_vbum1_neq_vbuc2_then_la1 + // [677] if(rom_device_ids[main::rom_chip1#10]!=$55) goto main::bank_set_brom3 -- pbuc1_derefidx_vbum1_neq_vbuc2_then_la1 lda #$55 ldy rom_chip1 cmp rom_device_ids,y @@ -4278,167 +4298,167 @@ main: { // main::@23 __b23: // for(unsigned char rom_chip = 0; rom_chip < 8; rom_chip++) - // [685] main::rom_chip1#1 = ++ main::rom_chip1#10 -- vbum1=_inc_vbum1 + // [678] main::rom_chip1#1 = ++ main::rom_chip1#10 -- vbum1=_inc_vbum1 inc rom_chip1 - // [148] phi from main::@23 to main::@21 [phi:main::@23->main::@21] - // [148] phi main::rom_chip1#10 = main::rom_chip1#1 [phi:main::@23->main::@21#0] -- register_copy + // [140] phi from main::@23 to main::@21 [phi:main::@23->main::@21] + // [140] phi main::rom_chip1#10 = main::rom_chip1#1 [phi:main::@23->main::@21#0] -- register_copy jmp __b21 // main::bank_set_brom3 bank_set_brom3: // BROM = bank - // [686] BROM = main::bank_set_brom3_bank#0 -- vbuz1=vbuc1 + // [679] BROM = main::bank_set_brom3_bank#0 -- vbuz1=vbuc1 lda #bank_set_brom3_bank sta.z BROM // main::@69 // rom_chip*8 - // [687] main::$107 = main::rom_chip1#10 << 3 -- vbuz1=vbum2_rol_3 + // [680] main::$106 = main::rom_chip1#10 << 3 -- vbuz1=vbum2_rol_3 lda rom_chip1 asl asl asl - sta.z main__107 + sta.z main__106 // rom_get_github_commit_id(&rom_github[rom_chip*8], (char*)0xC000) - // [688] rom_get_github_commit_id::commit_id#0 = rom_github + main::$107 -- pbuz1=pbuc1_plus_vbuz2 + // [681] rom_get_github_commit_id::commit_id#0 = rom_github + main::$106 -- pbuz1=pbuc1_plus_vbuz2 clc adc #rom_github adc #0 sta.z rom_get_github_commit_id.commit_id+1 - // [689] call rom_get_github_commit_id - // [1778] phi from main::@69 to rom_get_github_commit_id [phi:main::@69->rom_get_github_commit_id] - // [1778] phi rom_get_github_commit_id::commit_id#6 = rom_get_github_commit_id::commit_id#0 [phi:main::@69->rom_get_github_commit_id#0] -- register_copy - // [1778] phi rom_get_github_commit_id::from#6 = (char *) 49152 [phi:main::@69->rom_get_github_commit_id#1] -- pbuz1=pbuc1 + // [682] call rom_get_github_commit_id + // [1766] phi from main::@69 to rom_get_github_commit_id [phi:main::@69->rom_get_github_commit_id] + // [1766] phi rom_get_github_commit_id::commit_id#6 = rom_get_github_commit_id::commit_id#0 [phi:main::@69->rom_get_github_commit_id#0] -- register_copy + // [1766] phi rom_get_github_commit_id::from#6 = (char *) 49152 [phi:main::@69->rom_get_github_commit_id#1] -- pbuz1=pbuc1 lda #<$c000 sta.z rom_get_github_commit_id.from lda #>$c000 sta.z rom_get_github_commit_id.from+1 jsr rom_get_github_commit_id - // main::@123 + // main::@120 // rom_get_release(*((char*)0xFF80)) - // [690] rom_get_release::release#1 = *((char *) 65408) -- vbum1=_deref_pbuc1 + // [683] rom_get_release::release#1 = *((char *) 65408) -- vbum1=_deref_pbuc1 lda $ff80 sta rom_get_release.release - // [691] call rom_get_release - // [1161] phi from main::@123 to rom_get_release [phi:main::@123->rom_get_release] - // [1161] phi rom_get_release::release#4 = rom_get_release::release#1 [phi:main::@123->rom_get_release#0] -- register_copy + // [684] call rom_get_release + // [1135] phi from main::@120 to rom_get_release [phi:main::@120->rom_get_release] + // [1135] phi rom_get_release::release#4 = rom_get_release::release#1 [phi:main::@120->rom_get_release#0] -- register_copy jsr rom_get_release // rom_get_release(*((char*)0xFF80)) - // [692] rom_get_release::return#2 = rom_get_release::return#0 - // main::@124 - // [693] main::$103 = rom_get_release::return#2 + // [685] rom_get_release::return#2 = rom_get_release::return#0 + // main::@121 + // [686] main::$102 = rom_get_release::return#2 // rom_release[rom_chip] = rom_get_release(*((char*)0xFF80)) - // [694] rom_release[main::rom_chip1#10] = main::$103 -- pbuc1_derefidx_vbum1=vbum2 - lda main__103 + // [687] rom_release[main::rom_chip1#10] = main::$102 -- pbuc1_derefidx_vbum1=vbum2 + lda main__102 ldy rom_chip1 sta rom_release,y // rom_get_prefix(*((char*)0xFF80)) - // [695] rom_get_prefix::release#0 = *((char *) 65408) -- vbuz1=_deref_pbuc1 + // [688] rom_get_prefix::release#0 = *((char *) 65408) -- vbum1=_deref_pbuc1 lda $ff80 - sta.z rom_get_prefix.release - // [696] call rom_get_prefix - // [1168] phi from main::@124 to rom_get_prefix [phi:main::@124->rom_get_prefix] - // [1168] phi rom_get_prefix::release#4 = rom_get_prefix::release#0 [phi:main::@124->rom_get_prefix#0] -- register_copy + sta rom_get_prefix.release + // [689] call rom_get_prefix + // [1142] phi from main::@121 to rom_get_prefix [phi:main::@121->rom_get_prefix] + // [1142] phi rom_get_prefix::release#4 = rom_get_prefix::release#0 [phi:main::@121->rom_get_prefix#0] -- register_copy jsr rom_get_prefix // rom_get_prefix(*((char*)0xFF80)) - // [697] rom_get_prefix::return#2 = rom_get_prefix::return#0 - // main::@125 - // [698] main::$104 = rom_get_prefix::return#2 + // [690] rom_get_prefix::return#2 = rom_get_prefix::return#0 + // main::@122 + // [691] main::$103 = rom_get_prefix::return#2 // rom_prefix[rom_chip] = rom_get_prefix(*((char*)0xFF80)) - // [699] rom_prefix[main::rom_chip1#10] = main::$104 -- pbuc1_derefidx_vbum1=vbum2 - lda main__104 + // [692] rom_prefix[main::rom_chip1#10] = main::$103 -- pbuc1_derefidx_vbum1=vbum2 + lda main__103 ldy rom_chip1 sta rom_prefix,y // rom_chip*13 - // [700] main::$323 = main::rom_chip1#10 << 1 -- vbuz1=vbum2_rol_1 + // [693] main::$322 = main::rom_chip1#10 << 1 -- vbuz1=vbum2_rol_1 tya asl - sta.z main__323 - // [701] main::$324 = main::$323 + main::rom_chip1#10 -- vbuz1=vbuz1_plus_vbum2 + sta.z main__322 + // [694] main::$323 = main::$322 + main::rom_chip1#10 -- vbuz1=vbuz1_plus_vbum2 tya clc - adc.z main__324 - sta.z main__324 - // [702] main::$325 = main::$324 << 2 -- vbuz1=vbuz1_rol_2 - lda.z main__325 + adc.z main__323 + sta.z main__323 + // [695] main::$324 = main::$323 << 2 -- vbuz1=vbuz1_rol_2 + lda.z main__324 asl asl - sta.z main__325 - // [703] main::$105 = main::$325 + main::rom_chip1#10 -- vbuz1=vbuz1_plus_vbum2 + sta.z main__324 + // [696] main::$104 = main::$324 + main::rom_chip1#10 -- vbuz1=vbuz1_plus_vbum2 tya clc - adc.z main__105 - sta.z main__105 + adc.z main__104 + sta.z main__104 // rom_get_version_text(&rom_release_text[rom_chip*13], rom_prefix[rom_chip], rom_release[rom_chip], &rom_github[rom_chip*8]) - // [704] rom_get_version_text::release_info#0 = rom_release_text + main::$105 -- pbuz1=pbuc1_plus_vbuz2 + // [697] rom_get_version_text::release_info#0 = rom_release_text + main::$104 -- pbuz1=pbuc1_plus_vbuz2 clc adc #rom_release_text adc #0 sta.z rom_get_version_text.release_info+1 - // [705] rom_get_version_text::github#0 = rom_github + main::$107 -- pbuz1=pbuc1_plus_vbuz2 - lda.z main__107 + // [698] rom_get_version_text::github#0 = rom_github + main::$106 -- pbuz1=pbuc1_plus_vbuz2 + lda.z main__106 clc adc #rom_github adc #0 sta.z rom_get_version_text.github+1 - // [706] rom_get_version_text::prefix#0 = rom_prefix[main::rom_chip1#10] -- vbum1=pbuc1_derefidx_vbum2 + // [699] rom_get_version_text::prefix#0 = rom_prefix[main::rom_chip1#10] -- vbum1=pbuc1_derefidx_vbum2 lda rom_prefix,y sta rom_get_version_text.prefix - // [707] rom_get_version_text::release#0 = rom_release[main::rom_chip1#10] -- vbum1=pbuc1_derefidx_vbum2 + // [700] rom_get_version_text::release#0 = rom_release[main::rom_chip1#10] -- vbum1=pbuc1_derefidx_vbum2 lda rom_release,y sta rom_get_version_text.release - // [708] call rom_get_version_text - // [1795] phi from main::@125 to rom_get_version_text [phi:main::@125->rom_get_version_text] - // [1795] phi rom_get_version_text::github#2 = rom_get_version_text::github#0 [phi:main::@125->rom_get_version_text#0] -- register_copy - // [1795] phi rom_get_version_text::release#2 = rom_get_version_text::release#0 [phi:main::@125->rom_get_version_text#1] -- register_copy - // [1795] phi rom_get_version_text::prefix#2 = rom_get_version_text::prefix#0 [phi:main::@125->rom_get_version_text#2] -- register_copy - // [1795] phi rom_get_version_text::release_info#2 = rom_get_version_text::release_info#0 [phi:main::@125->rom_get_version_text#3] -- register_copy + // [701] call rom_get_version_text + // [1783] phi from main::@122 to rom_get_version_text [phi:main::@122->rom_get_version_text] + // [1783] phi rom_get_version_text::github#2 = rom_get_version_text::github#0 [phi:main::@122->rom_get_version_text#0] -- register_copy + // [1783] phi rom_get_version_text::release#2 = rom_get_version_text::release#0 [phi:main::@122->rom_get_version_text#1] -- register_copy + // [1783] phi rom_get_version_text::prefix#2 = rom_get_version_text::prefix#0 [phi:main::@122->rom_get_version_text#2] -- register_copy + // [1783] phi rom_get_version_text::release_info#2 = rom_get_version_text::release_info#0 [phi:main::@122->rom_get_version_text#3] -- register_copy jsr rom_get_version_text - // main::@126 + // main::@123 // display_info_rom(rom_chip, STATUS_DETECTED, "") - // [709] display_info_rom::rom_chip#5 = main::rom_chip1#10 -- vbuz1=vbum2 + // [702] display_info_rom::rom_chip#5 = main::rom_chip1#10 -- vbuz1=vbum2 lda rom_chip1 sta.z display_info_rom.rom_chip - // [710] call display_info_rom - // [1282] phi from main::@126 to display_info_rom [phi:main::@126->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = info_text4 [phi:main::@126->display_info_rom#0] -- pbuz1=pbuc1 + // [703] call display_info_rom + // [1270] phi from main::@123 to display_info_rom [phi:main::@123->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = info_text4 [phi:main::@123->display_info_rom#0] -- pbuz1=pbuc1 lda #info_text4 sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#5 [phi:main::@126->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_DETECTED [phi:main::@126->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#5 [phi:main::@123->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_DETECTED [phi:main::@123->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_DETECTED - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom jmp __b23 - // [711] phi from main::@17 to main::@20 [phi:main::@17->main::@20] + // [704] phi from main::@17 to main::@20 [phi:main::@17->main::@20] // main::@20 __b20: // sprintf(info_text, "Bootloader v%02x invalid! !", smc_bootloader) - // [712] call snprintf_init - // [1011] phi from main::@20 to snprintf_init [phi:main::@20->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:main::@20->snprintf_init#0] -- pbuz1=pbuc1 + // [705] call snprintf_init + // [1151] phi from main::@20 to snprintf_init [phi:main::@20->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:main::@20->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [713] phi from main::@20 to main::@106 [phi:main::@20->main::@106] + // [706] phi from main::@20 to main::@106 [phi:main::@20->main::@106] // main::@106 // sprintf(info_text, "Bootloader v%02x invalid! !", smc_bootloader) - // [714] call printf_str - // [1016] phi from main::@106 to printf_str [phi:main::@106->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@106->printf_str#0] -- pprz1=pprc1 + // [707] call printf_str + // [1156] phi from main::@106 to printf_str [phi:main::@106->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@106->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s2 [phi:main::@106->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = main::s2 [phi:main::@106->printf_str#1] -- pbuz1=pbuc1 lda #s2 @@ -4446,35 +4466,40 @@ main: { jsr printf_str // main::@107 // sprintf(info_text, "Bootloader v%02x invalid! !", smc_bootloader) - // [715] printf_uint::uvalue#12 = smc_bootloader#0 -- vwuz1=vwum2 + // [708] printf_uint::uvalue#13 = smc_bootloader#0 -- vwuz1=vwum2 lda smc_bootloader sta.z printf_uint.uvalue lda smc_bootloader+1 sta.z printf_uint.uvalue+1 - // [716] call printf_uint - // [1025] phi from main::@107 to printf_uint [phi:main::@107->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:main::@107->printf_uint#0] -- vbuz1=vbuc1 + // [709] call printf_uint + // [1810] phi from main::@107 to printf_uint [phi:main::@107->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:main::@107->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 2 [phi:main::@107->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 2 [phi:main::@107->printf_uint#1] -- vbuz1=vbuc1 lda #2 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:main::@107->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:main::@107->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:main::@107->printf_uint#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#12 [phi:main::@107->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#13 [phi:main::@107->printf_uint#4] -- register_copy jsr printf_uint - // [717] phi from main::@107 to main::@108 [phi:main::@107->main::@108] + // [710] phi from main::@107 to main::@108 [phi:main::@107->main::@108] // main::@108 // sprintf(info_text, "Bootloader v%02x invalid! !", smc_bootloader) - // [718] call printf_str - // [1016] phi from main::@108 to printf_str [phi:main::@108->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:main::@108->printf_str#0] -- pprz1=pprc1 + // [711] call printf_str + // [1156] phi from main::@108 to printf_str [phi:main::@108->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:main::@108->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = main::s3 [phi:main::@108->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = main::s3 [phi:main::@108->printf_str#1] -- pbuz1=pbuc1 lda #s3 @@ -4482,95 +4507,111 @@ main: { jsr printf_str // main::@109 // sprintf(info_text, "Bootloader v%02x invalid! !", smc_bootloader) - // [719] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [712] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [720] callexecute snputc -- call_vprc1 + // [713] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla + // [715] smc_bootloader#466 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_ISSUE, info_text) - // [722] call display_info_smc - // [914] phi from main::@109 to display_info_smc [phi:main::@109->display_info_smc] - // [914] phi display_info_smc::info_text#18 = info_text [phi:main::@109->display_info_smc#0] -- pbuz1=pbuc1 + // [716] call display_info_smc + // [908] phi from main::@109 to display_info_smc [phi:main::@109->display_info_smc] + // [908] phi display_info_smc::info_text#18 = info_text [phi:main::@109->display_info_smc#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_info_smc.info_text lda #>@info_text sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@109->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#466 [phi:main::@109->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@109->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_ISSUE - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // [723] phi from main::@109 to main::@110 [phi:main::@109->main::@110] + // [717] phi from main::@109 to main::@110 [phi:main::@109->main::@110] // main::@110 // display_progress_text(display_no_valid_smc_bootloader_text, display_no_valid_smc_bootloader_count) - // [724] call display_progress_text + // [718] call display_progress_text // Bootloader is not supported by this utility, but is not error. - // [1085] phi from main::@110 to display_progress_text [phi:main::@110->display_progress_text] - // [1085] phi display_progress_text::text#12 = display_no_valid_smc_bootloader_text [phi:main::@110->display_progress_text#0] -- qbuz1=qbuc1 + // [1059] phi from main::@110 to display_progress_text [phi:main::@110->display_progress_text] + // [1059] phi display_progress_text::text#12 = display_no_valid_smc_bootloader_text [phi:main::@110->display_progress_text#0] -- qbuz1=qbuc1 lda #display_no_valid_smc_bootloader_text sta.z display_progress_text.text+1 - // [1085] phi display_progress_text::lines#11 = display_no_valid_smc_bootloader_count [phi:main::@110->display_progress_text#1] -- vbuz1=vbuc1 + // [1059] phi display_progress_text::lines#11 = display_no_valid_smc_bootloader_count [phi:main::@110->display_progress_text#1] -- vbuz1=vbuc1 lda #display_no_valid_smc_bootloader_count sta.z display_progress_text.lines jsr display_progress_text - // [140] phi from main::@105 main::@110 main::@19 to main::@2 [phi:main::@105/main::@110/main::@19->main::@2] + // [132] phi from main::@105 main::@110 main::@19 to main::@2 [phi:main::@105/main::@110/main::@19->main::@2] __b12: - // [140] phi smc_minor#398 = 0 [phi:main::@105/main::@110/main::@19->main::@2#0] -- vbum1=vbuc1 + // [132] phi smc_minor#398 = 0 [phi:main::@105/main::@110/main::@19->main::@2#0] -- vbum1=vbuc1 lda #0 sta smc_minor - // [140] phi smc_major#399 = 0 [phi:main::@105/main::@110/main::@19->main::@2#1] -- vbum1=vbuc1 + // [132] phi smc_major#399 = 0 [phi:main::@105/main::@110/main::@19->main::@2#1] -- vbum1=vbuc1 sta smc_major - // [140] phi smc_release#400 = 0 [phi:main::@105/main::@110/main::@19->main::@2#2] -- vbum1=vbuc1 + // [132] phi smc_release#400 = 0 [phi:main::@105/main::@110/main::@19->main::@2#2] -- vbum1=vbuc1 sta smc_release jmp __b2 - // [725] phi from main::@16 to main::@19 [phi:main::@16->main::@19] // main::@19 __b19: + // [719] smc_bootloader#475 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_ERROR, "SMC Unreachable!") - // [726] call display_info_smc + // [720] call display_info_smc // SD-2 | SMC chip not detected | Display that the SMC chip is not detected and set SMC to Error. | Error - // [914] phi from main::@19 to display_info_smc [phi:main::@19->display_info_smc] - // [914] phi display_info_smc::info_text#18 = main::info_text2 [phi:main::@19->display_info_smc#0] -- pbuz1=pbuc1 + // [908] phi from main::@19 to display_info_smc [phi:main::@19->display_info_smc] + // [908] phi display_info_smc::info_text#18 = main::info_text2 [phi:main::@19->display_info_smc#0] -- pbuz1=pbuc1 lda #info_text2 sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_ERROR [phi:main::@19->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#475 [phi:main::@19->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_ERROR [phi:main::@19->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_ERROR - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc jmp __b12 - // [727] phi from main::@104 to main::@1 [phi:main::@104->main::@1] // main::@1 __b1: + // [721] smc_bootloader#464 = smc_bootloader#0 -- vwum1=vwum2 + lda smc_bootloader + sta smc_bootloader_1 + lda smc_bootloader+1 + sta smc_bootloader_1+1 // display_info_smc(STATUS_ISSUE, "No Bootloader!") - // [728] call display_info_smc + // [722] call display_info_smc // SD-1 | No Bootloader | Display that there is no bootloader and set SMC to Issue. | Issue - // [914] phi from main::@1 to display_info_smc [phi:main::@1->display_info_smc] - // [914] phi display_info_smc::info_text#18 = main::info_text1 [phi:main::@1->display_info_smc#0] -- pbuz1=pbuc1 + // [908] phi from main::@1 to display_info_smc [phi:main::@1->display_info_smc] + // [908] phi display_info_smc::info_text#18 = main::info_text1 [phi:main::@1->display_info_smc#0] -- pbuz1=pbuc1 lda #info_text1 sta.z display_info_smc.info_text+1 - // [914] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@1->display_info_smc#1] -- vbuz1=vbuc1 + // [908] phi smc_bootloader#13 = smc_bootloader#464 [phi:main::@1->display_info_smc#1] -- register_copy + // [908] phi display_info_smc::info_status#18 = STATUS_ISSUE [phi:main::@1->display_info_smc#2] -- vbum1=vbuc1 lda #STATUS_ISSUE - sta.z display_info_smc.info_status + sta display_info_smc.info_status jsr display_info_smc - // [729] phi from main::@1 to main::@105 [phi:main::@1->main::@105] + // [723] phi from main::@1 to main::@105 [phi:main::@1->main::@105] // main::@105 // display_progress_text(display_no_valid_smc_bootloader_text, display_no_valid_smc_bootloader_count) - // [730] call display_progress_text + // [724] call display_progress_text // If the CX16 board does not have a bootloader, display info how to flash bootloader. - // [1085] phi from main::@105 to display_progress_text [phi:main::@105->display_progress_text] - // [1085] phi display_progress_text::text#12 = display_no_valid_smc_bootloader_text [phi:main::@105->display_progress_text#0] -- qbuz1=qbuc1 + // [1059] phi from main::@105 to display_progress_text [phi:main::@105->display_progress_text] + // [1059] phi display_progress_text::text#12 = display_no_valid_smc_bootloader_text [phi:main::@105->display_progress_text#0] -- qbuz1=qbuc1 lda #display_no_valid_smc_bootloader_text sta.z display_progress_text.text+1 - // [1085] phi display_progress_text::lines#11 = display_no_valid_smc_bootloader_count [phi:main::@105->display_progress_text#1] -- vbuz1=vbuc1 + // [1059] phi display_progress_text::lines#11 = display_no_valid_smc_bootloader_count [phi:main::@105->display_progress_text#1] -- vbuz1=vbuc1 lda #display_no_valid_smc_bootloader_count sta.z display_progress_text.lines jsr display_progress_text @@ -4578,37 +4619,37 @@ main: { // main::@14 __b14: // rom_chip*13 - // [731] main::$319 = main::rom_chip#2 << 1 -- vbuz1=vbum2_rol_1 + // [725] main::$318 = main::rom_chip#2 << 1 -- vbuz1=vbum2_rol_1 lda rom_chip asl - sta.z main__319 - // [732] main::$320 = main::$319 + main::rom_chip#2 -- vbuz1=vbuz1_plus_vbum2 + sta.z main__318 + // [726] main::$319 = main::$318 + main::rom_chip#2 -- vbuz1=vbuz1_plus_vbum2 lda rom_chip clc - adc.z main__320 - sta.z main__320 - // [733] main::$321 = main::$320 << 2 -- vbuz1=vbuz1_rol_2 - lda.z main__321 + adc.z main__319 + sta.z main__319 + // [727] main::$320 = main::$319 << 2 -- vbuz1=vbuz1_rol_2 + lda.z main__320 asl asl - sta.z main__321 - // [734] main::$79 = main::$321 + main::rom_chip#2 -- vbuz1=vbuz1_plus_vbum2 + sta.z main__320 + // [728] main::$79 = main::$320 + main::rom_chip#2 -- vbuz1=vbuz1_plus_vbum2 lda rom_chip clc adc.z main__79 sta.z main__79 // strcpy(&rom_release_text[rom_chip*13], " " ) - // [735] strcpy::destination#1 = rom_release_text + main::$79 -- pbuz1=pbuc1_plus_vbuz2 + // [729] strcpy::destination#1 = rom_release_text + main::$79 -- pbuz1=pbuc1_plus_vbuz2 clc adc #rom_release_text adc #0 sta.z strcpy.destination+1 - // [736] call strcpy - // [981] phi from main::@14 to strcpy [phi:main::@14->strcpy] - // [981] phi strcpy::dst#0 = strcpy::destination#1 [phi:main::@14->strcpy#0] -- register_copy - // [981] phi strcpy::src#0 = main::source [phi:main::@14->strcpy#1] -- pbuz1=pbuc1 + // [730] call strcpy + // [979] phi from main::@14 to strcpy [phi:main::@14->strcpy] + // [979] phi strcpy::dst#0 = strcpy::destination#1 [phi:main::@14->strcpy#0] -- register_copy + // [979] phi strcpy::src#0 = main::source [phi:main::@14->strcpy#1] -- pbuz1=pbuc1 lda #source @@ -4616,23 +4657,23 @@ main: { jsr strcpy // main::@100 // display_info_rom(rom_chip, STATUS_NONE, NULL) - // [737] display_info_rom::rom_chip#4 = main::rom_chip#2 -- vbuz1=vbum2 + // [731] display_info_rom::rom_chip#4 = main::rom_chip#2 -- vbuz1=vbum2 lda rom_chip sta.z display_info_rom.rom_chip - // [738] call display_info_rom - // [1282] phi from main::@100 to display_info_rom [phi:main::@100->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = 0 [phi:main::@100->display_info_rom#0] -- pbuz1=vbuc1 + // [732] call display_info_rom + // [1270] phi from main::@100 to display_info_rom [phi:main::@100->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = 0 [phi:main::@100->display_info_rom#0] -- pbuz1=vbuc1 lda #<0 sta.z display_info_rom.info_text sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#4 [phi:main::@100->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_NONE [phi:main::@100->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#4 [phi:main::@100->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_NONE [phi:main::@100->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_NONE - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom // main::@101 // for(unsigned char rom_chip=0; rom_chip<8; rom_chip++) - // [739] main::rom_chip#1 = ++ main::rom_chip#2 -- vbum1=_inc_vbum1 + // [733] main::rom_chip#1 = ++ main::rom_chip#2 -- vbum1=_inc_vbum1 inc rom_chip // [99] phi from main::@101 to main::@13 [phi:main::@101->main::@13] // [99] phi main::rom_chip#2 = main::rom_chip#1 [phi:main::@101->main::@13#0] -- register_copy @@ -4646,7 +4687,7 @@ main: { .byte 0 s: .text "# Chip Status Type Curr. Release Update Info" .byte 0 - s1: .text "- ---- --------- ------ ------------- --------------------" + s1: .text "- ---- --------- ------ ------------- --------------------------" .byte 0 info_text: .text "Introduction ..." .byte 0 @@ -4662,25 +4703,23 @@ main: { .byte 0 s3: .text " invalid! !" .byte 0 - s4: .text "BL:v" - .byte 0 info_text3: .text "VERA installed, OK" .byte 0 info_text5: .text "No SMC.BIN!" .byte 0 info_text6: .text "SMC.BIN too large!" .byte 0 - s5: .text "SMC.BIN:" + s4: .text "SMC.BIN:" .byte 0 - s6: .text "Checking " + s5: .text "Checking " .byte 0 - s7: .text " ... (.) data ( ) empty" + s6: .text " ... (.) data ( ) empty" .byte 0 - s8: .text "No " + s7: .text "No " .byte 0 - s9: .text "File " + s8: .text "File " .byte 0 - s10: .text " size error!" + s9: .text " size error!" .byte 0 info_text7: .text "SMC update issue!" .byte 0 @@ -4708,7 +4747,7 @@ main: { .byte 0 filter1: .text "nyNY" .byte 0 - main__299: .text "nN" + main__298: .text "nN" .byte 0 info_text19: .text "Cancelled" .byte 0 @@ -4728,9 +4767,9 @@ main: { .byte 0 info_text31: .text "No update required" .byte 0 - s14: .text " differences!" + s13: .text " differences!" .byte 0 - s15: .text " flash errors!" + s14: .text " flash errors!" .byte 0 info_text32: .text "OK!" .byte 0 @@ -4744,32 +4783,33 @@ main: { .byte 0 info_text37: .text "Your CX16 update is a success!" .byte 0 - s16: .text "(" + s15: .text "(" .byte 0 - s17: .text ") Please read carefully the below ..." + s16: .text ") Please read carefully the below ..." .byte 0 - s18: .text "Please disconnect your CX16 from power source ..." + s17: .text "Please disconnect your CX16 from power source ..." .byte 0 - s20: .text ") Your CX16 will reset ..." + s19: .text ") Your CX16 will reset ..." .byte 0 .label main__52 = smc_supported_rom.return - .label main__103 = rom_get_release.return - .label main__104 = rom_get_prefix.return - main__273: .byte 0 - main__275: .byte 0 - check_status_cx16_rom2_check_status_rom1_main__0: .byte 0 + .label main__102 = rom_get_release.return + .label main__103 = rom_get_prefix.return + main__272: .byte 0 + main__274: .byte 0 + check_status_smc2_main__0: .byte 0 + check_status_smc4_main__0: .byte 0 check_status_cx16_rom3_check_status_rom1_main__0: .byte 0 check_status_smc5_main__0: .byte 0 - check_status_vera1_main__0: .byte 0 check_status_smc7_main__0: .byte 0 check_status_vera3_main__0: .byte 0 - check_status_roms_all1_check_status_rom1_main__0: .byte 0 - check_status_smc8_main__0: .byte 0 check_status_card_roms1_check_status_rom1_main__0: .byte 0 - check_status_roms3_check_status_rom1_main__0: .byte 0 + check_status_vera4_main__0: .byte 0 + check_status_smc12_main__0: .byte 0 + check_status_vera5_main__0: .byte 0 rom_chip: .byte 0 rom_chip1: .byte 0 intro_status: .byte 0 + .label check_status_smc2_return = check_status_smc2_main__0 rom_chip2: .byte 0 rom_bank: .byte 0 file: .word 0 @@ -4777,10 +4817,9 @@ main: { rom_file_modulo: .dword 0 .label rom_file_release = rom_get_release.return .label rom_file_prefix = rom_get_prefix.return - .label check_status_cx16_rom2_check_status_rom1_return = check_status_cx16_rom2_check_status_rom1_main__0 + .label check_status_smc4_return = check_status_smc4_main__0 .label check_status_cx16_rom3_check_status_rom1_return = check_status_cx16_rom3_check_status_rom1_main__0 .label check_status_smc5_return = check_status_smc5_main__0 - .label check_status_vera1_return = check_status_vera1_main__0 check_status_roms1_rom_chip: .byte 0 check_status_roms1_return: .byte 0 check_status_roms2_rom_chip: .byte 0 @@ -4788,14 +4827,11 @@ main: { .label ch = util_wait_key.return .label check_status_smc7_return = check_status_smc7_main__0 .label check_status_vera3_return = check_status_vera3_main__0 - .label check_status_roms_all1_check_status_rom1_return = check_status_roms_all1_check_status_rom1_main__0 check_status_roms_all1_rom_chip: .byte 0 check_status_roms_all1_return: .byte 0 - .label check_status_smc8_return = check_status_smc8_main__0 .label check_status_card_roms1_check_status_rom1_return = check_status_card_roms1_check_status_rom1_main__0 check_status_card_roms1_rom_chip: .byte 0 check_status_card_roms1_return: .byte 0 - .label ch1 = strchr.c rom_chip3: .byte 0 .label flashed_bytes = smc_flash.return rom_chip4: .byte 0 @@ -4803,9 +4839,11 @@ main: { .label file1 = rom_file.return .label rom_bytes_read1 = rom_read.return rom_flash_errors: .dword 0 - .label check_status_roms3_check_status_rom1_return = check_status_roms3_check_status_rom1_main__0 + .label check_status_vera4_return = check_status_vera4_main__0 check_status_roms3_rom_chip: .byte 0 check_status_roms3_return: .byte 0 + .label check_status_smc12_return = check_status_smc12_main__0 + .label check_status_vera5_return = check_status_vera5_main__0 check_status_roms4_rom_chip: .byte 0 check_status_roms4_return: .byte 0 w: .byte 0 @@ -4816,17 +4854,17 @@ main: { // Set the layer with which the conio will interact. screenlayer1: { // screenlayer(1, *VERA_L1_MAPBASE, *VERA_L1_CONFIG) - // [740] screenlayer::mapbase#0 = *VERA_L1_MAPBASE -- vbuz1=_deref_pbuc1 + // [734] screenlayer::mapbase#0 = *VERA_L1_MAPBASE -- vbuz1=_deref_pbuc1 lda VERA_L1_MAPBASE sta.z screenlayer.mapbase - // [741] screenlayer::config#0 = *VERA_L1_CONFIG -- vbuz1=_deref_pbuc1 + // [735] screenlayer::config#0 = *VERA_L1_CONFIG -- vbuz1=_deref_pbuc1 lda VERA_L1_CONFIG sta.z screenlayer.config - // [742] call screenlayer + // [736] call screenlayer jsr screenlayer // screenlayer1::@return // } - // [743] return + // [737] return rts } // textcolor @@ -4836,25 +4874,25 @@ screenlayer1: { // Note that on the VERA, the transparent color has value 0. // char textcolor(__zp($e0) char color) textcolor: { - .label textcolor__0 = $e5 + .label textcolor__0 = $e4 .label textcolor__1 = $e0 .label color = $e0 // __conio.color & 0xF0 - // [745] textcolor::$0 = *((char *)&__conio+$d) & $f0 -- vbuz1=_deref_pbuc1_band_vbuc2 + // [739] textcolor::$0 = *((char *)&__conio+$d) & $f0 -- vbuz1=_deref_pbuc1_band_vbuc2 lda #$f0 and __conio+$d sta.z textcolor__0 // __conio.color & 0xF0 | color - // [746] textcolor::$1 = textcolor::$0 | textcolor::color#18 -- vbuz1=vbuz2_bor_vbuz1 + // [740] textcolor::$1 = textcolor::$0 | textcolor::color#18 -- vbuz1=vbuz2_bor_vbuz1 lda.z textcolor__1 ora.z textcolor__0 sta.z textcolor__1 // __conio.color = __conio.color & 0xF0 | color - // [747] *((char *)&__conio+$d) = textcolor::$1 -- _deref_pbuc1=vbuz1 + // [741] *((char *)&__conio+$d) = textcolor::$1 -- _deref_pbuc1=vbuz1 sta __conio+$d // textcolor::@return // } - // [748] return + // [742] return rts } // bgcolor @@ -4869,12 +4907,12 @@ bgcolor: { .label bgcolor__2 = $e1 .label color = $e0 // __conio.color & 0x0F - // [750] bgcolor::$0 = *((char *)&__conio+$d) & $f -- vbuz1=_deref_pbuc1_band_vbuc2 + // [744] bgcolor::$0 = *((char *)&__conio+$d) & $f -- vbuz1=_deref_pbuc1_band_vbuc2 lda #$f and __conio+$d sta.z bgcolor__0 // color << 4 - // [751] bgcolor::$1 = bgcolor::color#14 << 4 -- vbuz1=vbuz1_rol_4 + // [745] bgcolor::$1 = bgcolor::color#14 << 4 -- vbuz1=vbuz1_rol_4 lda.z bgcolor__1 asl asl @@ -4882,16 +4920,16 @@ bgcolor: { asl sta.z bgcolor__1 // __conio.color & 0x0F | color << 4 - // [752] bgcolor::$2 = bgcolor::$0 | bgcolor::$1 -- vbuz1=vbuz1_bor_vbuz2 + // [746] bgcolor::$2 = bgcolor::$0 | bgcolor::$1 -- vbuz1=vbuz1_bor_vbuz2 lda.z bgcolor__2 ora.z bgcolor__1 sta.z bgcolor__2 // __conio.color = __conio.color & 0x0F | color << 4 - // [753] *((char *)&__conio+$d) = bgcolor::$2 -- _deref_pbuc1=vbuz1 + // [747] *((char *)&__conio+$d) = bgcolor::$2 -- _deref_pbuc1=vbuz1 sta __conio+$d // bgcolor::@return // } - // [754] return + // [748] return rts } // cursor @@ -4902,12 +4940,12 @@ bgcolor: { cursor: { .const onoff = 0 // __conio.cursor = onoff - // [755] *((char *)&__conio+$c) = cursor::onoff#0 -- _deref_pbuc1=vbuc2 + // [749] *((char *)&__conio+$c) = cursor::onoff#0 -- _deref_pbuc1=vbuc2 lda #onoff sta __conio+$c // cursor::@return // } - // [756] return + // [750] return rts } // cbm_k_plot_get @@ -4917,11 +4955,11 @@ cursor: { */ cbm_k_plot_get: { // __mem unsigned char x - // [757] cbm_k_plot_get::x = 0 -- vbum1=vbuc1 + // [751] cbm_k_plot_get::x = 0 -- vbum1=vbuc1 lda #0 sta x // __mem unsigned char y - // [758] cbm_k_plot_get::y = 0 -- vbum1=vbuc1 + // [752] cbm_k_plot_get::y = 0 -- vbum1=vbuc1 sta y // kickasm // kickasm( uses cbm_k_plot_get::x uses cbm_k_plot_get::y uses CBM_PLOT) {{ sec jsr CBM_PLOT stx y sty x }} @@ -4931,14 +4969,14 @@ cbm_k_plot_get: { sty x // MAKEWORD(x,y) - // [760] cbm_k_plot_get::return#0 = cbm_k_plot_get::x w= cbm_k_plot_get::y -- vwum1=vbum2_word_vbum3 + // [754] cbm_k_plot_get::return#0 = cbm_k_plot_get::x w= cbm_k_plot_get::y -- vwum1=vbum2_word_vbum3 lda x sta return+1 lda y sta return // cbm_k_plot_get::@return // } - // [761] return + // [755] return rts .segment Data x: .byte 0 @@ -4961,49 +4999,49 @@ gotoxy: { .label y = $49 .label gotoxy__14 = $47 // (x>=__conio.width)?__conio.width:x - // [763] if(gotoxy::x#30>=*((char *)&__conio+6)) goto gotoxy::@1 -- vbuz1_ge__deref_pbuc1_then_la1 + // [757] if(gotoxy::x#30>=*((char *)&__conio+6)) goto gotoxy::@1 -- vbuz1_ge__deref_pbuc1_then_la1 lda.z x cmp __conio+6 bcs __b1 - // [765] phi from gotoxy gotoxy::@1 to gotoxy::@2 [phi:gotoxy/gotoxy::@1->gotoxy::@2] - // [765] phi gotoxy::$3 = gotoxy::x#30 [phi:gotoxy/gotoxy::@1->gotoxy::@2#0] -- register_copy + // [759] phi from gotoxy gotoxy::@1 to gotoxy::@2 [phi:gotoxy/gotoxy::@1->gotoxy::@2] + // [759] phi gotoxy::$3 = gotoxy::x#30 [phi:gotoxy/gotoxy::@1->gotoxy::@2#0] -- register_copy jmp __b2 // gotoxy::@1 __b1: - // [764] gotoxy::$2 = *((char *)&__conio+6) -- vbuz1=_deref_pbuc1 + // [758] gotoxy::$2 = *((char *)&__conio+6) -- vbuz1=_deref_pbuc1 lda __conio+6 sta.z gotoxy__2 // gotoxy::@2 __b2: // __conio.cursor_x = (x>=__conio.width)?__conio.width:x - // [766] *((char *)&__conio) = gotoxy::$3 -- _deref_pbuc1=vbuz1 + // [760] *((char *)&__conio) = gotoxy::$3 -- _deref_pbuc1=vbuz1 lda.z gotoxy__3 sta __conio // (y>=__conio.height)?__conio.height:y - // [767] if(gotoxy::y#30>=*((char *)&__conio+7)) goto gotoxy::@3 -- vbuz1_ge__deref_pbuc1_then_la1 + // [761] if(gotoxy::y#30>=*((char *)&__conio+7)) goto gotoxy::@3 -- vbuz1_ge__deref_pbuc1_then_la1 lda.z y cmp __conio+7 bcs __b3 // gotoxy::@4 - // [768] gotoxy::$14 = gotoxy::y#30 -- vbuz1=vbuz2 + // [762] gotoxy::$14 = gotoxy::y#30 -- vbuz1=vbuz2 sta.z gotoxy__14 - // [769] phi from gotoxy::@3 gotoxy::@4 to gotoxy::@5 [phi:gotoxy::@3/gotoxy::@4->gotoxy::@5] - // [769] phi gotoxy::$7 = gotoxy::$6 [phi:gotoxy::@3/gotoxy::@4->gotoxy::@5#0] -- register_copy + // [763] phi from gotoxy::@3 gotoxy::@4 to gotoxy::@5 [phi:gotoxy::@3/gotoxy::@4->gotoxy::@5] + // [763] phi gotoxy::$7 = gotoxy::$6 [phi:gotoxy::@3/gotoxy::@4->gotoxy::@5#0] -- register_copy // gotoxy::@5 __b5: // __conio.cursor_y = (y>=__conio.height)?__conio.height:y - // [770] *((char *)&__conio+1) = gotoxy::$7 -- _deref_pbuc1=vbuz1 + // [764] *((char *)&__conio+1) = gotoxy::$7 -- _deref_pbuc1=vbuz1 lda.z gotoxy__7 sta __conio+1 // __conio.cursor_x << 1 - // [771] gotoxy::$8 = *((char *)&__conio) << 1 -- vbuz1=_deref_pbuc1_rol_1 + // [765] gotoxy::$8 = *((char *)&__conio) << 1 -- vbuz1=_deref_pbuc1_rol_1 lda __conio asl sta.z gotoxy__8 // __conio.offsets[y] + __conio.cursor_x << 1 - // [772] gotoxy::$10 = gotoxy::y#30 << 1 -- vbuz1=vbuz1_rol_1 + // [766] gotoxy::$10 = gotoxy::y#30 << 1 -- vbuz1=vbuz1_rol_1 asl.z gotoxy__10 - // [773] gotoxy::$9 = ((unsigned int *)&__conio+$15)[gotoxy::$10] + gotoxy::$8 -- vwuz1=pwuc1_derefidx_vbuz2_plus_vbuz3 + // [767] gotoxy::$9 = ((unsigned int *)&__conio+$15)[gotoxy::$10] + gotoxy::$8 -- vwuz1=pwuc1_derefidx_vbuz2_plus_vbuz3 ldy.z gotoxy__10 clc adc __conio+$15,y @@ -5012,19 +5050,19 @@ gotoxy: { adc #0 sta.z gotoxy__9+1 // __conio.offset = __conio.offsets[y] + __conio.cursor_x << 1 - // [774] *((unsigned int *)&__conio+$13) = gotoxy::$9 -- _deref_pwuc1=vwuz1 + // [768] *((unsigned int *)&__conio+$13) = gotoxy::$9 -- _deref_pwuc1=vwuz1 lda.z gotoxy__9 sta __conio+$13 lda.z gotoxy__9+1 sta __conio+$13+1 // gotoxy::@return // } - // [775] return + // [769] return rts // gotoxy::@3 __b3: // (y>=__conio.height)?__conio.height:y - // [776] gotoxy::$6 = *((char *)&__conio+7) -- vbuz1=_deref_pbuc1 + // [770] gotoxy::$6 = *((char *)&__conio+7) -- vbuz1=_deref_pbuc1 lda __conio+7 sta.z gotoxy__6 jmp __b5 @@ -5034,29 +5072,29 @@ gotoxy: { cputln: { .label cputln__2 = $6f // __conio.cursor_x = 0 - // [777] *((char *)&__conio) = 0 -- _deref_pbuc1=vbuc2 + // [771] *((char *)&__conio) = 0 -- _deref_pbuc1=vbuc2 lda #0 sta __conio // __conio.cursor_y++; - // [778] *((char *)&__conio+1) = ++ *((char *)&__conio+1) -- _deref_pbuc1=_inc__deref_pbuc1 + // [772] *((char *)&__conio+1) = ++ *((char *)&__conio+1) -- _deref_pbuc1=_inc__deref_pbuc1 inc __conio+1 // __conio.offset = __conio.offsets[__conio.cursor_y] - // [779] cputln::$2 = *((char *)&__conio+1) << 1 -- vbuz1=_deref_pbuc1_rol_1 + // [773] cputln::$2 = *((char *)&__conio+1) << 1 -- vbuz1=_deref_pbuc1_rol_1 lda __conio+1 asl sta.z cputln__2 - // [780] *((unsigned int *)&__conio+$13) = ((unsigned int *)&__conio+$15)[cputln::$2] -- _deref_pwuc1=pwuc2_derefidx_vbuz1 + // [774] *((unsigned int *)&__conio+$13) = ((unsigned int *)&__conio+$15)[cputln::$2] -- _deref_pwuc1=pwuc2_derefidx_vbuz1 tay lda __conio+$15,y sta __conio+$13 lda __conio+$15+1,y sta __conio+$13+1 // cscroll() - // [781] call cscroll + // [775] call cscroll jsr cscroll // cputln::@return // } - // [782] return + // [776] return rts } // display_frame_init_64 @@ -5069,79 +5107,79 @@ display_frame_init_64: { .const vera_display_set_vstart1_start = $13 .const vera_display_set_vstop1_stop = $db // textcolor(WHITE) - // [784] call textcolor + // [778] call textcolor // Set the charset to lower case. // screenlayer1(); - // [744] phi from display_frame_init_64 to textcolor [phi:display_frame_init_64->textcolor] - // [744] phi textcolor::color#18 = WHITE [phi:display_frame_init_64->textcolor#0] -- vbuz1=vbuc1 + // [738] phi from display_frame_init_64 to textcolor [phi:display_frame_init_64->textcolor] + // [738] phi textcolor::color#18 = WHITE [phi:display_frame_init_64->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [785] phi from display_frame_init_64 to display_frame_init_64::@2 [phi:display_frame_init_64->display_frame_init_64::@2] + // [779] phi from display_frame_init_64 to display_frame_init_64::@2 [phi:display_frame_init_64->display_frame_init_64::@2] // display_frame_init_64::@2 // bgcolor(BLUE) - // [786] call bgcolor - // [749] phi from display_frame_init_64::@2 to bgcolor [phi:display_frame_init_64::@2->bgcolor] - // [749] phi bgcolor::color#14 = BLUE [phi:display_frame_init_64::@2->bgcolor#0] -- vbuz1=vbuc1 + // [780] call bgcolor + // [743] phi from display_frame_init_64::@2 to bgcolor [phi:display_frame_init_64::@2->bgcolor] + // [743] phi bgcolor::color#14 = BLUE [phi:display_frame_init_64::@2->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor - // [787] phi from display_frame_init_64::@2 to display_frame_init_64::@3 [phi:display_frame_init_64::@2->display_frame_init_64::@3] + // [781] phi from display_frame_init_64::@2 to display_frame_init_64::@3 [phi:display_frame_init_64::@2->display_frame_init_64::@3] // display_frame_init_64::@3 // scroll(0) - // [788] call scroll + // [782] call scroll jsr scroll - // [789] phi from display_frame_init_64::@3 to display_frame_init_64::@4 [phi:display_frame_init_64::@3->display_frame_init_64::@4] + // [783] phi from display_frame_init_64::@3 to display_frame_init_64::@4 [phi:display_frame_init_64::@3->display_frame_init_64::@4] // display_frame_init_64::@4 // clrscr() - // [790] call clrscr + // [784] call clrscr jsr clrscr // display_frame_init_64::vera_display_set_hstart1 // *VERA_CTRL |= VERA_DCSEL - // [791] *VERA_CTRL = *VERA_CTRL | VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 + // [785] *VERA_CTRL = *VERA_CTRL | VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 lda #VERA_DCSEL ora VERA_CTRL sta VERA_CTRL // *VERA_DC_HSTART = start - // [792] *VERA_DC_HSTART = display_frame_init_64::vera_display_set_hstart1_start#0 -- _deref_pbuc1=vbuc2 + // [786] *VERA_DC_HSTART = display_frame_init_64::vera_display_set_hstart1_start#0 -- _deref_pbuc1=vbuc2 lda #vera_display_set_hstart1_start sta VERA_DC_HSTART // display_frame_init_64::vera_display_set_hstop1 // *VERA_CTRL |= VERA_DCSEL - // [793] *VERA_CTRL = *VERA_CTRL | VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 + // [787] *VERA_CTRL = *VERA_CTRL | VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 lda #VERA_DCSEL ora VERA_CTRL sta VERA_CTRL // *VERA_DC_HSTOP = stop - // [794] *VERA_DC_HSTOP = display_frame_init_64::vera_display_set_hstop1_stop#0 -- _deref_pbuc1=vbuc2 + // [788] *VERA_DC_HSTOP = display_frame_init_64::vera_display_set_hstop1_stop#0 -- _deref_pbuc1=vbuc2 lda #vera_display_set_hstop1_stop sta VERA_DC_HSTOP // display_frame_init_64::vera_display_set_vstart1 // *VERA_CTRL |= VERA_DCSEL - // [795] *VERA_CTRL = *VERA_CTRL | VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 + // [789] *VERA_CTRL = *VERA_CTRL | VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 lda #VERA_DCSEL ora VERA_CTRL sta VERA_CTRL // *VERA_DC_VSTART = start - // [796] *VERA_DC_VSTART = display_frame_init_64::vera_display_set_vstart1_start#0 -- _deref_pbuc1=vbuc2 + // [790] *VERA_DC_VSTART = display_frame_init_64::vera_display_set_vstart1_start#0 -- _deref_pbuc1=vbuc2 lda #vera_display_set_vstart1_start sta VERA_DC_VSTART // display_frame_init_64::vera_display_set_vstop1 // *VERA_CTRL |= VERA_DCSEL - // [797] *VERA_CTRL = *VERA_CTRL | VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 + // [791] *VERA_CTRL = *VERA_CTRL | VERA_DCSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 lda #VERA_DCSEL ora VERA_CTRL sta VERA_CTRL // *VERA_DC_VSTOP = stop - // [798] *VERA_DC_VSTOP = display_frame_init_64::vera_display_set_vstop1_stop#0 -- _deref_pbuc1=vbuc2 + // [792] *VERA_DC_VSTOP = display_frame_init_64::vera_display_set_vstop1_stop#0 -- _deref_pbuc1=vbuc2 lda #vera_display_set_vstop1_stop sta VERA_DC_VSTOP // display_frame_init_64::@1 // cx16_k_screen_set_charset(3, (char *)0) - // [799] display_frame_init_64::cx16_k_screen_set_charset1_charset = 3 -- vbum1=vbuc1 + // [793] display_frame_init_64::cx16_k_screen_set_charset1_charset = 3 -- vbum1=vbuc1 lda #3 sta cx16_k_screen_set_charset1_charset - // [800] display_frame_init_64::cx16_k_screen_set_charset1_offset = (char *) 0 -- pbum1=pbuc1 + // [794] display_frame_init_64::cx16_k_screen_set_charset1_offset = (char *) 0 -- pbum1=pbuc1 lda #<0 sta cx16_k_screen_set_charset1_offset sta cx16_k_screen_set_charset1_offset+1 @@ -5154,7 +5192,7 @@ display_frame_init_64: { jsr CX16_SCREEN_SET_CHARSET // display_frame_init_64::@return // } - // [802] return + // [796] return rts .segment Data cx16_k_screen_set_charset1_charset: .byte 0 @@ -5167,328 +5205,328 @@ display_frame_init_64: { */ display_frame_draw: { // textcolor(LIGHT_BLUE) - // [804] call textcolor - // [744] phi from display_frame_draw to textcolor [phi:display_frame_draw->textcolor] - // [744] phi textcolor::color#18 = LIGHT_BLUE [phi:display_frame_draw->textcolor#0] -- vbuz1=vbuc1 + // [798] call textcolor + // [738] phi from display_frame_draw to textcolor [phi:display_frame_draw->textcolor] + // [738] phi textcolor::color#18 = LIGHT_BLUE [phi:display_frame_draw->textcolor#0] -- vbuz1=vbuc1 lda #LIGHT_BLUE sta.z textcolor.color jsr textcolor - // [805] phi from display_frame_draw to display_frame_draw::@1 [phi:display_frame_draw->display_frame_draw::@1] + // [799] phi from display_frame_draw to display_frame_draw::@1 [phi:display_frame_draw->display_frame_draw::@1] // display_frame_draw::@1 // bgcolor(BLUE) - // [806] call bgcolor - // [749] phi from display_frame_draw::@1 to bgcolor [phi:display_frame_draw::@1->bgcolor] - // [749] phi bgcolor::color#14 = BLUE [phi:display_frame_draw::@1->bgcolor#0] -- vbuz1=vbuc1 + // [800] call bgcolor + // [743] phi from display_frame_draw::@1 to bgcolor [phi:display_frame_draw::@1->bgcolor] + // [743] phi bgcolor::color#14 = BLUE [phi:display_frame_draw::@1->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor - // [807] phi from display_frame_draw::@1 to display_frame_draw::@2 [phi:display_frame_draw::@1->display_frame_draw::@2] + // [801] phi from display_frame_draw::@1 to display_frame_draw::@2 [phi:display_frame_draw::@1->display_frame_draw::@2] // display_frame_draw::@2 // clrscr() - // [808] call clrscr + // [802] call clrscr jsr clrscr - // [809] phi from display_frame_draw::@2 to display_frame_draw::@3 [phi:display_frame_draw::@2->display_frame_draw::@3] + // [803] phi from display_frame_draw::@2 to display_frame_draw::@3 [phi:display_frame_draw::@2->display_frame_draw::@3] // display_frame_draw::@3 // display_frame(0, 0, 67, 14) - // [810] call display_frame - // [1893] phi from display_frame_draw::@3 to display_frame [phi:display_frame_draw::@3->display_frame] - // [1893] phi display_frame::y#0 = 0 [phi:display_frame_draw::@3->display_frame#0] -- vbuz1=vbuc1 + // [804] call display_frame + // [1892] phi from display_frame_draw::@3 to display_frame [phi:display_frame_draw::@3->display_frame] + // [1892] phi display_frame::y#0 = 0 [phi:display_frame_draw::@3->display_frame#0] -- vbuz1=vbuc1 lda #0 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@3->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@3->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = 0 [phi:display_frame_draw::@3->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = 0 [phi:display_frame_draw::@3->display_frame#2] -- vbuz1=vbuc1 lda #0 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@3->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@3->display_frame#3] -- vbuz1=vbuc1 lda #$43 sta.z display_frame.x1 jsr display_frame - // [811] phi from display_frame_draw::@3 to display_frame_draw::@4 [phi:display_frame_draw::@3->display_frame_draw::@4] + // [805] phi from display_frame_draw::@3 to display_frame_draw::@4 [phi:display_frame_draw::@3->display_frame_draw::@4] // display_frame_draw::@4 // display_frame(0, 0, 67, 2) - // [812] call display_frame - // [1893] phi from display_frame_draw::@4 to display_frame [phi:display_frame_draw::@4->display_frame] - // [1893] phi display_frame::y#0 = 0 [phi:display_frame_draw::@4->display_frame#0] -- vbuz1=vbuc1 + // [806] call display_frame + // [1892] phi from display_frame_draw::@4 to display_frame [phi:display_frame_draw::@4->display_frame] + // [1892] phi display_frame::y#0 = 0 [phi:display_frame_draw::@4->display_frame#0] -- vbuz1=vbuc1 lda #0 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = 2 [phi:display_frame_draw::@4->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = 2 [phi:display_frame_draw::@4->display_frame#1] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = 0 [phi:display_frame_draw::@4->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = 0 [phi:display_frame_draw::@4->display_frame#2] -- vbuz1=vbuc1 lda #0 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@4->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@4->display_frame#3] -- vbuz1=vbuc1 lda #$43 sta.z display_frame.x1 jsr display_frame - // [813] phi from display_frame_draw::@4 to display_frame_draw::@5 [phi:display_frame_draw::@4->display_frame_draw::@5] + // [807] phi from display_frame_draw::@4 to display_frame_draw::@5 [phi:display_frame_draw::@4->display_frame_draw::@5] // display_frame_draw::@5 // display_frame(0, 2, 67, 14) - // [814] call display_frame - // [1893] phi from display_frame_draw::@5 to display_frame [phi:display_frame_draw::@5->display_frame] - // [1893] phi display_frame::y#0 = 2 [phi:display_frame_draw::@5->display_frame#0] -- vbuz1=vbuc1 + // [808] call display_frame + // [1892] phi from display_frame_draw::@5 to display_frame [phi:display_frame_draw::@5->display_frame] + // [1892] phi display_frame::y#0 = 2 [phi:display_frame_draw::@5->display_frame#0] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@5->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@5->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = 0 [phi:display_frame_draw::@5->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = 0 [phi:display_frame_draw::@5->display_frame#2] -- vbuz1=vbuc1 lda #0 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@5->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@5->display_frame#3] -- vbuz1=vbuc1 lda #$43 sta.z display_frame.x1 jsr display_frame - // [815] phi from display_frame_draw::@5 to display_frame_draw::@6 [phi:display_frame_draw::@5->display_frame_draw::@6] + // [809] phi from display_frame_draw::@5 to display_frame_draw::@6 [phi:display_frame_draw::@5->display_frame_draw::@6] // display_frame_draw::@6 // display_frame(0, 2, 8, 14) - // [816] call display_frame + // [810] call display_frame // Chipset areas - // [1893] phi from display_frame_draw::@6 to display_frame [phi:display_frame_draw::@6->display_frame] - // [1893] phi display_frame::y#0 = 2 [phi:display_frame_draw::@6->display_frame#0] -- vbuz1=vbuc1 + // [1892] phi from display_frame_draw::@6 to display_frame [phi:display_frame_draw::@6->display_frame] + // [1892] phi display_frame::y#0 = 2 [phi:display_frame_draw::@6->display_frame#0] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@6->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@6->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = 0 [phi:display_frame_draw::@6->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = 0 [phi:display_frame_draw::@6->display_frame#2] -- vbuz1=vbuc1 lda #0 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = 8 [phi:display_frame_draw::@6->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = 8 [phi:display_frame_draw::@6->display_frame#3] -- vbuz1=vbuc1 lda #8 sta.z display_frame.x1 jsr display_frame - // [817] phi from display_frame_draw::@6 to display_frame_draw::@7 [phi:display_frame_draw::@6->display_frame_draw::@7] + // [811] phi from display_frame_draw::@6 to display_frame_draw::@7 [phi:display_frame_draw::@6->display_frame_draw::@7] // display_frame_draw::@7 // display_frame(8, 2, 19, 14) - // [818] call display_frame - // [1893] phi from display_frame_draw::@7 to display_frame [phi:display_frame_draw::@7->display_frame] - // [1893] phi display_frame::y#0 = 2 [phi:display_frame_draw::@7->display_frame#0] -- vbuz1=vbuc1 + // [812] call display_frame + // [1892] phi from display_frame_draw::@7 to display_frame [phi:display_frame_draw::@7->display_frame] + // [1892] phi display_frame::y#0 = 2 [phi:display_frame_draw::@7->display_frame#0] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@7->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@7->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = 8 [phi:display_frame_draw::@7->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = 8 [phi:display_frame_draw::@7->display_frame#2] -- vbuz1=vbuc1 lda #8 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $13 [phi:display_frame_draw::@7->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $13 [phi:display_frame_draw::@7->display_frame#3] -- vbuz1=vbuc1 lda #$13 sta.z display_frame.x1 jsr display_frame - // [819] phi from display_frame_draw::@7 to display_frame_draw::@8 [phi:display_frame_draw::@7->display_frame_draw::@8] + // [813] phi from display_frame_draw::@7 to display_frame_draw::@8 [phi:display_frame_draw::@7->display_frame_draw::@8] // display_frame_draw::@8 // display_frame(19, 2, 25, 14) - // [820] call display_frame - // [1893] phi from display_frame_draw::@8 to display_frame [phi:display_frame_draw::@8->display_frame] - // [1893] phi display_frame::y#0 = 2 [phi:display_frame_draw::@8->display_frame#0] -- vbuz1=vbuc1 + // [814] call display_frame + // [1892] phi from display_frame_draw::@8 to display_frame [phi:display_frame_draw::@8->display_frame] + // [1892] phi display_frame::y#0 = 2 [phi:display_frame_draw::@8->display_frame#0] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@8->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@8->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = $13 [phi:display_frame_draw::@8->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = $13 [phi:display_frame_draw::@8->display_frame#2] -- vbuz1=vbuc1 lda #$13 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $19 [phi:display_frame_draw::@8->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $19 [phi:display_frame_draw::@8->display_frame#3] -- vbuz1=vbuc1 lda #$19 sta.z display_frame.x1 jsr display_frame - // [821] phi from display_frame_draw::@8 to display_frame_draw::@9 [phi:display_frame_draw::@8->display_frame_draw::@9] + // [815] phi from display_frame_draw::@8 to display_frame_draw::@9 [phi:display_frame_draw::@8->display_frame_draw::@9] // display_frame_draw::@9 // display_frame(25, 2, 31, 14) - // [822] call display_frame - // [1893] phi from display_frame_draw::@9 to display_frame [phi:display_frame_draw::@9->display_frame] - // [1893] phi display_frame::y#0 = 2 [phi:display_frame_draw::@9->display_frame#0] -- vbuz1=vbuc1 + // [816] call display_frame + // [1892] phi from display_frame_draw::@9 to display_frame [phi:display_frame_draw::@9->display_frame] + // [1892] phi display_frame::y#0 = 2 [phi:display_frame_draw::@9->display_frame#0] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@9->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@9->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = $19 [phi:display_frame_draw::@9->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = $19 [phi:display_frame_draw::@9->display_frame#2] -- vbuz1=vbuc1 lda #$19 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $1f [phi:display_frame_draw::@9->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $1f [phi:display_frame_draw::@9->display_frame#3] -- vbuz1=vbuc1 lda #$1f sta.z display_frame.x1 jsr display_frame - // [823] phi from display_frame_draw::@9 to display_frame_draw::@10 [phi:display_frame_draw::@9->display_frame_draw::@10] + // [817] phi from display_frame_draw::@9 to display_frame_draw::@10 [phi:display_frame_draw::@9->display_frame_draw::@10] // display_frame_draw::@10 // display_frame(31, 2, 37, 14) - // [824] call display_frame - // [1893] phi from display_frame_draw::@10 to display_frame [phi:display_frame_draw::@10->display_frame] - // [1893] phi display_frame::y#0 = 2 [phi:display_frame_draw::@10->display_frame#0] -- vbuz1=vbuc1 + // [818] call display_frame + // [1892] phi from display_frame_draw::@10 to display_frame [phi:display_frame_draw::@10->display_frame] + // [1892] phi display_frame::y#0 = 2 [phi:display_frame_draw::@10->display_frame#0] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@10->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@10->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = $1f [phi:display_frame_draw::@10->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = $1f [phi:display_frame_draw::@10->display_frame#2] -- vbuz1=vbuc1 lda #$1f sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $25 [phi:display_frame_draw::@10->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $25 [phi:display_frame_draw::@10->display_frame#3] -- vbuz1=vbuc1 lda #$25 sta.z display_frame.x1 jsr display_frame - // [825] phi from display_frame_draw::@10 to display_frame_draw::@11 [phi:display_frame_draw::@10->display_frame_draw::@11] + // [819] phi from display_frame_draw::@10 to display_frame_draw::@11 [phi:display_frame_draw::@10->display_frame_draw::@11] // display_frame_draw::@11 // display_frame(37, 2, 43, 14) - // [826] call display_frame - // [1893] phi from display_frame_draw::@11 to display_frame [phi:display_frame_draw::@11->display_frame] - // [1893] phi display_frame::y#0 = 2 [phi:display_frame_draw::@11->display_frame#0] -- vbuz1=vbuc1 + // [820] call display_frame + // [1892] phi from display_frame_draw::@11 to display_frame [phi:display_frame_draw::@11->display_frame] + // [1892] phi display_frame::y#0 = 2 [phi:display_frame_draw::@11->display_frame#0] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@11->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@11->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = $25 [phi:display_frame_draw::@11->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = $25 [phi:display_frame_draw::@11->display_frame#2] -- vbuz1=vbuc1 lda #$25 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $2b [phi:display_frame_draw::@11->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $2b [phi:display_frame_draw::@11->display_frame#3] -- vbuz1=vbuc1 lda #$2b sta.z display_frame.x1 jsr display_frame - // [827] phi from display_frame_draw::@11 to display_frame_draw::@12 [phi:display_frame_draw::@11->display_frame_draw::@12] + // [821] phi from display_frame_draw::@11 to display_frame_draw::@12 [phi:display_frame_draw::@11->display_frame_draw::@12] // display_frame_draw::@12 // display_frame(43, 2, 49, 14) - // [828] call display_frame - // [1893] phi from display_frame_draw::@12 to display_frame [phi:display_frame_draw::@12->display_frame] - // [1893] phi display_frame::y#0 = 2 [phi:display_frame_draw::@12->display_frame#0] -- vbuz1=vbuc1 + // [822] call display_frame + // [1892] phi from display_frame_draw::@12 to display_frame [phi:display_frame_draw::@12->display_frame] + // [1892] phi display_frame::y#0 = 2 [phi:display_frame_draw::@12->display_frame#0] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@12->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@12->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = $2b [phi:display_frame_draw::@12->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = $2b [phi:display_frame_draw::@12->display_frame#2] -- vbuz1=vbuc1 lda #$2b sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $31 [phi:display_frame_draw::@12->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $31 [phi:display_frame_draw::@12->display_frame#3] -- vbuz1=vbuc1 lda #$31 sta.z display_frame.x1 jsr display_frame - // [829] phi from display_frame_draw::@12 to display_frame_draw::@13 [phi:display_frame_draw::@12->display_frame_draw::@13] + // [823] phi from display_frame_draw::@12 to display_frame_draw::@13 [phi:display_frame_draw::@12->display_frame_draw::@13] // display_frame_draw::@13 // display_frame(49, 2, 55, 14) - // [830] call display_frame - // [1893] phi from display_frame_draw::@13 to display_frame [phi:display_frame_draw::@13->display_frame] - // [1893] phi display_frame::y#0 = 2 [phi:display_frame_draw::@13->display_frame#0] -- vbuz1=vbuc1 + // [824] call display_frame + // [1892] phi from display_frame_draw::@13 to display_frame [phi:display_frame_draw::@13->display_frame] + // [1892] phi display_frame::y#0 = 2 [phi:display_frame_draw::@13->display_frame#0] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@13->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@13->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = $31 [phi:display_frame_draw::@13->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = $31 [phi:display_frame_draw::@13->display_frame#2] -- vbuz1=vbuc1 lda #$31 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $37 [phi:display_frame_draw::@13->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $37 [phi:display_frame_draw::@13->display_frame#3] -- vbuz1=vbuc1 lda #$37 sta.z display_frame.x1 jsr display_frame - // [831] phi from display_frame_draw::@13 to display_frame_draw::@14 [phi:display_frame_draw::@13->display_frame_draw::@14] + // [825] phi from display_frame_draw::@13 to display_frame_draw::@14 [phi:display_frame_draw::@13->display_frame_draw::@14] // display_frame_draw::@14 // display_frame(55, 2, 61, 14) - // [832] call display_frame - // [1893] phi from display_frame_draw::@14 to display_frame [phi:display_frame_draw::@14->display_frame] - // [1893] phi display_frame::y#0 = 2 [phi:display_frame_draw::@14->display_frame#0] -- vbuz1=vbuc1 + // [826] call display_frame + // [1892] phi from display_frame_draw::@14 to display_frame [phi:display_frame_draw::@14->display_frame] + // [1892] phi display_frame::y#0 = 2 [phi:display_frame_draw::@14->display_frame#0] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@14->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@14->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = $37 [phi:display_frame_draw::@14->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = $37 [phi:display_frame_draw::@14->display_frame#2] -- vbuz1=vbuc1 lda #$37 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $3d [phi:display_frame_draw::@14->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $3d [phi:display_frame_draw::@14->display_frame#3] -- vbuz1=vbuc1 lda #$3d sta.z display_frame.x1 jsr display_frame - // [833] phi from display_frame_draw::@14 to display_frame_draw::@15 [phi:display_frame_draw::@14->display_frame_draw::@15] + // [827] phi from display_frame_draw::@14 to display_frame_draw::@15 [phi:display_frame_draw::@14->display_frame_draw::@15] // display_frame_draw::@15 // display_frame(61, 2, 67, 14) - // [834] call display_frame - // [1893] phi from display_frame_draw::@15 to display_frame [phi:display_frame_draw::@15->display_frame] - // [1893] phi display_frame::y#0 = 2 [phi:display_frame_draw::@15->display_frame#0] -- vbuz1=vbuc1 + // [828] call display_frame + // [1892] phi from display_frame_draw::@15 to display_frame [phi:display_frame_draw::@15->display_frame] + // [1892] phi display_frame::y#0 = 2 [phi:display_frame_draw::@15->display_frame#0] -- vbuz1=vbuc1 lda #2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $e [phi:display_frame_draw::@15->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $e [phi:display_frame_draw::@15->display_frame#1] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = $3d [phi:display_frame_draw::@15->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = $3d [phi:display_frame_draw::@15->display_frame#2] -- vbuz1=vbuc1 lda #$3d sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@15->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@15->display_frame#3] -- vbuz1=vbuc1 lda #$43 sta.z display_frame.x1 jsr display_frame - // [835] phi from display_frame_draw::@15 to display_frame_draw::@16 [phi:display_frame_draw::@15->display_frame_draw::@16] + // [829] phi from display_frame_draw::@15 to display_frame_draw::@16 [phi:display_frame_draw::@15->display_frame_draw::@16] // display_frame_draw::@16 // display_frame(0, 14, 67, PROGRESS_Y-5) - // [836] call display_frame + // [830] call display_frame // Progress area - // [1893] phi from display_frame_draw::@16 to display_frame [phi:display_frame_draw::@16->display_frame] - // [1893] phi display_frame::y#0 = $e [phi:display_frame_draw::@16->display_frame#0] -- vbuz1=vbuc1 + // [1892] phi from display_frame_draw::@16 to display_frame [phi:display_frame_draw::@16->display_frame] + // [1892] phi display_frame::y#0 = $e [phi:display_frame_draw::@16->display_frame#0] -- vbuz1=vbuc1 lda #$e sta.z display_frame.y - // [1893] phi display_frame::y1#16 = PROGRESS_Y-5 [phi:display_frame_draw::@16->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = PROGRESS_Y-5 [phi:display_frame_draw::@16->display_frame#1] -- vbuz1=vbuc1 lda #PROGRESS_Y-5 sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = 0 [phi:display_frame_draw::@16->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = 0 [phi:display_frame_draw::@16->display_frame#2] -- vbuz1=vbuc1 lda #0 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@16->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@16->display_frame#3] -- vbuz1=vbuc1 lda #$43 sta.z display_frame.x1 jsr display_frame - // [837] phi from display_frame_draw::@16 to display_frame_draw::@17 [phi:display_frame_draw::@16->display_frame_draw::@17] + // [831] phi from display_frame_draw::@16 to display_frame_draw::@17 [phi:display_frame_draw::@16->display_frame_draw::@17] // display_frame_draw::@17 // display_frame(0, PROGRESS_Y-5, 67, PROGRESS_Y-2) - // [838] call display_frame - // [1893] phi from display_frame_draw::@17 to display_frame [phi:display_frame_draw::@17->display_frame] - // [1893] phi display_frame::y#0 = PROGRESS_Y-5 [phi:display_frame_draw::@17->display_frame#0] -- vbuz1=vbuc1 + // [832] call display_frame + // [1892] phi from display_frame_draw::@17 to display_frame [phi:display_frame_draw::@17->display_frame] + // [1892] phi display_frame::y#0 = PROGRESS_Y-5 [phi:display_frame_draw::@17->display_frame#0] -- vbuz1=vbuc1 lda #PROGRESS_Y-5 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = PROGRESS_Y-2 [phi:display_frame_draw::@17->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = PROGRESS_Y-2 [phi:display_frame_draw::@17->display_frame#1] -- vbuz1=vbuc1 lda #PROGRESS_Y-2 sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = 0 [phi:display_frame_draw::@17->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = 0 [phi:display_frame_draw::@17->display_frame#2] -- vbuz1=vbuc1 lda #0 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@17->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@17->display_frame#3] -- vbuz1=vbuc1 lda #$43 sta.z display_frame.x1 jsr display_frame - // [839] phi from display_frame_draw::@17 to display_frame_draw::@18 [phi:display_frame_draw::@17->display_frame_draw::@18] + // [833] phi from display_frame_draw::@17 to display_frame_draw::@18 [phi:display_frame_draw::@17->display_frame_draw::@18] // display_frame_draw::@18 // display_frame(0, PROGRESS_Y-2, 67, 49) - // [840] call display_frame - // [1893] phi from display_frame_draw::@18 to display_frame [phi:display_frame_draw::@18->display_frame] - // [1893] phi display_frame::y#0 = PROGRESS_Y-2 [phi:display_frame_draw::@18->display_frame#0] -- vbuz1=vbuc1 + // [834] call display_frame + // [1892] phi from display_frame_draw::@18 to display_frame [phi:display_frame_draw::@18->display_frame] + // [1892] phi display_frame::y#0 = PROGRESS_Y-2 [phi:display_frame_draw::@18->display_frame#0] -- vbuz1=vbuc1 lda #PROGRESS_Y-2 sta.z display_frame.y - // [1893] phi display_frame::y1#16 = $31 [phi:display_frame_draw::@18->display_frame#1] -- vbuz1=vbuc1 + // [1892] phi display_frame::y1#16 = $31 [phi:display_frame_draw::@18->display_frame#1] -- vbuz1=vbuc1 lda #$31 sta.z display_frame.y1 - // [1893] phi display_frame::x#0 = 0 [phi:display_frame_draw::@18->display_frame#2] -- vbuz1=vbuc1 + // [1892] phi display_frame::x#0 = 0 [phi:display_frame_draw::@18->display_frame#2] -- vbuz1=vbuc1 lda #0 sta.z display_frame.x - // [1893] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@18->display_frame#3] -- vbuz1=vbuc1 + // [1892] phi display_frame::x1#16 = $43 [phi:display_frame_draw::@18->display_frame#3] -- vbuz1=vbuc1 lda #$43 sta.z display_frame.x1 jsr display_frame - // [841] phi from display_frame_draw::@18 to display_frame_draw::@19 [phi:display_frame_draw::@18->display_frame_draw::@19] + // [835] phi from display_frame_draw::@18 to display_frame_draw::@19 [phi:display_frame_draw::@18->display_frame_draw::@19] // display_frame_draw::@19 // textcolor(WHITE) - // [842] call textcolor - // [744] phi from display_frame_draw::@19 to textcolor [phi:display_frame_draw::@19->textcolor] - // [744] phi textcolor::color#18 = WHITE [phi:display_frame_draw::@19->textcolor#0] -- vbuz1=vbuc1 + // [836] call textcolor + // [738] phi from display_frame_draw::@19 to textcolor [phi:display_frame_draw::@19->textcolor] + // [738] phi textcolor::color#18 = WHITE [phi:display_frame_draw::@19->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor // display_frame_draw::@return // } - // [843] return + // [837] return rts } // display_frame_title @@ -5500,75 +5538,75 @@ display_frame_draw: { // void display_frame_title(char *title_text) display_frame_title: { // gotoxy(2, 1) - // [845] call gotoxy - // [762] phi from display_frame_title to gotoxy [phi:display_frame_title->gotoxy] - // [762] phi gotoxy::y#30 = 1 [phi:display_frame_title->gotoxy#0] -- vbuz1=vbuc1 + // [839] call gotoxy + // [756] phi from display_frame_title to gotoxy [phi:display_frame_title->gotoxy] + // [756] phi gotoxy::y#30 = 1 [phi:display_frame_title->gotoxy#0] -- vbuz1=vbuc1 lda #1 sta.z gotoxy.y - // [762] phi gotoxy::x#30 = 2 [phi:display_frame_title->gotoxy#1] -- vbuz1=vbuc1 + // [756] phi gotoxy::x#30 = 2 [phi:display_frame_title->gotoxy#1] -- vbuz1=vbuc1 lda #2 sta.z gotoxy.x jsr gotoxy - // [846] phi from display_frame_title to display_frame_title::@1 [phi:display_frame_title->display_frame_title::@1] + // [840] phi from display_frame_title to display_frame_title::@1 [phi:display_frame_title->display_frame_title::@1] // display_frame_title::@1 // printf("%-65s", title_text) - // [847] call printf_string - // [1177] phi from display_frame_title::@1 to printf_string [phi:display_frame_title::@1->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_frame_title::@1->printf_string#0] -- pprz1=pprc1 + // [841] call printf_string + // [1165] phi from display_frame_title::@1 to printf_string [phi:display_frame_title::@1->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_frame_title::@1->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = main::title_text [phi:display_frame_title::@1->printf_string#1] -- pbuz1=pbuc1 + // [1165] phi printf_string::str#22 = main::title_text [phi:display_frame_title::@1->printf_string#1] -- pbuz1=pbuc1 lda #main.title_text sta.z printf_string.str+1 - // [1177] phi printf_string::format_justify_left#22 = 1 [phi:display_frame_title::@1->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_frame_title::@1->printf_string#2] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = $41 [phi:display_frame_title::@1->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = $41 [phi:display_frame_title::@1->printf_string#3] -- vbuz1=vbuc1 lda #$41 sta.z printf_string.format_min_length jsr printf_string // display_frame_title::@return // } - // [848] return + // [842] return rts } // cputsxy // Move cursor and output a NUL-terminated string // Same as "gotoxy (x, y); puts (s);" -// void cputsxy(__zp($e2) char x, __zp($ed) char y, __zp($2d) const char *s) +// void cputsxy(__zp($e7) char x, __zp($ea) char y, __zp($2d) const char *s) cputsxy: { - .label y = $ed + .label y = $ea .label s = $2d - .label x = $e2 + .label x = $e7 // gotoxy(x, y) - // [850] gotoxy::x#1 = cputsxy::x#4 -- vbuz1=vbuz2 + // [844] gotoxy::x#1 = cputsxy::x#4 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [851] gotoxy::y#1 = cputsxy::y#4 -- vbuz1=vbuz2 + // [845] gotoxy::y#1 = cputsxy::y#4 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [852] call gotoxy - // [762] phi from cputsxy to gotoxy [phi:cputsxy->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#1 [phi:cputsxy->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#1 [phi:cputsxy->gotoxy#1] -- register_copy + // [846] call gotoxy + // [756] phi from cputsxy to gotoxy [phi:cputsxy->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#1 [phi:cputsxy->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#1 [phi:cputsxy->gotoxy#1] -- register_copy jsr gotoxy // cputsxy::@1 // cputs(s) - // [853] cputs::s#1 = cputsxy::s#4 -- pbuz1=pbuz2 + // [847] cputs::s#1 = cputsxy::s#4 -- pbuz1=pbuz2 lda.z s sta.z cputs.s lda.z s+1 sta.z cputs.s+1 - // [854] call cputs - // [2027] phi from cputsxy::@1 to cputs [phi:cputsxy::@1->cputs] + // [848] call cputs + // [2026] phi from cputsxy::@1 to cputs [phi:cputsxy::@1->cputs] jsr cputs // cputsxy::@return // } - // [855] return + // [849] return rts } // display_action_progress @@ -5577,67 +5615,67 @@ cputsxy: { * * @param info_text The progress text to be displayed. */ -// void display_action_progress(__zp($60) char *info_text) +// void display_action_progress(__zp($62) char *info_text) display_action_progress: { - .label x = $eb + .label x = $bb .label y = $c3 - .label info_text = $60 + .label info_text = $62 // unsigned char x = wherex() - // [857] call wherex + // [851] call wherex jsr wherex - // [858] wherex::return#2 = wherex::return#0 + // [852] wherex::return#2 = wherex::return#0 // display_action_progress::@1 - // [859] display_action_progress::x#0 = wherex::return#2 + // [853] display_action_progress::x#0 = wherex::return#2 // unsigned char y = wherey() - // [860] call wherey + // [854] call wherey jsr wherey - // [861] wherey::return#2 = wherey::return#0 + // [855] wherey::return#2 = wherey::return#0 // display_action_progress::@2 - // [862] display_action_progress::y#0 = wherey::return#2 + // [856] display_action_progress::y#0 = wherey::return#2 // gotoxy(2, PROGRESS_Y-4) - // [863] call gotoxy - // [762] phi from display_action_progress::@2 to gotoxy [phi:display_action_progress::@2->gotoxy] - // [762] phi gotoxy::y#30 = PROGRESS_Y-4 [phi:display_action_progress::@2->gotoxy#0] -- vbuz1=vbuc1 + // [857] call gotoxy + // [756] phi from display_action_progress::@2 to gotoxy [phi:display_action_progress::@2->gotoxy] + // [756] phi gotoxy::y#30 = PROGRESS_Y-4 [phi:display_action_progress::@2->gotoxy#0] -- vbuz1=vbuc1 lda #PROGRESS_Y-4 sta.z gotoxy.y - // [762] phi gotoxy::x#30 = 2 [phi:display_action_progress::@2->gotoxy#1] -- vbuz1=vbuc1 + // [756] phi gotoxy::x#30 = 2 [phi:display_action_progress::@2->gotoxy#1] -- vbuz1=vbuc1 lda #2 sta.z gotoxy.x jsr gotoxy // display_action_progress::@3 // printf("%-65s", info_text) - // [864] printf_string::str#1 = display_action_progress::info_text#18 - // [865] call printf_string - // [1177] phi from display_action_progress::@3 to printf_string [phi:display_action_progress::@3->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_action_progress::@3->printf_string#0] -- pprz1=pprc1 + // [858] printf_string::str#1 = display_action_progress::info_text#18 + // [859] call printf_string + // [1165] phi from display_action_progress::@3 to printf_string [phi:display_action_progress::@3->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_action_progress::@3->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#1 [phi:display_action_progress::@3->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 1 [phi:display_action_progress::@3->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#1 [phi:display_action_progress::@3->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_action_progress::@3->printf_string#2] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = $41 [phi:display_action_progress::@3->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = $41 [phi:display_action_progress::@3->printf_string#3] -- vbuz1=vbuc1 lda #$41 sta.z printf_string.format_min_length jsr printf_string // display_action_progress::@4 // gotoxy(x, y) - // [866] gotoxy::x#10 = display_action_progress::x#0 -- vbuz1=vbuz2 + // [860] gotoxy::x#10 = display_action_progress::x#0 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [867] gotoxy::y#10 = display_action_progress::y#0 -- vbuz1=vbuz2 + // [861] gotoxy::y#10 = display_action_progress::y#0 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [868] call gotoxy - // [762] phi from display_action_progress::@4 to gotoxy [phi:display_action_progress::@4->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#10 [phi:display_action_progress::@4->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#10 [phi:display_action_progress::@4->gotoxy#1] -- register_copy + // [862] call gotoxy + // [756] phi from display_action_progress::@4 to gotoxy [phi:display_action_progress::@4->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#10 [phi:display_action_progress::@4->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#10 [phi:display_action_progress::@4->gotoxy#1] -- register_copy jsr gotoxy // display_action_progress::@return // } - // [869] return + // [863] return rts } // display_progress_clear @@ -5646,120 +5684,120 @@ display_action_progress: { */ display_progress_clear: { .const h = PROGRESS_Y+PROGRESS_H - .label x = $72 - .label i = $ed - .label y = $e2 + .label x = $35 + .label i = $ea + .label y = $e7 // textcolor(WHITE) - // [871] call textcolor - // [744] phi from display_progress_clear to textcolor [phi:display_progress_clear->textcolor] - // [744] phi textcolor::color#18 = WHITE [phi:display_progress_clear->textcolor#0] -- vbuz1=vbuc1 + // [865] call textcolor + // [738] phi from display_progress_clear to textcolor [phi:display_progress_clear->textcolor] + // [738] phi textcolor::color#18 = WHITE [phi:display_progress_clear->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [872] phi from display_progress_clear to display_progress_clear::@5 [phi:display_progress_clear->display_progress_clear::@5] + // [866] phi from display_progress_clear to display_progress_clear::@5 [phi:display_progress_clear->display_progress_clear::@5] // display_progress_clear::@5 // bgcolor(BLUE) - // [873] call bgcolor - // [749] phi from display_progress_clear::@5 to bgcolor [phi:display_progress_clear::@5->bgcolor] - // [749] phi bgcolor::color#14 = BLUE [phi:display_progress_clear::@5->bgcolor#0] -- vbuz1=vbuc1 + // [867] call bgcolor + // [743] phi from display_progress_clear::@5 to bgcolor [phi:display_progress_clear::@5->bgcolor] + // [743] phi bgcolor::color#14 = BLUE [phi:display_progress_clear::@5->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor - // [874] phi from display_progress_clear::@5 to display_progress_clear::@1 [phi:display_progress_clear::@5->display_progress_clear::@1] - // [874] phi display_progress_clear::y#2 = PROGRESS_Y [phi:display_progress_clear::@5->display_progress_clear::@1#0] -- vbuz1=vbuc1 + // [868] phi from display_progress_clear::@5 to display_progress_clear::@1 [phi:display_progress_clear::@5->display_progress_clear::@1] + // [868] phi display_progress_clear::y#2 = PROGRESS_Y [phi:display_progress_clear::@5->display_progress_clear::@1#0] -- vbuz1=vbuc1 lda #PROGRESS_Y sta.z y // display_progress_clear::@1 __b1: // while (y < h) - // [875] if(display_progress_clear::y#2display_progress_clear::@2] + // [871] phi from display_progress_clear::@1 to display_progress_clear::@2 [phi:display_progress_clear::@1->display_progress_clear::@2] __b4: - // [877] phi display_progress_clear::x#2 = PROGRESS_X [phi:display_progress_clear::@1->display_progress_clear::@2#0] -- vbuz1=vbuc1 + // [871] phi display_progress_clear::x#2 = PROGRESS_X [phi:display_progress_clear::@1->display_progress_clear::@2#0] -- vbuz1=vbuc1 lda #PROGRESS_X sta.z x - // [877] phi display_progress_clear::i#2 = 0 [phi:display_progress_clear::@1->display_progress_clear::@2#1] -- vbuz1=vbuc1 + // [871] phi display_progress_clear::i#2 = 0 [phi:display_progress_clear::@1->display_progress_clear::@2#1] -- vbuz1=vbuc1 lda #0 sta.z i // display_progress_clear::@2 __b2: // for(unsigned char i = 0; i < w; i++) - // [878] if(display_progress_clear::i#2display_progress_clear::@1] - // [874] phi display_progress_clear::y#2 = display_progress_clear::y#1 [phi:display_progress_clear::@4->display_progress_clear::@1#0] -- register_copy + // [868] phi from display_progress_clear::@4 to display_progress_clear::@1 [phi:display_progress_clear::@4->display_progress_clear::@1] + // [868] phi display_progress_clear::y#2 = display_progress_clear::y#1 [phi:display_progress_clear::@4->display_progress_clear::@1#0] -- register_copy jmp __b1 // display_progress_clear::@3 __b3: // cputcxy(x, y, ' ') - // [880] cputcxy::x#12 = display_progress_clear::x#2 -- vbuz1=vbuz2 + // [874] cputcxy::x#12 = display_progress_clear::x#2 -- vbuz1=vbuz2 lda.z x sta.z cputcxy.x - // [881] cputcxy::y#12 = display_progress_clear::y#2 -- vbuz1=vbuz2 + // [875] cputcxy::y#12 = display_progress_clear::y#2 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [882] call cputcxy - // [2040] phi from display_progress_clear::@3 to cputcxy [phi:display_progress_clear::@3->cputcxy] - // [2040] phi cputcxy::c#15 = ' ' [phi:display_progress_clear::@3->cputcxy#0] -- vbuz1=vbuc1 + // [876] call cputcxy + // [2039] phi from display_progress_clear::@3 to cputcxy [phi:display_progress_clear::@3->cputcxy] + // [2039] phi cputcxy::c#15 = ' ' [phi:display_progress_clear::@3->cputcxy#0] -- vbuz1=vbuc1 lda #' ' sta.z cputcxy.c - // [2040] phi cputcxy::y#15 = cputcxy::y#12 [phi:display_progress_clear::@3->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#12 [phi:display_progress_clear::@3->cputcxy#2] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#12 [phi:display_progress_clear::@3->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#12 [phi:display_progress_clear::@3->cputcxy#2] -- register_copy jsr cputcxy // display_progress_clear::@6 // x++; - // [883] display_progress_clear::x#1 = ++ display_progress_clear::x#2 -- vbuz1=_inc_vbuz1 + // [877] display_progress_clear::x#1 = ++ display_progress_clear::x#2 -- vbuz1=_inc_vbuz1 inc.z x // for(unsigned char i = 0; i < w; i++) - // [884] display_progress_clear::i#1 = ++ display_progress_clear::i#2 -- vbuz1=_inc_vbuz1 + // [878] display_progress_clear::i#1 = ++ display_progress_clear::i#2 -- vbuz1=_inc_vbuz1 inc.z i - // [877] phi from display_progress_clear::@6 to display_progress_clear::@2 [phi:display_progress_clear::@6->display_progress_clear::@2] - // [877] phi display_progress_clear::x#2 = display_progress_clear::x#1 [phi:display_progress_clear::@6->display_progress_clear::@2#0] -- register_copy - // [877] phi display_progress_clear::i#2 = display_progress_clear::i#1 [phi:display_progress_clear::@6->display_progress_clear::@2#1] -- register_copy + // [871] phi from display_progress_clear::@6 to display_progress_clear::@2 [phi:display_progress_clear::@6->display_progress_clear::@2] + // [871] phi display_progress_clear::x#2 = display_progress_clear::x#1 [phi:display_progress_clear::@6->display_progress_clear::@2#0] -- register_copy + // [871] phi display_progress_clear::i#2 = display_progress_clear::i#1 [phi:display_progress_clear::@6->display_progress_clear::@2#1] -- register_copy jmp __b2 } // display_chip_smc display_chip_smc: { // display_smc_led(GREY) - // [886] call display_smc_led - // [2048] phi from display_chip_smc to display_smc_led [phi:display_chip_smc->display_smc_led] - // [2048] phi display_smc_led::c#2 = GREY [phi:display_chip_smc->display_smc_led#0] -- vbuz1=vbuc1 + // [880] call display_smc_led + // [2047] phi from display_chip_smc to display_smc_led [phi:display_chip_smc->display_smc_led] + // [2047] phi display_smc_led::c#2 = GREY [phi:display_chip_smc->display_smc_led#0] -- vbuz1=vbuc1 lda #GREY sta.z display_smc_led.c jsr display_smc_led - // [887] phi from display_chip_smc to display_chip_smc::@1 [phi:display_chip_smc->display_chip_smc::@1] + // [881] phi from display_chip_smc to display_chip_smc::@1 [phi:display_chip_smc->display_chip_smc::@1] // display_chip_smc::@1 // display_print_chip(CHIP_SMC_X, CHIP_SMC_Y+2, CHIP_SMC_W, "SMC ") - // [888] call display_print_chip - // [2054] phi from display_chip_smc::@1 to display_print_chip [phi:display_chip_smc::@1->display_print_chip] - // [2054] phi display_print_chip::text#11 = display_chip_smc::text [phi:display_chip_smc::@1->display_print_chip#0] -- pbum1=pbuc1 + // [882] call display_print_chip + // [2053] phi from display_chip_smc::@1 to display_print_chip [phi:display_chip_smc::@1->display_print_chip] + // [2053] phi display_print_chip::text#11 = display_chip_smc::text [phi:display_chip_smc::@1->display_print_chip#0] -- pbum1=pbuc1 lda #text sta display_print_chip.text_2+1 - // [2054] phi display_print_chip::w#10 = 5 [phi:display_chip_smc::@1->display_print_chip#1] -- vbuz1=vbuc1 + // [2053] phi display_print_chip::w#10 = 5 [phi:display_chip_smc::@1->display_print_chip#1] -- vbuz1=vbuc1 lda #5 sta.z display_print_chip.w - // [2054] phi display_print_chip::x#10 = 1 [phi:display_chip_smc::@1->display_print_chip#2] -- vbuz1=vbuc1 + // [2053] phi display_print_chip::x#10 = 1 [phi:display_chip_smc::@1->display_print_chip#2] -- vbuz1=vbuc1 lda #1 sta.z display_print_chip.x jsr display_print_chip // display_chip_smc::@return // } - // [889] return + // [883] return rts .segment Data text: .text "SMC " @@ -5769,32 +5807,32 @@ display_chip_smc: { // display_chip_vera display_chip_vera: { // display_vera_led(GREY) - // [891] call display_vera_led - // [2098] phi from display_chip_vera to display_vera_led [phi:display_chip_vera->display_vera_led] - // [2098] phi display_vera_led::c#2 = GREY [phi:display_chip_vera->display_vera_led#0] -- vbuz1=vbuc1 + // [885] call display_vera_led + // [2097] phi from display_chip_vera to display_vera_led [phi:display_chip_vera->display_vera_led] + // [2097] phi display_vera_led::c#2 = GREY [phi:display_chip_vera->display_vera_led#0] -- vbuz1=vbuc1 lda #GREY sta.z display_vera_led.c jsr display_vera_led - // [892] phi from display_chip_vera to display_chip_vera::@1 [phi:display_chip_vera->display_chip_vera::@1] + // [886] phi from display_chip_vera to display_chip_vera::@1 [phi:display_chip_vera->display_chip_vera::@1] // display_chip_vera::@1 // display_print_chip(CHIP_VERA_X, CHIP_VERA_Y+2, CHIP_VERA_W, "VERA ") - // [893] call display_print_chip - // [2054] phi from display_chip_vera::@1 to display_print_chip [phi:display_chip_vera::@1->display_print_chip] - // [2054] phi display_print_chip::text#11 = display_chip_vera::text [phi:display_chip_vera::@1->display_print_chip#0] -- pbum1=pbuc1 + // [887] call display_print_chip + // [2053] phi from display_chip_vera::@1 to display_print_chip [phi:display_chip_vera::@1->display_print_chip] + // [2053] phi display_print_chip::text#11 = display_chip_vera::text [phi:display_chip_vera::@1->display_print_chip#0] -- pbum1=pbuc1 lda #text sta display_print_chip.text_2+1 - // [2054] phi display_print_chip::w#10 = 8 [phi:display_chip_vera::@1->display_print_chip#1] -- vbuz1=vbuc1 + // [2053] phi display_print_chip::w#10 = 8 [phi:display_chip_vera::@1->display_print_chip#1] -- vbuz1=vbuc1 lda #8 sta.z display_print_chip.w - // [2054] phi display_print_chip::x#10 = 9 [phi:display_chip_vera::@1->display_print_chip#2] -- vbuz1=vbuc1 + // [2053] phi display_print_chip::x#10 = 9 [phi:display_chip_vera::@1->display_print_chip#2] -- vbuz1=vbuc1 lda #9 sta.z display_print_chip.x jsr display_print_chip // display_chip_vera::@return // } - // [894] return + // [888] return rts .segment Data text: .text "VERA " @@ -5807,38 +5845,37 @@ display_chip_vera: { * */ display_chip_rom: { - .label display_chip_rom__4 = $eb - .label display_chip_rom__6 = $bc - .label r = $35 - .label display_chip_rom__11 = $c2 - .label display_chip_rom__12 = $c2 - // [896] phi from display_chip_rom to display_chip_rom::@1 [phi:display_chip_rom->display_chip_rom::@1] - // [896] phi display_chip_rom::r#2 = 0 [phi:display_chip_rom->display_chip_rom::@1#0] -- vbuz1=vbuc1 + .label display_chip_rom__4 = $bb + .label display_chip_rom__6 = $df + .label display_chip_rom__11 = $6d + .label display_chip_rom__12 = $6d + // [890] phi from display_chip_rom to display_chip_rom::@1 [phi:display_chip_rom->display_chip_rom::@1] + // [890] phi display_chip_rom::r#2 = 0 [phi:display_chip_rom->display_chip_rom::@1#0] -- vbum1=vbuc1 lda #0 - sta.z r + sta r // display_chip_rom::@1 __b1: // for (unsigned char r = 0; r < 8; r++) - // [897] if(display_chip_rom::r#2<8) goto display_chip_rom::@2 -- vbuz1_lt_vbuc1_then_la1 - lda.z r + // [891] if(display_chip_rom::r#2<8) goto display_chip_rom::@2 -- vbum1_lt_vbuc1_then_la1 + lda r cmp #8 bcc __b2 // display_chip_rom::@return // } - // [898] return + // [892] return rts - // [899] phi from display_chip_rom::@1 to display_chip_rom::@2 [phi:display_chip_rom::@1->display_chip_rom::@2] + // [893] phi from display_chip_rom::@1 to display_chip_rom::@2 [phi:display_chip_rom::@1->display_chip_rom::@2] // display_chip_rom::@2 __b2: // strcpy(rom, "ROM ") - // [900] call strcpy - // [981] phi from display_chip_rom::@2 to strcpy [phi:display_chip_rom::@2->strcpy] - // [981] phi strcpy::dst#0 = display_chip_rom::rom [phi:display_chip_rom::@2->strcpy#0] -- pbuz1=pbuc1 + // [894] call strcpy + // [979] phi from display_chip_rom::@2 to strcpy [phi:display_chip_rom::@2->strcpy] + // [979] phi strcpy::dst#0 = display_chip_rom::rom [phi:display_chip_rom::@2->strcpy#0] -- pbuz1=pbuc1 lda #rom sta.z strcpy.dst+1 - // [981] phi strcpy::src#0 = display_chip_rom::source [phi:display_chip_rom::@2->strcpy#1] -- pbuz1=pbuc1 + // [979] phi strcpy::src#0 = display_chip_rom::source [phi:display_chip_rom::@2->strcpy#1] -- pbuz1=pbuc1 lda #source @@ -5846,86 +5883,87 @@ display_chip_rom: { jsr strcpy // display_chip_rom::@5 // strcat(rom, rom_size_strings[r]) - // [901] display_chip_rom::$11 = display_chip_rom::r#2 << 1 -- vbuz1=vbuz2_rol_1 - lda.z r + // [895] display_chip_rom::$11 = display_chip_rom::r#2 << 1 -- vbuz1=vbum2_rol_1 + lda r asl sta.z display_chip_rom__11 - // [902] strcat::source#0 = rom_size_strings[display_chip_rom::$11] -- pbum1=qbuc1_derefidx_vbuz2 + // [896] strcat::source#0 = rom_size_strings[display_chip_rom::$11] -- pbum1=qbuc1_derefidx_vbuz2 tay lda rom_size_strings,y sta strcat.source lda rom_size_strings+1,y sta strcat.source+1 - // [903] call strcat - // [2104] phi from display_chip_rom::@5 to strcat [phi:display_chip_rom::@5->strcat] + // [897] call strcat + // [2103] phi from display_chip_rom::@5 to strcat [phi:display_chip_rom::@5->strcat] jsr strcat // display_chip_rom::@6 // if(r) - // [904] if(0==display_chip_rom::r#2) goto display_chip_rom::@3 -- 0_eq_vbuz1_then_la1 - lda.z r + // [898] if(0==display_chip_rom::r#2) goto display_chip_rom::@3 -- 0_eq_vbum1_then_la1 + lda r beq __b3 // display_chip_rom::@4 // r+'0' - // [905] display_chip_rom::$4 = display_chip_rom::r#2 + '0' -- vbuz1=vbuz2_plus_vbuc1 + // [899] display_chip_rom::$4 = display_chip_rom::r#2 + '0' -- vbuz1=vbum2_plus_vbuc1 lda #'0' clc - adc.z r + adc r sta.z display_chip_rom__4 // *(rom+3) = r+'0' - // [906] *(display_chip_rom::rom+3) = display_chip_rom::$4 -- _deref_pbuc1=vbuz1 + // [900] *(display_chip_rom::rom+3) = display_chip_rom::$4 -- _deref_pbuc1=vbuz1 sta rom+3 // display_chip_rom::@3 __b3: // display_rom_led(r, GREY) - // [907] display_rom_led::chip#0 = display_chip_rom::r#2 -- vbuz1=vbuz2 - lda.z r + // [901] display_rom_led::chip#0 = display_chip_rom::r#2 -- vbuz1=vbum2 + lda r sta.z display_rom_led.chip - // [908] call display_rom_led - // [2116] phi from display_chip_rom::@3 to display_rom_led [phi:display_chip_rom::@3->display_rom_led] - // [2116] phi display_rom_led::c#2 = GREY [phi:display_chip_rom::@3->display_rom_led#0] -- vbuz1=vbuc1 + // [902] call display_rom_led + // [2115] phi from display_chip_rom::@3 to display_rom_led [phi:display_chip_rom::@3->display_rom_led] + // [2115] phi display_rom_led::c#2 = GREY [phi:display_chip_rom::@3->display_rom_led#0] -- vbuz1=vbuc1 lda #GREY sta.z display_rom_led.c - // [2116] phi display_rom_led::chip#2 = display_rom_led::chip#0 [phi:display_chip_rom::@3->display_rom_led#1] -- register_copy + // [2115] phi display_rom_led::chip#2 = display_rom_led::chip#0 [phi:display_chip_rom::@3->display_rom_led#1] -- register_copy jsr display_rom_led // display_chip_rom::@7 // r*6 - // [909] display_chip_rom::$12 = display_chip_rom::$11 + display_chip_rom::r#2 -- vbuz1=vbuz1_plus_vbuz2 - lda.z display_chip_rom__12 + // [903] display_chip_rom::$12 = display_chip_rom::$11 + display_chip_rom::r#2 -- vbuz1=vbuz1_plus_vbum2 + lda r clc - adc.z r + adc.z display_chip_rom__12 sta.z display_chip_rom__12 - // [910] display_chip_rom::$6 = display_chip_rom::$12 << 1 -- vbuz1=vbuz2_rol_1 + // [904] display_chip_rom::$6 = display_chip_rom::$12 << 1 -- vbuz1=vbuz2_rol_1 asl sta.z display_chip_rom__6 // display_print_chip(CHIP_ROM_X+r*6, CHIP_ROM_Y+2, CHIP_ROM_W, rom) - // [911] display_print_chip::x#2 = $14 + display_chip_rom::$6 -- vbuz1=vbuc1_plus_vbuz1 + // [905] display_print_chip::x#2 = $14 + display_chip_rom::$6 -- vbuz1=vbuc1_plus_vbuz1 lda #$14 clc adc.z display_print_chip.x sta.z display_print_chip.x - // [912] call display_print_chip - // [2054] phi from display_chip_rom::@7 to display_print_chip [phi:display_chip_rom::@7->display_print_chip] - // [2054] phi display_print_chip::text#11 = display_chip_rom::rom [phi:display_chip_rom::@7->display_print_chip#0] -- pbum1=pbuc1 + // [906] call display_print_chip + // [2053] phi from display_chip_rom::@7 to display_print_chip [phi:display_chip_rom::@7->display_print_chip] + // [2053] phi display_print_chip::text#11 = display_chip_rom::rom [phi:display_chip_rom::@7->display_print_chip#0] -- pbum1=pbuc1 lda #rom sta display_print_chip.text_2+1 - // [2054] phi display_print_chip::w#10 = 3 [phi:display_chip_rom::@7->display_print_chip#1] -- vbuz1=vbuc1 + // [2053] phi display_print_chip::w#10 = 3 [phi:display_chip_rom::@7->display_print_chip#1] -- vbuz1=vbuc1 lda #3 sta.z display_print_chip.w - // [2054] phi display_print_chip::x#10 = display_print_chip::x#2 [phi:display_chip_rom::@7->display_print_chip#2] -- register_copy + // [2053] phi display_print_chip::x#10 = display_print_chip::x#2 [phi:display_chip_rom::@7->display_print_chip#2] -- register_copy jsr display_print_chip // display_chip_rom::@8 // for (unsigned char r = 0; r < 8; r++) - // [913] display_chip_rom::r#1 = ++ display_chip_rom::r#2 -- vbuz1=_inc_vbuz1 - inc.z r - // [896] phi from display_chip_rom::@8 to display_chip_rom::@1 [phi:display_chip_rom::@8->display_chip_rom::@1] - // [896] phi display_chip_rom::r#2 = display_chip_rom::r#1 [phi:display_chip_rom::@8->display_chip_rom::@1#0] -- register_copy + // [907] display_chip_rom::r#1 = ++ display_chip_rom::r#2 -- vbum1=_inc_vbum1 + inc r + // [890] phi from display_chip_rom::@8 to display_chip_rom::@1 [phi:display_chip_rom::@8->display_chip_rom::@1] + // [890] phi display_chip_rom::r#2 = display_chip_rom::r#1 [phi:display_chip_rom::@8->display_chip_rom::@1#0] -- register_copy jmp __b1 .segment Data rom: .fill $10, 0 source: .text "ROM " .byte 0 + .label r = rom_get_release.return } .segment Code // display_info_smc @@ -5936,150 +5974,190 @@ display_chip_rom: { * * @remark The smc_booloader is a global variable. */ -// void display_info_smc(__zp($e8) char info_status, __zp($ca) char *info_text) +// void display_info_smc(__mem() char info_status, __zp($4d) char *info_text) display_info_smc: { - .label display_info_smc__8 = $e8 - .label y = $6c - .label info_status = $e8 - .label info_text = $ca + .label x = $e2 + .label y = $66 + .label info_text = $4d // unsigned char x = wherex() - // [915] call wherex + // [909] call wherex jsr wherex - // [916] wherex::return#10 = wherex::return#0 -- vbum1=vbuz2 + // [910] wherex::return#10 = wherex::return#0 -- vbuz1=vbuz2 lda.z wherex.return - sta wherex.return_2 + sta.z wherex.return_2 // display_info_smc::@3 - // [917] display_info_smc::x#0 = wherex::return#10 + // [911] display_info_smc::x#0 = wherex::return#10 // unsigned char y = wherey() - // [918] call wherey + // [912] call wherey jsr wherey - // [919] wherey::return#10 = wherey::return#0 -- vbuz1=vbuz2 + // [913] wherey::return#10 = wherey::return#0 -- vbuz1=vbuz2 lda.z wherey.return sta.z wherey.return_2 // display_info_smc::@4 - // [920] display_info_smc::y#0 = wherey::return#10 + // [914] display_info_smc::y#0 = wherey::return#10 // status_smc = info_status - // [921] status_smc#0 = display_info_smc::info_status#18 -- vbum1=vbuz2 - lda.z info_status + // [915] status_smc#0 = display_info_smc::info_status#18 -- vbum1=vbum2 + lda info_status sta status_smc // display_smc_led(status_color[info_status]) - // [922] display_smc_led::c#1 = status_color[display_info_smc::info_status#18] -- vbuz1=pbuc1_derefidx_vbuz2 - ldy.z info_status + // [916] display_smc_led::c#1 = status_color[display_info_smc::info_status#18] -- vbuz1=pbuc1_derefidx_vbum2 + ldy info_status lda status_color,y sta.z display_smc_led.c - // [923] call display_smc_led - // [2048] phi from display_info_smc::@4 to display_smc_led [phi:display_info_smc::@4->display_smc_led] - // [2048] phi display_smc_led::c#2 = display_smc_led::c#1 [phi:display_info_smc::@4->display_smc_led#0] -- register_copy + // [917] call display_smc_led + // [2047] phi from display_info_smc::@4 to display_smc_led [phi:display_info_smc::@4->display_smc_led] + // [2047] phi display_smc_led::c#2 = display_smc_led::c#1 [phi:display_info_smc::@4->display_smc_led#0] -- register_copy jsr display_smc_led - // [924] phi from display_info_smc::@4 to display_info_smc::@5 [phi:display_info_smc::@4->display_info_smc::@5] + // [918] phi from display_info_smc::@4 to display_info_smc::@5 [phi:display_info_smc::@4->display_info_smc::@5] // display_info_smc::@5 // gotoxy(INFO_X, INFO_Y) - // [925] call gotoxy - // [762] phi from display_info_smc::@5 to gotoxy [phi:display_info_smc::@5->gotoxy] - // [762] phi gotoxy::y#30 = $11 [phi:display_info_smc::@5->gotoxy#0] -- vbuz1=vbuc1 + // [919] call gotoxy + // [756] phi from display_info_smc::@5 to gotoxy [phi:display_info_smc::@5->gotoxy] + // [756] phi gotoxy::y#30 = $11 [phi:display_info_smc::@5->gotoxy#0] -- vbuz1=vbuc1 lda #$11 sta.z gotoxy.y - // [762] phi gotoxy::x#30 = 4 [phi:display_info_smc::@5->gotoxy#1] -- vbuz1=vbuc1 + // [756] phi gotoxy::x#30 = 4 [phi:display_info_smc::@5->gotoxy#1] -- vbuz1=vbuc1 lda #4 sta.z gotoxy.x jsr gotoxy - // [926] phi from display_info_smc::@5 to display_info_smc::@6 [phi:display_info_smc::@5->display_info_smc::@6] + // [920] phi from display_info_smc::@5 to display_info_smc::@6 [phi:display_info_smc::@5->display_info_smc::@6] // display_info_smc::@6 - // printf("SMC %-9s ATTiny v%s ", status_text[info_status], smc_version_text) - // [927] call printf_str - // [1016] phi from display_info_smc::@6 to printf_str [phi:display_info_smc::@6->printf_str] - // [1016] phi printf_str::putc#71 = &cputc [phi:display_info_smc::@6->printf_str#0] -- pprz1=pprc1 + // printf("SMC %-9s ATTiny %-9s BL:%u ", status_text[info_status], smc_version_text, smc_bootloader) + // [921] call printf_str + // [1156] phi from display_info_smc::@6 to printf_str [phi:display_info_smc::@6->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:display_info_smc::@6->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = display_info_smc::s [phi:display_info_smc::@6->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = display_info_smc::s [phi:display_info_smc::@6->printf_str#1] -- pbuz1=pbuc1 lda #s sta.z printf_str.s+1 jsr printf_str // display_info_smc::@7 - // printf("SMC %-9s ATTiny v%s ", status_text[info_status], smc_version_text) - // [928] display_info_smc::$8 = display_info_smc::info_status#18 << 1 -- vbuz1=vbuz1_rol_1 - asl.z display_info_smc__8 - // [929] printf_string::str#3 = status_text[display_info_smc::$8] -- pbuz1=qbuc1_derefidx_vbuz2 - ldy.z display_info_smc__8 + // printf("SMC %-9s ATTiny %-9s BL:%u ", status_text[info_status], smc_version_text, smc_bootloader) + // [922] display_info_smc::$8 = display_info_smc::info_status#18 << 1 -- vbum1=vbum1_rol_1 + asl display_info_smc__8 + // [923] printf_string::str#3 = status_text[display_info_smc::$8] -- pbuz1=qbuc1_derefidx_vbum2 + ldy display_info_smc__8 lda status_text,y sta.z printf_string.str lda status_text+1,y sta.z printf_string.str+1 - // [930] call printf_string - // [1177] phi from display_info_smc::@7 to printf_string [phi:display_info_smc::@7->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_info_smc::@7->printf_string#0] -- pprz1=pprc1 + // [924] call printf_string + // [1165] phi from display_info_smc::@7 to printf_string [phi:display_info_smc::@7->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_info_smc::@7->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#3 [phi:display_info_smc::@7->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 1 [phi:display_info_smc::@7->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#3 [phi:display_info_smc::@7->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_info_smc::@7->printf_string#2] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 9 [phi:display_info_smc::@7->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 9 [phi:display_info_smc::@7->printf_string#3] -- vbuz1=vbuc1 lda #9 sta.z printf_string.format_min_length jsr printf_string - // [931] phi from display_info_smc::@7 to display_info_smc::@8 [phi:display_info_smc::@7->display_info_smc::@8] + // [925] phi from display_info_smc::@7 to display_info_smc::@8 [phi:display_info_smc::@7->display_info_smc::@8] // display_info_smc::@8 - // printf("SMC %-9s ATTiny v%s ", status_text[info_status], smc_version_text) - // [932] call printf_str - // [1016] phi from display_info_smc::@8 to printf_str [phi:display_info_smc::@8->printf_str] - // [1016] phi printf_str::putc#71 = &cputc [phi:display_info_smc::@8->printf_str#0] -- pprz1=pprc1 + // printf("SMC %-9s ATTiny %-9s BL:%u ", status_text[info_status], smc_version_text, smc_bootloader) + // [926] call printf_str + // [1156] phi from display_info_smc::@8 to printf_str [phi:display_info_smc::@8->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:display_info_smc::@8->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = display_info_smc::s1 [phi:display_info_smc::@8->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = display_info_smc::s1 [phi:display_info_smc::@8->printf_str#1] -- pbuz1=pbuc1 lda #s1 sta.z printf_str.s+1 jsr printf_str - // [933] phi from display_info_smc::@8 to display_info_smc::@9 [phi:display_info_smc::@8->display_info_smc::@9] + // [927] phi from display_info_smc::@8 to display_info_smc::@9 [phi:display_info_smc::@8->display_info_smc::@9] // display_info_smc::@9 - // printf("SMC %-9s ATTiny v%s ", status_text[info_status], smc_version_text) - // [934] call printf_string - // [1177] phi from display_info_smc::@9 to printf_string [phi:display_info_smc::@9->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_info_smc::@9->printf_string#0] -- pprz1=pprc1 + // printf("SMC %-9s ATTiny %-9s BL:%u ", status_text[info_status], smc_version_text, smc_bootloader) + // [928] call printf_string + // [1165] phi from display_info_smc::@9 to printf_string [phi:display_info_smc::@9->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_info_smc::@9->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = smc_version_text [phi:display_info_smc::@9->printf_string#1] -- pbuz1=pbuc1 + // [1165] phi printf_string::str#22 = smc_version_text [phi:display_info_smc::@9->printf_string#1] -- pbuz1=pbuc1 lda #smc_version_text sta.z printf_string.str+1 - // [1177] phi printf_string::format_justify_left#22 = 0 [phi:display_info_smc::@9->printf_string#2] -- vbuz1=vbuc1 - lda #0 + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_info_smc::@9->printf_string#2] -- vbuz1=vbuc1 + lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 0 [phi:display_info_smc::@9->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 9 [phi:display_info_smc::@9->printf_string#3] -- vbuz1=vbuc1 + lda #9 sta.z printf_string.format_min_length jsr printf_string - // [935] phi from display_info_smc::@9 to display_info_smc::@10 [phi:display_info_smc::@9->display_info_smc::@10] + // [929] phi from display_info_smc::@9 to display_info_smc::@10 [phi:display_info_smc::@9->display_info_smc::@10] // display_info_smc::@10 - // printf("SMC %-9s ATTiny v%s ", status_text[info_status], smc_version_text) - // [936] call printf_str - // [1016] phi from display_info_smc::@10 to printf_str [phi:display_info_smc::@10->printf_str] - // [1016] phi printf_str::putc#71 = &cputc [phi:display_info_smc::@10->printf_str#0] -- pprz1=pprc1 + // printf("SMC %-9s ATTiny %-9s BL:%u ", status_text[info_status], smc_version_text, smc_bootloader) + // [930] call printf_str + // [1156] phi from display_info_smc::@10 to printf_str [phi:display_info_smc::@10->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:display_info_smc::@10->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s [phi:display_info_smc::@10->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = display_info_smc::s2 [phi:display_info_smc::@10->printf_str#1] -- pbuz1=pbuc1 + lda #s2 + sta.z printf_str.s+1 + jsr printf_str + // display_info_smc::@11 + // printf("SMC %-9s ATTiny %-9s BL:%u ", status_text[info_status], smc_version_text, smc_bootloader) + // [931] printf_uint::uvalue#0 = smc_bootloader#13 -- vwuz1=vwum2 + lda smc_bootloader_1 + sta.z printf_uint.uvalue + lda smc_bootloader_1+1 + sta.z printf_uint.uvalue+1 + // [932] call printf_uint + // [1810] phi from display_info_smc::@11 to printf_uint [phi:display_info_smc::@11->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 0 [phi:display_info_smc::@11->printf_uint#0] -- vbuz1=vbuc1 + lda #0 + sta.z printf_uint.format_zero_padding + // [1810] phi printf_uint::format_min_length#14 = 0 [phi:display_info_smc::@11->printf_uint#1] -- vbuz1=vbuc1 + sta.z printf_uint.format_min_length + // [1810] phi printf_uint::putc#14 = &cputc [phi:display_info_smc::@11->printf_uint#2] -- pprz1=pprc1 + lda #cputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = DECIMAL [phi:display_info_smc::@11->printf_uint#3] -- vbuz1=vbuc1 + lda #DECIMAL + sta.z printf_uint.format_radix + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#0 [phi:display_info_smc::@11->printf_uint#4] -- register_copy + jsr printf_uint + // [933] phi from display_info_smc::@11 to display_info_smc::@12 [phi:display_info_smc::@11->display_info_smc::@12] + // display_info_smc::@12 + // printf("SMC %-9s ATTiny %-9s BL:%u ", status_text[info_status], smc_version_text, smc_bootloader) + // [934] call printf_str + // [1156] phi from display_info_smc::@12 to printf_str [phi:display_info_smc::@12->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:display_info_smc::@12->printf_str#0] -- pprz1=pprc1 + lda #cputc + sta.z printf_str.putc+1 + // [1156] phi printf_str::s#71 = s [phi:display_info_smc::@12->printf_str#1] -- pbuz1=pbuc1 lda #<@s sta.z printf_str.s lda #>@s sta.z printf_str.s+1 jsr printf_str - // display_info_smc::@11 + // display_info_smc::@13 // if(info_text) - // [937] if((char *)0==display_info_smc::info_text#18) goto display_info_smc::@1 -- pbuc1_eq_pbuz1_then_la1 + // [935] if((char *)0==display_info_smc::info_text#18) goto display_info_smc::@1 -- pbuc1_eq_pbuz1_then_la1 lda.z info_text cmp #<0 bne !+ @@ -6089,50 +6167,53 @@ display_info_smc: { !: // display_info_smc::@2 // printf("%-25s", info_text) - // [938] printf_string::str#5 = display_info_smc::info_text#18 -- pbuz1=pbuz2 + // [936] printf_string::str#5 = display_info_smc::info_text#18 -- pbuz1=pbuz2 lda.z info_text sta.z printf_string.str lda.z info_text+1 sta.z printf_string.str+1 - // [939] call printf_string - // [1177] phi from display_info_smc::@2 to printf_string [phi:display_info_smc::@2->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_info_smc::@2->printf_string#0] -- pprz1=pprc1 + // [937] call printf_string + // [1165] phi from display_info_smc::@2 to printf_string [phi:display_info_smc::@2->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_info_smc::@2->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#5 [phi:display_info_smc::@2->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 1 [phi:display_info_smc::@2->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#5 [phi:display_info_smc::@2->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_info_smc::@2->printf_string#2] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = $19 [phi:display_info_smc::@2->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = $19 [phi:display_info_smc::@2->printf_string#3] -- vbuz1=vbuc1 lda #$19 sta.z printf_string.format_min_length jsr printf_string // display_info_smc::@1 __b1: // gotoxy(x, y) - // [940] gotoxy::x#14 = display_info_smc::x#0 -- vbuz1=vbum2 - lda x + // [938] gotoxy::x#14 = display_info_smc::x#0 -- vbuz1=vbuz2 + lda.z x sta.z gotoxy.x - // [941] gotoxy::y#14 = display_info_smc::y#0 -- vbuz1=vbuz2 + // [939] gotoxy::y#14 = display_info_smc::y#0 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [942] call gotoxy - // [762] phi from display_info_smc::@1 to gotoxy [phi:display_info_smc::@1->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#14 [phi:display_info_smc::@1->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#14 [phi:display_info_smc::@1->gotoxy#1] -- register_copy + // [940] call gotoxy + // [756] phi from display_info_smc::@1 to gotoxy [phi:display_info_smc::@1->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#14 [phi:display_info_smc::@1->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#14 [phi:display_info_smc::@1->gotoxy#1] -- register_copy jsr gotoxy // display_info_smc::@return // } - // [943] return + // [941] return rts .segment Data s: .text "SMC " .byte 0 - s1: .text " ATTiny v" + s1: .text " ATTiny " + .byte 0 + s2: .text " BL:" .byte 0 - .label x = fclose.sp + .label display_info_smc__8 = main.check_status_smc2_main__0 + .label info_status = main.check_status_smc2_main__0 } .segment Code // display_info_vera @@ -6141,65 +6222,63 @@ display_info_smc: { * * @param info_status The STATUS_ */ -// void display_info_vera(__zp($e7) char info_status, __zp($4f) char *info_text) +// void display_info_vera(__mem() char info_status, __zp($bc) char *info_text) display_info_vera: { - .label display_info_vera__8 = $e7 - .label x = $e3 - .label y = $6e - .label info_status = $e7 - .label info_text = $4f + .label x = $6b + .label y = $e3 + .label info_text = $bc // unsigned char x = wherex() - // [945] call wherex + // [943] call wherex jsr wherex - // [946] wherex::return#11 = wherex::return#0 -- vbuz1=vbuz2 + // [944] wherex::return#11 = wherex::return#0 -- vbuz1=vbuz2 lda.z wherex.return sta.z wherex.return_3 // display_info_vera::@3 - // [947] display_info_vera::x#0 = wherex::return#11 + // [945] display_info_vera::x#0 = wherex::return#11 // unsigned char y = wherey() - // [948] call wherey + // [946] call wherey jsr wherey - // [949] wherey::return#11 = wherey::return#0 -- vbuz1=vbuz2 + // [947] wherey::return#11 = wherey::return#0 -- vbuz1=vbuz2 lda.z wherey.return sta.z wherey.return_3 // display_info_vera::@4 - // [950] display_info_vera::y#0 = wherey::return#11 + // [948] display_info_vera::y#0 = wherey::return#11 // status_vera = info_status - // [951] status_vera#0 = display_info_vera::info_status#3 -- vbum1=vbuz2 - lda.z info_status + // [949] status_vera#0 = display_info_vera::info_status#3 -- vbum1=vbum2 + lda info_status sta status_vera // display_vera_led(status_color[info_status]) - // [952] display_vera_led::c#1 = status_color[display_info_vera::info_status#3] -- vbuz1=pbuc1_derefidx_vbuz2 - ldy.z info_status + // [950] display_vera_led::c#1 = status_color[display_info_vera::info_status#3] -- vbuz1=pbuc1_derefidx_vbum2 + ldy info_status lda status_color,y sta.z display_vera_led.c - // [953] call display_vera_led - // [2098] phi from display_info_vera::@4 to display_vera_led [phi:display_info_vera::@4->display_vera_led] - // [2098] phi display_vera_led::c#2 = display_vera_led::c#1 [phi:display_info_vera::@4->display_vera_led#0] -- register_copy + // [951] call display_vera_led + // [2097] phi from display_info_vera::@4 to display_vera_led [phi:display_info_vera::@4->display_vera_led] + // [2097] phi display_vera_led::c#2 = display_vera_led::c#1 [phi:display_info_vera::@4->display_vera_led#0] -- register_copy jsr display_vera_led - // [954] phi from display_info_vera::@4 to display_info_vera::@5 [phi:display_info_vera::@4->display_info_vera::@5] + // [952] phi from display_info_vera::@4 to display_info_vera::@5 [phi:display_info_vera::@4->display_info_vera::@5] // display_info_vera::@5 // gotoxy(INFO_X, INFO_Y+1) - // [955] call gotoxy - // [762] phi from display_info_vera::@5 to gotoxy [phi:display_info_vera::@5->gotoxy] - // [762] phi gotoxy::y#30 = $11+1 [phi:display_info_vera::@5->gotoxy#0] -- vbuz1=vbuc1 + // [953] call gotoxy + // [756] phi from display_info_vera::@5 to gotoxy [phi:display_info_vera::@5->gotoxy] + // [756] phi gotoxy::y#30 = $11+1 [phi:display_info_vera::@5->gotoxy#0] -- vbuz1=vbuc1 lda #$11+1 sta.z gotoxy.y - // [762] phi gotoxy::x#30 = 4 [phi:display_info_vera::@5->gotoxy#1] -- vbuz1=vbuc1 + // [756] phi gotoxy::x#30 = 4 [phi:display_info_vera::@5->gotoxy#1] -- vbuz1=vbuc1 lda #4 sta.z gotoxy.x jsr gotoxy - // [956] phi from display_info_vera::@5 to display_info_vera::@6 [phi:display_info_vera::@5->display_info_vera::@6] + // [954] phi from display_info_vera::@5 to display_info_vera::@6 [phi:display_info_vera::@5->display_info_vera::@6] // display_info_vera::@6 // printf("VERA %-9s FPGA ", status_text[info_status]) - // [957] call printf_str - // [1016] phi from display_info_vera::@6 to printf_str [phi:display_info_vera::@6->printf_str] - // [1016] phi printf_str::putc#71 = &cputc [phi:display_info_vera::@6->printf_str#0] -- pprz1=pprc1 + // [955] call printf_str + // [1156] phi from display_info_vera::@6 to printf_str [phi:display_info_vera::@6->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:display_info_vera::@6->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = display_info_vera::s [phi:display_info_vera::@6->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = display_info_vera::s [phi:display_info_vera::@6->printf_str#1] -- pbuz1=pbuc1 lda #s @@ -6207,40 +6286,40 @@ display_info_vera: { jsr printf_str // display_info_vera::@7 // printf("VERA %-9s FPGA ", status_text[info_status]) - // [958] display_info_vera::$8 = display_info_vera::info_status#3 << 1 -- vbuz1=vbuz1_rol_1 - asl.z display_info_vera__8 - // [959] printf_string::str#6 = status_text[display_info_vera::$8] -- pbuz1=qbuc1_derefidx_vbuz2 - ldy.z display_info_vera__8 + // [956] display_info_vera::$8 = display_info_vera::info_status#3 << 1 -- vbum1=vbum1_rol_1 + asl display_info_vera__8 + // [957] printf_string::str#6 = status_text[display_info_vera::$8] -- pbuz1=qbuc1_derefidx_vbum2 + ldy display_info_vera__8 lda status_text,y sta.z printf_string.str lda status_text+1,y sta.z printf_string.str+1 - // [960] call printf_string - // [1177] phi from display_info_vera::@7 to printf_string [phi:display_info_vera::@7->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_info_vera::@7->printf_string#0] -- pprz1=pprc1 + // [958] call printf_string + // [1165] phi from display_info_vera::@7 to printf_string [phi:display_info_vera::@7->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_info_vera::@7->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#6 [phi:display_info_vera::@7->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 1 [phi:display_info_vera::@7->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#6 [phi:display_info_vera::@7->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_info_vera::@7->printf_string#2] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 9 [phi:display_info_vera::@7->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 9 [phi:display_info_vera::@7->printf_string#3] -- vbuz1=vbuc1 lda #9 sta.z printf_string.format_min_length jsr printf_string - // [961] phi from display_info_vera::@7 to display_info_vera::@8 [phi:display_info_vera::@7->display_info_vera::@8] + // [959] phi from display_info_vera::@7 to display_info_vera::@8 [phi:display_info_vera::@7->display_info_vera::@8] // display_info_vera::@8 // printf("VERA %-9s FPGA ", status_text[info_status]) - // [962] call printf_str - // [1016] phi from display_info_vera::@8 to printf_str [phi:display_info_vera::@8->printf_str] - // [1016] phi printf_str::putc#71 = &cputc [phi:display_info_vera::@8->printf_str#0] -- pprz1=pprc1 + // [960] call printf_str + // [1156] phi from display_info_vera::@8 to printf_str [phi:display_info_vera::@8->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:display_info_vera::@8->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = display_info_vera::s1 [phi:display_info_vera::@8->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = display_info_vera::s1 [phi:display_info_vera::@8->printf_str#1] -- pbuz1=pbuc1 lda #s1 @@ -6248,7 +6327,7 @@ display_info_vera: { jsr printf_str // display_info_vera::@9 // if(info_text) - // [963] if((char *)0==display_info_vera::info_text#10) goto display_info_vera::@1 -- pbuc1_eq_pbuz1_then_la1 + // [961] if((char *)0==display_info_vera::info_text#10) goto display_info_vera::@1 -- pbuc1_eq_pbuz1_then_la1 lda.z info_text cmp #<0 bne !+ @@ -6258,49 +6337,51 @@ display_info_vera: { !: // display_info_vera::@2 // printf("%-25s", info_text) - // [964] printf_string::str#7 = display_info_vera::info_text#10 -- pbuz1=pbuz2 + // [962] printf_string::str#7 = display_info_vera::info_text#10 -- pbuz1=pbuz2 lda.z info_text sta.z printf_string.str lda.z info_text+1 sta.z printf_string.str+1 - // [965] call printf_string - // [1177] phi from display_info_vera::@2 to printf_string [phi:display_info_vera::@2->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_info_vera::@2->printf_string#0] -- pprz1=pprc1 + // [963] call printf_string + // [1165] phi from display_info_vera::@2 to printf_string [phi:display_info_vera::@2->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_info_vera::@2->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#7 [phi:display_info_vera::@2->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 1 [phi:display_info_vera::@2->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#7 [phi:display_info_vera::@2->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_info_vera::@2->printf_string#2] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = $19 [phi:display_info_vera::@2->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = $19 [phi:display_info_vera::@2->printf_string#3] -- vbuz1=vbuc1 lda #$19 sta.z printf_string.format_min_length jsr printf_string // display_info_vera::@1 __b1: // gotoxy(x, y) - // [966] gotoxy::x#16 = display_info_vera::x#0 -- vbuz1=vbuz2 + // [964] gotoxy::x#16 = display_info_vera::x#0 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [967] gotoxy::y#16 = display_info_vera::y#0 -- vbuz1=vbuz2 + // [965] gotoxy::y#16 = display_info_vera::y#0 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [968] call gotoxy - // [762] phi from display_info_vera::@1 to gotoxy [phi:display_info_vera::@1->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#16 [phi:display_info_vera::@1->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#16 [phi:display_info_vera::@1->gotoxy#1] -- register_copy + // [966] call gotoxy + // [756] phi from display_info_vera::@1 to gotoxy [phi:display_info_vera::@1->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#16 [phi:display_info_vera::@1->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#16 [phi:display_info_vera::@1->gotoxy#1] -- register_copy jsr gotoxy // display_info_vera::@return // } - // [969] return + // [967] return rts .segment Data s: .text "VERA " .byte 0 s1: .text " FPGA " .byte 0 + .label display_info_vera__8 = rom_get_prefix.return + .label info_status = rom_get_prefix.return } .segment Code // smc_detect @@ -6317,27 +6398,27 @@ smc_detect: { .label smc_bootloader_version = $2d .label return = $2d // cx16_k_i2c_read_byte(FLASH_I2C_SMC_DEVICE, FLASH_I2C_SMC_OFFSET) - // [970] cx16_k_i2c_read_byte::device = $42 -- vbum1=vbuc1 + // [968] cx16_k_i2c_read_byte::device = $42 -- vbum1=vbuc1 lda #$42 sta cx16_k_i2c_read_byte.device - // [971] cx16_k_i2c_read_byte::offset = $8e -- vbum1=vbuc1 + // [969] cx16_k_i2c_read_byte::offset = $8e -- vbum1=vbuc1 lda #$8e sta cx16_k_i2c_read_byte.offset - // [972] call cx16_k_i2c_read_byte + // [970] call cx16_k_i2c_read_byte jsr cx16_k_i2c_read_byte - // [973] cx16_k_i2c_read_byte::return#10 = cx16_k_i2c_read_byte::return#1 + // [971] cx16_k_i2c_read_byte::return#10 = cx16_k_i2c_read_byte::return#1 // smc_detect::@3 // smc_bootloader_version = cx16_k_i2c_read_byte(FLASH_I2C_SMC_DEVICE, FLASH_I2C_SMC_OFFSET) - // [974] smc_detect::smc_bootloader_version#1 = cx16_k_i2c_read_byte::return#10 + // [972] smc_detect::smc_bootloader_version#1 = cx16_k_i2c_read_byte::return#10 // BYTE1(smc_bootloader_version) - // [975] smc_detect::$1 = byte1 smc_detect::smc_bootloader_version#1 -- vbuz1=_byte1_vwuz2 + // [973] smc_detect::$1 = byte1 smc_detect::smc_bootloader_version#1 -- vbuz1=_byte1_vwuz2 lda.z smc_bootloader_version+1 sta.z smc_detect__1 // if(!BYTE1(smc_bootloader_version)) - // [976] if(0==smc_detect::$1) goto smc_detect::@1 -- 0_eq_vbuz1_then_la1 + // [974] if(0==smc_detect::$1) goto smc_detect::@1 -- 0_eq_vbuz1_then_la1 beq __b1 - // [979] phi from smc_detect::@3 to smc_detect::@2 [phi:smc_detect::@3->smc_detect::@2] - // [979] phi smc_detect::return#0 = $200 [phi:smc_detect::@3->smc_detect::@2#0] -- vwuz1=vwuc1 + // [977] phi from smc_detect::@3 to smc_detect::@2 [phi:smc_detect::@3->smc_detect::@2] + // [977] phi smc_detect::return#0 = $200 [phi:smc_detect::@3->smc_detect::@2#0] -- vwuz1=vwuc1 lda #<$200 sta.z return lda #>$200 @@ -6346,72 +6427,72 @@ smc_detect: { // smc_detect::@1 __b1: // if(smc_bootloader_version == 0xFF) - // [977] if(smc_detect::smc_bootloader_version#1!=$ff) goto smc_detect::@4 -- vwuz1_neq_vbuc1_then_la1 + // [975] if(smc_detect::smc_bootloader_version#1!=$ff) goto smc_detect::@4 -- vwuz1_neq_vbuc1_then_la1 lda.z smc_bootloader_version+1 bne __b2 lda.z smc_bootloader_version cmp #$ff bne __b2 - // [979] phi from smc_detect::@1 to smc_detect::@2 [phi:smc_detect::@1->smc_detect::@2] - // [979] phi smc_detect::return#0 = $100 [phi:smc_detect::@1->smc_detect::@2#0] -- vwuz1=vwuc1 + // [977] phi from smc_detect::@1 to smc_detect::@2 [phi:smc_detect::@1->smc_detect::@2] + // [977] phi smc_detect::return#0 = $100 [phi:smc_detect::@1->smc_detect::@2#0] -- vwuz1=vwuc1 lda #<$100 sta.z return lda #>$100 sta.z return+1 rts - // [978] phi from smc_detect::@1 to smc_detect::@4 [phi:smc_detect::@1->smc_detect::@4] + // [976] phi from smc_detect::@1 to smc_detect::@4 [phi:smc_detect::@1->smc_detect::@4] // smc_detect::@4 - // [979] phi from smc_detect::@4 to smc_detect::@2 [phi:smc_detect::@4->smc_detect::@2] - // [979] phi smc_detect::return#0 = smc_detect::smc_bootloader_version#1 [phi:smc_detect::@4->smc_detect::@2#0] -- register_copy + // [977] phi from smc_detect::@4 to smc_detect::@2 [phi:smc_detect::@4->smc_detect::@2] + // [977] phi smc_detect::return#0 = smc_detect::smc_bootloader_version#1 [phi:smc_detect::@4->smc_detect::@2#0] -- register_copy // smc_detect::@2 __b2: // smc_detect::@return // } - // [980] return + // [978] return rts } // strcpy // Copies the C string pointed by source into the array pointed by destination, including the terminating null character (and stopping at that point). -// char * strcpy(__zp($ca) char *destination, char *source) +// char * strcpy(__zp($4d) char *destination, char *source) strcpy: { - .label src = $60 - .label dst = $ca - .label destination = $ca - // [982] phi from strcpy strcpy::@2 to strcpy::@1 [phi:strcpy/strcpy::@2->strcpy::@1] - // [982] phi strcpy::dst#2 = strcpy::dst#0 [phi:strcpy/strcpy::@2->strcpy::@1#0] -- register_copy - // [982] phi strcpy::src#2 = strcpy::src#0 [phi:strcpy/strcpy::@2->strcpy::@1#1] -- register_copy + .label src = $62 + .label dst = $4d + .label destination = $4d + // [980] phi from strcpy strcpy::@2 to strcpy::@1 [phi:strcpy/strcpy::@2->strcpy::@1] + // [980] phi strcpy::dst#2 = strcpy::dst#0 [phi:strcpy/strcpy::@2->strcpy::@1#0] -- register_copy + // [980] phi strcpy::src#2 = strcpy::src#0 [phi:strcpy/strcpy::@2->strcpy::@1#1] -- register_copy // strcpy::@1 __b1: // while(*src) - // [983] if(0!=*strcpy::src#2) goto strcpy::@2 -- 0_neq__deref_pbuz1_then_la1 + // [981] if(0!=*strcpy::src#2) goto strcpy::@2 -- 0_neq__deref_pbuz1_then_la1 ldy #0 lda (src),y cmp #0 bne __b2 // strcpy::@3 // *dst = 0 - // [984] *strcpy::dst#2 = 0 -- _deref_pbuz1=vbuc1 + // [982] *strcpy::dst#2 = 0 -- _deref_pbuz1=vbuc1 tya tay sta (dst),y // strcpy::@return // } - // [985] return + // [983] return rts // strcpy::@2 __b2: // *dst++ = *src++ - // [986] *strcpy::dst#2 = *strcpy::src#2 -- _deref_pbuz1=_deref_pbuz2 + // [984] *strcpy::dst#2 = *strcpy::src#2 -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (src),y sta (dst),y // *dst++ = *src++; - // [987] strcpy::dst#1 = ++ strcpy::dst#2 -- pbuz1=_inc_pbuz1 + // [985] strcpy::dst#1 = ++ strcpy::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 !: - // [988] strcpy::src#1 = ++ strcpy::src#2 -- pbuz1=_inc_pbuz1 + // [986] strcpy::src#1 = ++ strcpy::src#2 -- pbuz1=_inc_pbuz1 inc.z src bne !+ inc.z src+1 @@ -6433,7 +6514,7 @@ strcpy: { cx16_k_i2c_read_byte: { .label return = $2d // unsigned int result - // [989] cx16_k_i2c_read_byte::result = 0 -- vwum1=vwuc1 + // [987] cx16_k_i2c_read_byte::result = 0 -- vwum1=vwuc1 lda #<0 sta result sta result+1 @@ -6446,14 +6527,14 @@ cx16_k_i2c_read_byte: { sta result rol result+1 // return result; - // [991] cx16_k_i2c_read_byte::return#0 = cx16_k_i2c_read_byte::result -- vwuz1=vwum2 + // [989] cx16_k_i2c_read_byte::return#0 = cx16_k_i2c_read_byte::result -- vwuz1=vwum2 sta.z return lda result+1 sta.z return+1 // cx16_k_i2c_read_byte::@return // } - // [992] cx16_k_i2c_read_byte::return#1 = cx16_k_i2c_read_byte::return#0 - // [993] return + // [990] cx16_k_i2c_read_byte::return#1 = cx16_k_i2c_read_byte::return#0 + // [991] return rts .segment Data device: .byte 0 @@ -6467,49 +6548,49 @@ cx16_k_i2c_read_byte: { * * @param version_string The string containing the SMC version filled upon return. */ -// unsigned long smc_get_version_text(__zp($4f) char *version_string, __zp($2f) char release, __zp($72) char major, __zp($37) char minor) +// unsigned long smc_get_version_text(__zp($bc) char *version_string, __zp($2f) char release, __zp($35) char major, __zp($37) char minor) smc_get_version_text: { .label release = $2f - .label major = $72 + .label major = $35 .label minor = $37 - .label version_string = $4f + .label version_string = $bc // sprintf(version_string, "%u.%u.%u", release, major, minor) - // [995] snprintf_init::s#0 = smc_get_version_text::version_string#2 - // [996] call snprintf_init - // [1011] phi from smc_get_version_text to snprintf_init [phi:smc_get_version_text->snprintf_init] - // [1011] phi snprintf_init::s#27 = snprintf_init::s#0 [phi:smc_get_version_text->snprintf_init#0] -- register_copy + // [993] snprintf_init::s#0 = smc_get_version_text::version_string#2 + // [994] call snprintf_init + // [1151] phi from smc_get_version_text to snprintf_init [phi:smc_get_version_text->snprintf_init] + // [1151] phi snprintf_init::s#26 = snprintf_init::s#0 [phi:smc_get_version_text->snprintf_init#0] -- register_copy jsr snprintf_init // smc_get_version_text::@1 // sprintf(version_string, "%u.%u.%u", release, major, minor) - // [997] printf_uchar::uvalue#1 = smc_get_version_text::release#2 - // [998] call printf_uchar - // [1248] phi from smc_get_version_text::@1 to printf_uchar [phi:smc_get_version_text::@1->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 0 [phi:smc_get_version_text::@1->printf_uchar#0] -- vbuz1=vbuc1 + // [995] printf_uchar::uvalue#1 = smc_get_version_text::release#2 + // [996] call printf_uchar + // [1236] phi from smc_get_version_text::@1 to printf_uchar [phi:smc_get_version_text::@1->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 0 [phi:smc_get_version_text::@1->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 0 [phi:smc_get_version_text::@1->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 0 [phi:smc_get_version_text::@1->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:smc_get_version_text::@1->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:smc_get_version_text::@1->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = DECIMAL [phi:smc_get_version_text::@1->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = DECIMAL [phi:smc_get_version_text::@1->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#1 [phi:smc_get_version_text::@1->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#1 [phi:smc_get_version_text::@1->printf_uchar#4] -- register_copy jsr printf_uchar - // [999] phi from smc_get_version_text::@1 to smc_get_version_text::@2 [phi:smc_get_version_text::@1->smc_get_version_text::@2] + // [997] phi from smc_get_version_text::@1 to smc_get_version_text::@2 [phi:smc_get_version_text::@1->smc_get_version_text::@2] // smc_get_version_text::@2 // sprintf(version_string, "%u.%u.%u", release, major, minor) - // [1000] call printf_str - // [1016] phi from smc_get_version_text::@2 to printf_str [phi:smc_get_version_text::@2->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_get_version_text::@2->printf_str#0] -- pprz1=pprc1 + // [998] call printf_str + // [1156] phi from smc_get_version_text::@2 to printf_str [phi:smc_get_version_text::@2->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_get_version_text::@2->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_get_version_text::s [phi:smc_get_version_text::@2->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_get_version_text::s [phi:smc_get_version_text::@2->printf_str#1] -- pbuz1=pbuc1 lda #s @@ -6517,37 +6598,37 @@ smc_get_version_text: { jsr printf_str // smc_get_version_text::@3 // sprintf(version_string, "%u.%u.%u", release, major, minor) - // [1001] printf_uchar::uvalue#2 = smc_get_version_text::major#2 -- vbuz1=vbuz2 + // [999] printf_uchar::uvalue#2 = smc_get_version_text::major#2 -- vbuz1=vbuz2 lda.z major sta.z printf_uchar.uvalue - // [1002] call printf_uchar - // [1248] phi from smc_get_version_text::@3 to printf_uchar [phi:smc_get_version_text::@3->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 0 [phi:smc_get_version_text::@3->printf_uchar#0] -- vbuz1=vbuc1 + // [1000] call printf_uchar + // [1236] phi from smc_get_version_text::@3 to printf_uchar [phi:smc_get_version_text::@3->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 0 [phi:smc_get_version_text::@3->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 0 [phi:smc_get_version_text::@3->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 0 [phi:smc_get_version_text::@3->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:smc_get_version_text::@3->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:smc_get_version_text::@3->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = DECIMAL [phi:smc_get_version_text::@3->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = DECIMAL [phi:smc_get_version_text::@3->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#2 [phi:smc_get_version_text::@3->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#2 [phi:smc_get_version_text::@3->printf_uchar#4] -- register_copy jsr printf_uchar - // [1003] phi from smc_get_version_text::@3 to smc_get_version_text::@4 [phi:smc_get_version_text::@3->smc_get_version_text::@4] + // [1001] phi from smc_get_version_text::@3 to smc_get_version_text::@4 [phi:smc_get_version_text::@3->smc_get_version_text::@4] // smc_get_version_text::@4 // sprintf(version_string, "%u.%u.%u", release, major, minor) - // [1004] call printf_str - // [1016] phi from smc_get_version_text::@4 to printf_str [phi:smc_get_version_text::@4->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_get_version_text::@4->printf_str#0] -- pprz1=pprc1 + // [1002] call printf_str + // [1156] phi from smc_get_version_text::@4 to printf_str [phi:smc_get_version_text::@4->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_get_version_text::@4->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_get_version_text::s [phi:smc_get_version_text::@4->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_get_version_text::s [phi:smc_get_version_text::@4->printf_str#1] -- pbuz1=pbuc1 lda #s @@ -6555,216 +6636,104 @@ smc_get_version_text: { jsr printf_str // smc_get_version_text::@5 // sprintf(version_string, "%u.%u.%u", release, major, minor) - // [1005] printf_uchar::uvalue#3 = smc_get_version_text::minor#2 -- vbuz1=vbuz2 + // [1003] printf_uchar::uvalue#3 = smc_get_version_text::minor#2 -- vbuz1=vbuz2 lda.z minor sta.z printf_uchar.uvalue - // [1006] call printf_uchar - // [1248] phi from smc_get_version_text::@5 to printf_uchar [phi:smc_get_version_text::@5->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 0 [phi:smc_get_version_text::@5->printf_uchar#0] -- vbuz1=vbuc1 + // [1004] call printf_uchar + // [1236] phi from smc_get_version_text::@5 to printf_uchar [phi:smc_get_version_text::@5->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 0 [phi:smc_get_version_text::@5->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 0 [phi:smc_get_version_text::@5->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 0 [phi:smc_get_version_text::@5->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:smc_get_version_text::@5->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:smc_get_version_text::@5->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = DECIMAL [phi:smc_get_version_text::@5->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = DECIMAL [phi:smc_get_version_text::@5->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#3 [phi:smc_get_version_text::@5->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#3 [phi:smc_get_version_text::@5->printf_uchar#4] -- register_copy jsr printf_uchar // smc_get_version_text::@6 // sprintf(version_string, "%u.%u.%u", release, major, minor) - // [1007] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1005] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1008] callexecute snputc -- call_vprc1 + // [1006] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // smc_get_version_text::@return // } - // [1010] return + // [1008] return rts .segment Data s: .text "." .byte 0 } .segment Code - // snprintf_init -/// Initialize the snprintf() state -// void snprintf_init(__zp($4f) char *s, unsigned int n) -snprintf_init: { - .label s = $4f - // __snprintf_capacity = n - // [1012] __snprintf_capacity = $ffff -- vwum1=vwuc1 - lda #<$ffff - sta __snprintf_capacity - lda #>$ffff - sta __snprintf_capacity+1 - // __snprintf_size = 0 - // [1013] __snprintf_size = 0 -- vwum1=vbuc1 - lda #<0 - sta __snprintf_size - sta __snprintf_size+1 - // __snprintf_buffer = s - // [1014] __snprintf_buffer = snprintf_init::s#27 -- pbum1=pbuz2 - lda.z s - sta __snprintf_buffer - lda.z s+1 - sta __snprintf_buffer+1 - // snprintf_init::@return - // } - // [1015] return - rts -} - // printf_str -/// Print a NUL-terminated string -// void printf_str(__zp($4d) void (*putc)(char), __zp($60) const char *s) -printf_str: { - .label c = $c2 - .label s = $60 - .label putc = $4d - // [1017] phi from printf_str printf_str::@2 to printf_str::@1 [phi:printf_str/printf_str::@2->printf_str::@1] - // [1017] phi printf_str::s#70 = printf_str::s#71 [phi:printf_str/printf_str::@2->printf_str::@1#0] -- register_copy - // printf_str::@1 + // rom_detect +rom_detect: { + .const bank_set_brom1_bank = 4 + .label rom_detect__3 = $6d + .label rom_detect__5 = $6d + .label rom_detect__9 = $e2 + .label rom_detect__14 = $6e + .label rom_detect__18 = $e3 + .label rom_detect__21 = $6b + .label rom_detect__24 = $66 + .label rom_detect_address = $30 + // [1010] phi from rom_detect to rom_detect::@1 [phi:rom_detect->rom_detect::@1] + // [1010] phi rom_detect::rom_chip#10 = 0 [phi:rom_detect->rom_detect::@1#0] -- vbum1=vbuc1 + lda #0 + sta rom_chip + // [1010] phi rom_detect::rom_detect_address#10 = 0 [phi:rom_detect->rom_detect::@1#1] -- vduz1=vduc1 + sta.z rom_detect_address + sta.z rom_detect_address+1 + lda #<0>>$10 + sta.z rom_detect_address+2 + lda #>0>>$10 + sta.z rom_detect_address+3 + // Ensure the ROM is set to BASIC. + // bank_set_brom(4); + // rom_detect::@1 __b1: - // while(c=*s++) - // [1018] printf_str::c#1 = *printf_str::s#70 -- vbuz1=_deref_pbuz2 - ldy #0 - lda (s),y - sta.z c - // [1019] printf_str::s#0 = ++ printf_str::s#70 -- pbuz1=_inc_pbuz1 - inc.z s + // for (unsigned long rom_detect_address = 0; rom_detect_address < 8 * 0x80000; rom_detect_address += 0x80000) + // [1011] if(rom_detect::rom_detect_address#10<8*$80000) goto rom_detect::@2 -- vduz1_lt_vduc1_then_la1 + lda.z rom_detect_address+3 + cmp #>8*$80000>>$10 + bcc __b2 bne !+ - inc.z s+1 + lda.z rom_detect_address+2 + cmp #<8*$80000>>$10 + bcc __b2 + bne !+ + lda.z rom_detect_address+1 + cmp #>8*$80000 + bcc __b2 + bne !+ + lda.z rom_detect_address + cmp #<8*$80000 + bcc __b2 !: - // [1020] if(0!=printf_str::c#1) goto printf_str::@2 -- 0_neq_vbuz1_then_la1 - lda.z c - bne __b2 - // printf_str::@return + // rom_detect::@return // } - // [1021] return + // [1012] return rts - // printf_str::@2 - __b2: - // putc(c) - // [1022] stackpush(char) = printf_str::c#1 -- _stackpushbyte_=vbuz1 - lda.z c - pha - // [1023] callexecute *printf_str::putc#71 -- call__deref_pprz1 - jsr icall15 - // sideeffect stackpullpadding(1) -- _stackpullpadding_1 - pla - jmp __b1 - // Outside Flow - icall15: - jmp (putc) -} - // printf_uint -// Print an unsigned int using a specific format -// void printf_uint(void (*putc)(char), __zp($2d) unsigned int uvalue, __zp($e8) char format_min_length, char format_justify_left, char format_sign_always, __zp($e7) char format_zero_padding, char format_upper_case, __zp($35) char format_radix) -printf_uint: { - .label uvalue = $2d - .label format_radix = $35 - .label format_min_length = $e8 - .label format_zero_padding = $e7 - // printf_uint::@1 - // printf_buffer.sign = format.sign_always?'+':0 - // [1026] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 - // Handle any sign - lda #0 - sta printf_buffer - // utoa(uvalue, printf_buffer.digits, format.radix) - // [1027] utoa::value#1 = printf_uint::uvalue#14 - // [1028] utoa::radix#0 = printf_uint::format_radix#14 - // [1029] call utoa - // Format number into buffer - jsr utoa - // printf_uint::@2 - // printf_number_buffer(putc, printf_buffer, format) - // [1030] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 - lda printf_buffer - sta.z printf_number_buffer.buffer_sign - // [1031] printf_number_buffer::format_min_length#1 = printf_uint::format_min_length#14 - // [1032] printf_number_buffer::format_zero_padding#1 = printf_uint::format_zero_padding#14 - // [1033] call printf_number_buffer - // Print using format - // [2157] phi from printf_uint::@2 to printf_number_buffer [phi:printf_uint::@2->printf_number_buffer] - // [2157] phi printf_number_buffer::putc#10 = &snputc [phi:printf_uint::@2->printf_number_buffer#0] -- pprz1=pprc1 - lda #snputc - sta.z printf_number_buffer.putc+1 - // [2157] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#1 [phi:printf_uint::@2->printf_number_buffer#1] -- register_copy - // [2157] phi printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#1 [phi:printf_uint::@2->printf_number_buffer#2] -- register_copy - // [2157] phi printf_number_buffer::format_min_length#3 = printf_number_buffer::format_min_length#1 [phi:printf_uint::@2->printf_number_buffer#3] -- register_copy - jsr printf_number_buffer - // printf_uint::@return - // } - // [1034] return - rts -} - // rom_detect -rom_detect: { - .const bank_set_brom1_bank = 4 - .label rom_detect__9 = $6c - .label rom_detect__14 = $78 - .label rom_detect__15 = $2c - .label rom_detect__21 = $6e - .label rom_detect__24 = $e3 - .label rom_detect_address = $30 - // [1036] phi from rom_detect to rom_detect::@1 [phi:rom_detect->rom_detect::@1] - // [1036] phi rom_detect::rom_chip#10 = 0 [phi:rom_detect->rom_detect::@1#0] -- vbum1=vbuc1 - lda #0 - sta rom_chip - // [1036] phi rom_detect::rom_detect_address#10 = 0 [phi:rom_detect->rom_detect::@1#1] -- vduz1=vduc1 - sta.z rom_detect_address - sta.z rom_detect_address+1 - lda #<0>>$10 - sta.z rom_detect_address+2 - lda #>0>>$10 - sta.z rom_detect_address+3 - // Ensure the ROM is set to BASIC. - // bank_set_brom(4); - // rom_detect::@1 - __b1: - // for (unsigned long rom_detect_address = 0; rom_detect_address < 8 * 0x80000; rom_detect_address += 0x80000) - // [1037] if(rom_detect::rom_detect_address#10<8*$80000) goto rom_detect::@2 -- vduz1_lt_vduc1_then_la1 - lda.z rom_detect_address+3 - cmp #>8*$80000>>$10 - bcc __b2 - bne !+ - lda.z rom_detect_address+2 - cmp #<8*$80000>>$10 - bcc __b2 - bne !+ - lda.z rom_detect_address+1 - cmp #>8*$80000 - bcc __b2 - bne !+ - lda.z rom_detect_address - cmp #<8*$80000 - bcc __b2 - !: - // rom_detect::@return - // } - // [1038] return - rts - // rom_detect::@2 + // rom_detect::@2 __b2: // rom_manufacturer_ids[rom_chip] = 0 - // [1039] rom_manufacturer_ids[rom_detect::rom_chip#10] = 0 -- pbuc1_derefidx_vbum1=vbuc2 + // [1013] rom_manufacturer_ids[rom_detect::rom_chip#10] = 0 -- pbuc1_derefidx_vbum1=vbuc2 lda #0 ldy rom_chip sta rom_manufacturer_ids,y // rom_device_ids[rom_chip] = 0 - // [1040] rom_device_ids[rom_detect::rom_chip#10] = 0 -- pbuc1_derefidx_vbum1=vbuc2 + // [1014] rom_device_ids[rom_detect::rom_chip#10] = 0 -- pbuc1_derefidx_vbum1=vbuc2 sta rom_device_ids,y // rom_unlock(rom_detect_address + 0x05555, 0x90) - // [1041] rom_unlock::address#2 = rom_detect::rom_detect_address#10 + $5555 -- vduz1=vduz2_plus_vwuc1 + // [1015] rom_unlock::address#2 = rom_detect::rom_detect_address#10 + $5555 -- vduz1=vduz2_plus_vwuc1 clc lda.z rom_detect_address adc #<$5555 @@ -6778,16 +6747,16 @@ rom_detect: { lda.z rom_detect_address+3 adc #0 sta.z rom_unlock.address+3 - // [1042] call rom_unlock - // [2188] phi from rom_detect::@2 to rom_unlock [phi:rom_detect::@2->rom_unlock] - // [2188] phi rom_unlock::unlock_code#5 = $90 [phi:rom_detect::@2->rom_unlock#0] -- vbuz1=vbuc1 + // [1016] call rom_unlock + // [2126] phi from rom_detect::@2 to rom_unlock [phi:rom_detect::@2->rom_unlock] + // [2126] phi rom_unlock::unlock_code#5 = $90 [phi:rom_detect::@2->rom_unlock#0] -- vbuz1=vbuc1 lda #$90 sta.z rom_unlock.unlock_code - // [2188] phi rom_unlock::address#5 = rom_unlock::address#2 [phi:rom_detect::@2->rom_unlock#1] -- register_copy + // [2126] phi rom_unlock::address#5 = rom_unlock::address#2 [phi:rom_detect::@2->rom_unlock#1] -- register_copy jsr rom_unlock // rom_detect::@12 // rom_read_byte(rom_detect_address) - // [1043] rom_read_byte::address#0 = rom_detect::rom_detect_address#10 -- vduz1=vduz2 + // [1017] rom_read_byte::address#0 = rom_detect::rom_detect_address#10 -- vduz1=vduz2 lda.z rom_detect_address sta.z rom_read_byte.address lda.z rom_detect_address+1 @@ -6796,21 +6765,21 @@ rom_detect: { sta.z rom_read_byte.address+2 lda.z rom_detect_address+3 sta.z rom_read_byte.address+3 - // [1044] call rom_read_byte - // [2198] phi from rom_detect::@12 to rom_read_byte [phi:rom_detect::@12->rom_read_byte] - // [2198] phi rom_read_byte::address#2 = rom_read_byte::address#0 [phi:rom_detect::@12->rom_read_byte#0] -- register_copy + // [1018] call rom_read_byte + // [2136] phi from rom_detect::@12 to rom_read_byte [phi:rom_detect::@12->rom_read_byte] + // [2136] phi rom_read_byte::address#2 = rom_read_byte::address#0 [phi:rom_detect::@12->rom_read_byte#0] -- register_copy jsr rom_read_byte // rom_read_byte(rom_detect_address) - // [1045] rom_read_byte::return#2 = rom_read_byte::return#0 + // [1019] rom_read_byte::return#2 = rom_read_byte::return#0 // rom_detect::@13 - // [1046] rom_detect::$3 = rom_read_byte::return#2 + // [1020] rom_detect::$3 = rom_read_byte::return#2 // rom_manufacturer_ids[rom_chip] = rom_read_byte(rom_detect_address) - // [1047] rom_manufacturer_ids[rom_detect::rom_chip#10] = rom_detect::$3 -- pbuc1_derefidx_vbum1=vbum2 - lda rom_detect__3 + // [1021] rom_manufacturer_ids[rom_detect::rom_chip#10] = rom_detect::$3 -- pbuc1_derefidx_vbum1=vbuz2 + lda.z rom_detect__3 ldy rom_chip sta rom_manufacturer_ids,y // rom_read_byte(rom_detect_address + 1) - // [1048] rom_read_byte::address#1 = rom_detect::rom_detect_address#10 + 1 -- vduz1=vduz2_plus_1 + // [1022] rom_read_byte::address#1 = rom_detect::rom_detect_address#10 + 1 -- vduz1=vduz2_plus_1 lda.z rom_detect_address clc adc #1 @@ -6824,21 +6793,21 @@ rom_detect: { lda.z rom_detect_address+3 adc #0 sta.z rom_read_byte.address+3 - // [1049] call rom_read_byte - // [2198] phi from rom_detect::@13 to rom_read_byte [phi:rom_detect::@13->rom_read_byte] - // [2198] phi rom_read_byte::address#2 = rom_read_byte::address#1 [phi:rom_detect::@13->rom_read_byte#0] -- register_copy + // [1023] call rom_read_byte + // [2136] phi from rom_detect::@13 to rom_read_byte [phi:rom_detect::@13->rom_read_byte] + // [2136] phi rom_read_byte::address#2 = rom_read_byte::address#1 [phi:rom_detect::@13->rom_read_byte#0] -- register_copy jsr rom_read_byte // rom_read_byte(rom_detect_address + 1) - // [1050] rom_read_byte::return#3 = rom_read_byte::return#0 + // [1024] rom_read_byte::return#3 = rom_read_byte::return#0 // rom_detect::@14 - // [1051] rom_detect::$5 = rom_read_byte::return#3 + // [1025] rom_detect::$5 = rom_read_byte::return#3 // rom_device_ids[rom_chip] = rom_read_byte(rom_detect_address + 1) - // [1052] rom_device_ids[rom_detect::rom_chip#10] = rom_detect::$5 -- pbuc1_derefidx_vbum1=vbum2 - lda rom_detect__5 + // [1026] rom_device_ids[rom_detect::rom_chip#10] = rom_detect::$5 -- pbuc1_derefidx_vbum1=vbuz2 + lda.z rom_detect__5 ldy rom_chip sta rom_device_ids,y // rom_unlock(rom_detect_address + 0x05555, 0xF0) - // [1053] rom_unlock::address#3 = rom_detect::rom_detect_address#10 + $5555 -- vduz1=vduz2_plus_vwuc1 + // [1027] rom_unlock::address#3 = rom_detect::rom_detect_address#10 + $5555 -- vduz1=vduz2_plus_vwuc1 clc lda.z rom_detect_address adc #<$5555 @@ -6852,65 +6821,65 @@ rom_detect: { lda.z rom_detect_address+3 adc #0 sta.z rom_unlock.address+3 - // [1054] call rom_unlock - // [2188] phi from rom_detect::@14 to rom_unlock [phi:rom_detect::@14->rom_unlock] - // [2188] phi rom_unlock::unlock_code#5 = $f0 [phi:rom_detect::@14->rom_unlock#0] -- vbuz1=vbuc1 + // [1028] call rom_unlock + // [2126] phi from rom_detect::@14 to rom_unlock [phi:rom_detect::@14->rom_unlock] + // [2126] phi rom_unlock::unlock_code#5 = $f0 [phi:rom_detect::@14->rom_unlock#0] -- vbuz1=vbuc1 lda #$f0 sta.z rom_unlock.unlock_code - // [2188] phi rom_unlock::address#5 = rom_unlock::address#3 [phi:rom_detect::@14->rom_unlock#1] -- register_copy + // [2126] phi rom_unlock::address#5 = rom_unlock::address#3 [phi:rom_detect::@14->rom_unlock#1] -- register_copy jsr rom_unlock // rom_detect::bank_set_brom1 // BROM = bank - // [1055] BROM = rom_detect::bank_set_brom1_bank#0 -- vbuz1=vbuc1 + // [1029] BROM = rom_detect::bank_set_brom1_bank#0 -- vbuz1=vbuc1 lda #bank_set_brom1_bank sta.z BROM // rom_detect::@11 // rom_chip*3 - // [1056] rom_detect::$14 = rom_detect::rom_chip#10 << 1 -- vbuz1=vbum2_rol_1 + // [1030] rom_detect::$14 = rom_detect::rom_chip#10 << 1 -- vbuz1=vbum2_rol_1 lda rom_chip asl sta.z rom_detect__14 - // [1057] rom_detect::$9 = rom_detect::$14 + rom_detect::rom_chip#10 -- vbuz1=vbuz2_plus_vbum3 + // [1031] rom_detect::$9 = rom_detect::$14 + rom_detect::rom_chip#10 -- vbuz1=vbuz2_plus_vbum3 lda rom_chip clc adc.z rom_detect__14 sta.z rom_detect__9 // gotoxy(rom_chip*3+40, 1) - // [1058] gotoxy::x#23 = rom_detect::$9 + $28 -- vbuz1=vbuz2_plus_vbuc1 + // [1032] gotoxy::x#23 = rom_detect::$9 + $28 -- vbuz1=vbuz2_plus_vbuc1 lda #$28 clc adc.z rom_detect__9 sta.z gotoxy.x - // [1059] call gotoxy - // [762] phi from rom_detect::@11 to gotoxy [phi:rom_detect::@11->gotoxy] - // [762] phi gotoxy::y#30 = 1 [phi:rom_detect::@11->gotoxy#0] -- vbuz1=vbuc1 + // [1033] call gotoxy + // [756] phi from rom_detect::@11 to gotoxy [phi:rom_detect::@11->gotoxy] + // [756] phi gotoxy::y#30 = 1 [phi:rom_detect::@11->gotoxy#0] -- vbuz1=vbuc1 lda #1 sta.z gotoxy.y - // [762] phi gotoxy::x#30 = gotoxy::x#23 [phi:rom_detect::@11->gotoxy#1] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#23 [phi:rom_detect::@11->gotoxy#1] -- register_copy jsr gotoxy // rom_detect::@15 // printf("%02x", rom_device_ids[rom_chip]) - // [1060] printf_uchar::uvalue#8 = rom_device_ids[rom_detect::rom_chip#10] -- vbuz1=pbuc1_derefidx_vbum2 + // [1034] printf_uchar::uvalue#8 = rom_device_ids[rom_detect::rom_chip#10] -- vbuz1=pbuc1_derefidx_vbum2 ldy rom_chip lda rom_device_ids,y sta.z printf_uchar.uvalue - // [1061] call printf_uchar - // [1248] phi from rom_detect::@15 to printf_uchar [phi:rom_detect::@15->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 1 [phi:rom_detect::@15->printf_uchar#0] -- vbuz1=vbuc1 + // [1035] call printf_uchar + // [1236] phi from rom_detect::@15 to printf_uchar [phi:rom_detect::@15->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 1 [phi:rom_detect::@15->printf_uchar#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 2 [phi:rom_detect::@15->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 2 [phi:rom_detect::@15->printf_uchar#1] -- vbuz1=vbuc1 lda #2 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &cputc [phi:rom_detect::@15->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &cputc [phi:rom_detect::@15->printf_uchar#2] -- pprz1=pprc1 lda #cputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = HEXADECIMAL [phi:rom_detect::@15->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = HEXADECIMAL [phi:rom_detect::@15->printf_uchar#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#8 [phi:rom_detect::@15->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#8 [phi:rom_detect::@15->printf_uchar#4] -- register_copy jsr printf_uchar // rom_detect::@16 // case SST39SF010A: @@ -6918,7 +6887,7 @@ rom_detect: { // rom_size_strings[rom_chip] = "128"; // rom_sizes[rom_chip] = 128 * 1024; // break; - // [1062] if(rom_device_ids[rom_detect::rom_chip#10]==$b5) goto rom_detect::@3 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 + // [1036] if(rom_device_ids[rom_detect::rom_chip#10]==$b5) goto rom_detect::@3 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 ldy rom_chip lda rom_device_ids,y cmp #$b5 @@ -6931,7 +6900,7 @@ rom_detect: { // rom_size_strings[rom_chip] = "256"; // rom_sizes[rom_chip] = 256 * 1024; // break; - // [1063] if(rom_device_ids[rom_detect::rom_chip#10]==$b6) goto rom_detect::@4 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 + // [1037] if(rom_device_ids[rom_detect::rom_chip#10]==$b6) goto rom_detect::@4 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 lda rom_device_ids,y cmp #$b6 bne !__b4+ @@ -6943,35 +6912,35 @@ rom_detect: { // rom_size_strings[rom_chip] = "512"; // rom_sizes[rom_chip] = 512 * 1024; // break; - // [1064] if(rom_device_ids[rom_detect::rom_chip#10]==$b7) goto rom_detect::@5 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 + // [1038] if(rom_device_ids[rom_detect::rom_chip#10]==$b7) goto rom_detect::@5 -- pbuc1_derefidx_vbum1_eq_vbuc2_then_la1 lda rom_device_ids,y cmp #$b7 beq __b5 // rom_detect::@6 // rom_manufacturer_ids[rom_chip] = 0 - // [1065] rom_manufacturer_ids[rom_detect::rom_chip#10] = 0 -- pbuc1_derefidx_vbum1=vbuc2 + // [1039] rom_manufacturer_ids[rom_detect::rom_chip#10] = 0 -- pbuc1_derefidx_vbum1=vbuc2 lda #0 sta rom_manufacturer_ids,y // rom_device_names[rom_chip] = "----" - // [1066] rom_device_names[rom_detect::$14] = rom_detect::$31 -- qbuc1_derefidx_vbuz1=pbuc2 + // [1040] rom_device_names[rom_detect::$14] = rom_detect::$31 -- qbuc1_derefidx_vbuz1=pbuc2 ldy.z rom_detect__14 lda #rom_detect__31 sta rom_device_names+1,y // rom_size_strings[rom_chip] = "000" - // [1067] rom_size_strings[rom_detect::$14] = rom_detect::$32 -- qbuc1_derefidx_vbuz1=pbuc2 + // [1041] rom_size_strings[rom_detect::$14] = rom_detect::$32 -- qbuc1_derefidx_vbuz1=pbuc2 lda #rom_detect__32 sta rom_size_strings+1,y // rom_sizes[rom_chip] = 0 - // [1068] rom_detect::$24 = rom_detect::rom_chip#10 << 2 -- vbuz1=vbum2_rol_2 + // [1042] rom_detect::$24 = rom_detect::rom_chip#10 << 2 -- vbuz1=vbum2_rol_2 lda rom_chip asl asl sta.z rom_detect__24 - // [1069] rom_sizes[rom_detect::$24] = 0 -- pduc1_derefidx_vbuz1=vbuc2 + // [1043] rom_sizes[rom_detect::$24] = 0 -- pduc1_derefidx_vbuz1=vbuc2 tay lda #0 sta rom_sizes,y @@ -6979,18 +6948,18 @@ rom_detect: { sta rom_sizes+2,y sta rom_sizes+3,y // rom_device_ids[rom_chip] = UNKNOWN - // [1070] rom_device_ids[rom_detect::rom_chip#10] = $55 -- pbuc1_derefidx_vbum1=vbuc2 + // [1044] rom_device_ids[rom_detect::rom_chip#10] = $55 -- pbuc1_derefidx_vbum1=vbuc2 lda #$55 ldy rom_chip sta rom_device_ids,y // rom_detect::@7 __b7: // rom_chip++; - // [1071] rom_detect::rom_chip#1 = ++ rom_detect::rom_chip#10 -- vbum1=_inc_vbum1 + // [1045] rom_detect::rom_chip#1 = ++ rom_detect::rom_chip#10 -- vbum1=_inc_vbum1 inc rom_chip // rom_detect::@8 // rom_detect_address += 0x80000 - // [1072] rom_detect::rom_detect_address#1 = rom_detect::rom_detect_address#10 + $80000 -- vduz1=vduz1_plus_vduc1 + // [1046] rom_detect::rom_detect_address#1 = rom_detect::rom_detect_address#10 + $80000 -- vduz1=vduz1_plus_vduc1 clc lda.z rom_detect_address adc #<$80000 @@ -7004,32 +6973,32 @@ rom_detect: { lda.z rom_detect_address+3 adc #>$80000>>$10 sta.z rom_detect_address+3 - // [1036] phi from rom_detect::@8 to rom_detect::@1 [phi:rom_detect::@8->rom_detect::@1] - // [1036] phi rom_detect::rom_chip#10 = rom_detect::rom_chip#1 [phi:rom_detect::@8->rom_detect::@1#0] -- register_copy - // [1036] phi rom_detect::rom_detect_address#10 = rom_detect::rom_detect_address#1 [phi:rom_detect::@8->rom_detect::@1#1] -- register_copy + // [1010] phi from rom_detect::@8 to rom_detect::@1 [phi:rom_detect::@8->rom_detect::@1] + // [1010] phi rom_detect::rom_chip#10 = rom_detect::rom_chip#1 [phi:rom_detect::@8->rom_detect::@1#0] -- register_copy + // [1010] phi rom_detect::rom_detect_address#10 = rom_detect::rom_detect_address#1 [phi:rom_detect::@8->rom_detect::@1#1] -- register_copy jmp __b1 // rom_detect::@5 __b5: // rom_device_names[rom_chip] = "f040" - // [1073] rom_device_names[rom_detect::$14] = rom_detect::$29 -- qbuc1_derefidx_vbuz1=pbuc2 + // [1047] rom_device_names[rom_detect::$14] = rom_detect::$29 -- qbuc1_derefidx_vbuz1=pbuc2 ldy.z rom_detect__14 lda #rom_detect__29 sta rom_device_names+1,y // rom_size_strings[rom_chip] = "512" - // [1074] rom_size_strings[rom_detect::$14] = rom_detect::$30 -- qbuc1_derefidx_vbuz1=pbuc2 + // [1048] rom_size_strings[rom_detect::$14] = rom_detect::$30 -- qbuc1_derefidx_vbuz1=pbuc2 lda #rom_detect__30 sta rom_size_strings+1,y // rom_sizes[rom_chip] = 512 * 1024 - // [1075] rom_detect::$21 = rom_detect::rom_chip#10 << 2 -- vbuz1=vbum2_rol_2 + // [1049] rom_detect::$21 = rom_detect::rom_chip#10 << 2 -- vbuz1=vbum2_rol_2 lda rom_chip asl asl sta.z rom_detect__21 - // [1076] rom_sizes[rom_detect::$21] = (unsigned long)$200*$400 -- pduc1_derefidx_vbuz1=vduc2 + // [1050] rom_sizes[rom_detect::$21] = (unsigned long)$200*$400 -- pduc1_derefidx_vbuz1=vduc2 tay lda #<$200*$400 sta rom_sizes,y @@ -7043,25 +7012,25 @@ rom_detect: { // rom_detect::@4 __b4: // rom_device_names[rom_chip] = "f020a" - // [1077] rom_device_names[rom_detect::$14] = rom_detect::$27 -- qbuc1_derefidx_vbuz1=pbuc2 + // [1051] rom_device_names[rom_detect::$14] = rom_detect::$27 -- qbuc1_derefidx_vbuz1=pbuc2 ldy.z rom_detect__14 lda #rom_detect__27 sta rom_device_names+1,y // rom_size_strings[rom_chip] = "256" - // [1078] rom_size_strings[rom_detect::$14] = rom_detect::$28 -- qbuc1_derefidx_vbuz1=pbuc2 + // [1052] rom_size_strings[rom_detect::$14] = rom_detect::$28 -- qbuc1_derefidx_vbuz1=pbuc2 lda #rom_detect__28 sta rom_size_strings+1,y // rom_sizes[rom_chip] = 256 * 1024 - // [1079] rom_detect::$18 = rom_detect::rom_chip#10 << 2 -- vbum1=vbum2_rol_2 + // [1053] rom_detect::$18 = rom_detect::rom_chip#10 << 2 -- vbuz1=vbum2_rol_2 lda rom_chip asl asl - sta rom_detect__18 - // [1080] rom_sizes[rom_detect::$18] = (unsigned long)$100*$400 -- pduc1_derefidx_vbum1=vduc2 + sta.z rom_detect__18 + // [1054] rom_sizes[rom_detect::$18] = (unsigned long)$100*$400 -- pduc1_derefidx_vbuz1=vduc2 tay lda #<$100*$400 sta rom_sizes,y @@ -7075,25 +7044,25 @@ rom_detect: { // rom_detect::@3 __b3: // rom_device_names[rom_chip] = "f010a" - // [1081] rom_device_names[rom_detect::$14] = rom_detect::$25 -- qbuc1_derefidx_vbuz1=pbuc2 + // [1055] rom_device_names[rom_detect::$14] = rom_detect::$25 -- qbuc1_derefidx_vbuz1=pbuc2 ldy.z rom_detect__14 lda #rom_detect__25 sta rom_device_names+1,y // rom_size_strings[rom_chip] = "128" - // [1082] rom_size_strings[rom_detect::$14] = rom_detect::$26 -- qbuc1_derefidx_vbuz1=pbuc2 + // [1056] rom_size_strings[rom_detect::$14] = rom_detect::$26 -- qbuc1_derefidx_vbuz1=pbuc2 lda #rom_detect__26 sta rom_size_strings+1,y // rom_sizes[rom_chip] = 128 * 1024 - // [1083] rom_detect::$15 = rom_detect::rom_chip#10 << 2 -- vbuz1=vbum2_rol_2 + // [1057] rom_detect::$15 = rom_detect::rom_chip#10 << 2 -- vbum1=vbum2_rol_2 lda rom_chip asl asl - sta.z rom_detect__15 - // [1084] rom_sizes[rom_detect::$15] = (unsigned long)$80*$400 -- pduc1_derefidx_vbuz1=vduc2 + sta rom_detect__15 + // [1058] rom_sizes[rom_detect::$15] = (unsigned long)$80*$400 -- pduc1_derefidx_vbum1=vduc2 tay lda #<$80*$400 sta rom_sizes,y @@ -7121,10 +7090,8 @@ rom_detect: { .byte 0 rom_detect__32: .text "000" .byte 0 - .label rom_detect__3 = fclose.sp - .label rom_detect__5 = fclose.sp - .label rom_detect__18 = rom_get_release.rom_get_release__0 - .label rom_chip = rom_get_release.return + .label rom_detect__15 = rom_get_release.rom_get_release__0 + .label rom_chip = smc_supported_rom.return } .segment Code // display_progress_text @@ -7134,71 +7101,69 @@ rom_detect: { * @param text A pointer to an array of strings to be displayed (char**). * @param lines The amount of lines to be displayed, starting from the top of the progress frame. */ -// void display_progress_text(__zp($4d) char **text, __zp($37) char lines) +// void display_progress_text(__zp($5e) char **text, __zp($37) char lines) display_progress_text: { - .label display_progress_text__3 = $78 + .label display_progress_text__3 = $6e + .label l = $e5 .label lines = $37 - .label text = $4d + .label text = $5e // display_progress_clear() - // [1086] call display_progress_clear - // [870] phi from display_progress_text to display_progress_clear [phi:display_progress_text->display_progress_clear] + // [1060] call display_progress_clear + // [864] phi from display_progress_text to display_progress_clear [phi:display_progress_text->display_progress_clear] jsr display_progress_clear - // [1087] phi from display_progress_text to display_progress_text::@1 [phi:display_progress_text->display_progress_text::@1] - // [1087] phi display_progress_text::l#2 = 0 [phi:display_progress_text->display_progress_text::@1#0] -- vbum1=vbuc1 + // [1061] phi from display_progress_text to display_progress_text::@1 [phi:display_progress_text->display_progress_text::@1] + // [1061] phi display_progress_text::l#2 = 0 [phi:display_progress_text->display_progress_text::@1#0] -- vbuz1=vbuc1 lda #0 - sta l + sta.z l // display_progress_text::@1 __b1: // for(unsigned char l=0; ldisplay_progress_text::@1] - // [1087] phi display_progress_text::l#2 = display_progress_text::l#1 [phi:display_progress_text::@3->display_progress_text::@1#0] -- register_copy + // [1068] display_progress_text::l#1 = ++ display_progress_text::l#2 -- vbuz1=_inc_vbuz1 + inc.z l + // [1061] phi from display_progress_text::@3 to display_progress_text::@1 [phi:display_progress_text::@3->display_progress_text::@1] + // [1061] phi display_progress_text::l#2 = display_progress_text::l#1 [phi:display_progress_text::@3->display_progress_text::@1#0] -- register_copy jmp __b1 - .segment Data - .label l = rom_get_prefix.return } -.segment Code // util_wait_space util_wait_space: { // util_wait_key("Press [SPACE] to continue ...", " ") - // [1096] call util_wait_key - // [1209] phi from util_wait_space to util_wait_key [phi:util_wait_space->util_wait_key] - // [1209] phi util_wait_key::filter#13 = s [phi:util_wait_space->util_wait_key#0] -- pbuz1=pbuc1 + // [1070] call util_wait_key + // [1197] phi from util_wait_space to util_wait_key [phi:util_wait_space->util_wait_key] + // [1197] phi util_wait_key::filter#13 = s [phi:util_wait_space->util_wait_key#0] -- pbuz1=pbuc1 lda #s sta.z util_wait_key.filter+1 - // [1209] phi util_wait_key::info_text#3 = util_wait_space::info_text [phi:util_wait_space->util_wait_key#1] -- pbuz1=pbuc1 + // [1197] phi util_wait_key::info_text#3 = util_wait_space::info_text [phi:util_wait_space->util_wait_key#1] -- pbuz1=pbuc1 lda #info_text @@ -7206,7 +7171,7 @@ util_wait_space: { jsr util_wait_key // util_wait_space::@return // } - // [1097] return + // [1071] return rts .segment Data info_text: .text "Press [SPACE] to continue ..." @@ -7220,66 +7185,66 @@ util_wait_space: { * * @return unsigned int The amount of bytes read from SMC.BIN to be flashed. */ -// __mem() unsigned int smc_read(__mem() char display_progress) +// __mem() unsigned int smc_read(__zp($e8) char display_progress) smc_read: { - .label fp = $62 - .label smc_file_read = $ba - .label ram_ptr = $5e + .label fp = $b2 + .label smc_file_read = $60 /// Holds the amount of bytes actually read in the memory to be flashed. - .label progress_row_bytes = $ee + .label progress_row_bytes = $f0 + .label display_progress = $e8 // display_action_progress("Reading SMC.BIN ... (.) data, ( ) empty") - // [1099] call display_action_progress + // [1073] call display_action_progress // It is assume that one RAM bank is 0X2000 bytes. - // [856] phi from smc_read to display_action_progress [phi:smc_read->display_action_progress] - // [856] phi display_action_progress::info_text#18 = smc_read::info_text [phi:smc_read->display_action_progress#0] -- pbuz1=pbuc1 + // [850] phi from smc_read to display_action_progress [phi:smc_read->display_action_progress] + // [850] phi display_action_progress::info_text#18 = smc_read::info_text [phi:smc_read->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text sta.z display_action_progress.info_text+1 jsr display_action_progress - // [1100] phi from smc_read to smc_read::@10 [phi:smc_read->smc_read::@10] + // [1074] phi from smc_read to smc_read::@10 [phi:smc_read->smc_read::@10] // smc_read::@10 // textcolor(WHITE) - // [1101] call textcolor - // [744] phi from smc_read::@10 to textcolor [phi:smc_read::@10->textcolor] - // [744] phi textcolor::color#18 = WHITE [phi:smc_read::@10->textcolor#0] -- vbuz1=vbuc1 + // [1075] call textcolor + // [738] phi from smc_read::@10 to textcolor [phi:smc_read::@10->textcolor] + // [738] phi textcolor::color#18 = WHITE [phi:smc_read::@10->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [1102] phi from smc_read::@10 to smc_read::@11 [phi:smc_read::@10->smc_read::@11] + // [1076] phi from smc_read::@10 to smc_read::@11 [phi:smc_read::@10->smc_read::@11] // smc_read::@11 // gotoxy(x, y) - // [1103] call gotoxy - // [762] phi from smc_read::@11 to gotoxy [phi:smc_read::@11->gotoxy] - // [762] phi gotoxy::y#30 = PROGRESS_Y [phi:smc_read::@11->gotoxy#0] -- vbuz1=vbuc1 + // [1077] call gotoxy + // [756] phi from smc_read::@11 to gotoxy [phi:smc_read::@11->gotoxy] + // [756] phi gotoxy::y#30 = PROGRESS_Y [phi:smc_read::@11->gotoxy#0] -- vbuz1=vbuc1 lda #PROGRESS_Y sta.z gotoxy.y - // [762] phi gotoxy::x#30 = PROGRESS_X [phi:smc_read::@11->gotoxy#1] -- vbuz1=vbuc1 + // [756] phi gotoxy::x#30 = PROGRESS_X [phi:smc_read::@11->gotoxy#1] -- vbuz1=vbuc1 lda #PROGRESS_X sta.z gotoxy.x jsr gotoxy - // [1104] phi from smc_read::@11 to smc_read::@12 [phi:smc_read::@11->smc_read::@12] + // [1078] phi from smc_read::@11 to smc_read::@12 [phi:smc_read::@11->smc_read::@12] // smc_read::@12 // FILE *fp = fopen("SMC.BIN", "r") - // [1105] call fopen - // [2214] phi from smc_read::@12 to fopen [phi:smc_read::@12->fopen] - // [2214] phi __errno#318 = __errno#35 [phi:smc_read::@12->fopen#0] -- register_copy - // [2214] phi fopen::pathtoken#0 = smc_read::path [phi:smc_read::@12->fopen#1] -- pbuz1=pbuc1 + // [1079] call fopen + // [2152] phi from smc_read::@12 to fopen [phi:smc_read::@12->fopen] + // [2152] phi __errno#318 = __errno#35 [phi:smc_read::@12->fopen#0] -- register_copy + // [2152] phi fopen::pathtoken#0 = smc_read::path [phi:smc_read::@12->fopen#1] -- pbuz1=pbuc1 lda #path sta.z fopen.pathtoken+1 jsr fopen // FILE *fp = fopen("SMC.BIN", "r") - // [1106] fopen::return#3 = fopen::return#2 + // [1080] fopen::return#3 = fopen::return#2 // smc_read::@13 - // [1107] smc_read::fp#0 = fopen::return#3 -- pssz1=pssz2 + // [1081] smc_read::fp#0 = fopen::return#3 -- pssz1=pssz2 lda.z fopen.return sta.z fp lda.z fopen.return+1 sta.z fp+1 // if (fp) - // [1108] if((struct $2 *)0==smc_read::fp#0) goto smc_read::@1 -- pssc1_eq_pssz1_then_la1 + // [1082] if((struct $2 *)0==smc_read::fp#0) goto smc_read::@1 -- pssc1_eq_pssz1_then_la1 lda.z fp cmp #<0 bne !+ @@ -7289,130 +7254,130 @@ smc_read: { !: // smc_read::@2 // fgets(smc_rom_releases, 32, fp) - // [1109] fgets::stream#0 = smc_read::fp#0 -- pssm1=pssz2 + // [1083] fgets::stream#0 = smc_read::fp#0 -- pssm1=pssz2 lda.z fp sta fgets.stream lda.z fp+1 sta fgets.stream+1 - // [1110] call fgets - // [2295] phi from smc_read::@2 to fgets [phi:smc_read::@2->fgets] - // [2295] phi fgets::ptr#13 = smc_rom_releases [phi:smc_read::@2->fgets#0] -- pbuz1=pbuc1 + // [1084] call fgets + // [2233] phi from smc_read::@2 to fgets [phi:smc_read::@2->fgets] + // [2233] phi fgets::ptr#13 = smc_rom_releases [phi:smc_read::@2->fgets#0] -- pbuz1=pbuc1 lda #smc_rom_releases sta.z fgets.ptr+1 - // [2295] phi fgets::size#11 = $20 [phi:smc_read::@2->fgets#1] -- vwuz1=vbuc1 + // [2233] phi fgets::size#11 = $20 [phi:smc_read::@2->fgets#1] -- vwuz1=vbuc1 lda #<$20 sta.z fgets.size lda #>$20 sta.z fgets.size+1 - // [2295] phi fgets::stream#3 = fgets::stream#0 [phi:smc_read::@2->fgets#2] -- register_copy + // [2233] phi fgets::stream#3 = fgets::stream#0 [phi:smc_read::@2->fgets#2] -- register_copy jsr fgets // fgets(smc_rom_releases, 32, fp) - // [1111] fgets::return#5 = fgets::return#1 + // [1085] fgets::return#5 = fgets::return#1 // smc_read::@14 // smc_file_read = fgets(smc_rom_releases, 32, fp) - // [1112] smc_read::smc_file_read#1 = fgets::return#5 + // [1086] smc_read::smc_file_read#1 = fgets::return#5 // if(smc_file_read) - // [1113] if(0==smc_read::smc_file_read#1) goto smc_read::@1 -- 0_eq_vwuz1_then_la1 + // [1087] if(0==smc_read::smc_file_read#1) goto smc_read::@1 -- 0_eq_vwuz1_then_la1 lda.z smc_file_read ora.z smc_file_read+1 beq __b2 - // [1114] phi from smc_read::@14 to smc_read::@3 [phi:smc_read::@14->smc_read::@3] - // [1114] phi smc_read::y#10 = PROGRESS_Y [phi:smc_read::@14->smc_read::@3#0] -- vbum1=vbuc1 + // [1088] phi from smc_read::@14 to smc_read::@3 [phi:smc_read::@14->smc_read::@3] + // [1088] phi smc_read::y#10 = PROGRESS_Y [phi:smc_read::@14->smc_read::@3#0] -- vbum1=vbuc1 lda #PROGRESS_Y sta y - // [1114] phi smc_read::progress_row_bytes#10 = 0 [phi:smc_read::@14->smc_read::@3#1] -- vwuz1=vwuc1 + // [1088] phi smc_read::progress_row_bytes#10 = 0 [phi:smc_read::@14->smc_read::@3#1] -- vwuz1=vwuc1 lda #<0 sta.z progress_row_bytes sta.z progress_row_bytes+1 - // [1114] phi smc_read::smc_file_size#10 = 0 [phi:smc_read::@14->smc_read::@3#2] -- vwum1=vwuc1 + // [1088] phi smc_read::smc_file_size#10 = 0 [phi:smc_read::@14->smc_read::@3#2] -- vwum1=vwuc1 sta smc_file_size sta smc_file_size+1 - // [1114] phi smc_read::ram_ptr#10 = (char *)$7800 [phi:smc_read::@14->smc_read::@3#3] -- pbuz1=pbuc1 + // [1088] phi smc_read::ram_ptr#10 = (char *)$7800 [phi:smc_read::@14->smc_read::@3#3] -- pbum1=pbuc1 lda #<$7800 - sta.z ram_ptr + sta ram_ptr lda #>$7800 - sta.z ram_ptr+1 + sta ram_ptr+1 // We read block_size bytes at a time, and each block_size bytes we plot a dot. // Every r bytes we move to the next line. // smc_read::@3 __b3: // fgets(ram_ptr, SMC_PROGRESS_CELL, fp) - // [1115] fgets::ptr#3 = smc_read::ram_ptr#10 -- pbuz1=pbuz2 - lda.z ram_ptr + // [1089] fgets::ptr#3 = smc_read::ram_ptr#10 -- pbuz1=pbum2 + lda ram_ptr sta.z fgets.ptr - lda.z ram_ptr+1 + lda ram_ptr+1 sta.z fgets.ptr+1 - // [1116] fgets::stream#1 = smc_read::fp#0 -- pssm1=pssz2 + // [1090] fgets::stream#1 = smc_read::fp#0 -- pssm1=pssz2 lda.z fp sta fgets.stream lda.z fp+1 sta fgets.stream+1 - // [1117] call fgets - // [2295] phi from smc_read::@3 to fgets [phi:smc_read::@3->fgets] - // [2295] phi fgets::ptr#13 = fgets::ptr#3 [phi:smc_read::@3->fgets#0] -- register_copy - // [2295] phi fgets::size#11 = SMC_PROGRESS_CELL [phi:smc_read::@3->fgets#1] -- vwuz1=vbuc1 + // [1091] call fgets + // [2233] phi from smc_read::@3 to fgets [phi:smc_read::@3->fgets] + // [2233] phi fgets::ptr#13 = fgets::ptr#3 [phi:smc_read::@3->fgets#0] -- register_copy + // [2233] phi fgets::size#11 = SMC_PROGRESS_CELL [phi:smc_read::@3->fgets#1] -- vwuz1=vbuc1 lda #SMC_PROGRESS_CELL sta.z fgets.size+1 - // [2295] phi fgets::stream#3 = fgets::stream#1 [phi:smc_read::@3->fgets#2] -- register_copy + // [2233] phi fgets::stream#3 = fgets::stream#1 [phi:smc_read::@3->fgets#2] -- register_copy jsr fgets // fgets(ram_ptr, SMC_PROGRESS_CELL, fp) - // [1118] fgets::return#10 = fgets::return#1 + // [1092] fgets::return#10 = fgets::return#1 // smc_read::@15 // smc_file_read = fgets(ram_ptr, SMC_PROGRESS_CELL, fp) - // [1119] smc_read::smc_file_read#10 = fgets::return#10 + // [1093] smc_read::smc_file_read#10 = fgets::return#10 // while (smc_file_read = fgets(ram_ptr, SMC_PROGRESS_CELL, fp)) - // [1120] if(0!=smc_read::smc_file_read#10) goto smc_read::@4 -- 0_neq_vwuz1_then_la1 + // [1094] if(0!=smc_read::smc_file_read#10) goto smc_read::@4 -- 0_neq_vwuz1_then_la1 lda.z smc_file_read ora.z smc_file_read+1 bne __b4 // smc_read::@5 // fclose(fp) - // [1121] fclose::stream#0 = smc_read::fp#0 - // [1122] call fclose - // [2349] phi from smc_read::@5 to fclose [phi:smc_read::@5->fclose] - // [2349] phi fclose::stream#2 = fclose::stream#0 [phi:smc_read::@5->fclose#0] -- register_copy + // [1095] fclose::stream#0 = smc_read::fp#0 + // [1096] call fclose + // [2287] phi from smc_read::@5 to fclose [phi:smc_read::@5->fclose] + // [2287] phi fclose::stream#2 = fclose::stream#0 [phi:smc_read::@5->fclose#0] -- register_copy jsr fclose - // [1123] phi from smc_read::@5 to smc_read::@1 [phi:smc_read::@5->smc_read::@1] - // [1123] phi smc_read::return#0 = smc_read::smc_file_size#10 [phi:smc_read::@5->smc_read::@1#0] -- register_copy + // [1097] phi from smc_read::@5 to smc_read::@1 [phi:smc_read::@5->smc_read::@1] + // [1097] phi smc_read::return#0 = smc_read::smc_file_size#10 [phi:smc_read::@5->smc_read::@1#0] -- register_copy rts - // [1123] phi from smc_read::@13 smc_read::@14 to smc_read::@1 [phi:smc_read::@13/smc_read::@14->smc_read::@1] + // [1097] phi from smc_read::@13 smc_read::@14 to smc_read::@1 [phi:smc_read::@13/smc_read::@14->smc_read::@1] __b2: - // [1123] phi smc_read::return#0 = 0 [phi:smc_read::@13/smc_read::@14->smc_read::@1#0] -- vwum1=vwuc1 + // [1097] phi smc_read::return#0 = 0 [phi:smc_read::@13/smc_read::@14->smc_read::@1#0] -- vwum1=vwuc1 lda #<0 sta return sta return+1 // smc_read::@1 // smc_read::@return // } - // [1124] return + // [1098] return rts - // [1125] phi from smc_read::@15 to smc_read::@4 [phi:smc_read::@15->smc_read::@4] + // [1099] phi from smc_read::@15 to smc_read::@4 [phi:smc_read::@15->smc_read::@4] // smc_read::@4 __b4: // sprintf(info_text, "Reading SMC.BIN:%05x/%05x -> RAM:%02x:%04p ...", smc_file_read, smc_file_size, 0, ram_ptr) - // [1126] call snprintf_init - // [1011] phi from smc_read::@4 to snprintf_init [phi:smc_read::@4->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:smc_read::@4->snprintf_init#0] -- pbuz1=pbuc1 + // [1100] call snprintf_init + // [1151] phi from smc_read::@4 to snprintf_init [phi:smc_read::@4->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:smc_read::@4->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [1127] phi from smc_read::@4 to smc_read::@16 [phi:smc_read::@4->smc_read::@16] + // [1101] phi from smc_read::@4 to smc_read::@16 [phi:smc_read::@4->smc_read::@16] // smc_read::@16 // sprintf(info_text, "Reading SMC.BIN:%05x/%05x -> RAM:%02x:%04p ...", smc_file_read, smc_file_size, 0, ram_ptr) - // [1128] call printf_str - // [1016] phi from smc_read::@16 to printf_str [phi:smc_read::@16->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_read::@16->printf_str#0] -- pprz1=pprc1 + // [1102] call printf_str + // [1156] phi from smc_read::@16 to printf_str [phi:smc_read::@16->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_read::@16->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_read::s [phi:smc_read::@16->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_read::s [phi:smc_read::@16->printf_str#1] -- pbuz1=pbuc1 lda #s @@ -7420,35 +7385,40 @@ smc_read: { jsr printf_str // smc_read::@17 // sprintf(info_text, "Reading SMC.BIN:%05x/%05x -> RAM:%02x:%04p ...", smc_file_read, smc_file_size, 0, ram_ptr) - // [1129] printf_uint::uvalue#0 = smc_read::smc_file_read#10 -- vwuz1=vwuz2 + // [1103] printf_uint::uvalue#1 = smc_read::smc_file_read#10 -- vwuz1=vwuz2 lda.z smc_file_read sta.z printf_uint.uvalue lda.z smc_file_read+1 sta.z printf_uint.uvalue+1 - // [1130] call printf_uint - // [1025] phi from smc_read::@17 to printf_uint [phi:smc_read::@17->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_read::@17->printf_uint#0] -- vbuz1=vbuc1 + // [1104] call printf_uint + // [1810] phi from smc_read::@17 to printf_uint [phi:smc_read::@17->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_read::@17->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 5 [phi:smc_read::@17->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 5 [phi:smc_read::@17->printf_uint#1] -- vbuz1=vbuc1 lda #5 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_read::@17->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:smc_read::@17->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_read::@17->printf_uint#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#0 [phi:smc_read::@17->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#1 [phi:smc_read::@17->printf_uint#4] -- register_copy jsr printf_uint - // [1131] phi from smc_read::@17 to smc_read::@18 [phi:smc_read::@17->smc_read::@18] + // [1105] phi from smc_read::@17 to smc_read::@18 [phi:smc_read::@17->smc_read::@18] // smc_read::@18 // sprintf(info_text, "Reading SMC.BIN:%05x/%05x -> RAM:%02x:%04p ...", smc_file_read, smc_file_size, 0, ram_ptr) - // [1132] call printf_str - // [1016] phi from smc_read::@18 to printf_str [phi:smc_read::@18->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_read::@18->printf_str#0] -- pprz1=pprc1 + // [1106] call printf_str + // [1156] phi from smc_read::@18 to printf_str [phi:smc_read::@18->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_read::@18->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s1 [phi:smc_read::@18->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s1 [phi:smc_read::@18->printf_str#1] -- pbuz1=pbuc1 lda #s1 @@ -7456,70 +7426,80 @@ smc_read: { jsr printf_str // smc_read::@19 // sprintf(info_text, "Reading SMC.BIN:%05x/%05x -> RAM:%02x:%04p ...", smc_file_read, smc_file_size, 0, ram_ptr) - // [1133] printf_uint::uvalue#1 = smc_read::smc_file_size#10 -- vwuz1=vwum2 + // [1107] printf_uint::uvalue#2 = smc_read::smc_file_size#10 -- vwuz1=vwum2 lda smc_file_size sta.z printf_uint.uvalue lda smc_file_size+1 sta.z printf_uint.uvalue+1 - // [1134] call printf_uint - // [1025] phi from smc_read::@19 to printf_uint [phi:smc_read::@19->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_read::@19->printf_uint#0] -- vbuz1=vbuc1 + // [1108] call printf_uint + // [1810] phi from smc_read::@19 to printf_uint [phi:smc_read::@19->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_read::@19->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 5 [phi:smc_read::@19->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 5 [phi:smc_read::@19->printf_uint#1] -- vbuz1=vbuc1 lda #5 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_read::@19->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:smc_read::@19->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_read::@19->printf_uint#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#1 [phi:smc_read::@19->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#2 [phi:smc_read::@19->printf_uint#4] -- register_copy jsr printf_uint - // [1135] phi from smc_read::@19 to smc_read::@20 [phi:smc_read::@19->smc_read::@20] + // [1109] phi from smc_read::@19 to smc_read::@20 [phi:smc_read::@19->smc_read::@20] // smc_read::@20 // sprintf(info_text, "Reading SMC.BIN:%05x/%05x -> RAM:%02x:%04p ...", smc_file_read, smc_file_size, 0, ram_ptr) - // [1136] call printf_str - // [1016] phi from smc_read::@20 to printf_str [phi:smc_read::@20->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_read::@20->printf_str#0] -- pprz1=pprc1 + // [1110] call printf_str + // [1156] phi from smc_read::@20 to printf_str [phi:smc_read::@20->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_read::@20->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s2 [phi:smc_read::@20->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s2 [phi:smc_read::@20->printf_str#1] -- pbuz1=pbuc1 lda #s2 sta.z printf_str.s+1 jsr printf_str - // [1137] phi from smc_read::@20 to smc_read::@21 [phi:smc_read::@20->smc_read::@21] + // [1111] phi from smc_read::@20 to smc_read::@21 [phi:smc_read::@20->smc_read::@21] // smc_read::@21 // sprintf(info_text, "Reading SMC.BIN:%05x/%05x -> RAM:%02x:%04p ...", smc_file_read, smc_file_size, 0, ram_ptr) - // [1138] call printf_uint - // [1025] phi from smc_read::@21 to printf_uint [phi:smc_read::@21->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_read::@21->printf_uint#0] -- vbuz1=vbuc1 + // [1112] call printf_uint + // [1810] phi from smc_read::@21 to printf_uint [phi:smc_read::@21->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_read::@21->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 2 [phi:smc_read::@21->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 2 [phi:smc_read::@21->printf_uint#1] -- vbuz1=vbuc1 lda #2 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_read::@21->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:smc_read::@21->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_read::@21->printf_uint#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = 0 [phi:smc_read::@21->printf_uint#3] -- vwuz1=vbuc1 + // [1810] phi printf_uint::uvalue#14 = 0 [phi:smc_read::@21->printf_uint#4] -- vwuz1=vbuc1 lda #<0 sta.z printf_uint.uvalue sta.z printf_uint.uvalue+1 jsr printf_uint - // [1139] phi from smc_read::@21 to smc_read::@22 [phi:smc_read::@21->smc_read::@22] + // [1113] phi from smc_read::@21 to smc_read::@22 [phi:smc_read::@21->smc_read::@22] // smc_read::@22 // sprintf(info_text, "Reading SMC.BIN:%05x/%05x -> RAM:%02x:%04p ...", smc_file_read, smc_file_size, 0, ram_ptr) - // [1140] call printf_str - // [1016] phi from smc_read::@22 to printf_str [phi:smc_read::@22->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_read::@22->printf_str#0] -- pprz1=pprc1 + // [1114] call printf_str + // [1156] phi from smc_read::@22 to printf_str [phi:smc_read::@22->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_read::@22->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s3 [phi:smc_read::@22->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s3 [phi:smc_read::@22->printf_str#1] -- pbuz1=pbuc1 lda #s3 @@ -7527,35 +7507,40 @@ smc_read: { jsr printf_str // smc_read::@23 // sprintf(info_text, "Reading SMC.BIN:%05x/%05x -> RAM:%02x:%04p ...", smc_file_read, smc_file_size, 0, ram_ptr) - // [1141] printf_uint::uvalue#3 = (unsigned int)smc_read::ram_ptr#10 -- vwuz1=vwuz2 - lda.z ram_ptr + // [1115] printf_uint::uvalue#4 = (unsigned int)smc_read::ram_ptr#10 -- vwuz1=vwum2 + lda ram_ptr sta.z printf_uint.uvalue - lda.z ram_ptr+1 + lda ram_ptr+1 sta.z printf_uint.uvalue+1 - // [1142] call printf_uint - // [1025] phi from smc_read::@23 to printf_uint [phi:smc_read::@23->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_read::@23->printf_uint#0] -- vbuz1=vbuc1 + // [1116] call printf_uint + // [1810] phi from smc_read::@23 to printf_uint [phi:smc_read::@23->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_read::@23->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 4 [phi:smc_read::@23->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 4 [phi:smc_read::@23->printf_uint#1] -- vbuz1=vbuc1 lda #4 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_read::@23->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:smc_read::@23->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_read::@23->printf_uint#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#3 [phi:smc_read::@23->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#4 [phi:smc_read::@23->printf_uint#4] -- register_copy jsr printf_uint - // [1143] phi from smc_read::@23 to smc_read::@24 [phi:smc_read::@23->smc_read::@24] + // [1117] phi from smc_read::@23 to smc_read::@24 [phi:smc_read::@23->smc_read::@24] // smc_read::@24 // sprintf(info_text, "Reading SMC.BIN:%05x/%05x -> RAM:%02x:%04p ...", smc_file_read, smc_file_size, 0, ram_ptr) - // [1144] call printf_str - // [1016] phi from smc_read::@24 to printf_str [phi:smc_read::@24->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_read::@24->printf_str#0] -- pprz1=pprc1 + // [1118] call printf_str + // [1156] phi from smc_read::@24 to printf_str [phi:smc_read::@24->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_read::@24->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s4 [phi:smc_read::@24->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s4 [phi:smc_read::@24->printf_str#1] -- pbuz1=pbuc1 lda #s4 @@ -7563,17 +7548,17 @@ smc_read: { jsr printf_str // smc_read::@25 // sprintf(info_text, "Reading SMC.BIN:%05x/%05x -> RAM:%02x:%04p ...", smc_file_read, smc_file_size, 0, ram_ptr) - // [1145] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1119] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1146] callexecute snputc -- call_vprc1 + // [1120] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [1148] call display_action_text - // [1259] phi from smc_read::@25 to display_action_text [phi:smc_read::@25->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:smc_read::@25->display_action_text#0] -- pbuz1=pbuc1 + // [1122] call display_action_text + // [1247] phi from smc_read::@25 to display_action_text [phi:smc_read::@25->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:smc_read::@25->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text @@ -7581,7 +7566,7 @@ smc_read: { jsr display_action_text // smc_read::@26 // if (progress_row_bytes == SMC_PROGRESS_ROW) - // [1149] if(smc_read::progress_row_bytes#10!=SMC_PROGRESS_ROW) goto smc_read::@6 -- vwuz1_neq_vwuc1_then_la1 + // [1123] if(smc_read::progress_row_bytes#10!=SMC_PROGRESS_ROW) goto smc_read::@6 -- vwuz1_neq_vwuc1_then_la1 lda.z progress_row_bytes+1 cmp #>SMC_PROGRESS_ROW bne __b6 @@ -7590,56 +7575,56 @@ smc_read: { bne __b6 // smc_read::@8 // gotoxy(x, ++y); - // [1150] smc_read::y#1 = ++ smc_read::y#10 -- vbum1=_inc_vbum1 + // [1124] smc_read::y#1 = ++ smc_read::y#10 -- vbum1=_inc_vbum1 inc y // gotoxy(x, ++y) - // [1151] gotoxy::y#20 = smc_read::y#1 -- vbuz1=vbum2 + // [1125] gotoxy::y#20 = smc_read::y#1 -- vbuz1=vbum2 lda y sta.z gotoxy.y - // [1152] call gotoxy - // [762] phi from smc_read::@8 to gotoxy [phi:smc_read::@8->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#20 [phi:smc_read::@8->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = PROGRESS_X [phi:smc_read::@8->gotoxy#1] -- vbuz1=vbuc1 + // [1126] call gotoxy + // [756] phi from smc_read::@8 to gotoxy [phi:smc_read::@8->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#20 [phi:smc_read::@8->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = PROGRESS_X [phi:smc_read::@8->gotoxy#1] -- vbuz1=vbuc1 lda #PROGRESS_X sta.z gotoxy.x jsr gotoxy - // [1153] phi from smc_read::@8 to smc_read::@6 [phi:smc_read::@8->smc_read::@6] - // [1153] phi smc_read::y#20 = smc_read::y#1 [phi:smc_read::@8->smc_read::@6#0] -- register_copy - // [1153] phi smc_read::progress_row_bytes#4 = 0 [phi:smc_read::@8->smc_read::@6#1] -- vwuz1=vbuc1 + // [1127] phi from smc_read::@8 to smc_read::@6 [phi:smc_read::@8->smc_read::@6] + // [1127] phi smc_read::y#20 = smc_read::y#1 [phi:smc_read::@8->smc_read::@6#0] -- register_copy + // [1127] phi smc_read::progress_row_bytes#4 = 0 [phi:smc_read::@8->smc_read::@6#1] -- vwuz1=vbuc1 lda #<0 sta.z progress_row_bytes sta.z progress_row_bytes+1 - // [1153] phi from smc_read::@26 to smc_read::@6 [phi:smc_read::@26->smc_read::@6] - // [1153] phi smc_read::y#20 = smc_read::y#10 [phi:smc_read::@26->smc_read::@6#0] -- register_copy - // [1153] phi smc_read::progress_row_bytes#4 = smc_read::progress_row_bytes#10 [phi:smc_read::@26->smc_read::@6#1] -- register_copy + // [1127] phi from smc_read::@26 to smc_read::@6 [phi:smc_read::@26->smc_read::@6] + // [1127] phi smc_read::y#20 = smc_read::y#10 [phi:smc_read::@26->smc_read::@6#0] -- register_copy + // [1127] phi smc_read::progress_row_bytes#4 = smc_read::progress_row_bytes#10 [phi:smc_read::@26->smc_read::@6#1] -- register_copy // smc_read::@6 __b6: // if(display_progress) - // [1154] if(0==smc_read::display_progress#19) goto smc_read::@7 -- 0_eq_vbum1_then_la1 - lda display_progress + // [1128] if(0==smc_read::display_progress#19) goto smc_read::@7 -- 0_eq_vbuz1_then_la1 + lda.z display_progress beq __b7 // smc_read::@9 // cputc('.') - // [1155] stackpush(char) = '.' -- _stackpushbyte_=vbuc1 + // [1129] stackpush(char) = '.' -- _stackpushbyte_=vbuc1 lda #'.' pha - // [1156] callexecute cputc -- call_vprc1 + // [1130] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // smc_read::@7 __b7: // ram_ptr += smc_file_read - // [1158] smc_read::ram_ptr#1 = smc_read::ram_ptr#10 + smc_read::smc_file_read#10 -- pbuz1=pbuz1_plus_vwuz2 + // [1132] smc_read::ram_ptr#1 = smc_read::ram_ptr#10 + smc_read::smc_file_read#10 -- pbum1=pbum1_plus_vwuz2 clc - lda.z ram_ptr + lda ram_ptr adc.z smc_file_read - sta.z ram_ptr - lda.z ram_ptr+1 + sta ram_ptr + lda ram_ptr+1 adc.z smc_file_read+1 - sta.z ram_ptr+1 + sta ram_ptr+1 // smc_file_size += smc_file_read - // [1159] smc_read::smc_file_size#1 = smc_read::smc_file_size#10 + smc_read::smc_file_read#10 -- vwum1=vwum1_plus_vwuz2 + // [1133] smc_read::smc_file_size#1 = smc_read::smc_file_size#10 + smc_read::smc_file_read#10 -- vwum1=vwum1_plus_vwuz2 clc lda smc_file_size adc.z smc_file_read @@ -7648,7 +7633,7 @@ smc_read: { adc.z smc_file_read+1 sta smc_file_size+1 // progress_row_bytes += smc_file_read - // [1160] smc_read::progress_row_bytes#2 = smc_read::progress_row_bytes#4 + smc_read::smc_file_read#10 -- vwuz1=vwuz1_plus_vwuz2 + // [1134] smc_read::progress_row_bytes#2 = smc_read::progress_row_bytes#4 + smc_read::smc_file_read#10 -- vwuz1=vwuz1_plus_vwuz2 clc lda.z progress_row_bytes adc.z smc_file_read @@ -7656,11 +7641,11 @@ smc_read: { lda.z progress_row_bytes+1 adc.z smc_file_read+1 sta.z progress_row_bytes+1 - // [1114] phi from smc_read::@7 to smc_read::@3 [phi:smc_read::@7->smc_read::@3] - // [1114] phi smc_read::y#10 = smc_read::y#20 [phi:smc_read::@7->smc_read::@3#0] -- register_copy - // [1114] phi smc_read::progress_row_bytes#10 = smc_read::progress_row_bytes#2 [phi:smc_read::@7->smc_read::@3#1] -- register_copy - // [1114] phi smc_read::smc_file_size#10 = smc_read::smc_file_size#1 [phi:smc_read::@7->smc_read::@3#2] -- register_copy - // [1114] phi smc_read::ram_ptr#10 = smc_read::ram_ptr#1 [phi:smc_read::@7->smc_read::@3#3] -- register_copy + // [1088] phi from smc_read::@7 to smc_read::@3 [phi:smc_read::@7->smc_read::@3] + // [1088] phi smc_read::y#10 = smc_read::y#20 [phi:smc_read::@7->smc_read::@3#0] -- register_copy + // [1088] phi smc_read::progress_row_bytes#10 = smc_read::progress_row_bytes#2 [phi:smc_read::@7->smc_read::@3#1] -- register_copy + // [1088] phi smc_read::smc_file_size#10 = smc_read::smc_file_size#1 [phi:smc_read::@7->smc_read::@3#2] -- register_copy + // [1088] phi smc_read::ram_ptr#10 = smc_read::ram_ptr#1 [phi:smc_read::@7->smc_read::@3#3] -- register_copy jmp __b3 .segment Data info_text: .text "Reading SMC.BIN ... (.) data, ( ) empty" @@ -7670,9 +7655,9 @@ smc_read: { s: .text "Reading SMC.BIN:" .byte 0 .label return = smc_flash.smc_package_flashed - .label y = smc_supported_rom.return + .label y = main.check_status_smc4_main__0 + .label ram_ptr = wait_moment.i .label smc_file_size = smc_flash.smc_package_flashed - .label display_progress = main.check_status_cx16_rom2_check_status_rom1_main__0 } .segment Code // rom_get_release @@ -7686,29 +7671,29 @@ smc_read: { // __mem() char rom_get_release(__mem() char release) rom_get_release: { // release & 0x80 - // [1162] rom_get_release::$0 = rom_get_release::release#4 & $80 -- vbum1=vbum2_band_vbuc1 + // [1136] rom_get_release::$0 = rom_get_release::release#4 & $80 -- vbum1=vbum2_band_vbuc1 lda #$80 and release sta rom_get_release__0 // if(release & 0x80) - // [1163] if(0==rom_get_release::$0) goto rom_get_release::@1 -- 0_eq_vbum1_then_la1 + // [1137] if(0==rom_get_release::$0) goto rom_get_release::@1 -- 0_eq_vbum1_then_la1 beq __b1 // rom_get_release::@2 // ~release - // [1164] rom_get_release::$2 = ~ rom_get_release::release#4 -- vbum1=_bnot_vbum1 + // [1138] rom_get_release::$2 = ~ rom_get_release::release#4 -- vbum1=_bnot_vbum1 lda rom_get_release__2 eor #$ff sta rom_get_release__2 // release = ~release + 1 - // [1165] rom_get_release::release#0 = rom_get_release::$2 + 1 -- vbum1=vbum1_plus_1 + // [1139] rom_get_release::release#0 = rom_get_release::$2 + 1 -- vbum1=vbum1_plus_1 inc release - // [1166] phi from rom_get_release rom_get_release::@2 to rom_get_release::@1 [phi:rom_get_release/rom_get_release::@2->rom_get_release::@1] - // [1166] phi rom_get_release::return#0 = rom_get_release::release#4 [phi:rom_get_release/rom_get_release::@2->rom_get_release::@1#0] -- register_copy + // [1140] phi from rom_get_release rom_get_release::@2 to rom_get_release::@1 [phi:rom_get_release/rom_get_release::@2->rom_get_release::@1] + // [1140] phi rom_get_release::return#0 = rom_get_release::release#4 [phi:rom_get_release/rom_get_release::@2->rom_get_release::@1#0] -- register_copy // rom_get_release::@1 __b1: // rom_get_release::@return // } - // [1167] return + // [1141] return rts .segment Data rom_get_release__0: .byte 0 @@ -7726,121 +7711,191 @@ rom_get_release: { * @param release The release potentially taken 2's complement. * @return unsigned char 'r' if the release is official, 'p' if the release is inofficial of 0xFF. */ -// __mem() char rom_get_prefix(__zp($2f) char release) +// __mem() char rom_get_prefix(__mem() char release) rom_get_prefix: { - .label rom_get_prefix__2 = $2f - .label release = $2f // if(release == 0xFF) - // [1169] if(rom_get_prefix::release#4!=$ff) goto rom_get_prefix::@1 -- vbuz1_neq_vbuc1_then_la1 + // [1143] if(rom_get_prefix::release#4!=$ff) goto rom_get_prefix::@1 -- vbum1_neq_vbuc1_then_la1 lda #$ff - cmp.z release + cmp release bne __b3 - // [1170] phi from rom_get_prefix to rom_get_prefix::@3 [phi:rom_get_prefix->rom_get_prefix::@3] + // [1144] phi from rom_get_prefix to rom_get_prefix::@3 [phi:rom_get_prefix->rom_get_prefix::@3] // rom_get_prefix::@3 - // [1171] phi from rom_get_prefix::@3 to rom_get_prefix::@1 [phi:rom_get_prefix::@3->rom_get_prefix::@1] - // [1171] phi rom_get_prefix::prefix#4 = 'p' [phi:rom_get_prefix::@3->rom_get_prefix::@1#0] -- vbum1=vbuc1 + // [1145] phi from rom_get_prefix::@3 to rom_get_prefix::@1 [phi:rom_get_prefix::@3->rom_get_prefix::@1] + // [1145] phi rom_get_prefix::prefix#4 = 'p' [phi:rom_get_prefix::@3->rom_get_prefix::@1#0] -- vbum1=vbuc1 lda #'p' sta prefix jmp __b1 - // [1171] phi from rom_get_prefix to rom_get_prefix::@1 [phi:rom_get_prefix->rom_get_prefix::@1] + // [1145] phi from rom_get_prefix to rom_get_prefix::@1 [phi:rom_get_prefix->rom_get_prefix::@1] __b3: - // [1171] phi rom_get_prefix::prefix#4 = 'r' [phi:rom_get_prefix->rom_get_prefix::@1#0] -- vbum1=vbuc1 + // [1145] phi rom_get_prefix::prefix#4 = 'r' [phi:rom_get_prefix->rom_get_prefix::@1#0] -- vbum1=vbuc1 lda #'r' sta prefix // rom_get_prefix::@1 __b1: // release & 0x80 - // [1172] rom_get_prefix::$2 = rom_get_prefix::release#4 & $80 -- vbuz1=vbuz1_band_vbuc1 + // [1146] rom_get_prefix::$2 = rom_get_prefix::release#4 & $80 -- vbum1=vbum1_band_vbuc1 lda #$80 - and.z rom_get_prefix__2 - sta.z rom_get_prefix__2 + and rom_get_prefix__2 + sta rom_get_prefix__2 // if(release & 0x80) - // [1173] if(0==rom_get_prefix::$2) goto rom_get_prefix::@4 -- 0_eq_vbuz1_then_la1 + // [1147] if(0==rom_get_prefix::$2) goto rom_get_prefix::@4 -- 0_eq_vbum1_then_la1 beq __b2 - // [1175] phi from rom_get_prefix::@1 to rom_get_prefix::@2 [phi:rom_get_prefix::@1->rom_get_prefix::@2] - // [1175] phi rom_get_prefix::return#0 = 'p' [phi:rom_get_prefix::@1->rom_get_prefix::@2#0] -- vbum1=vbuc1 + // [1149] phi from rom_get_prefix::@1 to rom_get_prefix::@2 [phi:rom_get_prefix::@1->rom_get_prefix::@2] + // [1149] phi rom_get_prefix::return#0 = 'p' [phi:rom_get_prefix::@1->rom_get_prefix::@2#0] -- vbum1=vbuc1 lda #'p' sta return rts - // [1174] phi from rom_get_prefix::@1 to rom_get_prefix::@4 [phi:rom_get_prefix::@1->rom_get_prefix::@4] + // [1148] phi from rom_get_prefix::@1 to rom_get_prefix::@4 [phi:rom_get_prefix::@1->rom_get_prefix::@4] // rom_get_prefix::@4 - // [1175] phi from rom_get_prefix::@4 to rom_get_prefix::@2 [phi:rom_get_prefix::@4->rom_get_prefix::@2] - // [1175] phi rom_get_prefix::return#0 = rom_get_prefix::prefix#4 [phi:rom_get_prefix::@4->rom_get_prefix::@2#0] -- register_copy + // [1149] phi from rom_get_prefix::@4 to rom_get_prefix::@2 [phi:rom_get_prefix::@4->rom_get_prefix::@2] + // [1149] phi rom_get_prefix::return#0 = rom_get_prefix::prefix#4 [phi:rom_get_prefix::@4->rom_get_prefix::@2#0] -- register_copy // rom_get_prefix::@2 __b2: // rom_get_prefix::@return // } - // [1176] return + // [1150] return rts .segment Data + .label rom_get_prefix__2 = main.check_status_smc2_main__0 return: .byte 0 + .label release = main.check_status_smc2_main__0 // If the release is 0xFF, then the release is a preview. // If bit 7 of the release is set, then the release is a preview. .label prefix = return } .segment Code + // snprintf_init +/// Initialize the snprintf() state +// void snprintf_init(__zp($bc) char *s, unsigned int n) +snprintf_init: { + .label s = $bc + // __snprintf_capacity = n + // [1152] __snprintf_capacity = $ffff -- vwum1=vwuc1 + lda #<$ffff + sta __snprintf_capacity + lda #>$ffff + sta __snprintf_capacity+1 + // __snprintf_size = 0 + // [1153] __snprintf_size = 0 -- vwum1=vbuc1 + lda #<0 + sta __snprintf_size + sta __snprintf_size+1 + // __snprintf_buffer = s + // [1154] __snprintf_buffer = snprintf_init::s#26 -- pbum1=pbuz2 + lda.z s + sta __snprintf_buffer + lda.z s+1 + sta __snprintf_buffer+1 + // snprintf_init::@return + // } + // [1155] return + rts +} + // printf_str +/// Print a NUL-terminated string +// void printf_str(__zp($5e) void (*putc)(char), __zp($62) const char *s) +printf_str: { + .label c = $c5 + .label s = $62 + .label putc = $5e + // [1157] phi from printf_str printf_str::@2 to printf_str::@1 [phi:printf_str/printf_str::@2->printf_str::@1] + // [1157] phi printf_str::s#70 = printf_str::s#71 [phi:printf_str/printf_str::@2->printf_str::@1#0] -- register_copy + // printf_str::@1 + __b1: + // while(c=*s++) + // [1158] printf_str::c#1 = *printf_str::s#70 -- vbuz1=_deref_pbuz2 + ldy #0 + lda (s),y + sta.z c + // [1159] printf_str::s#0 = ++ printf_str::s#70 -- pbuz1=_inc_pbuz1 + inc.z s + bne !+ + inc.z s+1 + !: + // [1160] if(0!=printf_str::c#1) goto printf_str::@2 -- 0_neq_vbuz1_then_la1 + lda.z c + bne __b2 + // printf_str::@return + // } + // [1161] return + rts + // printf_str::@2 + __b2: + // putc(c) + // [1162] stackpush(char) = printf_str::c#1 -- _stackpushbyte_=vbuz1 + lda.z c + pha + // [1163] callexecute *printf_str::putc#71 -- call__deref_pprz1 + jsr icall16 + // sideeffect stackpullpadding(1) -- _stackpullpadding_1 + pla + jmp __b1 + // Outside Flow + icall16: + jmp (putc) +} // printf_string // Print a string value using a specific format // Handles justification and min length -// void printf_string(__zp($74) void (*putc)(char), __zp($60) char *str, __zp($e2) char format_min_length, __zp($ed) char format_justify_left) +// void printf_string(__zp($64) void (*putc)(char), __zp($62) char *str, __zp($e5) char format_min_length, __zp($e7) char format_justify_left) printf_string: { .label printf_string__9 = $55 - .label len = $2c - .label padding = $e2 - .label str = $60 - .label format_min_length = $e2 - .label format_justify_left = $ed - .label putc = $74 + .label len = $c5 + .label padding = $e5 + .label str = $62 + .label format_min_length = $e5 + .label format_justify_left = $e7 + .label putc = $64 // if(format.min_length) - // [1178] if(0==printf_string::format_min_length#22) goto printf_string::@1 -- 0_eq_vbuz1_then_la1 + // [1166] if(0==printf_string::format_min_length#22) goto printf_string::@1 -- 0_eq_vbuz1_then_la1 lda.z format_min_length beq __b3 // printf_string::@3 // strlen(str) - // [1179] strlen::str#3 = printf_string::str#22 -- pbuz1=pbuz2 + // [1167] strlen::str#3 = printf_string::str#22 -- pbuz1=pbuz2 lda.z str sta.z strlen.str lda.z str+1 sta.z strlen.str+1 - // [1180] call strlen - // [2377] phi from printf_string::@3 to strlen [phi:printf_string::@3->strlen] - // [2377] phi strlen::str#8 = strlen::str#3 [phi:printf_string::@3->strlen#0] -- register_copy + // [1168] call strlen + // [2315] phi from printf_string::@3 to strlen [phi:printf_string::@3->strlen] + // [2315] phi strlen::str#8 = strlen::str#3 [phi:printf_string::@3->strlen#0] -- register_copy jsr strlen // strlen(str) - // [1181] strlen::return#10 = strlen::len#2 + // [1169] strlen::return#10 = strlen::len#2 // printf_string::@6 - // [1182] printf_string::$9 = strlen::return#10 + // [1170] printf_string::$9 = strlen::return#10 // signed char len = (signed char)strlen(str) - // [1183] printf_string::len#0 = (signed char)printf_string::$9 -- vbsz1=_sbyte_vwuz2 + // [1171] printf_string::len#0 = (signed char)printf_string::$9 -- vbsz1=_sbyte_vwuz2 lda.z printf_string__9 sta.z len // padding = (signed char)format.min_length - len - // [1184] printf_string::padding#1 = (signed char)printf_string::format_min_length#22 - printf_string::len#0 -- vbsz1=vbsz1_minus_vbsz2 + // [1172] printf_string::padding#1 = (signed char)printf_string::format_min_length#22 - printf_string::len#0 -- vbsz1=vbsz1_minus_vbsz2 lda.z padding sec sbc.z len sta.z padding // if(padding<0) - // [1185] if(printf_string::padding#1>=0) goto printf_string::@10 -- vbsz1_ge_0_then_la1 + // [1173] if(printf_string::padding#1>=0) goto printf_string::@10 -- vbsz1_ge_0_then_la1 cmp #0 bpl __b1 - // [1187] phi from printf_string printf_string::@6 to printf_string::@1 [phi:printf_string/printf_string::@6->printf_string::@1] + // [1175] phi from printf_string printf_string::@6 to printf_string::@1 [phi:printf_string/printf_string::@6->printf_string::@1] __b3: - // [1187] phi printf_string::padding#3 = 0 [phi:printf_string/printf_string::@6->printf_string::@1#0] -- vbsz1=vbsc1 + // [1175] phi printf_string::padding#3 = 0 [phi:printf_string/printf_string::@6->printf_string::@1#0] -- vbsz1=vbsc1 lda #0 sta.z padding - // [1186] phi from printf_string::@6 to printf_string::@10 [phi:printf_string::@6->printf_string::@10] + // [1174] phi from printf_string::@6 to printf_string::@10 [phi:printf_string::@6->printf_string::@10] // printf_string::@10 - // [1187] phi from printf_string::@10 to printf_string::@1 [phi:printf_string::@10->printf_string::@1] - // [1187] phi printf_string::padding#3 = printf_string::padding#1 [phi:printf_string::@10->printf_string::@1#0] -- register_copy + // [1175] phi from printf_string::@10 to printf_string::@1 [phi:printf_string::@10->printf_string::@1] + // [1175] phi printf_string::padding#3 = printf_string::padding#1 [phi:printf_string::@10->printf_string::@1#0] -- register_copy // printf_string::@1 __b1: // if(!format.justify_left && padding) - // [1188] if(0!=printf_string::format_justify_left#22) goto printf_string::@2 -- 0_neq_vbuz1_then_la1 + // [1176] if(0!=printf_string::format_justify_left#22) goto printf_string::@2 -- 0_neq_vbuz1_then_la1 lda.z format_justify_left bne __b2 // printf_string::@8 - // [1189] if(0!=printf_string::padding#3) goto printf_string::@4 -- 0_neq_vbsz1_then_la1 + // [1177] if(0!=printf_string::padding#3) goto printf_string::@4 -- 0_neq_vbsz1_then_la1 lda.z padding cmp #0 bne __b4 @@ -7848,43 +7903,43 @@ printf_string: { // printf_string::@4 __b4: // printf_padding(putc, ' ',(char)padding) - // [1190] printf_padding::putc#3 = printf_string::putc#22 -- pprz1=pprz2 + // [1178] printf_padding::putc#3 = printf_string::putc#22 -- pprz1=pprz2 lda.z putc sta.z printf_padding.putc lda.z putc+1 sta.z printf_padding.putc+1 - // [1191] printf_padding::length#3 = (char)printf_string::padding#3 -- vbuz1=vbuz2 + // [1179] printf_padding::length#3 = (char)printf_string::padding#3 -- vbuz1=vbuz2 lda.z padding sta.z printf_padding.length - // [1192] call printf_padding - // [2383] phi from printf_string::@4 to printf_padding [phi:printf_string::@4->printf_padding] - // [2383] phi printf_padding::putc#7 = printf_padding::putc#3 [phi:printf_string::@4->printf_padding#0] -- register_copy - // [2383] phi printf_padding::pad#7 = ' ' [phi:printf_string::@4->printf_padding#1] -- vbuz1=vbuc1 + // [1180] call printf_padding + // [2321] phi from printf_string::@4 to printf_padding [phi:printf_string::@4->printf_padding] + // [2321] phi printf_padding::putc#7 = printf_padding::putc#3 [phi:printf_string::@4->printf_padding#0] -- register_copy + // [2321] phi printf_padding::pad#7 = ' ' [phi:printf_string::@4->printf_padding#1] -- vbuz1=vbuc1 lda #' ' sta.z printf_padding.pad - // [2383] phi printf_padding::length#6 = printf_padding::length#3 [phi:printf_string::@4->printf_padding#2] -- register_copy + // [2321] phi printf_padding::length#6 = printf_padding::length#3 [phi:printf_string::@4->printf_padding#2] -- register_copy jsr printf_padding // printf_string::@2 __b2: // printf_str(putc, str) - // [1193] printf_str::putc#1 = printf_string::putc#22 -- pprz1=pprz2 + // [1181] printf_str::putc#1 = printf_string::putc#22 -- pprz1=pprz2 lda.z putc sta.z printf_str.putc lda.z putc+1 sta.z printf_str.putc+1 - // [1194] printf_str::s#2 = printf_string::str#22 - // [1195] call printf_str - // [1016] phi from printf_string::@2 to printf_str [phi:printf_string::@2->printf_str] - // [1016] phi printf_str::putc#71 = printf_str::putc#1 [phi:printf_string::@2->printf_str#0] -- register_copy - // [1016] phi printf_str::s#71 = printf_str::s#2 [phi:printf_string::@2->printf_str#1] -- register_copy + // [1182] printf_str::s#2 = printf_string::str#22 + // [1183] call printf_str + // [1156] phi from printf_string::@2 to printf_str [phi:printf_string::@2->printf_str] + // [1156] phi printf_str::putc#71 = printf_str::putc#1 [phi:printf_string::@2->printf_str#0] -- register_copy + // [1156] phi printf_str::s#71 = printf_str::s#2 [phi:printf_string::@2->printf_str#1] -- register_copy jsr printf_str // printf_string::@7 // if(format.justify_left && padding) - // [1196] if(0==printf_string::format_justify_left#22) goto printf_string::@return -- 0_eq_vbuz1_then_la1 + // [1184] if(0==printf_string::format_justify_left#22) goto printf_string::@return -- 0_eq_vbuz1_then_la1 lda.z format_justify_left beq __breturn // printf_string::@9 - // [1197] if(0!=printf_string::padding#3) goto printf_string::@5 -- 0_neq_vbsz1_then_la1 + // [1185] if(0!=printf_string::padding#3) goto printf_string::@5 -- 0_neq_vbsz1_then_la1 lda.z padding cmp #0 bne __b5 @@ -7892,26 +7947,26 @@ printf_string: { // printf_string::@5 __b5: // printf_padding(putc, ' ',(char)padding) - // [1198] printf_padding::putc#4 = printf_string::putc#22 -- pprz1=pprz2 + // [1186] printf_padding::putc#4 = printf_string::putc#22 -- pprz1=pprz2 lda.z putc sta.z printf_padding.putc lda.z putc+1 sta.z printf_padding.putc+1 - // [1199] printf_padding::length#4 = (char)printf_string::padding#3 -- vbuz1=vbuz2 + // [1187] printf_padding::length#4 = (char)printf_string::padding#3 -- vbuz1=vbuz2 lda.z padding sta.z printf_padding.length - // [1200] call printf_padding - // [2383] phi from printf_string::@5 to printf_padding [phi:printf_string::@5->printf_padding] - // [2383] phi printf_padding::putc#7 = printf_padding::putc#4 [phi:printf_string::@5->printf_padding#0] -- register_copy - // [2383] phi printf_padding::pad#7 = ' ' [phi:printf_string::@5->printf_padding#1] -- vbuz1=vbuc1 + // [1188] call printf_padding + // [2321] phi from printf_string::@5 to printf_padding [phi:printf_string::@5->printf_padding] + // [2321] phi printf_padding::putc#7 = printf_padding::putc#4 [phi:printf_string::@5->printf_padding#0] -- register_copy + // [2321] phi printf_padding::pad#7 = ' ' [phi:printf_string::@5->printf_padding#1] -- vbuz1=vbuc1 lda #' ' sta.z printf_padding.pad - // [2383] phi printf_padding::length#6 = printf_padding::length#4 [phi:printf_string::@5->printf_padding#2] -- register_copy + // [2321] phi printf_padding::length#6 = printf_padding::length#4 [phi:printf_string::@5->printf_padding#2] -- register_copy jsr printf_padding // printf_string::@return __breturn: // } - // [1201] return + // [1189] return rts .segment Data .label str_1 = rom_read.rom_package_read @@ -7920,48 +7975,48 @@ printf_string: { // smc_supported_rom // __mem() char smc_supported_rom(__mem() char rom_release) smc_supported_rom: { - // [1203] phi from smc_supported_rom to smc_supported_rom::@1 [phi:smc_supported_rom->smc_supported_rom::@1] - // [1203] phi smc_supported_rom::i#2 = 0 [phi:smc_supported_rom->smc_supported_rom::@1#0] -- vbum1=vbuc1 + .label i = $2f + // [1191] phi from smc_supported_rom to smc_supported_rom::@1 [phi:smc_supported_rom->smc_supported_rom::@1] + // [1191] phi smc_supported_rom::i#2 = 0 [phi:smc_supported_rom->smc_supported_rom::@1#0] -- vbuz1=vbuc1 lda #0 - sta i + sta.z i // smc_supported_rom::@1 __b1: // for(unsigned char i=0; i<32; i++) - // [1204] if(smc_supported_rom::i#2<$20) goto smc_supported_rom::@2 -- vbum1_lt_vbuc1_then_la1 - lda i + // [1192] if(smc_supported_rom::i#2<$20) goto smc_supported_rom::@2 -- vbuz1_lt_vbuc1_then_la1 + lda.z i cmp #$20 bcc __b2 - // [1206] phi from smc_supported_rom::@1 to smc_supported_rom::@return [phi:smc_supported_rom::@1->smc_supported_rom::@return] - // [1206] phi smc_supported_rom::return#2 = 0 [phi:smc_supported_rom::@1->smc_supported_rom::@return#0] -- vbum1=vbuc1 + // [1194] phi from smc_supported_rom::@1 to smc_supported_rom::@return [phi:smc_supported_rom::@1->smc_supported_rom::@return] + // [1194] phi smc_supported_rom::return#2 = 0 [phi:smc_supported_rom::@1->smc_supported_rom::@return#0] -- vbum1=vbuc1 lda #0 sta return rts // smc_supported_rom::@2 __b2: // if(smc_rom_releases[i] == rom_release) - // [1205] if(smc_rom_releases[smc_supported_rom::i#2]!=smc_supported_rom::rom_release#0) goto smc_supported_rom::@3 -- pbuc1_derefidx_vbum1_neq_vbum2_then_la1 + // [1193] if(smc_rom_releases[smc_supported_rom::i#2]!=smc_supported_rom::rom_release#0) goto smc_supported_rom::@3 -- pbuc1_derefidx_vbuz1_neq_vbum2_then_la1 lda rom_release - ldy i + ldy.z i cmp smc_rom_releases,y bne __b3 - // [1206] phi from smc_supported_rom::@2 to smc_supported_rom::@return [phi:smc_supported_rom::@2->smc_supported_rom::@return] - // [1206] phi smc_supported_rom::return#2 = 1 [phi:smc_supported_rom::@2->smc_supported_rom::@return#0] -- vbum1=vbuc1 + // [1194] phi from smc_supported_rom::@2 to smc_supported_rom::@return [phi:smc_supported_rom::@2->smc_supported_rom::@return] + // [1194] phi smc_supported_rom::return#2 = 1 [phi:smc_supported_rom::@2->smc_supported_rom::@return#0] -- vbum1=vbuc1 lda #1 sta return // smc_supported_rom::@return // } - // [1207] return + // [1195] return rts // smc_supported_rom::@3 __b3: // for(unsigned char i=0; i<32; i++) - // [1208] smc_supported_rom::i#1 = ++ smc_supported_rom::i#2 -- vbum1=_inc_vbum1 - inc i - // [1203] phi from smc_supported_rom::@3 to smc_supported_rom::@1 [phi:smc_supported_rom::@3->smc_supported_rom::@1] - // [1203] phi smc_supported_rom::i#2 = smc_supported_rom::i#1 [phi:smc_supported_rom::@3->smc_supported_rom::@1#0] -- register_copy + // [1196] smc_supported_rom::i#1 = ++ smc_supported_rom::i#2 -- vbuz1=_inc_vbuz1 + inc.z i + // [1191] phi from smc_supported_rom::@3 to smc_supported_rom::@1 [phi:smc_supported_rom::@3->smc_supported_rom::@1] + // [1191] phi smc_supported_rom::i#2 = smc_supported_rom::i#1 [phi:smc_supported_rom::@3->smc_supported_rom::@1#0] -- register_copy jmp __b1 .segment Data - .label i = main.check_status_cx16_rom2_check_status_rom1_main__0 return: .byte 0 .label rom_release = util_wait_key.return } @@ -7974,63 +8029,64 @@ smc_supported_rom: { * @param filter * @return unsigned char */ -// __mem() char util_wait_key(__zp($74) char *info_text, __zp($d7) char *filter) +// __zp($e9) char util_wait_key(__zp($64) char *info_text, __zp($3f) char *filter) util_wait_key: { .const bank_set_bram1_bank = 0 .const bank_set_brom1_bank = 4 - .label util_wait_key__9 = $ee - .label bram = $36 - .label bank_get_brom1_return = $5c - .label info_text = $74 - .label filter = $d7 + .label util_wait_key__9 = $f0 + .label bram = $5c + .label bank_get_brom1_return = $d5 + .label return_1 = $e9 + .label info_text = $64 + .label filter = $3f // display_action_text(info_text) - // [1210] display_action_text::info_text#0 = util_wait_key::info_text#3 - // [1211] call display_action_text - // [1259] phi from util_wait_key to display_action_text [phi:util_wait_key->display_action_text] - // [1259] phi display_action_text::info_text#19 = display_action_text::info_text#0 [phi:util_wait_key->display_action_text#0] -- register_copy + // [1198] display_action_text::info_text#0 = util_wait_key::info_text#3 + // [1199] call display_action_text + // [1247] phi from util_wait_key to display_action_text [phi:util_wait_key->display_action_text] + // [1247] phi display_action_text::info_text#19 = display_action_text::info_text#0 [phi:util_wait_key->display_action_text#0] -- register_copy jsr display_action_text // util_wait_key::bank_get_bram1 // return BRAM; - // [1212] util_wait_key::bram#0 = BRAM -- vbuz1=vbuz2 + // [1200] util_wait_key::bram#0 = BRAM -- vbuz1=vbuz2 lda.z BRAM sta.z bram // util_wait_key::bank_get_brom1 // return BROM; - // [1213] util_wait_key::bank_get_brom1_return#0 = BROM -- vbuz1=vbuz2 + // [1201] util_wait_key::bank_get_brom1_return#0 = BROM -- vbuz1=vbuz2 lda.z BROM sta.z bank_get_brom1_return // util_wait_key::bank_set_bram1 // BRAM = bank - // [1214] BRAM = util_wait_key::bank_set_bram1_bank#0 -- vbuz1=vbuc1 + // [1202] BRAM = util_wait_key::bank_set_bram1_bank#0 -- vbuz1=vbuc1 lda #bank_set_bram1_bank sta.z BRAM // util_wait_key::bank_set_brom1 // BROM = bank - // [1215] BROM = util_wait_key::bank_set_brom1_bank#0 -- vbuz1=vbuc1 + // [1203] BROM = util_wait_key::bank_set_brom1_bank#0 -- vbuz1=vbuc1 lda #bank_set_brom1_bank sta.z BROM - // [1216] phi from util_wait_key::@2 util_wait_key::@5 util_wait_key::bank_set_brom1 to util_wait_key::kbhit1 [phi:util_wait_key::@2/util_wait_key::@5/util_wait_key::bank_set_brom1->util_wait_key::kbhit1] + // [1204] phi from util_wait_key::@2 util_wait_key::@5 util_wait_key::bank_set_brom1 to util_wait_key::kbhit1 [phi:util_wait_key::@2/util_wait_key::@5/util_wait_key::bank_set_brom1->util_wait_key::kbhit1] // util_wait_key::kbhit1 kbhit1: // util_wait_key::kbhit1_cbm_k_clrchn1 // asm // asm { jsrCBM_CLRCHN } jsr CBM_CLRCHN - // [1218] phi from util_wait_key::kbhit1_cbm_k_clrchn1 to util_wait_key::kbhit1_@2 [phi:util_wait_key::kbhit1_cbm_k_clrchn1->util_wait_key::kbhit1_@2] + // [1206] phi from util_wait_key::kbhit1_cbm_k_clrchn1 to util_wait_key::kbhit1_@2 [phi:util_wait_key::kbhit1_cbm_k_clrchn1->util_wait_key::kbhit1_@2] // util_wait_key::kbhit1_@2 // cbm_k_getin() - // [1219] call cbm_k_getin + // [1207] call cbm_k_getin jsr cbm_k_getin - // [1220] cbm_k_getin::return#2 = cbm_k_getin::return#1 + // [1208] cbm_k_getin::return#2 = cbm_k_getin::return#1 // util_wait_key::@4 - // [1221] util_wait_key::ch#4 = cbm_k_getin::return#2 -- vwum1=vbuz2 + // [1209] util_wait_key::ch#4 = cbm_k_getin::return#2 -- vwum1=vbuz2 lda.z cbm_k_getin.return sta ch lda #0 sta ch+1 // util_wait_key::@3 // if (filter) - // [1222] if((char *)0!=util_wait_key::filter#13) goto util_wait_key::@1 -- pbuc1_neq_pbuz1_then_la1 + // [1210] if((char *)0!=util_wait_key::filter#13) goto util_wait_key::@1 -- pbuc1_neq_pbuz1_then_la1 // if there is a filter, check the filter, otherwise return ch. lda.z filter+1 cmp #>0 @@ -8040,7 +8096,7 @@ util_wait_key: { bne __b1 // util_wait_key::@2 // if(ch) - // [1223] if(0!=util_wait_key::ch#4) goto util_wait_key::bank_set_bram2 -- 0_neq_vwum1_then_la1 + // [1211] if(0!=util_wait_key::ch#4) goto util_wait_key::bank_set_bram2 -- 0_neq_vwum1_then_la1 lda ch ora ch+1 bne bank_set_bram2 @@ -8048,47 +8104,46 @@ util_wait_key: { // util_wait_key::bank_set_bram2 bank_set_bram2: // BRAM = bank - // [1224] BRAM = util_wait_key::bram#0 -- vbuz1=vbuz2 + // [1212] BRAM = util_wait_key::bram#0 -- vbuz1=vbuz2 lda.z bram sta.z BRAM // util_wait_key::bank_set_brom2 // BROM = bank - // [1225] BROM = util_wait_key::bank_get_brom1_return#0 -- vbuz1=vbuz2 + // [1213] BROM = util_wait_key::bank_get_brom1_return#0 -- vbuz1=vbuz2 lda.z bank_get_brom1_return sta.z BROM // util_wait_key::@return // } - // [1226] return + // [1214] return rts // util_wait_key::@1 __b1: // strchr(filter, ch) - // [1227] strchr::str#0 = (const void *)util_wait_key::filter#13 -- pvoz1=pvoz2 + // [1215] strchr::str#0 = (const void *)util_wait_key::filter#13 -- pvoz1=pvoz2 lda.z filter sta.z strchr.str lda.z filter+1 sta.z strchr.str+1 - // [1228] strchr::c#0 = util_wait_key::ch#4 -- vbum1=vwum2 + // [1216] strchr::c#0 = util_wait_key::ch#4 -- vbuz1=vwum2 lda ch - sta strchr.c - // [1229] call strchr - // [1769] phi from util_wait_key::@1 to strchr [phi:util_wait_key::@1->strchr] - // [1769] phi strchr::c#4 = strchr::c#0 [phi:util_wait_key::@1->strchr#0] -- register_copy - // [1769] phi strchr::str#2 = strchr::str#0 [phi:util_wait_key::@1->strchr#1] -- register_copy + sta.z strchr.c + // [1217] call strchr + // [1757] phi from util_wait_key::@1 to strchr [phi:util_wait_key::@1->strchr] + // [1757] phi strchr::c#4 = strchr::c#0 [phi:util_wait_key::@1->strchr#0] -- register_copy + // [1757] phi strchr::str#2 = strchr::str#0 [phi:util_wait_key::@1->strchr#1] -- register_copy jsr strchr // strchr(filter, ch) - // [1230] strchr::return#3 = strchr::return#2 + // [1218] strchr::return#3 = strchr::return#2 // util_wait_key::@5 - // [1231] util_wait_key::$9 = strchr::return#3 + // [1219] util_wait_key::$9 = strchr::return#3 // if(strchr(filter, ch) != NULL) - // [1232] if(util_wait_key::$9!=0) goto util_wait_key::bank_set_bram2 -- pvoz1_neq_0_then_la1 + // [1220] if(util_wait_key::$9!=0) goto util_wait_key::bank_set_bram2 -- pvoz1_neq_0_then_la1 lda.z util_wait_key__9 ora.z util_wait_key__9+1 bne bank_set_bram2 jmp kbhit1 .segment Data return: .byte 0 - .label return_1 = strchr.c .label ch = rom_read.fp } .segment Code @@ -8099,26 +8154,28 @@ util_wait_key: { * @param info_status The status. * @param info_text The status text. */ -// void display_info_cx16_rom(__zp($e6) char info_status, __zp($dd) char *info_text) +// void display_info_cx16_rom(__mem() char info_status, __zp($4f) char *info_text) display_info_cx16_rom: { - .label info_status = $e6 - .label info_text = $dd + .label info_text = $4f // display_info_rom(0, info_status, info_text) - // [1234] display_info_rom::info_status#0 = display_info_cx16_rom::info_status#4 - // [1235] display_info_rom::info_text#0 = display_info_cx16_rom::info_text#4 - // [1236] call display_info_rom - // [1282] phi from display_info_cx16_rom to display_info_rom [phi:display_info_cx16_rom->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = display_info_rom::info_text#0 [phi:display_info_cx16_rom->display_info_rom#0] -- register_copy - // [1282] phi display_info_rom::rom_chip#16 = 0 [phi:display_info_cx16_rom->display_info_rom#1] -- vbuz1=vbuc1 + // [1222] display_info_rom::info_status#0 = display_info_cx16_rom::info_status#4 + // [1223] display_info_rom::info_text#0 = display_info_cx16_rom::info_text#4 + // [1224] call display_info_rom + // [1270] phi from display_info_cx16_rom to display_info_rom [phi:display_info_cx16_rom->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = display_info_rom::info_text#0 [phi:display_info_cx16_rom->display_info_rom#0] -- register_copy + // [1270] phi display_info_rom::rom_chip#16 = 0 [phi:display_info_cx16_rom->display_info_rom#1] -- vbuz1=vbuc1 lda #0 sta.z display_info_rom.rom_chip - // [1282] phi display_info_rom::info_status#16 = display_info_rom::info_status#0 [phi:display_info_cx16_rom->display_info_rom#2] -- register_copy + // [1270] phi display_info_rom::info_status#16 = display_info_rom::info_status#0 [phi:display_info_cx16_rom->display_info_rom#2] -- register_copy jsr display_info_rom // display_info_cx16_rom::@return // } - // [1237] return + // [1225] return rts + .segment Data + .label info_status = main.check_status_cx16_rom3_check_status_rom1_main__0 } +.segment Code // system_reset /** * @brief @@ -8129,19 +8186,19 @@ system_reset: { .const bank_set_brom1_bank = 0 // system_reset::bank_set_bram1 // BRAM = bank - // [1239] BRAM = system_reset::bank_set_bram1_bank#0 -- vbuz1=vbuc1 + // [1227] BRAM = system_reset::bank_set_bram1_bank#0 -- vbuz1=vbuc1 lda #bank_set_bram1_bank sta.z BRAM // system_reset::bank_set_brom1 // BROM = bank - // [1240] BROM = system_reset::bank_set_brom1_bank#0 -- vbuz1=vbuc1 + // [1228] BROM = system_reset::bank_set_brom1_bank#0 -- vbuz1=vbuc1 lda #bank_set_brom1_bank sta.z BROM // system_reset::@2 // asm // asm { jmp($FFFC) } jmp ($fffc) - // [1242] phi from system_reset::@1 system_reset::@2 to system_reset::@1 [phi:system_reset::@1/system_reset::@2->system_reset::@1] + // [1230] phi from system_reset::@1 system_reset::@2 to system_reset::@1 [phi:system_reset::@1/system_reset::@2->system_reset::@1] // system_reset::@1 __b1: jmp __b1 @@ -8152,79 +8209,81 @@ system_reset: { * */ wait_moment: { - .label i = $5e - // [1244] phi from wait_moment to wait_moment::@1 [phi:wait_moment->wait_moment::@1] - // [1244] phi wait_moment::i#2 = $ffff [phi:wait_moment->wait_moment::@1#0] -- vwuz1=vwuc1 + // [1232] phi from wait_moment to wait_moment::@1 [phi:wait_moment->wait_moment::@1] + // [1232] phi wait_moment::i#2 = $ffff [phi:wait_moment->wait_moment::@1#0] -- vwum1=vwuc1 lda #<$ffff - sta.z i + sta i lda #>$ffff - sta.z i+1 + sta i+1 // wait_moment::@1 __b1: // for(unsigned int i=65535; i>0; i--) - // [1245] if(wait_moment::i#2>0) goto wait_moment::@2 -- vwuz1_gt_0_then_la1 - lda.z i+1 + // [1233] if(wait_moment::i#2>0) goto wait_moment::@2 -- vwum1_gt_0_then_la1 + lda i+1 bne __b2 - lda.z i + lda i bne __b2 !: // wait_moment::@return // } - // [1246] return + // [1234] return rts // wait_moment::@2 __b2: // for(unsigned int i=65535; i>0; i--) - // [1247] wait_moment::i#1 = -- wait_moment::i#2 -- vwuz1=_dec_vwuz1 - lda.z i + // [1235] wait_moment::i#1 = -- wait_moment::i#2 -- vwum1=_dec_vwum1 + lda i bne !+ - dec.z i+1 + dec i+1 !: - dec.z i - // [1244] phi from wait_moment::@2 to wait_moment::@1 [phi:wait_moment::@2->wait_moment::@1] - // [1244] phi wait_moment::i#2 = wait_moment::i#1 [phi:wait_moment::@2->wait_moment::@1#0] -- register_copy + dec i + // [1232] phi from wait_moment::@2 to wait_moment::@1 [phi:wait_moment::@2->wait_moment::@1] + // [1232] phi wait_moment::i#2 = wait_moment::i#1 [phi:wait_moment::@2->wait_moment::@1#0] -- register_copy jmp __b1 + .segment Data + i: .word 0 } +.segment Code // printf_uchar // Print an unsigned char using a specific format -// void printf_uchar(__zp($4d) void (*putc)(char), __zp($2f) char uvalue, __zp($e8) char format_min_length, char format_justify_left, char format_sign_always, __zp($e7) char format_zero_padding, char format_upper_case, __zp($e2) char format_radix) +// void printf_uchar(__zp($5e) void (*putc)(char), __zp($2f) char uvalue, __zp($ea) char format_min_length, char format_justify_left, char format_sign_always, __zp($e9) char format_zero_padding, char format_upper_case, __zp($e8) char format_radix) printf_uchar: { .label uvalue = $2f - .label format_radix = $e2 - .label putc = $4d - .label format_min_length = $e8 - .label format_zero_padding = $e7 + .label format_radix = $e8 + .label putc = $5e + .label format_min_length = $ea + .label format_zero_padding = $e9 // printf_uchar::@1 // printf_buffer.sign = format.sign_always?'+':0 - // [1249] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 + // [1237] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 // Handle any sign lda #0 sta printf_buffer // uctoa(uvalue, printf_buffer.digits, format.radix) - // [1250] uctoa::value#1 = printf_uchar::uvalue#14 - // [1251] uctoa::radix#0 = printf_uchar::format_radix#14 - // [1252] call uctoa + // [1238] uctoa::value#1 = printf_uchar::uvalue#14 + // [1239] uctoa::radix#0 = printf_uchar::format_radix#14 + // [1240] call uctoa // Format number into buffer jsr uctoa // printf_uchar::@2 // printf_number_buffer(putc, printf_buffer, format) - // [1253] printf_number_buffer::putc#2 = printf_uchar::putc#14 - // [1254] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 + // [1241] printf_number_buffer::putc#2 = printf_uchar::putc#14 + // [1242] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 lda printf_buffer sta.z printf_number_buffer.buffer_sign - // [1255] printf_number_buffer::format_min_length#2 = printf_uchar::format_min_length#14 - // [1256] printf_number_buffer::format_zero_padding#2 = printf_uchar::format_zero_padding#14 - // [1257] call printf_number_buffer + // [1243] printf_number_buffer::format_min_length#2 = printf_uchar::format_min_length#14 + // [1244] printf_number_buffer::format_zero_padding#2 = printf_uchar::format_zero_padding#14 + // [1245] call printf_number_buffer // Print using format - // [2157] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer] - // [2157] phi printf_number_buffer::putc#10 = printf_number_buffer::putc#2 [phi:printf_uchar::@2->printf_number_buffer#0] -- register_copy - // [2157] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 [phi:printf_uchar::@2->printf_number_buffer#1] -- register_copy - // [2157] phi printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#2 [phi:printf_uchar::@2->printf_number_buffer#2] -- register_copy - // [2157] phi printf_number_buffer::format_min_length#3 = printf_number_buffer::format_min_length#2 [phi:printf_uchar::@2->printf_number_buffer#3] -- register_copy + // [2362] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer] + // [2362] phi printf_number_buffer::putc#10 = printf_number_buffer::putc#2 [phi:printf_uchar::@2->printf_number_buffer#0] -- register_copy + // [2362] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 [phi:printf_uchar::@2->printf_number_buffer#1] -- register_copy + // [2362] phi printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#2 [phi:printf_uchar::@2->printf_number_buffer#2] -- register_copy + // [2362] phi printf_number_buffer::format_min_length#3 = printf_number_buffer::format_min_length#2 [phi:printf_uchar::@2->printf_number_buffer#3] -- register_copy jsr printf_number_buffer // printf_uchar::@return // } - // [1258] return + // [1246] return rts } // display_action_text @@ -8233,75 +8292,75 @@ printf_uchar: { * * @param info_text The info text to be displayed. */ -// void display_action_text(__zp($74) char *info_text) +// void display_action_text(__zp($64) char *info_text) display_action_text: { - .label info_text = $74 - .label x = $6b - .label y = $43 + .label info_text = $64 + .label x = $6c + .label y = $45 // unsigned char x = wherex() - // [1260] call wherex + // [1248] call wherex jsr wherex - // [1261] wherex::return#3 = wherex::return#0 -- vbuz1=vbuz2 + // [1249] wherex::return#3 = wherex::return#0 -- vbuz1=vbuz2 lda.z wherex.return sta.z wherex.return_1 // display_action_text::@1 - // [1262] display_action_text::x#0 = wherex::return#3 + // [1250] display_action_text::x#0 = wherex::return#3 // unsigned char y = wherey() - // [1263] call wherey + // [1251] call wherey jsr wherey - // [1264] wherey::return#3 = wherey::return#0 -- vbuz1=vbuz2 + // [1252] wherey::return#3 = wherey::return#0 -- vbuz1=vbuz2 lda.z wherey.return sta.z wherey.return_1 // display_action_text::@2 - // [1265] display_action_text::y#0 = wherey::return#3 + // [1253] display_action_text::y#0 = wherey::return#3 // gotoxy(2, PROGRESS_Y-3) - // [1266] call gotoxy - // [762] phi from display_action_text::@2 to gotoxy [phi:display_action_text::@2->gotoxy] - // [762] phi gotoxy::y#30 = PROGRESS_Y-3 [phi:display_action_text::@2->gotoxy#0] -- vbuz1=vbuc1 + // [1254] call gotoxy + // [756] phi from display_action_text::@2 to gotoxy [phi:display_action_text::@2->gotoxy] + // [756] phi gotoxy::y#30 = PROGRESS_Y-3 [phi:display_action_text::@2->gotoxy#0] -- vbuz1=vbuc1 lda #PROGRESS_Y-3 sta.z gotoxy.y - // [762] phi gotoxy::x#30 = 2 [phi:display_action_text::@2->gotoxy#1] -- vbuz1=vbuc1 + // [756] phi gotoxy::x#30 = 2 [phi:display_action_text::@2->gotoxy#1] -- vbuz1=vbuc1 lda #2 sta.z gotoxy.x jsr gotoxy // display_action_text::@3 // printf("%-65s", info_text) - // [1267] printf_string::str#2 = display_action_text::info_text#19 -- pbuz1=pbuz2 + // [1255] printf_string::str#2 = display_action_text::info_text#19 -- pbuz1=pbuz2 lda.z info_text sta.z printf_string.str lda.z info_text+1 sta.z printf_string.str+1 - // [1268] call printf_string - // [1177] phi from display_action_text::@3 to printf_string [phi:display_action_text::@3->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_action_text::@3->printf_string#0] -- pprz1=pprc1 + // [1256] call printf_string + // [1165] phi from display_action_text::@3 to printf_string [phi:display_action_text::@3->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_action_text::@3->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#2 [phi:display_action_text::@3->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 1 [phi:display_action_text::@3->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#2 [phi:display_action_text::@3->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_action_text::@3->printf_string#2] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = $41 [phi:display_action_text::@3->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = $41 [phi:display_action_text::@3->printf_string#3] -- vbuz1=vbuc1 lda #$41 sta.z printf_string.format_min_length jsr printf_string // display_action_text::@4 // gotoxy(x, y) - // [1269] gotoxy::x#12 = display_action_text::x#0 -- vbuz1=vbuz2 + // [1257] gotoxy::x#12 = display_action_text::x#0 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [1270] gotoxy::y#12 = display_action_text::y#0 -- vbuz1=vbuz2 + // [1258] gotoxy::y#12 = display_action_text::y#0 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [1271] call gotoxy - // [762] phi from display_action_text::@4 to gotoxy [phi:display_action_text::@4->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#12 [phi:display_action_text::@4->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#12 [phi:display_action_text::@4->gotoxy#1] -- register_copy + // [1259] call gotoxy + // [756] phi from display_action_text::@4 to gotoxy [phi:display_action_text::@4->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#12 [phi:display_action_text::@4->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#12 [phi:display_action_text::@4->gotoxy#1] -- register_copy jsr gotoxy // display_action_text::@return // } - // [1272] return + // [1260] return rts } // smc_reset @@ -8317,28 +8376,28 @@ smc_reset: { .const bank_set_brom1_bank = 0 // smc_reset::bank_set_bram1 // BRAM = bank - // [1274] BRAM = smc_reset::bank_set_bram1_bank#0 -- vbuz1=vbuc1 + // [1262] BRAM = smc_reset::bank_set_bram1_bank#0 -- vbuz1=vbuc1 lda #bank_set_bram1_bank sta.z BRAM // smc_reset::bank_set_brom1 // BROM = bank - // [1275] BROM = smc_reset::bank_set_brom1_bank#0 -- vbuz1=vbuc1 + // [1263] BROM = smc_reset::bank_set_brom1_bank#0 -- vbuz1=vbuc1 lda #bank_set_brom1_bank sta.z BROM // smc_reset::@2 // cx16_k_i2c_write_byte(FLASH_I2C_SMC_DEVICE, FLASH_I2C_SMC_REBOOT, 0) - // [1276] smc_reset::cx16_k_i2c_write_byte1_device = $42 -- vbum1=vbuc1 + // [1264] smc_reset::cx16_k_i2c_write_byte1_device = $42 -- vbum1=vbuc1 lda #$42 sta cx16_k_i2c_write_byte1_device - // [1277] smc_reset::cx16_k_i2c_write_byte1_offset = $82 -- vbum1=vbuc1 + // [1265] smc_reset::cx16_k_i2c_write_byte1_offset = $82 -- vbum1=vbuc1 lda #$82 sta cx16_k_i2c_write_byte1_offset - // [1278] smc_reset::cx16_k_i2c_write_byte1_value = 0 -- vbum1=vbuc1 + // [1266] smc_reset::cx16_k_i2c_write_byte1_value = 0 -- vbum1=vbuc1 lda #0 sta cx16_k_i2c_write_byte1_value // smc_reset::cx16_k_i2c_write_byte1 // unsigned char result - // [1279] smc_reset::cx16_k_i2c_write_byte1_result = 0 -- vbum1=vbuc1 + // [1267] smc_reset::cx16_k_i2c_write_byte1_result = 0 -- vbum1=vbuc1 sta cx16_k_i2c_write_byte1_result // asm // asm { ldxdevice ldyoffset ldavalue stzresult jsrCX16_I2C_WRITE_BYTE rolresult } @@ -8348,7 +8407,7 @@ smc_reset: { stz cx16_k_i2c_write_byte1_result jsr CX16_I2C_WRITE_BYTE rol cx16_k_i2c_write_byte1_result - // [1281] phi from smc_reset::@1 smc_reset::cx16_k_i2c_write_byte1 to smc_reset::@1 [phi:smc_reset::@1/smc_reset::cx16_k_i2c_write_byte1->smc_reset::@1] + // [1269] phi from smc_reset::@1 smc_reset::cx16_k_i2c_write_byte1 to smc_reset::@1 [phi:smc_reset::@1/smc_reset::cx16_k_i2c_write_byte1->smc_reset::@1] // smc_reset::@1 __b1: jmp __b1 @@ -8367,103 +8426,101 @@ smc_reset: { * @param info_status The status. * @param info_text The status text. */ -// void display_info_rom(__zp($2f) char rom_chip, __zp($e6) char info_status, __zp($dd) char *info_text) +// void display_info_rom(__zp($2f) char rom_chip, __mem() char info_status, __zp($4f) char *info_text) display_info_rom: { - .label display_info_rom__6 = $5c - .label display_info_rom__12 = $e6 - .label display_info_rom__13 = $36 + .label display_info_rom__6 = $d5 + .label display_info_rom__13 = $5c .label x = $5b .label y = $54 - .label info_status = $e6 - .label info_text = $dd + .label info_text = $4f .label rom_chip = $2f - .label display_info_rom__16 = $5c - .label display_info_rom__17 = $5c + .label display_info_rom__16 = $d5 + .label display_info_rom__17 = $d5 // unsigned char x = wherex() - // [1283] call wherex + // [1271] call wherex jsr wherex - // [1284] wherex::return#12 = wherex::return#0 -- vbuz1=vbuz2 + // [1272] wherex::return#12 = wherex::return#0 -- vbuz1=vbuz2 lda.z wherex.return sta.z wherex.return_4 // display_info_rom::@3 - // [1285] display_info_rom::x#0 = wherex::return#12 + // [1273] display_info_rom::x#0 = wherex::return#12 // unsigned char y = wherey() - // [1286] call wherey + // [1274] call wherey jsr wherey - // [1287] wherey::return#12 = wherey::return#0 -- vbuz1=vbuz2 + // [1275] wherey::return#12 = wherey::return#0 -- vbuz1=vbuz2 lda.z wherey.return sta.z wherey.return_4 // display_info_rom::@4 - // [1288] display_info_rom::y#0 = wherey::return#12 + // [1276] display_info_rom::y#0 = wherey::return#12 // status_rom[rom_chip] = info_status - // [1289] status_rom[display_info_rom::rom_chip#16] = display_info_rom::info_status#16 -- pbuc1_derefidx_vbuz1=vbuz2 - lda.z info_status + // [1277] status_rom[display_info_rom::rom_chip#16] = display_info_rom::info_status#16 -- pbuc1_derefidx_vbuz1=vbum2 + lda info_status ldy.z rom_chip sta status_rom,y // display_rom_led(rom_chip, status_color[info_status]) - // [1290] display_rom_led::chip#1 = display_info_rom::rom_chip#16 -- vbuz1=vbuz2 + // [1278] display_rom_led::chip#1 = display_info_rom::rom_chip#16 -- vbuz1=vbuz2 tya sta.z display_rom_led.chip - // [1291] display_rom_led::c#1 = status_color[display_info_rom::info_status#16] -- vbuz1=pbuc1_derefidx_vbuz2 - ldy.z info_status + // [1279] display_rom_led::c#1 = status_color[display_info_rom::info_status#16] -- vbuz1=pbuc1_derefidx_vbum2 + ldy info_status lda status_color,y sta.z display_rom_led.c - // [1292] call display_rom_led - // [2116] phi from display_info_rom::@4 to display_rom_led [phi:display_info_rom::@4->display_rom_led] - // [2116] phi display_rom_led::c#2 = display_rom_led::c#1 [phi:display_info_rom::@4->display_rom_led#0] -- register_copy - // [2116] phi display_rom_led::chip#2 = display_rom_led::chip#1 [phi:display_info_rom::@4->display_rom_led#1] -- register_copy + // [1280] call display_rom_led + // [2115] phi from display_info_rom::@4 to display_rom_led [phi:display_info_rom::@4->display_rom_led] + // [2115] phi display_rom_led::c#2 = display_rom_led::c#1 [phi:display_info_rom::@4->display_rom_led#0] -- register_copy + // [2115] phi display_rom_led::chip#2 = display_rom_led::chip#1 [phi:display_info_rom::@4->display_rom_led#1] -- register_copy jsr display_rom_led // display_info_rom::@5 // gotoxy(INFO_X, INFO_Y+rom_chip+2) - // [1293] gotoxy::y#17 = display_info_rom::rom_chip#16 + $11+2 -- vbuz1=vbuz2_plus_vbuc1 + // [1281] gotoxy::y#17 = display_info_rom::rom_chip#16 + $11+2 -- vbuz1=vbuz2_plus_vbuc1 lda #$11+2 clc adc.z rom_chip sta.z gotoxy.y - // [1294] call gotoxy - // [762] phi from display_info_rom::@5 to gotoxy [phi:display_info_rom::@5->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#17 [phi:display_info_rom::@5->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = 4 [phi:display_info_rom::@5->gotoxy#1] -- vbuz1=vbuc1 + // [1282] call gotoxy + // [756] phi from display_info_rom::@5 to gotoxy [phi:display_info_rom::@5->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#17 [phi:display_info_rom::@5->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = 4 [phi:display_info_rom::@5->gotoxy#1] -- vbuz1=vbuc1 lda #4 sta.z gotoxy.x jsr gotoxy // display_info_rom::@6 // printf("ROM%u %-9s %-6s %-13s ", rom_chip, status_text[info_status], rom_device_names[rom_chip], &rom_release_text[rom_chip*13]) - // [1295] display_info_rom::$13 = display_info_rom::rom_chip#16 << 1 -- vbuz1=vbuz2_rol_1 + // [1283] display_info_rom::$13 = display_info_rom::rom_chip#16 << 1 -- vbuz1=vbuz2_rol_1 lda.z rom_chip asl sta.z display_info_rom__13 // rom_chip*13 - // [1296] display_info_rom::$16 = display_info_rom::$13 + display_info_rom::rom_chip#16 -- vbuz1=vbuz2_plus_vbuz3 + // [1284] display_info_rom::$16 = display_info_rom::$13 + display_info_rom::rom_chip#16 -- vbuz1=vbuz2_plus_vbuz3 clc adc.z rom_chip sta.z display_info_rom__16 - // [1297] display_info_rom::$17 = display_info_rom::$16 << 2 -- vbuz1=vbuz1_rol_2 + // [1285] display_info_rom::$17 = display_info_rom::$16 << 2 -- vbuz1=vbuz1_rol_2 lda.z display_info_rom__17 asl asl sta.z display_info_rom__17 - // [1298] display_info_rom::$6 = display_info_rom::$17 + display_info_rom::rom_chip#16 -- vbuz1=vbuz1_plus_vbuz2 + // [1286] display_info_rom::$6 = display_info_rom::$17 + display_info_rom::rom_chip#16 -- vbuz1=vbuz1_plus_vbuz2 lda.z display_info_rom__6 clc adc.z rom_chip sta.z display_info_rom__6 // printf("ROM%u %-9s %-6s %-13s ", rom_chip, status_text[info_status], rom_device_names[rom_chip], &rom_release_text[rom_chip*13]) - // [1299] printf_string::str#10 = rom_release_text + display_info_rom::$6 -- pbum1=pbuc1_plus_vbuz2 + // [1287] printf_string::str#10 = rom_release_text + display_info_rom::$6 -- pbum1=pbuc1_plus_vbuz2 clc adc #rom_release_text adc #0 sta printf_string.str_1+1 - // [1300] call printf_str - // [1016] phi from display_info_rom::@6 to printf_str [phi:display_info_rom::@6->printf_str] - // [1016] phi printf_str::putc#71 = &cputc [phi:display_info_rom::@6->printf_str#0] -- pprz1=pprc1 + // [1288] call printf_str + // [1156] phi from display_info_rom::@6 to printf_str [phi:display_info_rom::@6->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:display_info_rom::@6->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = display_info_rom::s [phi:display_info_rom::@6->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = display_info_rom::s [phi:display_info_rom::@6->printf_str#1] -- pbuz1=pbuc1 lda #s @@ -8471,35 +8528,35 @@ display_info_rom: { jsr printf_str // display_info_rom::@7 // printf("ROM%u %-9s %-6s %-13s ", rom_chip, status_text[info_status], rom_device_names[rom_chip], &rom_release_text[rom_chip*13]) - // [1301] printf_uchar::uvalue#0 = display_info_rom::rom_chip#16 - // [1302] call printf_uchar - // [1248] phi from display_info_rom::@7 to printf_uchar [phi:display_info_rom::@7->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 0 [phi:display_info_rom::@7->printf_uchar#0] -- vbuz1=vbuc1 + // [1289] printf_uchar::uvalue#0 = display_info_rom::rom_chip#16 + // [1290] call printf_uchar + // [1236] phi from display_info_rom::@7 to printf_uchar [phi:display_info_rom::@7->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 0 [phi:display_info_rom::@7->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 0 [phi:display_info_rom::@7->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 0 [phi:display_info_rom::@7->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &cputc [phi:display_info_rom::@7->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &cputc [phi:display_info_rom::@7->printf_uchar#2] -- pprz1=pprc1 lda #cputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = DECIMAL [phi:display_info_rom::@7->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = DECIMAL [phi:display_info_rom::@7->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#0 [phi:display_info_rom::@7->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#0 [phi:display_info_rom::@7->printf_uchar#4] -- register_copy jsr printf_uchar - // [1303] phi from display_info_rom::@7 to display_info_rom::@8 [phi:display_info_rom::@7->display_info_rom::@8] + // [1291] phi from display_info_rom::@7 to display_info_rom::@8 [phi:display_info_rom::@7->display_info_rom::@8] // display_info_rom::@8 // printf("ROM%u %-9s %-6s %-13s ", rom_chip, status_text[info_status], rom_device_names[rom_chip], &rom_release_text[rom_chip*13]) - // [1304] call printf_str - // [1016] phi from display_info_rom::@8 to printf_str [phi:display_info_rom::@8->printf_str] - // [1016] phi printf_str::putc#71 = &cputc [phi:display_info_rom::@8->printf_str#0] -- pprz1=pprc1 + // [1292] call printf_str + // [1156] phi from display_info_rom::@8 to printf_str [phi:display_info_rom::@8->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:display_info_rom::@8->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s [phi:display_info_rom::@8->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s [phi:display_info_rom::@8->printf_str#1] -- pbuz1=pbuc1 lda #<@s sta.z printf_str.s lda #>@s @@ -8507,40 +8564,40 @@ display_info_rom: { jsr printf_str // display_info_rom::@9 // printf("ROM%u %-9s %-6s %-13s ", rom_chip, status_text[info_status], rom_device_names[rom_chip], &rom_release_text[rom_chip*13]) - // [1305] display_info_rom::$12 = display_info_rom::info_status#16 << 1 -- vbuz1=vbuz1_rol_1 - asl.z display_info_rom__12 - // [1306] printf_string::str#8 = status_text[display_info_rom::$12] -- pbuz1=qbuc1_derefidx_vbuz2 - ldy.z display_info_rom__12 + // [1293] display_info_rom::$12 = display_info_rom::info_status#16 << 1 -- vbum1=vbum1_rol_1 + asl display_info_rom__12 + // [1294] printf_string::str#8 = status_text[display_info_rom::$12] -- pbuz1=qbuc1_derefidx_vbum2 + ldy display_info_rom__12 lda status_text,y sta.z printf_string.str lda status_text+1,y sta.z printf_string.str+1 - // [1307] call printf_string - // [1177] phi from display_info_rom::@9 to printf_string [phi:display_info_rom::@9->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_info_rom::@9->printf_string#0] -- pprz1=pprc1 + // [1295] call printf_string + // [1165] phi from display_info_rom::@9 to printf_string [phi:display_info_rom::@9->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_info_rom::@9->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#8 [phi:display_info_rom::@9->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 1 [phi:display_info_rom::@9->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#8 [phi:display_info_rom::@9->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_info_rom::@9->printf_string#2] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 9 [phi:display_info_rom::@9->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 9 [phi:display_info_rom::@9->printf_string#3] -- vbuz1=vbuc1 lda #9 sta.z printf_string.format_min_length jsr printf_string - // [1308] phi from display_info_rom::@9 to display_info_rom::@10 [phi:display_info_rom::@9->display_info_rom::@10] + // [1296] phi from display_info_rom::@9 to display_info_rom::@10 [phi:display_info_rom::@9->display_info_rom::@10] // display_info_rom::@10 // printf("ROM%u %-9s %-6s %-13s ", rom_chip, status_text[info_status], rom_device_names[rom_chip], &rom_release_text[rom_chip*13]) - // [1309] call printf_str - // [1016] phi from display_info_rom::@10 to printf_str [phi:display_info_rom::@10->printf_str] - // [1016] phi printf_str::putc#71 = &cputc [phi:display_info_rom::@10->printf_str#0] -- pprz1=pprc1 + // [1297] call printf_str + // [1156] phi from display_info_rom::@10 to printf_str [phi:display_info_rom::@10->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:display_info_rom::@10->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s [phi:display_info_rom::@10->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s [phi:display_info_rom::@10->printf_str#1] -- pbuz1=pbuc1 lda #<@s sta.z printf_str.s lda #>@s @@ -8548,76 +8605,76 @@ display_info_rom: { jsr printf_str // display_info_rom::@11 // printf("ROM%u %-9s %-6s %-13s ", rom_chip, status_text[info_status], rom_device_names[rom_chip], &rom_release_text[rom_chip*13]) - // [1310] printf_string::str#9 = rom_device_names[display_info_rom::$13] -- pbuz1=qbuc1_derefidx_vbuz2 + // [1298] printf_string::str#9 = rom_device_names[display_info_rom::$13] -- pbuz1=qbuc1_derefidx_vbuz2 ldy.z display_info_rom__13 lda rom_device_names,y sta.z printf_string.str lda rom_device_names+1,y sta.z printf_string.str+1 - // [1311] call printf_string - // [1177] phi from display_info_rom::@11 to printf_string [phi:display_info_rom::@11->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_info_rom::@11->printf_string#0] -- pprz1=pprc1 + // [1299] call printf_string + // [1165] phi from display_info_rom::@11 to printf_string [phi:display_info_rom::@11->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_info_rom::@11->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#9 [phi:display_info_rom::@11->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 1 [phi:display_info_rom::@11->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#9 [phi:display_info_rom::@11->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_info_rom::@11->printf_string#2] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 6 [phi:display_info_rom::@11->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 6 [phi:display_info_rom::@11->printf_string#3] -- vbuz1=vbuc1 lda #6 sta.z printf_string.format_min_length jsr printf_string - // [1312] phi from display_info_rom::@11 to display_info_rom::@12 [phi:display_info_rom::@11->display_info_rom::@12] + // [1300] phi from display_info_rom::@11 to display_info_rom::@12 [phi:display_info_rom::@11->display_info_rom::@12] // display_info_rom::@12 // printf("ROM%u %-9s %-6s %-13s ", rom_chip, status_text[info_status], rom_device_names[rom_chip], &rom_release_text[rom_chip*13]) - // [1313] call printf_str - // [1016] phi from display_info_rom::@12 to printf_str [phi:display_info_rom::@12->printf_str] - // [1016] phi printf_str::putc#71 = &cputc [phi:display_info_rom::@12->printf_str#0] -- pprz1=pprc1 + // [1301] call printf_str + // [1156] phi from display_info_rom::@12 to printf_str [phi:display_info_rom::@12->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:display_info_rom::@12->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s [phi:display_info_rom::@12->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s [phi:display_info_rom::@12->printf_str#1] -- pbuz1=pbuc1 lda #<@s sta.z printf_str.s lda #>@s sta.z printf_str.s+1 jsr printf_str // display_info_rom::@13 - // [1314] printf_string::str#33 = printf_string::str#10 -- pbuz1=pbum2 + // [1302] printf_string::str#33 = printf_string::str#10 -- pbuz1=pbum2 lda printf_string.str_1 sta.z printf_string.str lda printf_string.str_1+1 sta.z printf_string.str+1 // printf("ROM%u %-9s %-6s %-13s ", rom_chip, status_text[info_status], rom_device_names[rom_chip], &rom_release_text[rom_chip*13]) - // [1315] call printf_string - // [1177] phi from display_info_rom::@13 to printf_string [phi:display_info_rom::@13->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_info_rom::@13->printf_string#0] -- pprz1=pprc1 + // [1303] call printf_string + // [1165] phi from display_info_rom::@13 to printf_string [phi:display_info_rom::@13->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_info_rom::@13->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#33 [phi:display_info_rom::@13->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 1 [phi:display_info_rom::@13->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#33 [phi:display_info_rom::@13->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_info_rom::@13->printf_string#2] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = $d [phi:display_info_rom::@13->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = $d [phi:display_info_rom::@13->printf_string#3] -- vbuz1=vbuc1 lda #$d sta.z printf_string.format_min_length jsr printf_string - // [1316] phi from display_info_rom::@13 to display_info_rom::@14 [phi:display_info_rom::@13->display_info_rom::@14] + // [1304] phi from display_info_rom::@13 to display_info_rom::@14 [phi:display_info_rom::@13->display_info_rom::@14] // display_info_rom::@14 // printf("ROM%u %-9s %-6s %-13s ", rom_chip, status_text[info_status], rom_device_names[rom_chip], &rom_release_text[rom_chip*13]) - // [1317] call printf_str - // [1016] phi from display_info_rom::@14 to printf_str [phi:display_info_rom::@14->printf_str] - // [1016] phi printf_str::putc#71 = &cputc [phi:display_info_rom::@14->printf_str#0] -- pprz1=pprc1 + // [1305] call printf_str + // [1156] phi from display_info_rom::@14 to printf_str [phi:display_info_rom::@14->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:display_info_rom::@14->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s [phi:display_info_rom::@14->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s [phi:display_info_rom::@14->printf_str#1] -- pbuz1=pbuc1 lda #<@s sta.z printf_str.s lda #>@s @@ -8625,7 +8682,7 @@ display_info_rom: { jsr printf_str // display_info_rom::@15 // if(info_text) - // [1318] if((char *)0==display_info_rom::info_text#16) goto display_info_rom::@1 -- pbuc1_eq_pbuz1_then_la1 + // [1306] if((char *)0==display_info_rom::info_text#16) goto display_info_rom::@1 -- pbuc1_eq_pbuz1_then_la1 lda.z info_text cmp #<0 bne !+ @@ -8635,60 +8692,60 @@ display_info_rom: { !: // display_info_rom::@2 // printf("%-25s", info_text) - // [1319] printf_string::str#11 = display_info_rom::info_text#16 -- pbuz1=pbuz2 + // [1307] printf_string::str#11 = display_info_rom::info_text#16 -- pbuz1=pbuz2 lda.z info_text sta.z printf_string.str lda.z info_text+1 sta.z printf_string.str+1 - // [1320] call printf_string - // [1177] phi from display_info_rom::@2 to printf_string [phi:display_info_rom::@2->printf_string] - // [1177] phi printf_string::putc#22 = &cputc [phi:display_info_rom::@2->printf_string#0] -- pprz1=pprc1 + // [1308] call printf_string + // [1165] phi from display_info_rom::@2 to printf_string [phi:display_info_rom::@2->printf_string] + // [1165] phi printf_string::putc#22 = &cputc [phi:display_info_rom::@2->printf_string#0] -- pprz1=pprc1 lda #cputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#11 [phi:display_info_rom::@2->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 1 [phi:display_info_rom::@2->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#11 [phi:display_info_rom::@2->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 1 [phi:display_info_rom::@2->printf_string#2] -- vbuz1=vbuc1 lda #1 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = $19 [phi:display_info_rom::@2->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = $19 [phi:display_info_rom::@2->printf_string#3] -- vbuz1=vbuc1 lda #$19 sta.z printf_string.format_min_length jsr printf_string // display_info_rom::@1 __b1: // gotoxy(x,y) - // [1321] gotoxy::x#18 = display_info_rom::x#0 -- vbuz1=vbuz2 + // [1309] gotoxy::x#18 = display_info_rom::x#0 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [1322] gotoxy::y#18 = display_info_rom::y#0 -- vbuz1=vbuz2 + // [1310] gotoxy::y#18 = display_info_rom::y#0 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [1323] call gotoxy - // [762] phi from display_info_rom::@1 to gotoxy [phi:display_info_rom::@1->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#18 [phi:display_info_rom::@1->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#18 [phi:display_info_rom::@1->gotoxy#1] -- register_copy + // [1311] call gotoxy + // [756] phi from display_info_rom::@1 to gotoxy [phi:display_info_rom::@1->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#18 [phi:display_info_rom::@1->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#18 [phi:display_info_rom::@1->gotoxy#1] -- register_copy jsr gotoxy // display_info_rom::@return // } - // [1324] return + // [1312] return rts .segment Data s: .text "ROM" .byte 0 + .label display_info_rom__12 = main.check_status_cx16_rom3_check_status_rom1_main__0 + .label info_status = main.check_status_cx16_rom3_check_status_rom1_main__0 } .segment Code // rom_file -// __mem() char * rom_file(__zp($ed) char rom_chip) +// __mem() char * rom_file(__mem() char rom_chip) rom_file: { - .label rom_file__0 = $ed - .label rom_chip = $ed // if(rom_chip) - // [1326] if(0!=rom_file::rom_chip#2) goto rom_file::@1 -- 0_neq_vbuz1_then_la1 - lda.z rom_chip + // [1314] if(0!=rom_file::rom_chip#2) goto rom_file::@1 -- 0_neq_vbum1_then_la1 + lda rom_chip bne __b1 - // [1329] phi from rom_file to rom_file::@return [phi:rom_file->rom_file::@return] - // [1329] phi rom_file::return#2 = rom_file::file_rom_cx16 [phi:rom_file->rom_file::@return#0] -- pbum1=pbuc1 + // [1317] phi from rom_file to rom_file::@return [phi:rom_file->rom_file::@return] + // [1317] phi rom_file::return#2 = rom_file::file_rom_cx16 [phi:rom_file->rom_file::@return#0] -- pbum1=pbuc1 lda #file_rom_cx16 @@ -8697,84 +8754,88 @@ rom_file: { // rom_file::@1 __b1: // '0'+rom_chip - // [1327] rom_file::$0 = '0' + rom_file::rom_chip#2 -- vbuz1=vbuc1_plus_vbuz1 + // [1315] rom_file::$0 = '0' + rom_file::rom_chip#2 -- vbum1=vbuc1_plus_vbum1 lda #'0' clc - adc.z rom_file__0 - sta.z rom_file__0 + adc rom_file__0 + sta rom_file__0 // file_rom_card[3] = '0'+rom_chip - // [1328] *(rom_file::file_rom_card+3) = rom_file::$0 -- _deref_pbuc1=vbuz1 + // [1316] *(rom_file::file_rom_card+3) = rom_file::$0 -- _deref_pbuc1=vbum1 sta file_rom_card+3 - // [1329] phi from rom_file::@1 to rom_file::@return [phi:rom_file::@1->rom_file::@return] - // [1329] phi rom_file::return#2 = rom_file::file_rom_card [phi:rom_file::@1->rom_file::@return#0] -- pbum1=pbuc1 + // [1317] phi from rom_file::@1 to rom_file::@return [phi:rom_file::@1->rom_file::@return] + // [1317] phi rom_file::return#2 = rom_file::file_rom_card [phi:rom_file::@1->rom_file::@return#0] -- pbum1=pbuc1 lda #file_rom_card sta return+1 // rom_file::@return // } - // [1330] return + // [1318] return rts .segment Data file_rom_cx16: .text "ROM.BIN" .byte 0 file_rom_card: .text "ROMn.BIN" .byte 0 + .label rom_file__0 = main.check_status_smc4_main__0 return: .word 0 + .label rom_chip = main.check_status_smc4_main__0 } .segment Code // rom_read -// __mem() unsigned long rom_read(__mem() char display_progress, char rom_chip, __mem() char *file, char info_status, __mem() char brom_bank_start, __zp($7b) unsigned long rom_size) +// __mem() unsigned long rom_read(__mem() char display_progress, char rom_chip, __mem() char *file, char info_status, __zp($c4) char brom_bank_start, __zp($78) unsigned long rom_size) rom_read: { .const bank_set_brom1_bank = 0 .label rom_address = $57 - .label ram_address = $d2 - .label rom_row_current = $af - .label rom_size = $7b + .label brom_bank_start = $c4 + .label y = $cf + .label ram_address = $d1 + .label rom_row_current = $ad + .label rom_size = $78 // unsigned long rom_address = rom_address_from_bank(brom_bank_start) - // [1332] rom_address_from_bank::rom_bank#0 = rom_read::brom_bank_start#22 -- vbum1=vbum2 - lda brom_bank_start + // [1320] rom_address_from_bank::rom_bank#0 = rom_read::brom_bank_start#22 -- vbum1=vbuz2 + lda.z brom_bank_start sta rom_address_from_bank.rom_bank - // [1333] call rom_address_from_bank - // [2424] phi from rom_read to rom_address_from_bank [phi:rom_read->rom_address_from_bank] - // [2424] phi rom_address_from_bank::rom_bank#3 = rom_address_from_bank::rom_bank#0 [phi:rom_read->rom_address_from_bank#0] -- register_copy + // [1321] call rom_address_from_bank + // [2393] phi from rom_read to rom_address_from_bank [phi:rom_read->rom_address_from_bank] + // [2393] phi rom_address_from_bank::rom_bank#3 = rom_address_from_bank::rom_bank#0 [phi:rom_read->rom_address_from_bank#0] -- register_copy jsr rom_address_from_bank // unsigned long rom_address = rom_address_from_bank(brom_bank_start) - // [1334] rom_address_from_bank::return#2 = rom_address_from_bank::return#0 + // [1322] rom_address_from_bank::return#2 = rom_address_from_bank::return#0 // rom_read::@17 - // [1335] rom_read::rom_address#0 = rom_address_from_bank::return#2 + // [1323] rom_read::rom_address#0 = rom_address_from_bank::return#2 // rom_read::bank_set_bram1 // BRAM = bank - // [1336] BRAM = 0 -- vbuz1=vbuc1 + // [1324] BRAM = 0 -- vbuz1=vbuc1 lda #0 sta.z BRAM // rom_read::bank_set_brom1 // BROM = bank - // [1337] BROM = rom_read::bank_set_brom1_bank#0 -- vbuz1=vbuc1 + // [1325] BROM = rom_read::bank_set_brom1_bank#0 -- vbuz1=vbuc1 lda #bank_set_brom1_bank sta.z BROM - // [1338] phi from rom_read::bank_set_brom1 to rom_read::@15 [phi:rom_read::bank_set_brom1->rom_read::@15] + // [1326] phi from rom_read::bank_set_brom1 to rom_read::@15 [phi:rom_read::bank_set_brom1->rom_read::@15] // rom_read::@15 // sprintf(info_text, "Opening %s from SD card ...", file) - // [1339] call snprintf_init - // [1011] phi from rom_read::@15 to snprintf_init [phi:rom_read::@15->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:rom_read::@15->snprintf_init#0] -- pbuz1=pbuc1 + // [1327] call snprintf_init + // [1151] phi from rom_read::@15 to snprintf_init [phi:rom_read::@15->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:rom_read::@15->snprintf_init#0] -- pbuz1=pbuc1 lda #info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [1340] phi from rom_read::@15 to rom_read::@18 [phi:rom_read::@15->rom_read::@18] + // [1328] phi from rom_read::@15 to rom_read::@18 [phi:rom_read::@15->rom_read::@18] // rom_read::@18 // sprintf(info_text, "Opening %s from SD card ...", file) - // [1341] call printf_str - // [1016] phi from rom_read::@18 to printf_str [phi:rom_read::@18->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_read::@18->printf_str#0] -- pprz1=pprc1 + // [1329] call printf_str + // [1156] phi from rom_read::@18 to printf_str [phi:rom_read::@18->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_read::@18->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = rom_read::s [phi:rom_read::@18->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = rom_read::s [phi:rom_read::@18->printf_str#1] -- pbuz1=pbuc1 lda #s @@ -8782,36 +8843,36 @@ rom_read: { jsr printf_str // rom_read::@19 // sprintf(info_text, "Opening %s from SD card ...", file) - // [1342] printf_string::str#13 = rom_read::file#11 -- pbuz1=pbum2 + // [1330] printf_string::str#13 = rom_read::file#11 -- pbuz1=pbum2 lda file sta.z printf_string.str lda file+1 sta.z printf_string.str+1 - // [1343] call printf_string - // [1177] phi from rom_read::@19 to printf_string [phi:rom_read::@19->printf_string] - // [1177] phi printf_string::putc#22 = &snputc [phi:rom_read::@19->printf_string#0] -- pprz1=pprc1 + // [1331] call printf_string + // [1165] phi from rom_read::@19 to printf_string [phi:rom_read::@19->printf_string] + // [1165] phi printf_string::putc#22 = &snputc [phi:rom_read::@19->printf_string#0] -- pprz1=pprc1 lda #snputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#13 [phi:rom_read::@19->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 0 [phi:rom_read::@19->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#13 [phi:rom_read::@19->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 0 [phi:rom_read::@19->printf_string#2] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 0 [phi:rom_read::@19->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 0 [phi:rom_read::@19->printf_string#3] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // [1344] phi from rom_read::@19 to rom_read::@20 [phi:rom_read::@19->rom_read::@20] + // [1332] phi from rom_read::@19 to rom_read::@20 [phi:rom_read::@19->rom_read::@20] // rom_read::@20 // sprintf(info_text, "Opening %s from SD card ...", file) - // [1345] call printf_str - // [1016] phi from rom_read::@20 to printf_str [phi:rom_read::@20->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_read::@20->printf_str#0] -- pprz1=pprc1 + // [1333] call printf_str + // [1156] phi from rom_read::@20 to printf_str [phi:rom_read::@20->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_read::@20->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = rom_read::s1 [phi:rom_read::@20->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = rom_read::s1 [phi:rom_read::@20->printf_str#1] -- pbuz1=pbuc1 lda #s1 @@ -8819,17 +8880,17 @@ rom_read: { jsr printf_str // rom_read::@21 // sprintf(info_text, "Opening %s from SD card ...", file) - // [1346] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1334] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1347] callexecute snputc -- call_vprc1 + // [1335] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [1349] call display_action_text - // [1259] phi from rom_read::@21 to display_action_text [phi:rom_read::@21->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:rom_read::@21->display_action_text#0] -- pbuz1=pbuc1 + // [1337] call display_action_text + // [1247] phi from rom_read::@21 to display_action_text [phi:rom_read::@21->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:rom_read::@21->display_action_text#0] -- pbuz1=pbuc1 lda #info_text @@ -8837,26 +8898,26 @@ rom_read: { jsr display_action_text // rom_read::@22 // FILE *fp = fopen(file, "r") - // [1350] fopen::path#3 = rom_read::file#11 -- pbuz1=pbum2 + // [1338] fopen::path#3 = rom_read::file#11 -- pbuz1=pbum2 lda file sta.z fopen.path lda file+1 sta.z fopen.path+1 - // [1351] call fopen - // [2214] phi from rom_read::@22 to fopen [phi:rom_read::@22->fopen] - // [2214] phi __errno#318 = __errno#108 [phi:rom_read::@22->fopen#0] -- register_copy - // [2214] phi fopen::pathtoken#0 = fopen::path#3 [phi:rom_read::@22->fopen#1] -- register_copy + // [1339] call fopen + // [2152] phi from rom_read::@22 to fopen [phi:rom_read::@22->fopen] + // [2152] phi __errno#318 = __errno#108 [phi:rom_read::@22->fopen#0] -- register_copy + // [2152] phi fopen::pathtoken#0 = fopen::path#3 [phi:rom_read::@22->fopen#1] -- register_copy jsr fopen // FILE *fp = fopen(file, "r") - // [1352] fopen::return#4 = fopen::return#2 + // [1340] fopen::return#4 = fopen::return#2 // rom_read::@23 - // [1353] rom_read::fp#0 = fopen::return#4 -- pssm1=pssz2 + // [1341] rom_read::fp#0 = fopen::return#4 -- pssm1=pssz2 lda.z fopen.return sta fp lda.z fopen.return+1 sta fp+1 // if (fp) - // [1354] if((struct $2 *)0==rom_read::fp#0) goto rom_read::@1 -- pssc1_eq_pssm1_then_la1 + // [1342] if((struct $2 *)0==rom_read::fp#0) goto rom_read::@1 -- pssc1_eq_pssm1_then_la1 lda fp cmp #<0 bne !+ @@ -8864,37 +8925,37 @@ rom_read: { cmp #>0 beq __b2 !: - // [1355] phi from rom_read::@23 to rom_read::@2 [phi:rom_read::@23->rom_read::@2] + // [1343] phi from rom_read::@23 to rom_read::@2 [phi:rom_read::@23->rom_read::@2] // rom_read::@2 // gotoxy(x, y) - // [1356] call gotoxy - // [762] phi from rom_read::@2 to gotoxy [phi:rom_read::@2->gotoxy] - // [762] phi gotoxy::y#30 = PROGRESS_Y [phi:rom_read::@2->gotoxy#0] -- vbuz1=vbuc1 + // [1344] call gotoxy + // [756] phi from rom_read::@2 to gotoxy [phi:rom_read::@2->gotoxy] + // [756] phi gotoxy::y#30 = PROGRESS_Y [phi:rom_read::@2->gotoxy#0] -- vbuz1=vbuc1 lda #PROGRESS_Y sta.z gotoxy.y - // [762] phi gotoxy::x#30 = PROGRESS_X [phi:rom_read::@2->gotoxy#1] -- vbuz1=vbuc1 + // [756] phi gotoxy::x#30 = PROGRESS_X [phi:rom_read::@2->gotoxy#1] -- vbuz1=vbuc1 lda #PROGRESS_X sta.z gotoxy.x jsr gotoxy - // [1357] phi from rom_read::@2 to rom_read::@3 [phi:rom_read::@2->rom_read::@3] - // [1357] phi rom_read::y#11 = PROGRESS_Y [phi:rom_read::@2->rom_read::@3#0] -- vbum1=vbuc1 + // [1345] phi from rom_read::@2 to rom_read::@3 [phi:rom_read::@2->rom_read::@3] + // [1345] phi rom_read::y#11 = PROGRESS_Y [phi:rom_read::@2->rom_read::@3#0] -- vbuz1=vbuc1 lda #PROGRESS_Y - sta y - // [1357] phi rom_read::rom_row_current#10 = 0 [phi:rom_read::@2->rom_read::@3#1] -- vwuz1=vwuc1 + sta.z y + // [1345] phi rom_read::rom_row_current#10 = 0 [phi:rom_read::@2->rom_read::@3#1] -- vwuz1=vwuc1 lda #<0 sta.z rom_row_current sta.z rom_row_current+1 - // [1357] phi rom_read::brom_bank_start#10 = rom_read::brom_bank_start#22 [phi:rom_read::@2->rom_read::@3#2] -- register_copy - // [1357] phi rom_read::rom_address#10 = rom_read::rom_address#0 [phi:rom_read::@2->rom_read::@3#3] -- register_copy - // [1357] phi rom_read::ram_address#10 = (char *)$7800 [phi:rom_read::@2->rom_read::@3#4] -- pbuz1=pbuc1 + // [1345] phi rom_read::brom_bank_start#10 = rom_read::brom_bank_start#22 [phi:rom_read::@2->rom_read::@3#2] -- register_copy + // [1345] phi rom_read::rom_address#10 = rom_read::rom_address#0 [phi:rom_read::@2->rom_read::@3#3] -- register_copy + // [1345] phi rom_read::ram_address#10 = (char *)$7800 [phi:rom_read::@2->rom_read::@3#4] -- pbuz1=pbuc1 lda #<$7800 sta.z ram_address lda #>$7800 sta.z ram_address+1 - // [1357] phi rom_read::bram_bank#10 = 0 [phi:rom_read::@2->rom_read::@3#5] -- vbum1=vbuc1 + // [1345] phi rom_read::bram_bank#10 = 0 [phi:rom_read::@2->rom_read::@3#5] -- vbum1=vbuc1 lda #0 sta bram_bank - // [1357] phi rom_read::rom_file_size#11 = 0 [phi:rom_read::@2->rom_read::@3#6] -- vdum1=vduc1 + // [1345] phi rom_read::rom_file_size#11 = 0 [phi:rom_read::@2->rom_read::@3#6] -- vdum1=vduc1 sta rom_file_size sta rom_file_size+1 lda #<0>>$10 @@ -8904,7 +8965,7 @@ rom_read: { // rom_read::@3 __b3: // while (rom_file_size < rom_size) - // [1358] if(rom_read::rom_file_size#11fclose] - // [2349] phi fclose::stream#2 = fclose::stream#1 [phi:rom_read::@7->fclose#0] -- register_copy + // [1348] call fclose + // [2287] phi from rom_read::@7 to fclose [phi:rom_read::@7->fclose] + // [2287] phi fclose::stream#2 = fclose::stream#1 [phi:rom_read::@7->fclose#0] -- register_copy jsr fclose - // [1361] phi from rom_read::@7 to rom_read::@1 [phi:rom_read::@7->rom_read::@1] - // [1361] phi rom_read::return#0 = rom_read::rom_file_size#11 [phi:rom_read::@7->rom_read::@1#0] -- register_copy + // [1349] phi from rom_read::@7 to rom_read::@1 [phi:rom_read::@7->rom_read::@1] + // [1349] phi rom_read::return#0 = rom_read::rom_file_size#11 [phi:rom_read::@7->rom_read::@1#0] -- register_copy rts - // [1361] phi from rom_read::@23 to rom_read::@1 [phi:rom_read::@23->rom_read::@1] + // [1349] phi from rom_read::@23 to rom_read::@1 [phi:rom_read::@23->rom_read::@1] __b2: - // [1361] phi rom_read::return#0 = 0 [phi:rom_read::@23->rom_read::@1#0] -- vdum1=vduc1 + // [1349] phi rom_read::return#0 = 0 [phi:rom_read::@23->rom_read::@1#0] -- vdum1=vduc1 lda #<0 sta return sta return+1 @@ -8949,68 +9010,68 @@ rom_read: { // rom_read::@1 // rom_read::@return // } - // [1362] return + // [1350] return rts - // [1363] phi from rom_read::@3 to rom_read::@4 [phi:rom_read::@3->rom_read::@4] + // [1351] phi from rom_read::@3 to rom_read::@4 [phi:rom_read::@3->rom_read::@4] // rom_read::@4 __b4: // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1364] call snprintf_init - // [1011] phi from rom_read::@4 to snprintf_init [phi:rom_read::@4->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:rom_read::@4->snprintf_init#0] -- pbuz1=pbuc1 + // [1352] call snprintf_init + // [1151] phi from rom_read::@4 to snprintf_init [phi:rom_read::@4->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:rom_read::@4->snprintf_init#0] -- pbuz1=pbuc1 lda #info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [1365] phi from rom_read::@4 to rom_read::@24 [phi:rom_read::@4->rom_read::@24] + // [1353] phi from rom_read::@4 to rom_read::@24 [phi:rom_read::@4->rom_read::@24] // rom_read::@24 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1366] call printf_str - // [1016] phi from rom_read::@24 to printf_str [phi:rom_read::@24->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_read::@24->printf_str#0] -- pprz1=pprc1 + // [1354] call printf_str + // [1156] phi from rom_read::@24 to printf_str [phi:rom_read::@24->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_read::@24->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s12 [phi:rom_read::@24->printf_str#1] -- pbuz1=pbuc1 - lda #printf_str#1] -- pbuz1=pbuc1 + lda #s12 + lda #>s11 sta.z printf_str.s+1 jsr printf_str // rom_read::@25 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1367] printf_string::str#14 = rom_read::file#11 -- pbuz1=pbum2 + // [1355] printf_string::str#14 = rom_read::file#11 -- pbuz1=pbum2 lda file sta.z printf_string.str lda file+1 sta.z printf_string.str+1 - // [1368] call printf_string - // [1177] phi from rom_read::@25 to printf_string [phi:rom_read::@25->printf_string] - // [1177] phi printf_string::putc#22 = &snputc [phi:rom_read::@25->printf_string#0] -- pprz1=pprc1 + // [1356] call printf_string + // [1165] phi from rom_read::@25 to printf_string [phi:rom_read::@25->printf_string] + // [1165] phi printf_string::putc#22 = &snputc [phi:rom_read::@25->printf_string#0] -- pprz1=pprc1 lda #snputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#14 [phi:rom_read::@25->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 0 [phi:rom_read::@25->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#14 [phi:rom_read::@25->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 0 [phi:rom_read::@25->printf_string#2] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 0 [phi:rom_read::@25->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 0 [phi:rom_read::@25->printf_string#3] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string - // [1369] phi from rom_read::@25 to rom_read::@26 [phi:rom_read::@25->rom_read::@26] + // [1357] phi from rom_read::@25 to rom_read::@26 [phi:rom_read::@25->rom_read::@26] // rom_read::@26 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1370] call printf_str - // [1016] phi from rom_read::@26 to printf_str [phi:rom_read::@26->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_read::@26->printf_str#0] -- pprz1=pprc1 + // [1358] call printf_str + // [1156] phi from rom_read::@26 to printf_str [phi:rom_read::@26->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_read::@26->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s3 [phi:rom_read::@26->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s3 [phi:rom_read::@26->printf_str#1] -- pbuz1=pbuc1 lda #s3 @@ -9018,7 +9079,7 @@ rom_read: { jsr printf_str // rom_read::@27 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1371] printf_ulong::uvalue#0 = rom_read::rom_file_size#11 -- vduz1=vdum2 + // [1359] printf_ulong::uvalue#0 = rom_read::rom_file_size#11 -- vduz1=vdum2 lda rom_file_size sta.z printf_ulong.uvalue lda rom_file_size+1 @@ -9027,30 +9088,30 @@ rom_read: { sta.z printf_ulong.uvalue+2 lda rom_file_size+3 sta.z printf_ulong.uvalue+3 - // [1372] call printf_ulong - // [1482] phi from rom_read::@27 to printf_ulong [phi:rom_read::@27->printf_ulong] - // [1482] phi printf_ulong::format_zero_padding#10 = 1 [phi:rom_read::@27->printf_ulong#0] -- vbuz1=vbuc1 + // [1360] call printf_ulong + // [1470] phi from rom_read::@27 to printf_ulong [phi:rom_read::@27->printf_ulong] + // [1470] phi printf_ulong::format_zero_padding#10 = 1 [phi:rom_read::@27->printf_ulong#0] -- vbuz1=vbuc1 lda #1 sta.z printf_ulong.format_zero_padding - // [1482] phi printf_ulong::format_min_length#10 = 5 [phi:rom_read::@27->printf_ulong#1] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_min_length#10 = 5 [phi:rom_read::@27->printf_ulong#1] -- vbuz1=vbuc1 lda #5 sta.z printf_ulong.format_min_length - // [1482] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:rom_read::@27->printf_ulong#2] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:rom_read::@27->printf_ulong#2] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_ulong.format_radix - // [1482] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#0 [phi:rom_read::@27->printf_ulong#3] -- register_copy + // [1470] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#0 [phi:rom_read::@27->printf_ulong#3] -- register_copy jsr printf_ulong - // [1373] phi from rom_read::@27 to rom_read::@28 [phi:rom_read::@27->rom_read::@28] + // [1361] phi from rom_read::@27 to rom_read::@28 [phi:rom_read::@27->rom_read::@28] // rom_read::@28 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1374] call printf_str - // [1016] phi from rom_read::@28 to printf_str [phi:rom_read::@28->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_read::@28->printf_str#0] -- pprz1=pprc1 + // [1362] call printf_str + // [1156] phi from rom_read::@28 to printf_str [phi:rom_read::@28->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_read::@28->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s1 [phi:rom_read::@28->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s1 [phi:rom_read::@28->printf_str#1] -- pbuz1=pbuc1 lda #<@s1 sta.z printf_str.s lda #>@s1 @@ -9058,7 +9119,7 @@ rom_read: { jsr printf_str // rom_read::@29 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1375] printf_ulong::uvalue#1 = rom_read::rom_size#12 -- vduz1=vduz2 + // [1363] printf_ulong::uvalue#1 = rom_read::rom_size#12 -- vduz1=vduz2 lda.z rom_size sta.z printf_ulong.uvalue lda.z rom_size+1 @@ -9067,30 +9128,30 @@ rom_read: { sta.z printf_ulong.uvalue+2 lda.z rom_size+3 sta.z printf_ulong.uvalue+3 - // [1376] call printf_ulong - // [1482] phi from rom_read::@29 to printf_ulong [phi:rom_read::@29->printf_ulong] - // [1482] phi printf_ulong::format_zero_padding#10 = 1 [phi:rom_read::@29->printf_ulong#0] -- vbuz1=vbuc1 + // [1364] call printf_ulong + // [1470] phi from rom_read::@29 to printf_ulong [phi:rom_read::@29->printf_ulong] + // [1470] phi printf_ulong::format_zero_padding#10 = 1 [phi:rom_read::@29->printf_ulong#0] -- vbuz1=vbuc1 lda #1 sta.z printf_ulong.format_zero_padding - // [1482] phi printf_ulong::format_min_length#10 = 5 [phi:rom_read::@29->printf_ulong#1] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_min_length#10 = 5 [phi:rom_read::@29->printf_ulong#1] -- vbuz1=vbuc1 lda #5 sta.z printf_ulong.format_min_length - // [1482] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:rom_read::@29->printf_ulong#2] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:rom_read::@29->printf_ulong#2] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_ulong.format_radix - // [1482] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#1 [phi:rom_read::@29->printf_ulong#3] -- register_copy + // [1470] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#1 [phi:rom_read::@29->printf_ulong#3] -- register_copy jsr printf_ulong - // [1377] phi from rom_read::@29 to rom_read::@30 [phi:rom_read::@29->rom_read::@30] + // [1365] phi from rom_read::@29 to rom_read::@30 [phi:rom_read::@29->rom_read::@30] // rom_read::@30 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1378] call printf_str - // [1016] phi from rom_read::@30 to printf_str [phi:rom_read::@30->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_read::@30->printf_str#0] -- pprz1=pprc1 + // [1366] call printf_str + // [1156] phi from rom_read::@30 to printf_str [phi:rom_read::@30->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_read::@30->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s2 [phi:rom_read::@30->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s2 [phi:rom_read::@30->printf_str#1] -- pbuz1=pbuc1 lda #s2 @@ -9098,38 +9159,38 @@ rom_read: { jsr printf_str // rom_read::@31 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1379] printf_uchar::uvalue#9 = rom_read::bram_bank#10 -- vbuz1=vbum2 + // [1367] printf_uchar::uvalue#9 = rom_read::bram_bank#10 -- vbuz1=vbum2 lda bram_bank sta.z printf_uchar.uvalue - // [1380] call printf_uchar - // [1248] phi from rom_read::@31 to printf_uchar [phi:rom_read::@31->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 1 [phi:rom_read::@31->printf_uchar#0] -- vbuz1=vbuc1 + // [1368] call printf_uchar + // [1236] phi from rom_read::@31 to printf_uchar [phi:rom_read::@31->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 1 [phi:rom_read::@31->printf_uchar#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 2 [phi:rom_read::@31->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 2 [phi:rom_read::@31->printf_uchar#1] -- vbuz1=vbuc1 lda #2 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:rom_read::@31->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:rom_read::@31->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = HEXADECIMAL [phi:rom_read::@31->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = HEXADECIMAL [phi:rom_read::@31->printf_uchar#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#9 [phi:rom_read::@31->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#9 [phi:rom_read::@31->printf_uchar#4] -- register_copy jsr printf_uchar - // [1381] phi from rom_read::@31 to rom_read::@32 [phi:rom_read::@31->rom_read::@32] + // [1369] phi from rom_read::@31 to rom_read::@32 [phi:rom_read::@31->rom_read::@32] // rom_read::@32 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1382] call printf_str - // [1016] phi from rom_read::@32 to printf_str [phi:rom_read::@32->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_read::@32->printf_str#0] -- pprz1=pprc1 + // [1370] call printf_str + // [1156] phi from rom_read::@32 to printf_str [phi:rom_read::@32->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_read::@32->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s3 [phi:rom_read::@32->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s3 [phi:rom_read::@32->printf_str#1] -- pbuz1=pbuc1 lda #s3 @@ -9137,35 +9198,40 @@ rom_read: { jsr printf_str // rom_read::@33 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1383] printf_uint::uvalue#9 = (unsigned int)rom_read::ram_address#10 -- vwuz1=vwuz2 + // [1371] printf_uint::uvalue#10 = (unsigned int)rom_read::ram_address#10 -- vwuz1=vwuz2 lda.z ram_address sta.z printf_uint.uvalue lda.z ram_address+1 sta.z printf_uint.uvalue+1 - // [1384] call printf_uint - // [1025] phi from rom_read::@33 to printf_uint [phi:rom_read::@33->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:rom_read::@33->printf_uint#0] -- vbuz1=vbuc1 + // [1372] call printf_uint + // [1810] phi from rom_read::@33 to printf_uint [phi:rom_read::@33->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:rom_read::@33->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 4 [phi:rom_read::@33->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 4 [phi:rom_read::@33->printf_uint#1] -- vbuz1=vbuc1 lda #4 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:rom_read::@33->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:rom_read::@33->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:rom_read::@33->printf_uint#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#9 [phi:rom_read::@33->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#10 [phi:rom_read::@33->printf_uint#4] -- register_copy jsr printf_uint - // [1385] phi from rom_read::@33 to rom_read::@34 [phi:rom_read::@33->rom_read::@34] + // [1373] phi from rom_read::@33 to rom_read::@34 [phi:rom_read::@33->rom_read::@34] // rom_read::@34 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1386] call printf_str - // [1016] phi from rom_read::@34 to printf_str [phi:rom_read::@34->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_read::@34->printf_str#0] -- pprz1=pprc1 + // [1374] call printf_str + // [1156] phi from rom_read::@34 to printf_str [phi:rom_read::@34->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_read::@34->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s4 [phi:rom_read::@34->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s4 [phi:rom_read::@34->printf_str#1] -- pbuz1=pbuc1 lda #s4 @@ -9173,17 +9239,17 @@ rom_read: { jsr printf_str // rom_read::@35 // sprintf(info_text, "Reading %s:%05x/%05x -> RAM:%02x:%04p ...", file, rom_file_size, rom_size, bram_bank, ram_address) - // [1387] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1375] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1388] callexecute snputc -- call_vprc1 + // [1376] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [1390] call display_action_text - // [1259] phi from rom_read::@35 to display_action_text [phi:rom_read::@35->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:rom_read::@35->display_action_text#0] -- pbuz1=pbuc1 + // [1378] call display_action_text + // [1247] phi from rom_read::@35 to display_action_text [phi:rom_read::@35->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:rom_read::@35->display_action_text#0] -- pbuz1=pbuc1 lda #info_text @@ -9191,7 +9257,7 @@ rom_read: { jsr display_action_text // rom_read::@36 // rom_address % 0x04000 - // [1391] rom_read::$11 = rom_read::rom_address#10 & $4000-1 -- vdum1=vduz2_band_vduc1 + // [1379] rom_read::$11 = rom_read::rom_address#10 & $4000-1 -- vdum1=vduz2_band_vduc1 lda.z rom_address and #<$4000-1 sta rom_read__11 @@ -9205,7 +9271,7 @@ rom_read: { and #>$4000-1>>$10 sta rom_read__11+3 // if (!(rom_address % 0x04000)) - // [1392] if(0!=rom_read::$11) goto rom_read::@5 -- 0_neq_vdum1_then_la1 + // [1380] if(0!=rom_read::$11) goto rom_read::@5 -- 0_neq_vdum1_then_la1 lda rom_read__11 ora rom_read__11+1 ora rom_read__11+2 @@ -9213,49 +9279,49 @@ rom_read: { bne __b5 // rom_read::@11 // brom_bank_start++; - // [1393] rom_read::brom_bank_start#0 = ++ rom_read::brom_bank_start#10 -- vbum1=_inc_vbum1 - inc brom_bank_start - // [1394] phi from rom_read::@11 rom_read::@36 to rom_read::@5 [phi:rom_read::@11/rom_read::@36->rom_read::@5] - // [1394] phi rom_read::brom_bank_start#20 = rom_read::brom_bank_start#0 [phi:rom_read::@11/rom_read::@36->rom_read::@5#0] -- register_copy + // [1381] rom_read::brom_bank_start#0 = ++ rom_read::brom_bank_start#10 -- vbuz1=_inc_vbuz1 + inc.z brom_bank_start + // [1382] phi from rom_read::@11 rom_read::@36 to rom_read::@5 [phi:rom_read::@11/rom_read::@36->rom_read::@5] + // [1382] phi rom_read::brom_bank_start#20 = rom_read::brom_bank_start#0 [phi:rom_read::@11/rom_read::@36->rom_read::@5#0] -- register_copy // rom_read::@5 __b5: // rom_read::bank_set_bram2 // BRAM = bank - // [1395] BRAM = rom_read::bram_bank#10 -- vbuz1=vbum2 + // [1383] BRAM = rom_read::bram_bank#10 -- vbuz1=vbum2 lda bram_bank sta.z BRAM // rom_read::@16 // unsigned int rom_package_read = fgets(ram_address, ROM_PROGRESS_CELL, fp) - // [1396] fgets::ptr#4 = rom_read::ram_address#10 -- pbuz1=pbuz2 + // [1384] fgets::ptr#4 = rom_read::ram_address#10 -- pbuz1=pbuz2 lda.z ram_address sta.z fgets.ptr lda.z ram_address+1 sta.z fgets.ptr+1 - // [1397] fgets::stream#2 = rom_read::fp#0 -- pssm1=pssm2 + // [1385] fgets::stream#2 = rom_read::fp#0 -- pssm1=pssm2 lda fp sta fgets.stream lda fp+1 sta fgets.stream+1 - // [1398] call fgets - // [2295] phi from rom_read::@16 to fgets [phi:rom_read::@16->fgets] - // [2295] phi fgets::ptr#13 = fgets::ptr#4 [phi:rom_read::@16->fgets#0] -- register_copy - // [2295] phi fgets::size#11 = ROM_PROGRESS_CELL [phi:rom_read::@16->fgets#1] -- vwuz1=vwuc1 + // [1386] call fgets + // [2233] phi from rom_read::@16 to fgets [phi:rom_read::@16->fgets] + // [2233] phi fgets::ptr#13 = fgets::ptr#4 [phi:rom_read::@16->fgets#0] -- register_copy + // [2233] phi fgets::size#11 = ROM_PROGRESS_CELL [phi:rom_read::@16->fgets#1] -- vwuz1=vwuc1 lda #ROM_PROGRESS_CELL sta.z fgets.size+1 - // [2295] phi fgets::stream#3 = fgets::stream#2 [phi:rom_read::@16->fgets#2] -- register_copy + // [2233] phi fgets::stream#3 = fgets::stream#2 [phi:rom_read::@16->fgets#2] -- register_copy jsr fgets // unsigned int rom_package_read = fgets(ram_address, ROM_PROGRESS_CELL, fp) - // [1399] fgets::return#11 = fgets::return#1 + // [1387] fgets::return#11 = fgets::return#1 // rom_read::@37 - // [1400] rom_read::rom_package_read#0 = fgets::return#11 -- vwum1=vwuz2 + // [1388] rom_read::rom_package_read#0 = fgets::return#11 -- vwum1=vwuz2 lda.z fgets.return sta rom_package_read lda.z fgets.return+1 sta rom_package_read+1 // if (!rom_package_read) - // [1401] if(0!=rom_read::rom_package_read#0) goto rom_read::@6 -- 0_neq_vwum1_then_la1 + // [1389] if(0!=rom_read::rom_package_read#0) goto rom_read::@6 -- 0_neq_vwum1_then_la1 lda rom_package_read ora rom_package_read+1 bne __b6 @@ -9263,7 +9329,7 @@ rom_read: { // rom_read::@6 __b6: // if (rom_row_current == ROM_PROGRESS_ROW) - // [1402] if(rom_read::rom_row_current#10!=ROM_PROGRESS_ROW) goto rom_read::@8 -- vwuz1_neq_vwuc1_then_la1 + // [1390] if(rom_read::rom_row_current#10!=ROM_PROGRESS_ROW) goto rom_read::@8 -- vwuz1_neq_vwuc1_then_la1 lda.z rom_row_current+1 cmp #>ROM_PROGRESS_ROW bne __b8 @@ -9272,47 +9338,47 @@ rom_read: { bne __b8 // rom_read::@12 // gotoxy(x, ++y); - // [1403] rom_read::y#1 = ++ rom_read::y#11 -- vbum1=_inc_vbum1 - inc y + // [1391] rom_read::y#1 = ++ rom_read::y#11 -- vbuz1=_inc_vbuz1 + inc.z y // gotoxy(x, ++y) - // [1404] gotoxy::y#25 = rom_read::y#1 -- vbuz1=vbum2 - lda y + // [1392] gotoxy::y#25 = rom_read::y#1 -- vbuz1=vbuz2 + lda.z y sta.z gotoxy.y - // [1405] call gotoxy - // [762] phi from rom_read::@12 to gotoxy [phi:rom_read::@12->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#25 [phi:rom_read::@12->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = PROGRESS_X [phi:rom_read::@12->gotoxy#1] -- vbuz1=vbuc1 + // [1393] call gotoxy + // [756] phi from rom_read::@12 to gotoxy [phi:rom_read::@12->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#25 [phi:rom_read::@12->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = PROGRESS_X [phi:rom_read::@12->gotoxy#1] -- vbuz1=vbuc1 lda #PROGRESS_X sta.z gotoxy.x jsr gotoxy - // [1406] phi from rom_read::@12 to rom_read::@8 [phi:rom_read::@12->rom_read::@8] - // [1406] phi rom_read::y#36 = rom_read::y#1 [phi:rom_read::@12->rom_read::@8#0] -- register_copy - // [1406] phi rom_read::rom_row_current#4 = 0 [phi:rom_read::@12->rom_read::@8#1] -- vwuz1=vbuc1 + // [1394] phi from rom_read::@12 to rom_read::@8 [phi:rom_read::@12->rom_read::@8] + // [1394] phi rom_read::y#36 = rom_read::y#1 [phi:rom_read::@12->rom_read::@8#0] -- register_copy + // [1394] phi rom_read::rom_row_current#4 = 0 [phi:rom_read::@12->rom_read::@8#1] -- vwuz1=vbuc1 lda #<0 sta.z rom_row_current sta.z rom_row_current+1 - // [1406] phi from rom_read::@6 to rom_read::@8 [phi:rom_read::@6->rom_read::@8] - // [1406] phi rom_read::y#36 = rom_read::y#11 [phi:rom_read::@6->rom_read::@8#0] -- register_copy - // [1406] phi rom_read::rom_row_current#4 = rom_read::rom_row_current#10 [phi:rom_read::@6->rom_read::@8#1] -- register_copy + // [1394] phi from rom_read::@6 to rom_read::@8 [phi:rom_read::@6->rom_read::@8] + // [1394] phi rom_read::y#36 = rom_read::y#11 [phi:rom_read::@6->rom_read::@8#0] -- register_copy + // [1394] phi rom_read::rom_row_current#4 = rom_read::rom_row_current#10 [phi:rom_read::@6->rom_read::@8#1] -- register_copy // rom_read::@8 __b8: // if(display_progress) - // [1407] if(0==rom_read::display_progress#28) goto rom_read::@9 -- 0_eq_vbum1_then_la1 + // [1395] if(0==rom_read::display_progress#28) goto rom_read::@9 -- 0_eq_vbum1_then_la1 lda display_progress beq __b9 // rom_read::@13 // cputc('.') - // [1408] stackpush(char) = '.' -- _stackpushbyte_=vbuc1 + // [1396] stackpush(char) = '.' -- _stackpushbyte_=vbuc1 lda #'.' pha - // [1409] callexecute cputc -- call_vprc1 + // [1397] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // rom_read::@9 __b9: // ram_address += rom_package_read - // [1411] rom_read::ram_address#1 = rom_read::ram_address#10 + rom_read::rom_package_read#0 -- pbuz1=pbuz1_plus_vwum2 + // [1399] rom_read::ram_address#1 = rom_read::ram_address#10 + rom_read::rom_package_read#0 -- pbuz1=pbuz1_plus_vwum2 clc lda.z ram_address adc rom_package_read @@ -9321,7 +9387,7 @@ rom_read: { adc rom_package_read+1 sta.z ram_address+1 // rom_address += rom_package_read - // [1412] rom_read::rom_address#1 = rom_read::rom_address#10 + rom_read::rom_package_read#0 -- vduz1=vduz1_plus_vwum2 + // [1400] rom_read::rom_address#1 = rom_read::rom_address#10 + rom_read::rom_package_read#0 -- vduz1=vduz1_plus_vwum2 lda.z rom_address clc adc rom_package_read @@ -9336,7 +9402,7 @@ rom_read: { adc #0 sta.z rom_address+3 // rom_file_size += rom_package_read - // [1413] rom_read::rom_file_size#1 = rom_read::rom_file_size#11 + rom_read::rom_package_read#0 -- vdum1=vdum1_plus_vwum2 + // [1401] rom_read::rom_file_size#1 = rom_read::rom_file_size#11 + rom_read::rom_package_read#0 -- vdum1=vdum1_plus_vwum2 lda rom_file_size clc adc rom_package_read @@ -9351,7 +9417,7 @@ rom_read: { adc #0 sta rom_file_size+3 // rom_row_current += rom_package_read - // [1414] rom_read::rom_row_current#2 = rom_read::rom_row_current#4 + rom_read::rom_package_read#0 -- vwuz1=vwuz1_plus_vwum2 + // [1402] rom_read::rom_row_current#2 = rom_read::rom_row_current#4 + rom_read::rom_package_read#0 -- vwuz1=vwuz1_plus_vwum2 clc lda.z rom_row_current adc rom_package_read @@ -9360,7 +9426,7 @@ rom_read: { adc rom_package_read+1 sta.z rom_row_current+1 // if (ram_address == (ram_ptr_t)BRAM_HIGH) - // [1415] if(rom_read::ram_address#1!=(char *)$c000) goto rom_read::@10 -- pbuz1_neq_pbuc1_then_la1 + // [1403] if(rom_read::ram_address#1!=(char *)$c000) goto rom_read::@10 -- pbuz1_neq_pbuc1_then_la1 lda.z ram_address+1 cmp #>$c000 bne __b10 @@ -9369,22 +9435,22 @@ rom_read: { bne __b10 // rom_read::@14 // bram_bank++; - // [1416] rom_read::bram_bank#1 = ++ rom_read::bram_bank#10 -- vbum1=_inc_vbum1 + // [1404] rom_read::bram_bank#1 = ++ rom_read::bram_bank#10 -- vbum1=_inc_vbum1 inc bram_bank - // [1417] phi from rom_read::@14 to rom_read::@10 [phi:rom_read::@14->rom_read::@10] - // [1417] phi rom_read::bram_bank#31 = rom_read::bram_bank#1 [phi:rom_read::@14->rom_read::@10#0] -- register_copy - // [1417] phi rom_read::ram_address#7 = (char *)$a000 [phi:rom_read::@14->rom_read::@10#1] -- pbuz1=pbuc1 + // [1405] phi from rom_read::@14 to rom_read::@10 [phi:rom_read::@14->rom_read::@10] + // [1405] phi rom_read::bram_bank#31 = rom_read::bram_bank#1 [phi:rom_read::@14->rom_read::@10#0] -- register_copy + // [1405] phi rom_read::ram_address#7 = (char *)$a000 [phi:rom_read::@14->rom_read::@10#1] -- pbuz1=pbuc1 lda #<$a000 sta.z ram_address lda #>$a000 sta.z ram_address+1 - // [1417] phi from rom_read::@9 to rom_read::@10 [phi:rom_read::@9->rom_read::@10] - // [1417] phi rom_read::bram_bank#31 = rom_read::bram_bank#10 [phi:rom_read::@9->rom_read::@10#0] -- register_copy - // [1417] phi rom_read::ram_address#7 = rom_read::ram_address#1 [phi:rom_read::@9->rom_read::@10#1] -- register_copy + // [1405] phi from rom_read::@9 to rom_read::@10 [phi:rom_read::@9->rom_read::@10] + // [1405] phi rom_read::bram_bank#31 = rom_read::bram_bank#10 [phi:rom_read::@9->rom_read::@10#0] -- register_copy + // [1405] phi rom_read::ram_address#7 = rom_read::ram_address#1 [phi:rom_read::@9->rom_read::@10#1] -- register_copy // rom_read::@10 __b10: // if (ram_address == (ram_ptr_t)RAM_HIGH) - // [1418] if(rom_read::ram_address#7!=(char *)$9800) goto rom_read::@38 -- pbuz1_neq_pbuc1_then_la1 + // [1406] if(rom_read::ram_address#7!=(char *)$9800) goto rom_read::@38 -- pbuz1_neq_pbuc1_then_la1 lda.z ram_address+1 cmp #>$9800 beq !__b3+ @@ -9395,31 +9461,31 @@ rom_read: { beq !__b3+ jmp __b3 !__b3: - // [1357] phi from rom_read::@10 to rom_read::@3 [phi:rom_read::@10->rom_read::@3] - // [1357] phi rom_read::y#11 = rom_read::y#36 [phi:rom_read::@10->rom_read::@3#0] -- register_copy - // [1357] phi rom_read::rom_row_current#10 = rom_read::rom_row_current#2 [phi:rom_read::@10->rom_read::@3#1] -- register_copy - // [1357] phi rom_read::brom_bank_start#10 = rom_read::brom_bank_start#20 [phi:rom_read::@10->rom_read::@3#2] -- register_copy - // [1357] phi rom_read::rom_address#10 = rom_read::rom_address#1 [phi:rom_read::@10->rom_read::@3#3] -- register_copy - // [1357] phi rom_read::ram_address#10 = (char *)$a000 [phi:rom_read::@10->rom_read::@3#4] -- pbuz1=pbuc1 + // [1345] phi from rom_read::@10 to rom_read::@3 [phi:rom_read::@10->rom_read::@3] + // [1345] phi rom_read::y#11 = rom_read::y#36 [phi:rom_read::@10->rom_read::@3#0] -- register_copy + // [1345] phi rom_read::rom_row_current#10 = rom_read::rom_row_current#2 [phi:rom_read::@10->rom_read::@3#1] -- register_copy + // [1345] phi rom_read::brom_bank_start#10 = rom_read::brom_bank_start#20 [phi:rom_read::@10->rom_read::@3#2] -- register_copy + // [1345] phi rom_read::rom_address#10 = rom_read::rom_address#1 [phi:rom_read::@10->rom_read::@3#3] -- register_copy + // [1345] phi rom_read::ram_address#10 = (char *)$a000 [phi:rom_read::@10->rom_read::@3#4] -- pbuz1=pbuc1 lda #<$a000 sta.z ram_address lda #>$a000 sta.z ram_address+1 - // [1357] phi rom_read::bram_bank#10 = 1 [phi:rom_read::@10->rom_read::@3#5] -- vbum1=vbuc1 + // [1345] phi rom_read::bram_bank#10 = 1 [phi:rom_read::@10->rom_read::@3#5] -- vbum1=vbuc1 lda #1 sta bram_bank - // [1357] phi rom_read::rom_file_size#11 = rom_read::rom_file_size#1 [phi:rom_read::@10->rom_read::@3#6] -- register_copy + // [1345] phi rom_read::rom_file_size#11 = rom_read::rom_file_size#1 [phi:rom_read::@10->rom_read::@3#6] -- register_copy jmp __b3 - // [1419] phi from rom_read::@10 to rom_read::@38 [phi:rom_read::@10->rom_read::@38] + // [1407] phi from rom_read::@10 to rom_read::@38 [phi:rom_read::@10->rom_read::@38] // rom_read::@38 - // [1357] phi from rom_read::@38 to rom_read::@3 [phi:rom_read::@38->rom_read::@3] - // [1357] phi rom_read::y#11 = rom_read::y#36 [phi:rom_read::@38->rom_read::@3#0] -- register_copy - // [1357] phi rom_read::rom_row_current#10 = rom_read::rom_row_current#2 [phi:rom_read::@38->rom_read::@3#1] -- register_copy - // [1357] phi rom_read::brom_bank_start#10 = rom_read::brom_bank_start#20 [phi:rom_read::@38->rom_read::@3#2] -- register_copy - // [1357] phi rom_read::rom_address#10 = rom_read::rom_address#1 [phi:rom_read::@38->rom_read::@3#3] -- register_copy - // [1357] phi rom_read::ram_address#10 = rom_read::ram_address#7 [phi:rom_read::@38->rom_read::@3#4] -- register_copy - // [1357] phi rom_read::bram_bank#10 = rom_read::bram_bank#31 [phi:rom_read::@38->rom_read::@3#5] -- register_copy - // [1357] phi rom_read::rom_file_size#11 = rom_read::rom_file_size#1 [phi:rom_read::@38->rom_read::@3#6] -- register_copy + // [1345] phi from rom_read::@38 to rom_read::@3 [phi:rom_read::@38->rom_read::@3] + // [1345] phi rom_read::y#11 = rom_read::y#36 [phi:rom_read::@38->rom_read::@3#0] -- register_copy + // [1345] phi rom_read::rom_row_current#10 = rom_read::rom_row_current#2 [phi:rom_read::@38->rom_read::@3#1] -- register_copy + // [1345] phi rom_read::brom_bank_start#10 = rom_read::brom_bank_start#20 [phi:rom_read::@38->rom_read::@3#2] -- register_copy + // [1345] phi rom_read::rom_address#10 = rom_read::rom_address#1 [phi:rom_read::@38->rom_read::@3#3] -- register_copy + // [1345] phi rom_read::ram_address#10 = rom_read::ram_address#7 [phi:rom_read::@38->rom_read::@3#4] -- register_copy + // [1345] phi rom_read::bram_bank#10 = rom_read::bram_bank#31 [phi:rom_read::@38->rom_read::@3#5] -- register_copy + // [1345] phi rom_read::rom_file_size#11 = rom_read::rom_file_size#1 [phi:rom_read::@38->rom_read::@3#6] -- register_copy .segment Data s: .text "Opening " .byte 0 @@ -9429,32 +9495,30 @@ rom_read: { fp: .word 0 return: .dword 0 rom_package_read: .word 0 - .label brom_bank_start = strchr.c - .label y = main.check_status_smc5_main__0 .label rom_file_size = return - .label bram_bank = util_wait_key.return + .label bram_bank = main.check_status_smc5_main__0 .label file = clrscr.ch - .label display_progress = main.check_status_cx16_rom3_check_status_rom1_main__0 + .label display_progress = util_wait_key.return } .segment Code // rom_verify // __zp($b4) unsigned long rom_verify(__zp($2f) char rom_chip, __mem() char rom_bank_start, __mem() unsigned long file_size) rom_verify: { .label rom_verify__16 = $51 - .label rom_address = $ab + .label rom_address = $a9 .label equal_bytes = $51 .label rom_different_bytes = $b4 .label rom_chip = $2f .label return = $b4 - .label progress_row_current = $d9 + .label progress_row_current = $db // unsigned long rom_address = rom_address_from_bank(rom_bank_start) - // [1420] rom_address_from_bank::rom_bank#1 = rom_verify::rom_bank_start#0 - // [1421] call rom_address_from_bank - // [2424] phi from rom_verify to rom_address_from_bank [phi:rom_verify->rom_address_from_bank] - // [2424] phi rom_address_from_bank::rom_bank#3 = rom_address_from_bank::rom_bank#1 [phi:rom_verify->rom_address_from_bank#0] -- register_copy + // [1408] rom_address_from_bank::rom_bank#1 = rom_verify::rom_bank_start#0 + // [1409] call rom_address_from_bank + // [2393] phi from rom_verify to rom_address_from_bank [phi:rom_verify->rom_address_from_bank] + // [2393] phi rom_address_from_bank::rom_bank#3 = rom_address_from_bank::rom_bank#1 [phi:rom_verify->rom_address_from_bank#0] -- register_copy jsr rom_address_from_bank // unsigned long rom_address = rom_address_from_bank(rom_bank_start) - // [1422] rom_address_from_bank::return#3 = rom_address_from_bank::return#0 -- vduz1=vduz2 + // [1410] rom_address_from_bank::return#3 = rom_address_from_bank::return#0 -- vduz1=vduz2 lda.z rom_address_from_bank.return sta.z rom_address_from_bank.return_1 lda.z rom_address_from_bank.return+1 @@ -9464,9 +9528,9 @@ rom_verify: { lda.z rom_address_from_bank.return+3 sta.z rom_address_from_bank.return_1+3 // rom_verify::@11 - // [1423] rom_verify::rom_address#0 = rom_address_from_bank::return#3 + // [1411] rom_verify::rom_address#0 = rom_address_from_bank::return#3 // unsigned long rom_boundary = rom_address + file_size - // [1424] rom_verify::rom_boundary#0 = rom_verify::rom_address#0 + rom_verify::file_size#0 -- vdum1=vduz2_plus_vdum1 + // [1412] rom_verify::rom_boundary#0 = rom_verify::rom_address#0 + rom_verify::file_size#0 -- vdum1=vduz2_plus_vdum1 clc lda rom_boundary adc.z rom_address @@ -9481,59 +9545,59 @@ rom_verify: { adc.z rom_address+3 sta rom_boundary+3 // display_info_rom(rom_chip, STATUS_COMPARING, "Comparing ...") - // [1425] display_info_rom::rom_chip#1 = rom_verify::rom_chip#0 - // [1426] call display_info_rom - // [1282] phi from rom_verify::@11 to display_info_rom [phi:rom_verify::@11->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = rom_verify::info_text [phi:rom_verify::@11->display_info_rom#0] -- pbuz1=pbuc1 + // [1413] display_info_rom::rom_chip#1 = rom_verify::rom_chip#0 + // [1414] call display_info_rom + // [1270] phi from rom_verify::@11 to display_info_rom [phi:rom_verify::@11->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = rom_verify::info_text [phi:rom_verify::@11->display_info_rom#0] -- pbuz1=pbuc1 lda #info_text sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#1 [phi:rom_verify::@11->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_COMPARING [phi:rom_verify::@11->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#1 [phi:rom_verify::@11->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_COMPARING [phi:rom_verify::@11->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_COMPARING - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom - // [1427] phi from rom_verify::@11 to rom_verify::@12 [phi:rom_verify::@11->rom_verify::@12] + // [1415] phi from rom_verify::@11 to rom_verify::@12 [phi:rom_verify::@11->rom_verify::@12] // rom_verify::@12 // gotoxy(x, y) - // [1428] call gotoxy - // [762] phi from rom_verify::@12 to gotoxy [phi:rom_verify::@12->gotoxy] - // [762] phi gotoxy::y#30 = PROGRESS_Y [phi:rom_verify::@12->gotoxy#0] -- vbuz1=vbuc1 + // [1416] call gotoxy + // [756] phi from rom_verify::@12 to gotoxy [phi:rom_verify::@12->gotoxy] + // [756] phi gotoxy::y#30 = PROGRESS_Y [phi:rom_verify::@12->gotoxy#0] -- vbuz1=vbuc1 lda #PROGRESS_Y sta.z gotoxy.y - // [762] phi gotoxy::x#30 = PROGRESS_X [phi:rom_verify::@12->gotoxy#1] -- vbuz1=vbuc1 + // [756] phi gotoxy::x#30 = PROGRESS_X [phi:rom_verify::@12->gotoxy#1] -- vbuz1=vbuc1 lda #PROGRESS_X sta.z gotoxy.x jsr gotoxy - // [1429] phi from rom_verify::@12 to rom_verify::@1 [phi:rom_verify::@12->rom_verify::@1] - // [1429] phi rom_verify::y#3 = PROGRESS_Y [phi:rom_verify::@12->rom_verify::@1#0] -- vbum1=vbuc1 + // [1417] phi from rom_verify::@12 to rom_verify::@1 [phi:rom_verify::@12->rom_verify::@1] + // [1417] phi rom_verify::y#3 = PROGRESS_Y [phi:rom_verify::@12->rom_verify::@1#0] -- vbum1=vbuc1 lda #PROGRESS_Y sta y - // [1429] phi rom_verify::progress_row_current#3 = 0 [phi:rom_verify::@12->rom_verify::@1#1] -- vwuz1=vwuc1 + // [1417] phi rom_verify::progress_row_current#3 = 0 [phi:rom_verify::@12->rom_verify::@1#1] -- vwuz1=vwuc1 lda #<0 sta.z progress_row_current sta.z progress_row_current+1 - // [1429] phi rom_verify::rom_different_bytes#11 = 0 [phi:rom_verify::@12->rom_verify::@1#2] -- vduz1=vduc1 + // [1417] phi rom_verify::rom_different_bytes#11 = 0 [phi:rom_verify::@12->rom_verify::@1#2] -- vduz1=vduc1 sta.z rom_different_bytes sta.z rom_different_bytes+1 lda #<0>>$10 sta.z rom_different_bytes+2 lda #>0>>$10 sta.z rom_different_bytes+3 - // [1429] phi rom_verify::ram_address#10 = (char *)$7800 [phi:rom_verify::@12->rom_verify::@1#3] -- pbum1=pbuc1 + // [1417] phi rom_verify::ram_address#10 = (char *)$7800 [phi:rom_verify::@12->rom_verify::@1#3] -- pbum1=pbuc1 lda #<$7800 sta ram_address lda #>$7800 sta ram_address+1 - // [1429] phi rom_verify::bram_bank#11 = 0 [phi:rom_verify::@12->rom_verify::@1#4] -- vbum1=vbuc1 + // [1417] phi rom_verify::bram_bank#11 = 0 [phi:rom_verify::@12->rom_verify::@1#4] -- vbum1=vbuc1 lda #0 sta bram_bank - // [1429] phi rom_verify::rom_address#12 = rom_verify::rom_address#0 [phi:rom_verify::@12->rom_verify::@1#5] -- register_copy + // [1417] phi rom_verify::rom_address#12 = rom_verify::rom_address#0 [phi:rom_verify::@12->rom_verify::@1#5] -- register_copy // rom_verify::@1 __b1: // while (rom_address < rom_boundary) - // [1430] if(rom_verify::rom_address#12rom_compare] - // [2428] phi rom_compare::ptr_ram#10 = rom_compare::ptr_ram#1 [phi:rom_verify::@2->rom_compare#0] -- register_copy - // [2428] phi rom_compare::rom_compare_size#11 = ROM_PROGRESS_CELL [phi:rom_verify::@2->rom_compare#1] -- vwuz1=vwuc1 + // [2397] phi from rom_verify::@2 to rom_compare [phi:rom_verify::@2->rom_compare] + // [2397] phi rom_compare::ptr_ram#10 = rom_compare::ptr_ram#1 [phi:rom_verify::@2->rom_compare#0] -- register_copy + // [2397] phi rom_compare::rom_compare_size#11 = ROM_PROGRESS_CELL [phi:rom_verify::@2->rom_compare#1] -- vwuz1=vwuc1 lda #ROM_PROGRESS_CELL sta.z rom_compare.rom_compare_size+1 - // [2428] phi rom_compare::rom_compare_address#3 = rom_compare::rom_compare_address#0 [phi:rom_verify::@2->rom_compare#2] -- register_copy - // [2428] phi rom_compare::bank_set_bram1_bank#0 = rom_compare::bank_ram#0 [phi:rom_verify::@2->rom_compare#3] -- register_copy + // [2397] phi rom_compare::rom_compare_address#3 = rom_compare::rom_compare_address#0 [phi:rom_verify::@2->rom_compare#2] -- register_copy + // [2397] phi rom_compare::bank_set_bram1_bank#0 = rom_compare::bank_ram#0 [phi:rom_verify::@2->rom_compare#3] -- register_copy jsr rom_compare // unsigned int equal_bytes = rom_compare(bram_bank, (ram_ptr_t)ram_address, rom_address, ROM_PROGRESS_CELL) - // [1436] rom_compare::return#2 = rom_compare::equal_bytes#2 + // [1424] rom_compare::return#2 = rom_compare::equal_bytes#2 // rom_verify::@13 - // [1437] rom_verify::equal_bytes#0 = rom_compare::return#2 + // [1425] rom_verify::equal_bytes#0 = rom_compare::return#2 // if (progress_row_current == ROM_PROGRESS_ROW) - // [1438] if(rom_verify::progress_row_current#3!=ROM_PROGRESS_ROW) goto rom_verify::@3 -- vwuz1_neq_vwuc1_then_la1 + // [1426] if(rom_verify::progress_row_current#3!=ROM_PROGRESS_ROW) goto rom_verify::@3 -- vwuz1_neq_vwuc1_then_la1 lda.z progress_row_current+1 cmp #>ROM_PROGRESS_ROW bne __b3 @@ -9600,32 +9664,32 @@ rom_verify: { bne __b3 // rom_verify::@8 // gotoxy(x, ++y); - // [1439] rom_verify::y#1 = ++ rom_verify::y#3 -- vbum1=_inc_vbum1 + // [1427] rom_verify::y#1 = ++ rom_verify::y#3 -- vbum1=_inc_vbum1 inc y // gotoxy(x, ++y) - // [1440] gotoxy::y#27 = rom_verify::y#1 -- vbuz1=vbum2 + // [1428] gotoxy::y#27 = rom_verify::y#1 -- vbuz1=vbum2 lda y sta.z gotoxy.y - // [1441] call gotoxy - // [762] phi from rom_verify::@8 to gotoxy [phi:rom_verify::@8->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#27 [phi:rom_verify::@8->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = PROGRESS_X [phi:rom_verify::@8->gotoxy#1] -- vbuz1=vbuc1 + // [1429] call gotoxy + // [756] phi from rom_verify::@8 to gotoxy [phi:rom_verify::@8->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#27 [phi:rom_verify::@8->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = PROGRESS_X [phi:rom_verify::@8->gotoxy#1] -- vbuz1=vbuc1 lda #PROGRESS_X sta.z gotoxy.x jsr gotoxy - // [1442] phi from rom_verify::@8 to rom_verify::@3 [phi:rom_verify::@8->rom_verify::@3] - // [1442] phi rom_verify::y#10 = rom_verify::y#1 [phi:rom_verify::@8->rom_verify::@3#0] -- register_copy - // [1442] phi rom_verify::progress_row_current#4 = 0 [phi:rom_verify::@8->rom_verify::@3#1] -- vwuz1=vbuc1 + // [1430] phi from rom_verify::@8 to rom_verify::@3 [phi:rom_verify::@8->rom_verify::@3] + // [1430] phi rom_verify::y#10 = rom_verify::y#1 [phi:rom_verify::@8->rom_verify::@3#0] -- register_copy + // [1430] phi rom_verify::progress_row_current#4 = 0 [phi:rom_verify::@8->rom_verify::@3#1] -- vwuz1=vbuc1 lda #<0 sta.z progress_row_current sta.z progress_row_current+1 - // [1442] phi from rom_verify::@13 to rom_verify::@3 [phi:rom_verify::@13->rom_verify::@3] - // [1442] phi rom_verify::y#10 = rom_verify::y#3 [phi:rom_verify::@13->rom_verify::@3#0] -- register_copy - // [1442] phi rom_verify::progress_row_current#4 = rom_verify::progress_row_current#3 [phi:rom_verify::@13->rom_verify::@3#1] -- register_copy + // [1430] phi from rom_verify::@13 to rom_verify::@3 [phi:rom_verify::@13->rom_verify::@3] + // [1430] phi rom_verify::y#10 = rom_verify::y#3 [phi:rom_verify::@13->rom_verify::@3#0] -- register_copy + // [1430] phi rom_verify::progress_row_current#4 = rom_verify::progress_row_current#3 [phi:rom_verify::@13->rom_verify::@3#1] -- register_copy // rom_verify::@3 __b3: // if (equal_bytes != ROM_PROGRESS_CELL) - // [1443] if(rom_verify::equal_bytes#0!=ROM_PROGRESS_CELL) goto rom_verify::@4 -- vwuz1_neq_vwuc1_then_la1 + // [1431] if(rom_verify::equal_bytes#0!=ROM_PROGRESS_CELL) goto rom_verify::@4 -- vwuz1_neq_vwuc1_then_la1 lda.z equal_bytes+1 cmp #>ROM_PROGRESS_CELL beq !__b4+ @@ -9638,17 +9702,17 @@ rom_verify: { !__b4: // rom_verify::@9 // cputc('=') - // [1444] stackpush(char) = '=' -- _stackpushbyte_=vbuc1 + // [1432] stackpush(char) = '=' -- _stackpushbyte_=vbuc1 lda #'=' pha - // [1445] callexecute cputc -- call_vprc1 + // [1433] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // rom_verify::@5 __b5: // ram_address += ROM_PROGRESS_CELL - // [1447] rom_verify::ram_address#1 = rom_verify::ram_address#10 + ROM_PROGRESS_CELL -- pbum1=pbum1_plus_vwuc1 + // [1435] rom_verify::ram_address#1 = rom_verify::ram_address#10 + ROM_PROGRESS_CELL -- pbum1=pbum1_plus_vwuc1 lda ram_address clc adc #ROM_PROGRESS_CELL sta ram_address+1 // rom_address += ROM_PROGRESS_CELL - // [1448] rom_verify::rom_address#1 = rom_verify::rom_address#12 + ROM_PROGRESS_CELL -- vduz1=vduz1_plus_vwuc1 + // [1436] rom_verify::rom_address#1 = rom_verify::rom_address#12 + ROM_PROGRESS_CELL -- vduz1=vduz1_plus_vwuc1 clc lda.z rom_address adc #ROM_PROGRESS_CELL sta.z progress_row_current+1 // if (ram_address == BRAM_HIGH) - // [1450] if(rom_verify::ram_address#1!=$c000) goto rom_verify::@6 -- pbum1_neq_vwuc1_then_la1 + // [1438] if(rom_verify::ram_address#1!=$c000) goto rom_verify::@6 -- pbum1_neq_vwuc1_then_la1 lda ram_address+1 cmp #>$c000 bne __b6 @@ -9690,46 +9754,46 @@ rom_verify: { bne __b6 // rom_verify::@10 // bram_bank++; - // [1451] rom_verify::bram_bank#1 = ++ rom_verify::bram_bank#11 -- vbum1=_inc_vbum1 + // [1439] rom_verify::bram_bank#1 = ++ rom_verify::bram_bank#11 -- vbum1=_inc_vbum1 inc bram_bank - // [1452] phi from rom_verify::@10 to rom_verify::@6 [phi:rom_verify::@10->rom_verify::@6] - // [1452] phi rom_verify::bram_bank#24 = rom_verify::bram_bank#1 [phi:rom_verify::@10->rom_verify::@6#0] -- register_copy - // [1452] phi rom_verify::ram_address#6 = (char *)$a000 [phi:rom_verify::@10->rom_verify::@6#1] -- pbum1=pbuc1 + // [1440] phi from rom_verify::@10 to rom_verify::@6 [phi:rom_verify::@10->rom_verify::@6] + // [1440] phi rom_verify::bram_bank#24 = rom_verify::bram_bank#1 [phi:rom_verify::@10->rom_verify::@6#0] -- register_copy + // [1440] phi rom_verify::ram_address#6 = (char *)$a000 [phi:rom_verify::@10->rom_verify::@6#1] -- pbum1=pbuc1 lda #<$a000 sta ram_address lda #>$a000 sta ram_address+1 - // [1452] phi from rom_verify::@5 to rom_verify::@6 [phi:rom_verify::@5->rom_verify::@6] - // [1452] phi rom_verify::bram_bank#24 = rom_verify::bram_bank#11 [phi:rom_verify::@5->rom_verify::@6#0] -- register_copy - // [1452] phi rom_verify::ram_address#6 = rom_verify::ram_address#1 [phi:rom_verify::@5->rom_verify::@6#1] -- register_copy + // [1440] phi from rom_verify::@5 to rom_verify::@6 [phi:rom_verify::@5->rom_verify::@6] + // [1440] phi rom_verify::bram_bank#24 = rom_verify::bram_bank#11 [phi:rom_verify::@5->rom_verify::@6#0] -- register_copy + // [1440] phi rom_verify::ram_address#6 = rom_verify::ram_address#1 [phi:rom_verify::@5->rom_verify::@6#1] -- register_copy // rom_verify::@6 __b6: // if (ram_address == RAM_HIGH) - // [1453] if(rom_verify::ram_address#6!=$9800) goto rom_verify::@23 -- pbum1_neq_vwuc1_then_la1 + // [1441] if(rom_verify::ram_address#6!=$9800) goto rom_verify::@23 -- pbum1_neq_vwuc1_then_la1 lda ram_address+1 cmp #>$9800 bne __b7 lda ram_address cmp #<$9800 bne __b7 - // [1455] phi from rom_verify::@6 to rom_verify::@7 [phi:rom_verify::@6->rom_verify::@7] - // [1455] phi rom_verify::ram_address#11 = (char *)$a000 [phi:rom_verify::@6->rom_verify::@7#0] -- pbum1=pbuc1 + // [1443] phi from rom_verify::@6 to rom_verify::@7 [phi:rom_verify::@6->rom_verify::@7] + // [1443] phi rom_verify::ram_address#11 = (char *)$a000 [phi:rom_verify::@6->rom_verify::@7#0] -- pbum1=pbuc1 lda #<$a000 sta ram_address lda #>$a000 sta ram_address+1 - // [1455] phi rom_verify::bram_bank#10 = 1 [phi:rom_verify::@6->rom_verify::@7#1] -- vbum1=vbuc1 + // [1443] phi rom_verify::bram_bank#10 = 1 [phi:rom_verify::@6->rom_verify::@7#1] -- vbum1=vbuc1 lda #1 sta bram_bank - // [1454] phi from rom_verify::@6 to rom_verify::@23 [phi:rom_verify::@6->rom_verify::@23] + // [1442] phi from rom_verify::@6 to rom_verify::@23 [phi:rom_verify::@6->rom_verify::@23] // rom_verify::@23 - // [1455] phi from rom_verify::@23 to rom_verify::@7 [phi:rom_verify::@23->rom_verify::@7] - // [1455] phi rom_verify::ram_address#11 = rom_verify::ram_address#6 [phi:rom_verify::@23->rom_verify::@7#0] -- register_copy - // [1455] phi rom_verify::bram_bank#10 = rom_verify::bram_bank#24 [phi:rom_verify::@23->rom_verify::@7#1] -- register_copy + // [1443] phi from rom_verify::@23 to rom_verify::@7 [phi:rom_verify::@23->rom_verify::@7] + // [1443] phi rom_verify::ram_address#11 = rom_verify::ram_address#6 [phi:rom_verify::@23->rom_verify::@7#0] -- register_copy + // [1443] phi rom_verify::bram_bank#10 = rom_verify::bram_bank#24 [phi:rom_verify::@23->rom_verify::@7#1] -- register_copy // rom_verify::@7 __b7: // ROM_PROGRESS_CELL - equal_bytes - // [1456] rom_verify::$16 = ROM_PROGRESS_CELL - rom_verify::equal_bytes#0 -- vwuz1=vwuc1_minus_vwuz1 + // [1444] rom_verify::$16 = ROM_PROGRESS_CELL - rom_verify::equal_bytes#0 -- vwuz1=vwuc1_minus_vwuz1 lda # ROM:%05x", rom_different_bytes, bram_bank, ram_address, rom_address) - // [1458] call snprintf_init - // [1011] phi from rom_verify::@7 to snprintf_init [phi:rom_verify::@7->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:rom_verify::@7->snprintf_init#0] -- pbuz1=pbuc1 + // [1446] call snprintf_init + // [1151] phi from rom_verify::@7 to snprintf_init [phi:rom_verify::@7->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:rom_verify::@7->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [1459] phi from rom_verify::@7 to rom_verify::@14 [phi:rom_verify::@7->rom_verify::@14] + // [1447] phi from rom_verify::@7 to rom_verify::@14 [phi:rom_verify::@7->rom_verify::@14] // rom_verify::@14 // sprintf(info_text, "Comparing: %05x differences between RAM:%02x:%04p <-> ROM:%05x", rom_different_bytes, bram_bank, ram_address, rom_address) - // [1460] call printf_str - // [1016] phi from rom_verify::@14 to printf_str [phi:rom_verify::@14->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_verify::@14->printf_str#0] -- pprz1=pprc1 + // [1448] call printf_str + // [1156] phi from rom_verify::@14 to printf_str [phi:rom_verify::@14->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_verify::@14->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = rom_verify::s [phi:rom_verify::@14->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = rom_verify::s [phi:rom_verify::@14->printf_str#1] -- pbuz1=pbuc1 lda #s @@ -9779,7 +9843,7 @@ rom_verify: { jsr printf_str // rom_verify::@15 // sprintf(info_text, "Comparing: %05x differences between RAM:%02x:%04p <-> ROM:%05x", rom_different_bytes, bram_bank, ram_address, rom_address) - // [1461] printf_ulong::uvalue#2 = rom_verify::rom_different_bytes#1 -- vduz1=vduz2 + // [1449] printf_ulong::uvalue#2 = rom_verify::rom_different_bytes#1 -- vduz1=vduz2 lda.z rom_different_bytes sta.z printf_ulong.uvalue lda.z rom_different_bytes+1 @@ -9788,30 +9852,30 @@ rom_verify: { sta.z printf_ulong.uvalue+2 lda.z rom_different_bytes+3 sta.z printf_ulong.uvalue+3 - // [1462] call printf_ulong - // [1482] phi from rom_verify::@15 to printf_ulong [phi:rom_verify::@15->printf_ulong] - // [1482] phi printf_ulong::format_zero_padding#10 = 1 [phi:rom_verify::@15->printf_ulong#0] -- vbuz1=vbuc1 + // [1450] call printf_ulong + // [1470] phi from rom_verify::@15 to printf_ulong [phi:rom_verify::@15->printf_ulong] + // [1470] phi printf_ulong::format_zero_padding#10 = 1 [phi:rom_verify::@15->printf_ulong#0] -- vbuz1=vbuc1 lda #1 sta.z printf_ulong.format_zero_padding - // [1482] phi printf_ulong::format_min_length#10 = 5 [phi:rom_verify::@15->printf_ulong#1] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_min_length#10 = 5 [phi:rom_verify::@15->printf_ulong#1] -- vbuz1=vbuc1 lda #5 sta.z printf_ulong.format_min_length - // [1482] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:rom_verify::@15->printf_ulong#2] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:rom_verify::@15->printf_ulong#2] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_ulong.format_radix - // [1482] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#2 [phi:rom_verify::@15->printf_ulong#3] -- register_copy + // [1470] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#2 [phi:rom_verify::@15->printf_ulong#3] -- register_copy jsr printf_ulong - // [1463] phi from rom_verify::@15 to rom_verify::@16 [phi:rom_verify::@15->rom_verify::@16] + // [1451] phi from rom_verify::@15 to rom_verify::@16 [phi:rom_verify::@15->rom_verify::@16] // rom_verify::@16 // sprintf(info_text, "Comparing: %05x differences between RAM:%02x:%04p <-> ROM:%05x", rom_different_bytes, bram_bank, ram_address, rom_address) - // [1464] call printf_str - // [1016] phi from rom_verify::@16 to printf_str [phi:rom_verify::@16->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_verify::@16->printf_str#0] -- pprz1=pprc1 + // [1452] call printf_str + // [1156] phi from rom_verify::@16 to printf_str [phi:rom_verify::@16->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_verify::@16->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = rom_verify::s1 [phi:rom_verify::@16->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = rom_verify::s1 [phi:rom_verify::@16->printf_str#1] -- pbuz1=pbuc1 lda #s1 @@ -9819,38 +9883,38 @@ rom_verify: { jsr printf_str // rom_verify::@17 // sprintf(info_text, "Comparing: %05x differences between RAM:%02x:%04p <-> ROM:%05x", rom_different_bytes, bram_bank, ram_address, rom_address) - // [1465] printf_uchar::uvalue#10 = rom_verify::bram_bank#10 -- vbuz1=vbum2 + // [1453] printf_uchar::uvalue#10 = rom_verify::bram_bank#10 -- vbuz1=vbum2 lda bram_bank sta.z printf_uchar.uvalue - // [1466] call printf_uchar - // [1248] phi from rom_verify::@17 to printf_uchar [phi:rom_verify::@17->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 1 [phi:rom_verify::@17->printf_uchar#0] -- vbuz1=vbuc1 + // [1454] call printf_uchar + // [1236] phi from rom_verify::@17 to printf_uchar [phi:rom_verify::@17->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 1 [phi:rom_verify::@17->printf_uchar#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 2 [phi:rom_verify::@17->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 2 [phi:rom_verify::@17->printf_uchar#1] -- vbuz1=vbuc1 lda #2 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:rom_verify::@17->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:rom_verify::@17->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = HEXADECIMAL [phi:rom_verify::@17->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = HEXADECIMAL [phi:rom_verify::@17->printf_uchar#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#10 [phi:rom_verify::@17->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#10 [phi:rom_verify::@17->printf_uchar#4] -- register_copy jsr printf_uchar - // [1467] phi from rom_verify::@17 to rom_verify::@18 [phi:rom_verify::@17->rom_verify::@18] + // [1455] phi from rom_verify::@17 to rom_verify::@18 [phi:rom_verify::@17->rom_verify::@18] // rom_verify::@18 // sprintf(info_text, "Comparing: %05x differences between RAM:%02x:%04p <-> ROM:%05x", rom_different_bytes, bram_bank, ram_address, rom_address) - // [1468] call printf_str - // [1016] phi from rom_verify::@18 to printf_str [phi:rom_verify::@18->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_verify::@18->printf_str#0] -- pprz1=pprc1 + // [1456] call printf_str + // [1156] phi from rom_verify::@18 to printf_str [phi:rom_verify::@18->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_verify::@18->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s3 [phi:rom_verify::@18->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s3 [phi:rom_verify::@18->printf_str#1] -- pbuz1=pbuc1 lda #<@s3 sta.z printf_str.s lda #>@s3 @@ -9858,35 +9922,40 @@ rom_verify: { jsr printf_str // rom_verify::@19 // sprintf(info_text, "Comparing: %05x differences between RAM:%02x:%04p <-> ROM:%05x", rom_different_bytes, bram_bank, ram_address, rom_address) - // [1469] printf_uint::uvalue#10 = (unsigned int)rom_verify::ram_address#11 -- vwuz1=vwum2 + // [1457] printf_uint::uvalue#11 = (unsigned int)rom_verify::ram_address#11 -- vwuz1=vwum2 lda ram_address sta.z printf_uint.uvalue lda ram_address+1 sta.z printf_uint.uvalue+1 - // [1470] call printf_uint - // [1025] phi from rom_verify::@19 to printf_uint [phi:rom_verify::@19->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:rom_verify::@19->printf_uint#0] -- vbuz1=vbuc1 + // [1458] call printf_uint + // [1810] phi from rom_verify::@19 to printf_uint [phi:rom_verify::@19->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:rom_verify::@19->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 4 [phi:rom_verify::@19->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 4 [phi:rom_verify::@19->printf_uint#1] -- vbuz1=vbuc1 lda #4 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:rom_verify::@19->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:rom_verify::@19->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:rom_verify::@19->printf_uint#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#10 [phi:rom_verify::@19->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#11 [phi:rom_verify::@19->printf_uint#4] -- register_copy jsr printf_uint - // [1471] phi from rom_verify::@19 to rom_verify::@20 [phi:rom_verify::@19->rom_verify::@20] + // [1459] phi from rom_verify::@19 to rom_verify::@20 [phi:rom_verify::@19->rom_verify::@20] // rom_verify::@20 // sprintf(info_text, "Comparing: %05x differences between RAM:%02x:%04p <-> ROM:%05x", rom_different_bytes, bram_bank, ram_address, rom_address) - // [1472] call printf_str - // [1016] phi from rom_verify::@20 to printf_str [phi:rom_verify::@20->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_verify::@20->printf_str#0] -- pprz1=pprc1 + // [1460] call printf_str + // [1156] phi from rom_verify::@20 to printf_str [phi:rom_verify::@20->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_verify::@20->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = rom_verify::s3 [phi:rom_verify::@20->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = rom_verify::s3 [phi:rom_verify::@20->printf_str#1] -- pbuz1=pbuc1 lda #s3 @@ -9894,7 +9963,7 @@ rom_verify: { jsr printf_str // rom_verify::@21 // sprintf(info_text, "Comparing: %05x differences between RAM:%02x:%04p <-> ROM:%05x", rom_different_bytes, bram_bank, ram_address, rom_address) - // [1473] printf_ulong::uvalue#3 = rom_verify::rom_address#1 -- vduz1=vduz2 + // [1461] printf_ulong::uvalue#3 = rom_verify::rom_address#1 -- vduz1=vduz2 lda.z rom_address sta.z printf_ulong.uvalue lda.z rom_address+1 @@ -9903,52 +9972,52 @@ rom_verify: { sta.z printf_ulong.uvalue+2 lda.z rom_address+3 sta.z printf_ulong.uvalue+3 - // [1474] call printf_ulong - // [1482] phi from rom_verify::@21 to printf_ulong [phi:rom_verify::@21->printf_ulong] - // [1482] phi printf_ulong::format_zero_padding#10 = 1 [phi:rom_verify::@21->printf_ulong#0] -- vbuz1=vbuc1 + // [1462] call printf_ulong + // [1470] phi from rom_verify::@21 to printf_ulong [phi:rom_verify::@21->printf_ulong] + // [1470] phi printf_ulong::format_zero_padding#10 = 1 [phi:rom_verify::@21->printf_ulong#0] -- vbuz1=vbuc1 lda #1 sta.z printf_ulong.format_zero_padding - // [1482] phi printf_ulong::format_min_length#10 = 5 [phi:rom_verify::@21->printf_ulong#1] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_min_length#10 = 5 [phi:rom_verify::@21->printf_ulong#1] -- vbuz1=vbuc1 lda #5 sta.z printf_ulong.format_min_length - // [1482] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:rom_verify::@21->printf_ulong#2] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:rom_verify::@21->printf_ulong#2] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_ulong.format_radix - // [1482] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#3 [phi:rom_verify::@21->printf_ulong#3] -- register_copy + // [1470] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#3 [phi:rom_verify::@21->printf_ulong#3] -- register_copy jsr printf_ulong // rom_verify::@22 // sprintf(info_text, "Comparing: %05x differences between RAM:%02x:%04p <-> ROM:%05x", rom_different_bytes, bram_bank, ram_address, rom_address) - // [1475] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1463] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1476] callexecute snputc -- call_vprc1 + // [1464] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [1478] call display_action_text - // [1259] phi from rom_verify::@22 to display_action_text [phi:rom_verify::@22->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:rom_verify::@22->display_action_text#0] -- pbuz1=pbuc1 + // [1466] call display_action_text + // [1247] phi from rom_verify::@22 to display_action_text [phi:rom_verify::@22->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:rom_verify::@22->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text sta.z display_action_text.info_text+1 jsr display_action_text - // [1429] phi from rom_verify::@22 to rom_verify::@1 [phi:rom_verify::@22->rom_verify::@1] - // [1429] phi rom_verify::y#3 = rom_verify::y#10 [phi:rom_verify::@22->rom_verify::@1#0] -- register_copy - // [1429] phi rom_verify::progress_row_current#3 = rom_verify::progress_row_current#11 [phi:rom_verify::@22->rom_verify::@1#1] -- register_copy - // [1429] phi rom_verify::rom_different_bytes#11 = rom_verify::rom_different_bytes#1 [phi:rom_verify::@22->rom_verify::@1#2] -- register_copy - // [1429] phi rom_verify::ram_address#10 = rom_verify::ram_address#11 [phi:rom_verify::@22->rom_verify::@1#3] -- register_copy - // [1429] phi rom_verify::bram_bank#11 = rom_verify::bram_bank#10 [phi:rom_verify::@22->rom_verify::@1#4] -- register_copy - // [1429] phi rom_verify::rom_address#12 = rom_verify::rom_address#1 [phi:rom_verify::@22->rom_verify::@1#5] -- register_copy + // [1417] phi from rom_verify::@22 to rom_verify::@1 [phi:rom_verify::@22->rom_verify::@1] + // [1417] phi rom_verify::y#3 = rom_verify::y#10 [phi:rom_verify::@22->rom_verify::@1#0] -- register_copy + // [1417] phi rom_verify::progress_row_current#3 = rom_verify::progress_row_current#11 [phi:rom_verify::@22->rom_verify::@1#1] -- register_copy + // [1417] phi rom_verify::rom_different_bytes#11 = rom_verify::rom_different_bytes#1 [phi:rom_verify::@22->rom_verify::@1#2] -- register_copy + // [1417] phi rom_verify::ram_address#10 = rom_verify::ram_address#11 [phi:rom_verify::@22->rom_verify::@1#3] -- register_copy + // [1417] phi rom_verify::bram_bank#11 = rom_verify::bram_bank#10 [phi:rom_verify::@22->rom_verify::@1#4] -- register_copy + // [1417] phi rom_verify::rom_address#12 = rom_verify::rom_address#1 [phi:rom_verify::@22->rom_verify::@1#5] -- register_copy jmp __b1 // rom_verify::@4 __b4: // cputc('*') - // [1479] stackpush(char) = '*' -- _stackpushbyte_=vbuc1 + // [1467] stackpush(char) = '*' -- _stackpushbyte_=vbuc1 lda #'*' pha - // [1480] callexecute cputc -- call_vprc1 + // [1468] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla @@ -9963,55 +10032,55 @@ rom_verify: { s3: .text " <-> ROM:" .byte 0 .label rom_boundary = rom_flash.rom_flash__29 - .label y = main.check_status_vera1_main__0 + .label y = main.check_status_smc7_main__0 .label ram_address = fopen.pathtoken_1 - .label bram_bank = main.check_status_smc7_main__0 - .label rom_bank_start = rom_get_release.rom_get_release__0 + .label bram_bank = main.check_status_vera3_main__0 + .label rom_bank_start = fopen.fopen__4 .label file_size = rom_flash.rom_flash__29 } .segment Code // printf_ulong // Print an unsigned int using a specific format -// void printf_ulong(void (*putc)(char), __zp($30) unsigned long uvalue, __zp($e8) char format_min_length, char format_justify_left, char format_sign_always, __zp($e7) char format_zero_padding, char format_upper_case, __zp($e6) char format_radix) +// void printf_ulong(void (*putc)(char), __zp($30) unsigned long uvalue, __zp($ea) char format_min_length, char format_justify_left, char format_sign_always, __zp($e9) char format_zero_padding, char format_upper_case, __zp($e7) char format_radix) printf_ulong: { .label uvalue = $30 - .label format_radix = $e6 - .label format_min_length = $e8 - .label format_zero_padding = $e7 + .label format_radix = $e7 + .label format_min_length = $ea + .label format_zero_padding = $e9 // printf_ulong::@1 // printf_buffer.sign = format.sign_always?'+':0 - // [1483] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 + // [1471] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 // Handle any sign lda #0 sta printf_buffer // ultoa(uvalue, printf_buffer.digits, format.radix) - // [1484] ultoa::value#1 = printf_ulong::uvalue#10 - // [1485] ultoa::radix#0 = printf_ulong::format_radix#10 - // [1486] call ultoa + // [1472] ultoa::value#1 = printf_ulong::uvalue#10 + // [1473] ultoa::radix#0 = printf_ulong::format_radix#10 + // [1474] call ultoa // Format number into buffer jsr ultoa // printf_ulong::@2 // printf_number_buffer(putc, printf_buffer, format) - // [1487] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 + // [1475] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 lda printf_buffer sta.z printf_number_buffer.buffer_sign - // [1488] printf_number_buffer::format_min_length#0 = printf_ulong::format_min_length#10 - // [1489] printf_number_buffer::format_zero_padding#0 = printf_ulong::format_zero_padding#10 - // [1490] call printf_number_buffer + // [1476] printf_number_buffer::format_min_length#0 = printf_ulong::format_min_length#10 + // [1477] printf_number_buffer::format_zero_padding#0 = printf_ulong::format_zero_padding#10 + // [1478] call printf_number_buffer // Print using format - // [2157] phi from printf_ulong::@2 to printf_number_buffer [phi:printf_ulong::@2->printf_number_buffer] - // [2157] phi printf_number_buffer::putc#10 = &snputc [phi:printf_ulong::@2->printf_number_buffer#0] -- pprz1=pprc1 + // [2362] phi from printf_ulong::@2 to printf_number_buffer [phi:printf_ulong::@2->printf_number_buffer] + // [2362] phi printf_number_buffer::putc#10 = &snputc [phi:printf_ulong::@2->printf_number_buffer#0] -- pprz1=pprc1 lda #snputc sta.z printf_number_buffer.putc+1 - // [2157] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#0 [phi:printf_ulong::@2->printf_number_buffer#1] -- register_copy - // [2157] phi printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#0 [phi:printf_ulong::@2->printf_number_buffer#2] -- register_copy - // [2157] phi printf_number_buffer::format_min_length#3 = printf_number_buffer::format_min_length#0 [phi:printf_ulong::@2->printf_number_buffer#3] -- register_copy + // [2362] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#0 [phi:printf_ulong::@2->printf_number_buffer#1] -- register_copy + // [2362] phi printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#0 [phi:printf_ulong::@2->printf_number_buffer#2] -- register_copy + // [2362] phi printf_number_buffer::format_min_length#3 = printf_number_buffer::format_min_length#0 [phi:printf_ulong::@2->printf_number_buffer#3] -- register_copy jsr printf_number_buffer // printf_ulong::@return // } - // [1491] return + // [1479] return rts .segment Data uvalue_1: .dword 0 @@ -10021,16 +10090,16 @@ printf_ulong: { // __mem() unsigned long rom_flash(__mem() char rom_chip, __mem() char rom_bank_start, __mem() unsigned long file_size) rom_flash: { .label equal_bytes = $51 - .label equal_bytes_1 = $55 - .label flash_errors_sector = $d5 + .label equal_bytes_1 = $d7 + .label flash_errors_sector = $d9 .label ram_address = $c0 - .label rom_address = $f4 - .label x = $f2 + .label rom_address = $f5 + .label x = $f4 // display_action_progress("Flashing ... (-) equal, (+) flashed, (!) error.") - // [1493] call display_action_progress + // [1481] call display_action_progress // Now we compare the RAM with the actual ROM contents. - // [856] phi from rom_flash to display_action_progress [phi:rom_flash->display_action_progress] - // [856] phi display_action_progress::info_text#18 = rom_flash::info_text [phi:rom_flash->display_action_progress#0] -- pbuz1=pbuc1 + // [850] phi from rom_flash to display_action_progress [phi:rom_flash->display_action_progress] + // [850] phi display_action_progress::info_text#18 = rom_flash::info_text [phi:rom_flash->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text @@ -10038,13 +10107,13 @@ rom_flash: { jsr display_action_progress // rom_flash::@19 // unsigned long rom_address_sector = rom_address_from_bank(rom_bank_start) - // [1494] rom_address_from_bank::rom_bank#2 = rom_flash::rom_bank_start#0 - // [1495] call rom_address_from_bank - // [2424] phi from rom_flash::@19 to rom_address_from_bank [phi:rom_flash::@19->rom_address_from_bank] - // [2424] phi rom_address_from_bank::rom_bank#3 = rom_address_from_bank::rom_bank#2 [phi:rom_flash::@19->rom_address_from_bank#0] -- register_copy + // [1482] rom_address_from_bank::rom_bank#2 = rom_flash::rom_bank_start#0 + // [1483] call rom_address_from_bank + // [2393] phi from rom_flash::@19 to rom_address_from_bank [phi:rom_flash::@19->rom_address_from_bank] + // [2393] phi rom_address_from_bank::rom_bank#3 = rom_address_from_bank::rom_bank#2 [phi:rom_flash::@19->rom_address_from_bank#0] -- register_copy jsr rom_address_from_bank // unsigned long rom_address_sector = rom_address_from_bank(rom_bank_start) - // [1496] rom_address_from_bank::return#4 = rom_address_from_bank::return#0 -- vdum1=vduz2 + // [1484] rom_address_from_bank::return#4 = rom_address_from_bank::return#0 -- vdum1=vduz2 lda.z rom_address_from_bank.return sta rom_address_from_bank.return_2 lda.z rom_address_from_bank.return+1 @@ -10054,9 +10123,9 @@ rom_flash: { lda.z rom_address_from_bank.return+3 sta rom_address_from_bank.return_2+3 // rom_flash::@20 - // [1497] rom_flash::rom_address_sector#0 = rom_address_from_bank::return#4 + // [1485] rom_flash::rom_address_sector#0 = rom_address_from_bank::return#4 // unsigned long rom_boundary = rom_address_sector + file_size - // [1498] rom_flash::rom_boundary#0 = rom_flash::rom_address_sector#0 + rom_flash::file_size#0 -- vdum1=vdum2_plus_vdum3 + // [1486] rom_flash::rom_boundary#0 = rom_flash::rom_address_sector#0 + rom_flash::file_size#0 -- vdum1=vdum2_plus_vdum3 lda rom_address_sector clc adc file_size @@ -10071,29 +10140,29 @@ rom_flash: { adc file_size+3 sta rom_boundary+3 // display_info_rom(rom_chip, STATUS_FLASHING, "Flashing ...") - // [1499] display_info_rom::rom_chip#2 = rom_flash::rom_chip#0 -- vbuz1=vbum2 + // [1487] display_info_rom::rom_chip#2 = rom_flash::rom_chip#0 -- vbuz1=vbum2 lda rom_chip sta.z display_info_rom.rom_chip - // [1500] call display_info_rom - // [1282] phi from rom_flash::@20 to display_info_rom [phi:rom_flash::@20->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = rom_flash::info_text1 [phi:rom_flash::@20->display_info_rom#0] -- pbuz1=pbuc1 + // [1488] call display_info_rom + // [1270] phi from rom_flash::@20 to display_info_rom [phi:rom_flash::@20->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = rom_flash::info_text1 [phi:rom_flash::@20->display_info_rom#0] -- pbuz1=pbuc1 lda #info_text1 sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#2 [phi:rom_flash::@20->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_FLASHING [phi:rom_flash::@20->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#2 [phi:rom_flash::@20->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_FLASHING [phi:rom_flash::@20->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_FLASHING - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom - // [1501] phi from rom_flash::@20 to rom_flash::@1 [phi:rom_flash::@20->rom_flash::@1] - // [1501] phi rom_flash::y_sector#13 = PROGRESS_Y [phi:rom_flash::@20->rom_flash::@1#0] -- vbum1=vbuc1 + // [1489] phi from rom_flash::@20 to rom_flash::@1 [phi:rom_flash::@20->rom_flash::@1] + // [1489] phi rom_flash::y_sector#13 = PROGRESS_Y [phi:rom_flash::@20->rom_flash::@1#0] -- vbum1=vbuc1 lda #PROGRESS_Y sta y_sector - // [1501] phi rom_flash::x_sector#10 = PROGRESS_X [phi:rom_flash::@20->rom_flash::@1#1] -- vbum1=vbuc1 + // [1489] phi rom_flash::x_sector#10 = PROGRESS_X [phi:rom_flash::@20->rom_flash::@1#1] -- vbum1=vbuc1 lda #PROGRESS_X sta x_sector - // [1501] phi rom_flash::flash_errors#10 = 0 [phi:rom_flash::@20->rom_flash::@1#2] -- vdum1=vduc1 + // [1489] phi rom_flash::flash_errors#10 = 0 [phi:rom_flash::@20->rom_flash::@1#2] -- vdum1=vduc1 lda #<0 sta flash_errors sta flash_errors+1 @@ -10101,19 +10170,19 @@ rom_flash: { sta flash_errors+2 lda #>0>>$10 sta flash_errors+3 - // [1501] phi rom_flash::ram_address_sector#11 = (char *)$7800 [phi:rom_flash::@20->rom_flash::@1#3] -- pbum1=pbuc1 + // [1489] phi rom_flash::ram_address_sector#11 = (char *)$7800 [phi:rom_flash::@20->rom_flash::@1#3] -- pbum1=pbuc1 lda #<$7800 sta ram_address_sector lda #>$7800 sta ram_address_sector+1 - // [1501] phi rom_flash::bram_bank_sector#14 = 0 [phi:rom_flash::@20->rom_flash::@1#4] -- vbum1=vbuc1 + // [1489] phi rom_flash::bram_bank_sector#14 = 0 [phi:rom_flash::@20->rom_flash::@1#4] -- vbum1=vbuc1 lda #0 sta bram_bank_sector - // [1501] phi rom_flash::rom_address_sector#12 = rom_flash::rom_address_sector#0 [phi:rom_flash::@20->rom_flash::@1#5] -- register_copy + // [1489] phi rom_flash::rom_address_sector#12 = rom_flash::rom_address_sector#0 [phi:rom_flash::@20->rom_flash::@1#5] -- register_copy // rom_flash::@1 __b1: // while (rom_address_sector < rom_boundary) - // [1502] if(rom_flash::rom_address_sector#12rom_flash::@3] + // [1491] phi from rom_flash::@1 to rom_flash::@3 [phi:rom_flash::@1->rom_flash::@3] // rom_flash::@3 // display_action_text("Flashed ...") - // [1504] call display_action_text - // [1259] phi from rom_flash::@3 to display_action_text [phi:rom_flash::@3->display_action_text] - // [1259] phi display_action_text::info_text#19 = rom_flash::info_text2 [phi:rom_flash::@3->display_action_text#0] -- pbuz1=pbuc1 + // [1492] call display_action_text + // [1247] phi from rom_flash::@3 to display_action_text [phi:rom_flash::@3->display_action_text] + // [1247] phi display_action_text::info_text#19 = rom_flash::info_text2 [phi:rom_flash::@3->display_action_text#0] -- pbuz1=pbuc1 lda #info_text2 @@ -10143,20 +10212,20 @@ rom_flash: { jsr display_action_text // rom_flash::@return // } - // [1505] return + // [1493] return rts // rom_flash::@2 __b2: // unsigned int equal_bytes = rom_compare(bram_bank_sector, (ram_ptr_t)ram_address_sector, rom_address_sector, ROM_SECTOR) - // [1506] rom_compare::bank_ram#1 = rom_flash::bram_bank_sector#14 -- vbuz1=vbum2 + // [1494] rom_compare::bank_ram#1 = rom_flash::bram_bank_sector#14 -- vbuz1=vbum2 lda bram_bank_sector sta.z rom_compare.bank_ram - // [1507] rom_compare::ptr_ram#2 = rom_flash::ram_address_sector#11 -- pbuz1=pbum2 + // [1495] rom_compare::ptr_ram#2 = rom_flash::ram_address_sector#11 -- pbuz1=pbum2 lda ram_address_sector sta.z rom_compare.ptr_ram lda ram_address_sector+1 sta.z rom_compare.ptr_ram+1 - // [1508] rom_compare::rom_compare_address#1 = rom_flash::rom_address_sector#12 -- vduz1=vdum2 + // [1496] rom_compare::rom_compare_address#1 = rom_flash::rom_address_sector#12 -- vduz1=vdum2 lda rom_address_sector sta.z rom_compare.rom_compare_address lda rom_address_sector+1 @@ -10165,24 +10234,24 @@ rom_flash: { sta.z rom_compare.rom_compare_address+2 lda rom_address_sector+3 sta.z rom_compare.rom_compare_address+3 - // [1509] call rom_compare + // [1497] call rom_compare // {asm{.byte $db}} - // [2428] phi from rom_flash::@2 to rom_compare [phi:rom_flash::@2->rom_compare] - // [2428] phi rom_compare::ptr_ram#10 = rom_compare::ptr_ram#2 [phi:rom_flash::@2->rom_compare#0] -- register_copy - // [2428] phi rom_compare::rom_compare_size#11 = $1000 [phi:rom_flash::@2->rom_compare#1] -- vwuz1=vwuc1 + // [2397] phi from rom_flash::@2 to rom_compare [phi:rom_flash::@2->rom_compare] + // [2397] phi rom_compare::ptr_ram#10 = rom_compare::ptr_ram#2 [phi:rom_flash::@2->rom_compare#0] -- register_copy + // [2397] phi rom_compare::rom_compare_size#11 = $1000 [phi:rom_flash::@2->rom_compare#1] -- vwuz1=vwuc1 lda #<$1000 sta.z rom_compare.rom_compare_size lda #>$1000 sta.z rom_compare.rom_compare_size+1 - // [2428] phi rom_compare::rom_compare_address#3 = rom_compare::rom_compare_address#1 [phi:rom_flash::@2->rom_compare#2] -- register_copy - // [2428] phi rom_compare::bank_set_bram1_bank#0 = rom_compare::bank_ram#1 [phi:rom_flash::@2->rom_compare#3] -- register_copy + // [2397] phi rom_compare::rom_compare_address#3 = rom_compare::rom_compare_address#1 [phi:rom_flash::@2->rom_compare#2] -- register_copy + // [2397] phi rom_compare::bank_set_bram1_bank#0 = rom_compare::bank_ram#1 [phi:rom_flash::@2->rom_compare#3] -- register_copy jsr rom_compare // unsigned int equal_bytes = rom_compare(bram_bank_sector, (ram_ptr_t)ram_address_sector, rom_address_sector, ROM_SECTOR) - // [1510] rom_compare::return#3 = rom_compare::equal_bytes#2 + // [1498] rom_compare::return#3 = rom_compare::equal_bytes#2 // rom_flash::@21 - // [1511] rom_flash::equal_bytes#0 = rom_compare::return#3 + // [1499] rom_flash::equal_bytes#0 = rom_compare::return#3 // if (equal_bytes != ROM_SECTOR) - // [1512] if(rom_flash::equal_bytes#0!=$1000) goto rom_flash::@5 -- vwuz1_neq_vwuc1_then_la1 + // [1500] if(rom_flash::equal_bytes#0!=$1000) goto rom_flash::@5 -- vwuz1_neq_vwuc1_then_la1 lda.z equal_bytes+1 cmp #>$1000 beq !__b3+ @@ -10195,28 +10264,28 @@ rom_flash: { !__b3: // rom_flash::@16 // cputsxy(x_sector, y_sector, "--------") - // [1513] cputsxy::x#1 = rom_flash::x_sector#10 -- vbuz1=vbum2 + // [1501] cputsxy::x#1 = rom_flash::x_sector#10 -- vbuz1=vbum2 lda x_sector sta.z cputsxy.x - // [1514] cputsxy::y#1 = rom_flash::y_sector#13 -- vbuz1=vbum2 + // [1502] cputsxy::y#1 = rom_flash::y_sector#13 -- vbuz1=vbum2 lda y_sector sta.z cputsxy.y - // [1515] call cputsxy - // [849] phi from rom_flash::@16 to cputsxy [phi:rom_flash::@16->cputsxy] - // [849] phi cputsxy::s#4 = rom_flash::s [phi:rom_flash::@16->cputsxy#0] -- pbuz1=pbuc1 + // [1503] call cputsxy + // [843] phi from rom_flash::@16 to cputsxy [phi:rom_flash::@16->cputsxy] + // [843] phi cputsxy::s#4 = rom_flash::s [phi:rom_flash::@16->cputsxy#0] -- pbuz1=pbuc1 lda #s sta.z cputsxy.s+1 - // [849] phi cputsxy::y#4 = cputsxy::y#1 [phi:rom_flash::@16->cputsxy#1] -- register_copy - // [849] phi cputsxy::x#4 = cputsxy::x#1 [phi:rom_flash::@16->cputsxy#2] -- register_copy + // [843] phi cputsxy::y#4 = cputsxy::y#1 [phi:rom_flash::@16->cputsxy#1] -- register_copy + // [843] phi cputsxy::x#4 = cputsxy::x#1 [phi:rom_flash::@16->cputsxy#2] -- register_copy jsr cputsxy - // [1516] phi from rom_flash::@12 rom_flash::@16 to rom_flash::@4 [phi:rom_flash::@12/rom_flash::@16->rom_flash::@4] - // [1516] phi rom_flash::flash_errors#13 = rom_flash::flash_errors#1 [phi:rom_flash::@12/rom_flash::@16->rom_flash::@4#0] -- register_copy + // [1504] phi from rom_flash::@12 rom_flash::@16 to rom_flash::@4 [phi:rom_flash::@12/rom_flash::@16->rom_flash::@4] + // [1504] phi rom_flash::flash_errors#13 = rom_flash::flash_errors#1 [phi:rom_flash::@12/rom_flash::@16->rom_flash::@4#0] -- register_copy // rom_flash::@4 __b4: // ram_address_sector += ROM_SECTOR - // [1517] rom_flash::ram_address_sector#1 = rom_flash::ram_address_sector#11 + $1000 -- pbum1=pbum1_plus_vwuc1 + // [1505] rom_flash::ram_address_sector#1 = rom_flash::ram_address_sector#11 + $1000 -- pbum1=pbum1_plus_vwuc1 lda ram_address_sector clc adc #<$1000 @@ -10225,7 +10294,7 @@ rom_flash: { adc #>$1000 sta ram_address_sector+1 // rom_address_sector += ROM_SECTOR - // [1518] rom_flash::rom_address_sector#1 = rom_flash::rom_address_sector#12 + $1000 -- vdum1=vdum1_plus_vwuc1 + // [1506] rom_flash::rom_address_sector#1 = rom_flash::rom_address_sector#12 + $1000 -- vdum1=vdum1_plus_vwuc1 clc lda rom_address_sector adc #<$1000 @@ -10240,7 +10309,7 @@ rom_flash: { adc #0 sta rom_address_sector+3 // if (ram_address_sector == BRAM_HIGH) - // [1519] if(rom_flash::ram_address_sector#1!=$c000) goto rom_flash::@13 -- pbum1_neq_vwuc1_then_la1 + // [1507] if(rom_flash::ram_address_sector#1!=$c000) goto rom_flash::@13 -- pbum1_neq_vwuc1_then_la1 lda ram_address_sector+1 cmp #>$c000 bne __b13 @@ -10249,52 +10318,52 @@ rom_flash: { bne __b13 // rom_flash::@17 // bram_bank_sector++; - // [1520] rom_flash::bram_bank_sector#1 = ++ rom_flash::bram_bank_sector#14 -- vbum1=_inc_vbum1 + // [1508] rom_flash::bram_bank_sector#1 = ++ rom_flash::bram_bank_sector#14 -- vbum1=_inc_vbum1 inc bram_bank_sector - // [1521] phi from rom_flash::@17 to rom_flash::@13 [phi:rom_flash::@17->rom_flash::@13] - // [1521] phi rom_flash::bram_bank_sector#38 = rom_flash::bram_bank_sector#1 [phi:rom_flash::@17->rom_flash::@13#0] -- register_copy - // [1521] phi rom_flash::ram_address_sector#8 = (char *)$a000 [phi:rom_flash::@17->rom_flash::@13#1] -- pbum1=pbuc1 + // [1509] phi from rom_flash::@17 to rom_flash::@13 [phi:rom_flash::@17->rom_flash::@13] + // [1509] phi rom_flash::bram_bank_sector#38 = rom_flash::bram_bank_sector#1 [phi:rom_flash::@17->rom_flash::@13#0] -- register_copy + // [1509] phi rom_flash::ram_address_sector#8 = (char *)$a000 [phi:rom_flash::@17->rom_flash::@13#1] -- pbum1=pbuc1 lda #<$a000 sta ram_address_sector lda #>$a000 sta ram_address_sector+1 - // [1521] phi from rom_flash::@4 to rom_flash::@13 [phi:rom_flash::@4->rom_flash::@13] - // [1521] phi rom_flash::bram_bank_sector#38 = rom_flash::bram_bank_sector#14 [phi:rom_flash::@4->rom_flash::@13#0] -- register_copy - // [1521] phi rom_flash::ram_address_sector#8 = rom_flash::ram_address_sector#1 [phi:rom_flash::@4->rom_flash::@13#1] -- register_copy + // [1509] phi from rom_flash::@4 to rom_flash::@13 [phi:rom_flash::@4->rom_flash::@13] + // [1509] phi rom_flash::bram_bank_sector#38 = rom_flash::bram_bank_sector#14 [phi:rom_flash::@4->rom_flash::@13#0] -- register_copy + // [1509] phi rom_flash::ram_address_sector#8 = rom_flash::ram_address_sector#1 [phi:rom_flash::@4->rom_flash::@13#1] -- register_copy // rom_flash::@13 __b13: // if (ram_address_sector == RAM_HIGH) - // [1522] if(rom_flash::ram_address_sector#8!=$9800) goto rom_flash::@44 -- pbum1_neq_vwuc1_then_la1 + // [1510] if(rom_flash::ram_address_sector#8!=$9800) goto rom_flash::@44 -- pbum1_neq_vwuc1_then_la1 lda ram_address_sector+1 cmp #>$9800 bne __b14 lda ram_address_sector cmp #<$9800 bne __b14 - // [1524] phi from rom_flash::@13 to rom_flash::@14 [phi:rom_flash::@13->rom_flash::@14] - // [1524] phi rom_flash::ram_address_sector#15 = (char *)$a000 [phi:rom_flash::@13->rom_flash::@14#0] -- pbum1=pbuc1 + // [1512] phi from rom_flash::@13 to rom_flash::@14 [phi:rom_flash::@13->rom_flash::@14] + // [1512] phi rom_flash::ram_address_sector#15 = (char *)$a000 [phi:rom_flash::@13->rom_flash::@14#0] -- pbum1=pbuc1 lda #<$a000 sta ram_address_sector lda #>$a000 sta ram_address_sector+1 - // [1524] phi rom_flash::bram_bank_sector#12 = 1 [phi:rom_flash::@13->rom_flash::@14#1] -- vbum1=vbuc1 + // [1512] phi rom_flash::bram_bank_sector#12 = 1 [phi:rom_flash::@13->rom_flash::@14#1] -- vbum1=vbuc1 lda #1 sta bram_bank_sector - // [1523] phi from rom_flash::@13 to rom_flash::@44 [phi:rom_flash::@13->rom_flash::@44] + // [1511] phi from rom_flash::@13 to rom_flash::@44 [phi:rom_flash::@13->rom_flash::@44] // rom_flash::@44 - // [1524] phi from rom_flash::@44 to rom_flash::@14 [phi:rom_flash::@44->rom_flash::@14] - // [1524] phi rom_flash::ram_address_sector#15 = rom_flash::ram_address_sector#8 [phi:rom_flash::@44->rom_flash::@14#0] -- register_copy - // [1524] phi rom_flash::bram_bank_sector#12 = rom_flash::bram_bank_sector#38 [phi:rom_flash::@44->rom_flash::@14#1] -- register_copy + // [1512] phi from rom_flash::@44 to rom_flash::@14 [phi:rom_flash::@44->rom_flash::@14] + // [1512] phi rom_flash::ram_address_sector#15 = rom_flash::ram_address_sector#8 [phi:rom_flash::@44->rom_flash::@14#0] -- register_copy + // [1512] phi rom_flash::bram_bank_sector#12 = rom_flash::bram_bank_sector#38 [phi:rom_flash::@44->rom_flash::@14#1] -- register_copy // rom_flash::@14 __b14: // x_sector += 8 - // [1525] rom_flash::x_sector#1 = rom_flash::x_sector#10 + 8 -- vbum1=vbum1_plus_vbuc1 + // [1513] rom_flash::x_sector#1 = rom_flash::x_sector#10 + 8 -- vbum1=vbum1_plus_vbuc1 lda #8 clc adc x_sector sta x_sector // rom_address_sector % ROM_PROGRESS_ROW - // [1526] rom_flash::$29 = rom_flash::rom_address_sector#1 & ROM_PROGRESS_ROW-1 -- vdum1=vdum2_band_vduc1 + // [1514] rom_flash::$29 = rom_flash::rom_address_sector#1 & ROM_PROGRESS_ROW-1 -- vdum1=vdum2_band_vduc1 lda rom_address_sector and #ROM_PROGRESS_ROW-1>>$10 sta rom_flash__29+3 // if (!(rom_address_sector % ROM_PROGRESS_ROW)) - // [1527] if(0!=rom_flash::$29) goto rom_flash::@15 -- 0_neq_vdum1_then_la1 + // [1515] if(0!=rom_flash::$29) goto rom_flash::@15 -- 0_neq_vdum1_then_la1 lda rom_flash__29 ora rom_flash__29+1 ora rom_flash__29+2 @@ -10316,22 +10385,22 @@ rom_flash: { bne __b15 // rom_flash::@18 // y_sector++; - // [1528] rom_flash::y_sector#1 = ++ rom_flash::y_sector#13 -- vbum1=_inc_vbum1 + // [1516] rom_flash::y_sector#1 = ++ rom_flash::y_sector#13 -- vbum1=_inc_vbum1 inc y_sector - // [1529] phi from rom_flash::@18 to rom_flash::@15 [phi:rom_flash::@18->rom_flash::@15] - // [1529] phi rom_flash::y_sector#18 = rom_flash::y_sector#1 [phi:rom_flash::@18->rom_flash::@15#0] -- register_copy - // [1529] phi rom_flash::x_sector#20 = PROGRESS_X [phi:rom_flash::@18->rom_flash::@15#1] -- vbum1=vbuc1 + // [1517] phi from rom_flash::@18 to rom_flash::@15 [phi:rom_flash::@18->rom_flash::@15] + // [1517] phi rom_flash::y_sector#18 = rom_flash::y_sector#1 [phi:rom_flash::@18->rom_flash::@15#0] -- register_copy + // [1517] phi rom_flash::x_sector#20 = PROGRESS_X [phi:rom_flash::@18->rom_flash::@15#1] -- vbum1=vbuc1 lda #PROGRESS_X sta x_sector - // [1529] phi from rom_flash::@14 to rom_flash::@15 [phi:rom_flash::@14->rom_flash::@15] - // [1529] phi rom_flash::y_sector#18 = rom_flash::y_sector#13 [phi:rom_flash::@14->rom_flash::@15#0] -- register_copy - // [1529] phi rom_flash::x_sector#20 = rom_flash::x_sector#1 [phi:rom_flash::@14->rom_flash::@15#1] -- register_copy + // [1517] phi from rom_flash::@14 to rom_flash::@15 [phi:rom_flash::@14->rom_flash::@15] + // [1517] phi rom_flash::y_sector#18 = rom_flash::y_sector#13 [phi:rom_flash::@14->rom_flash::@15#0] -- register_copy + // [1517] phi rom_flash::x_sector#20 = rom_flash::x_sector#1 [phi:rom_flash::@14->rom_flash::@15#1] -- register_copy // rom_flash::@15 __b15: // sprintf(info_text, "%u flash errors ...", flash_errors) - // [1530] call snprintf_init - // [1011] phi from rom_flash::@15 to snprintf_init [phi:rom_flash::@15->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:rom_flash::@15->snprintf_init#0] -- pbuz1=pbuc1 + // [1518] call snprintf_init + // [1151] phi from rom_flash::@15 to snprintf_init [phi:rom_flash::@15->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:rom_flash::@15->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text @@ -10339,7 +10408,7 @@ rom_flash: { jsr snprintf_init // rom_flash::@40 // sprintf(info_text, "%u flash errors ...", flash_errors) - // [1531] printf_ulong::uvalue#6 = rom_flash::flash_errors#13 -- vduz1=vdum2 + // [1519] printf_ulong::uvalue#6 = rom_flash::flash_errors#13 -- vduz1=vdum2 lda flash_errors sta.z printf_ulong.uvalue lda flash_errors+1 @@ -10348,29 +10417,29 @@ rom_flash: { sta.z printf_ulong.uvalue+2 lda flash_errors+3 sta.z printf_ulong.uvalue+3 - // [1532] call printf_ulong - // [1482] phi from rom_flash::@40 to printf_ulong [phi:rom_flash::@40->printf_ulong] - // [1482] phi printf_ulong::format_zero_padding#10 = 0 [phi:rom_flash::@40->printf_ulong#0] -- vbuz1=vbuc1 + // [1520] call printf_ulong + // [1470] phi from rom_flash::@40 to printf_ulong [phi:rom_flash::@40->printf_ulong] + // [1470] phi printf_ulong::format_zero_padding#10 = 0 [phi:rom_flash::@40->printf_ulong#0] -- vbuz1=vbuc1 lda #0 sta.z printf_ulong.format_zero_padding - // [1482] phi printf_ulong::format_min_length#10 = 0 [phi:rom_flash::@40->printf_ulong#1] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_min_length#10 = 0 [phi:rom_flash::@40->printf_ulong#1] -- vbuz1=vbuc1 sta.z printf_ulong.format_min_length - // [1482] phi printf_ulong::format_radix#10 = DECIMAL [phi:rom_flash::@40->printf_ulong#2] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_radix#10 = DECIMAL [phi:rom_flash::@40->printf_ulong#2] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_ulong.format_radix - // [1482] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#6 [phi:rom_flash::@40->printf_ulong#3] -- register_copy + // [1470] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#6 [phi:rom_flash::@40->printf_ulong#3] -- register_copy jsr printf_ulong - // [1533] phi from rom_flash::@40 to rom_flash::@41 [phi:rom_flash::@40->rom_flash::@41] + // [1521] phi from rom_flash::@40 to rom_flash::@41 [phi:rom_flash::@40->rom_flash::@41] // rom_flash::@41 // sprintf(info_text, "%u flash errors ...", flash_errors) - // [1534] call printf_str - // [1016] phi from rom_flash::@41 to printf_str [phi:rom_flash::@41->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_flash::@41->printf_str#0] -- pprz1=pprc1 + // [1522] call printf_str + // [1156] phi from rom_flash::@41 to printf_str [phi:rom_flash::@41->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_flash::@41->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = rom_flash::s6 [phi:rom_flash::@41->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = rom_flash::s6 [phi:rom_flash::@41->printf_str#1] -- pbuz1=pbuc1 lda #s6 @@ -10378,52 +10447,52 @@ rom_flash: { jsr printf_str // rom_flash::@42 // sprintf(info_text, "%u flash errors ...", flash_errors) - // [1535] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1523] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1536] callexecute snputc -- call_vprc1 + // [1524] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_info_rom(rom_chip, STATUS_FLASHING, info_text) - // [1538] display_info_rom::rom_chip#3 = rom_flash::rom_chip#0 -- vbuz1=vbum2 + // [1526] display_info_rom::rom_chip#3 = rom_flash::rom_chip#0 -- vbuz1=vbum2 lda rom_chip sta.z display_info_rom.rom_chip - // [1539] call display_info_rom - // [1282] phi from rom_flash::@42 to display_info_rom [phi:rom_flash::@42->display_info_rom] - // [1282] phi display_info_rom::info_text#16 = info_text [phi:rom_flash::@42->display_info_rom#0] -- pbuz1=pbuc1 + // [1527] call display_info_rom + // [1270] phi from rom_flash::@42 to display_info_rom [phi:rom_flash::@42->display_info_rom] + // [1270] phi display_info_rom::info_text#16 = info_text [phi:rom_flash::@42->display_info_rom#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_info_rom.info_text lda #>@info_text sta.z display_info_rom.info_text+1 - // [1282] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#3 [phi:rom_flash::@42->display_info_rom#1] -- register_copy - // [1282] phi display_info_rom::info_status#16 = STATUS_FLASHING [phi:rom_flash::@42->display_info_rom#2] -- vbuz1=vbuc1 + // [1270] phi display_info_rom::rom_chip#16 = display_info_rom::rom_chip#3 [phi:rom_flash::@42->display_info_rom#1] -- register_copy + // [1270] phi display_info_rom::info_status#16 = STATUS_FLASHING [phi:rom_flash::@42->display_info_rom#2] -- vbum1=vbuc1 lda #STATUS_FLASHING - sta.z display_info_rom.info_status + sta display_info_rom.info_status jsr display_info_rom - // [1501] phi from rom_flash::@42 to rom_flash::@1 [phi:rom_flash::@42->rom_flash::@1] - // [1501] phi rom_flash::y_sector#13 = rom_flash::y_sector#18 [phi:rom_flash::@42->rom_flash::@1#0] -- register_copy - // [1501] phi rom_flash::x_sector#10 = rom_flash::x_sector#20 [phi:rom_flash::@42->rom_flash::@1#1] -- register_copy - // [1501] phi rom_flash::flash_errors#10 = rom_flash::flash_errors#13 [phi:rom_flash::@42->rom_flash::@1#2] -- register_copy - // [1501] phi rom_flash::ram_address_sector#11 = rom_flash::ram_address_sector#15 [phi:rom_flash::@42->rom_flash::@1#3] -- register_copy - // [1501] phi rom_flash::bram_bank_sector#14 = rom_flash::bram_bank_sector#12 [phi:rom_flash::@42->rom_flash::@1#4] -- register_copy - // [1501] phi rom_flash::rom_address_sector#12 = rom_flash::rom_address_sector#1 [phi:rom_flash::@42->rom_flash::@1#5] -- register_copy + // [1489] phi from rom_flash::@42 to rom_flash::@1 [phi:rom_flash::@42->rom_flash::@1] + // [1489] phi rom_flash::y_sector#13 = rom_flash::y_sector#18 [phi:rom_flash::@42->rom_flash::@1#0] -- register_copy + // [1489] phi rom_flash::x_sector#10 = rom_flash::x_sector#20 [phi:rom_flash::@42->rom_flash::@1#1] -- register_copy + // [1489] phi rom_flash::flash_errors#10 = rom_flash::flash_errors#13 [phi:rom_flash::@42->rom_flash::@1#2] -- register_copy + // [1489] phi rom_flash::ram_address_sector#11 = rom_flash::ram_address_sector#15 [phi:rom_flash::@42->rom_flash::@1#3] -- register_copy + // [1489] phi rom_flash::bram_bank_sector#14 = rom_flash::bram_bank_sector#12 [phi:rom_flash::@42->rom_flash::@1#4] -- register_copy + // [1489] phi rom_flash::rom_address_sector#12 = rom_flash::rom_address_sector#1 [phi:rom_flash::@42->rom_flash::@1#5] -- register_copy jmp __b1 - // [1540] phi from rom_flash::@21 to rom_flash::@5 [phi:rom_flash::@21->rom_flash::@5] + // [1528] phi from rom_flash::@21 to rom_flash::@5 [phi:rom_flash::@21->rom_flash::@5] __b3: - // [1540] phi rom_flash::retries#12 = 0 [phi:rom_flash::@21->rom_flash::@5#0] -- vbum1=vbuc1 + // [1528] phi rom_flash::retries#12 = 0 [phi:rom_flash::@21->rom_flash::@5#0] -- vbum1=vbuc1 lda #0 sta retries - // [1540] phi rom_flash::flash_errors_sector#11 = 0 [phi:rom_flash::@21->rom_flash::@5#1] -- vwuz1=vwuc1 + // [1528] phi rom_flash::flash_errors_sector#11 = 0 [phi:rom_flash::@21->rom_flash::@5#1] -- vwuz1=vwuc1 sta.z flash_errors_sector sta.z flash_errors_sector+1 - // [1540] phi from rom_flash::@43 to rom_flash::@5 [phi:rom_flash::@43->rom_flash::@5] - // [1540] phi rom_flash::retries#12 = rom_flash::retries#1 [phi:rom_flash::@43->rom_flash::@5#0] -- register_copy - // [1540] phi rom_flash::flash_errors_sector#11 = rom_flash::flash_errors_sector#10 [phi:rom_flash::@43->rom_flash::@5#1] -- register_copy + // [1528] phi from rom_flash::@43 to rom_flash::@5 [phi:rom_flash::@43->rom_flash::@5] + // [1528] phi rom_flash::retries#12 = rom_flash::retries#1 [phi:rom_flash::@43->rom_flash::@5#0] -- register_copy + // [1528] phi rom_flash::flash_errors_sector#11 = rom_flash::flash_errors_sector#10 [phi:rom_flash::@43->rom_flash::@5#1] -- register_copy // rom_flash::@5 __b5: // rom_sector_erase(rom_address_sector) - // [1541] rom_sector_erase::address#0 = rom_flash::rom_address_sector#12 -- vdum1=vdum2 + // [1529] rom_sector_erase::address#0 = rom_flash::rom_address_sector#12 -- vdum1=vdum2 lda rom_address_sector sta rom_sector_erase.address lda rom_address_sector+1 @@ -10432,12 +10501,12 @@ rom_flash: { sta rom_sector_erase.address+2 lda rom_address_sector+3 sta rom_sector_erase.address+3 - // [1542] call rom_sector_erase - // [2484] phi from rom_flash::@5 to rom_sector_erase [phi:rom_flash::@5->rom_sector_erase] + // [1530] call rom_sector_erase + // [2453] phi from rom_flash::@5 to rom_sector_erase [phi:rom_flash::@5->rom_sector_erase] jsr rom_sector_erase // rom_flash::@22 // unsigned long rom_sector_boundary = rom_address_sector + ROM_SECTOR - // [1543] rom_flash::rom_sector_boundary#0 = rom_flash::rom_address_sector#12 + $1000 -- vdum1=vdum2_plus_vwuc1 + // [1531] rom_flash::rom_sector_boundary#0 = rom_flash::rom_address_sector#12 + $1000 -- vdum1=vdum2_plus_vwuc1 clc lda rom_address_sector adc #<$1000 @@ -10452,35 +10521,35 @@ rom_flash: { adc #0 sta rom_sector_boundary+3 // gotoxy(x, y) - // [1544] gotoxy::x#28 = rom_flash::x_sector#10 -- vbuz1=vbum2 + // [1532] gotoxy::x#28 = rom_flash::x_sector#10 -- vbuz1=vbum2 lda x_sector sta.z gotoxy.x - // [1545] gotoxy::y#28 = rom_flash::y_sector#13 -- vbuz1=vbum2 + // [1533] gotoxy::y#28 = rom_flash::y_sector#13 -- vbuz1=vbum2 lda y_sector sta.z gotoxy.y - // [1546] call gotoxy - // [762] phi from rom_flash::@22 to gotoxy [phi:rom_flash::@22->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#28 [phi:rom_flash::@22->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#28 [phi:rom_flash::@22->gotoxy#1] -- register_copy + // [1534] call gotoxy + // [756] phi from rom_flash::@22 to gotoxy [phi:rom_flash::@22->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#28 [phi:rom_flash::@22->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#28 [phi:rom_flash::@22->gotoxy#1] -- register_copy jsr gotoxy - // [1547] phi from rom_flash::@22 to rom_flash::@23 [phi:rom_flash::@22->rom_flash::@23] + // [1535] phi from rom_flash::@22 to rom_flash::@23 [phi:rom_flash::@22->rom_flash::@23] // rom_flash::@23 // printf("........") - // [1548] call printf_str - // [1016] phi from rom_flash::@23 to printf_str [phi:rom_flash::@23->printf_str] - // [1016] phi printf_str::putc#71 = &cputc [phi:rom_flash::@23->printf_str#0] -- pprz1=pprc1 + // [1536] call printf_str + // [1156] phi from rom_flash::@23 to printf_str [phi:rom_flash::@23->printf_str] + // [1156] phi printf_str::putc#71 = &cputc [phi:rom_flash::@23->printf_str#0] -- pprz1=pprc1 lda #cputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = rom_flash::s1 [phi:rom_flash::@23->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = rom_flash::s1 [phi:rom_flash::@23->printf_str#1] -- pbuz1=pbuc1 lda #s1 sta.z printf_str.s+1 jsr printf_str // rom_flash::@24 - // [1549] rom_flash::rom_address#26 = rom_flash::rom_address_sector#12 -- vduz1=vdum2 + // [1537] rom_flash::rom_address#26 = rom_flash::rom_address_sector#12 -- vduz1=vdum2 lda rom_address_sector sta.z rom_address lda rom_address_sector+1 @@ -10489,23 +10558,23 @@ rom_flash: { sta.z rom_address+2 lda rom_address_sector+3 sta.z rom_address+3 - // [1550] rom_flash::ram_address#26 = rom_flash::ram_address_sector#11 -- pbuz1=pbum2 + // [1538] rom_flash::ram_address#26 = rom_flash::ram_address_sector#11 -- pbuz1=pbum2 lda ram_address_sector sta.z ram_address lda ram_address_sector+1 sta.z ram_address+1 - // [1551] rom_flash::x#26 = rom_flash::x_sector#10 -- vbuz1=vbum2 + // [1539] rom_flash::x#26 = rom_flash::x_sector#10 -- vbuz1=vbum2 lda x_sector sta.z x - // [1552] phi from rom_flash::@10 rom_flash::@24 to rom_flash::@6 [phi:rom_flash::@10/rom_flash::@24->rom_flash::@6] - // [1552] phi rom_flash::x#10 = rom_flash::x#1 [phi:rom_flash::@10/rom_flash::@24->rom_flash::@6#0] -- register_copy - // [1552] phi rom_flash::ram_address#10 = rom_flash::ram_address#1 [phi:rom_flash::@10/rom_flash::@24->rom_flash::@6#1] -- register_copy - // [1552] phi rom_flash::flash_errors_sector#10 = rom_flash::flash_errors_sector#8 [phi:rom_flash::@10/rom_flash::@24->rom_flash::@6#2] -- register_copy - // [1552] phi rom_flash::rom_address#11 = rom_flash::rom_address#1 [phi:rom_flash::@10/rom_flash::@24->rom_flash::@6#3] -- register_copy + // [1540] phi from rom_flash::@10 rom_flash::@24 to rom_flash::@6 [phi:rom_flash::@10/rom_flash::@24->rom_flash::@6] + // [1540] phi rom_flash::x#10 = rom_flash::x#1 [phi:rom_flash::@10/rom_flash::@24->rom_flash::@6#0] -- register_copy + // [1540] phi rom_flash::ram_address#10 = rom_flash::ram_address#1 [phi:rom_flash::@10/rom_flash::@24->rom_flash::@6#1] -- register_copy + // [1540] phi rom_flash::flash_errors_sector#10 = rom_flash::flash_errors_sector#8 [phi:rom_flash::@10/rom_flash::@24->rom_flash::@6#2] -- register_copy + // [1540] phi rom_flash::rom_address#11 = rom_flash::rom_address#1 [phi:rom_flash::@10/rom_flash::@24->rom_flash::@6#3] -- register_copy // rom_flash::@6 __b6: // while (rom_address < rom_sector_boundary) - // [1553] if(rom_flash::rom_address#11 ROM:%05x ... %u flash errors ...", bram_bank_sector, ram_address_sector, rom_address_sector, flash_errors_sector + flash_errors) - // [1558] printf_ulong::uvalue#5 = rom_flash::flash_errors_sector#10 + rom_flash::flash_errors#10 -- vdum1=vwuz2_plus_vdum3 + // [1546] printf_ulong::uvalue#5 = rom_flash::flash_errors_sector#10 + rom_flash::flash_errors#10 -- vdum1=vwuz2_plus_vdum3 lda flash_errors clc adc.z flash_errors_sector @@ -10573,25 +10642,25 @@ rom_flash: { lda flash_errors+3 adc #0 sta printf_ulong.uvalue_1+3 - // [1559] call snprintf_init - // [1011] phi from rom_flash::@7 to snprintf_init [phi:rom_flash::@7->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:rom_flash::@7->snprintf_init#0] -- pbuz1=pbuc1 + // [1547] call snprintf_init + // [1151] phi from rom_flash::@7 to snprintf_init [phi:rom_flash::@7->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:rom_flash::@7->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [1560] phi from rom_flash::@7 to rom_flash::@25 [phi:rom_flash::@7->rom_flash::@25] + // [1548] phi from rom_flash::@7 to rom_flash::@25 [phi:rom_flash::@7->rom_flash::@25] // rom_flash::@25 // sprintf(info_text, "Flashing ... RAM:%02x:%04p -> ROM:%05x ... %u flash errors ...", bram_bank_sector, ram_address_sector, rom_address_sector, flash_errors_sector + flash_errors) - // [1561] call printf_str - // [1016] phi from rom_flash::@25 to printf_str [phi:rom_flash::@25->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_flash::@25->printf_str#0] -- pprz1=pprc1 + // [1549] call printf_str + // [1156] phi from rom_flash::@25 to printf_str [phi:rom_flash::@25->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_flash::@25->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = rom_flash::s2 [phi:rom_flash::@25->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = rom_flash::s2 [phi:rom_flash::@25->printf_str#1] -- pbuz1=pbuc1 lda #s2 @@ -10599,38 +10668,38 @@ rom_flash: { jsr printf_str // rom_flash::@26 // sprintf(info_text, "Flashing ... RAM:%02x:%04p -> ROM:%05x ... %u flash errors ...", bram_bank_sector, ram_address_sector, rom_address_sector, flash_errors_sector + flash_errors) - // [1562] printf_uchar::uvalue#11 = rom_flash::bram_bank_sector#14 -- vbuz1=vbum2 + // [1550] printf_uchar::uvalue#11 = rom_flash::bram_bank_sector#14 -- vbuz1=vbum2 lda bram_bank_sector sta.z printf_uchar.uvalue - // [1563] call printf_uchar - // [1248] phi from rom_flash::@26 to printf_uchar [phi:rom_flash::@26->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 1 [phi:rom_flash::@26->printf_uchar#0] -- vbuz1=vbuc1 + // [1551] call printf_uchar + // [1236] phi from rom_flash::@26 to printf_uchar [phi:rom_flash::@26->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 1 [phi:rom_flash::@26->printf_uchar#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 2 [phi:rom_flash::@26->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 2 [phi:rom_flash::@26->printf_uchar#1] -- vbuz1=vbuc1 lda #2 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:rom_flash::@26->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:rom_flash::@26->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = HEXADECIMAL [phi:rom_flash::@26->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = HEXADECIMAL [phi:rom_flash::@26->printf_uchar#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#11 [phi:rom_flash::@26->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#11 [phi:rom_flash::@26->printf_uchar#4] -- register_copy jsr printf_uchar - // [1564] phi from rom_flash::@26 to rom_flash::@27 [phi:rom_flash::@26->rom_flash::@27] + // [1552] phi from rom_flash::@26 to rom_flash::@27 [phi:rom_flash::@26->rom_flash::@27] // rom_flash::@27 // sprintf(info_text, "Flashing ... RAM:%02x:%04p -> ROM:%05x ... %u flash errors ...", bram_bank_sector, ram_address_sector, rom_address_sector, flash_errors_sector + flash_errors) - // [1565] call printf_str - // [1016] phi from rom_flash::@27 to printf_str [phi:rom_flash::@27->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_flash::@27->printf_str#0] -- pprz1=pprc1 + // [1553] call printf_str + // [1156] phi from rom_flash::@27 to printf_str [phi:rom_flash::@27->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_flash::@27->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s3 [phi:rom_flash::@27->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s3 [phi:rom_flash::@27->printf_str#1] -- pbuz1=pbuc1 lda #s3 @@ -10638,35 +10707,40 @@ rom_flash: { jsr printf_str // rom_flash::@28 // sprintf(info_text, "Flashing ... RAM:%02x:%04p -> ROM:%05x ... %u flash errors ...", bram_bank_sector, ram_address_sector, rom_address_sector, flash_errors_sector + flash_errors) - // [1566] printf_uint::uvalue#11 = (unsigned int)rom_flash::ram_address_sector#11 -- vwuz1=vwum2 + // [1554] printf_uint::uvalue#12 = (unsigned int)rom_flash::ram_address_sector#11 -- vwuz1=vwum2 lda ram_address_sector sta.z printf_uint.uvalue lda ram_address_sector+1 sta.z printf_uint.uvalue+1 - // [1567] call printf_uint - // [1025] phi from rom_flash::@28 to printf_uint [phi:rom_flash::@28->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:rom_flash::@28->printf_uint#0] -- vbuz1=vbuc1 + // [1555] call printf_uint + // [1810] phi from rom_flash::@28 to printf_uint [phi:rom_flash::@28->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:rom_flash::@28->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 4 [phi:rom_flash::@28->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 4 [phi:rom_flash::@28->printf_uint#1] -- vbuz1=vbuc1 lda #4 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:rom_flash::@28->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:rom_flash::@28->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:rom_flash::@28->printf_uint#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#11 [phi:rom_flash::@28->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#12 [phi:rom_flash::@28->printf_uint#4] -- register_copy jsr printf_uint - // [1568] phi from rom_flash::@28 to rom_flash::@29 [phi:rom_flash::@28->rom_flash::@29] + // [1556] phi from rom_flash::@28 to rom_flash::@29 [phi:rom_flash::@28->rom_flash::@29] // rom_flash::@29 // sprintf(info_text, "Flashing ... RAM:%02x:%04p -> ROM:%05x ... %u flash errors ...", bram_bank_sector, ram_address_sector, rom_address_sector, flash_errors_sector + flash_errors) - // [1569] call printf_str - // [1016] phi from rom_flash::@29 to printf_str [phi:rom_flash::@29->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_flash::@29->printf_str#0] -- pprz1=pprc1 + // [1557] call printf_str + // [1156] phi from rom_flash::@29 to printf_str [phi:rom_flash::@29->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_flash::@29->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = rom_flash::s4 [phi:rom_flash::@29->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = rom_flash::s4 [phi:rom_flash::@29->printf_str#1] -- pbuz1=pbuc1 lda #s4 @@ -10674,7 +10748,7 @@ rom_flash: { jsr printf_str // rom_flash::@30 // sprintf(info_text, "Flashing ... RAM:%02x:%04p -> ROM:%05x ... %u flash errors ...", bram_bank_sector, ram_address_sector, rom_address_sector, flash_errors_sector + flash_errors) - // [1570] printf_ulong::uvalue#4 = rom_flash::rom_address_sector#12 -- vduz1=vdum2 + // [1558] printf_ulong::uvalue#4 = rom_flash::rom_address_sector#12 -- vduz1=vdum2 lda rom_address_sector sta.z printf_ulong.uvalue lda rom_address_sector+1 @@ -10683,37 +10757,37 @@ rom_flash: { sta.z printf_ulong.uvalue+2 lda rom_address_sector+3 sta.z printf_ulong.uvalue+3 - // [1571] call printf_ulong - // [1482] phi from rom_flash::@30 to printf_ulong [phi:rom_flash::@30->printf_ulong] - // [1482] phi printf_ulong::format_zero_padding#10 = 1 [phi:rom_flash::@30->printf_ulong#0] -- vbuz1=vbuc1 + // [1559] call printf_ulong + // [1470] phi from rom_flash::@30 to printf_ulong [phi:rom_flash::@30->printf_ulong] + // [1470] phi printf_ulong::format_zero_padding#10 = 1 [phi:rom_flash::@30->printf_ulong#0] -- vbuz1=vbuc1 lda #1 sta.z printf_ulong.format_zero_padding - // [1482] phi printf_ulong::format_min_length#10 = 5 [phi:rom_flash::@30->printf_ulong#1] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_min_length#10 = 5 [phi:rom_flash::@30->printf_ulong#1] -- vbuz1=vbuc1 lda #5 sta.z printf_ulong.format_min_length - // [1482] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:rom_flash::@30->printf_ulong#2] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_radix#10 = HEXADECIMAL [phi:rom_flash::@30->printf_ulong#2] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_ulong.format_radix - // [1482] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#4 [phi:rom_flash::@30->printf_ulong#3] -- register_copy + // [1470] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#4 [phi:rom_flash::@30->printf_ulong#3] -- register_copy jsr printf_ulong - // [1572] phi from rom_flash::@30 to rom_flash::@31 [phi:rom_flash::@30->rom_flash::@31] + // [1560] phi from rom_flash::@30 to rom_flash::@31 [phi:rom_flash::@30->rom_flash::@31] // rom_flash::@31 // sprintf(info_text, "Flashing ... RAM:%02x:%04p -> ROM:%05x ... %u flash errors ...", bram_bank_sector, ram_address_sector, rom_address_sector, flash_errors_sector + flash_errors) - // [1573] call printf_str - // [1016] phi from rom_flash::@31 to printf_str [phi:rom_flash::@31->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_flash::@31->printf_str#0] -- pprz1=pprc1 + // [1561] call printf_str + // [1156] phi from rom_flash::@31 to printf_str [phi:rom_flash::@31->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_flash::@31->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = rom_flash::s5 [phi:rom_flash::@31->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = rom_flash::s5 [phi:rom_flash::@31->printf_str#1] -- pbuz1=pbuc1 lda #s5 sta.z printf_str.s+1 jsr printf_str // rom_flash::@32 - // [1574] printf_ulong::uvalue#16 = printf_ulong::uvalue#5 -- vduz1=vdum2 + // [1562] printf_ulong::uvalue#16 = printf_ulong::uvalue#5 -- vduz1=vdum2 lda printf_ulong.uvalue_1 sta.z printf_ulong.uvalue lda printf_ulong.uvalue_1+1 @@ -10723,29 +10797,29 @@ rom_flash: { lda printf_ulong.uvalue_1+3 sta.z printf_ulong.uvalue+3 // sprintf(info_text, "Flashing ... RAM:%02x:%04p -> ROM:%05x ... %u flash errors ...", bram_bank_sector, ram_address_sector, rom_address_sector, flash_errors_sector + flash_errors) - // [1575] call printf_ulong - // [1482] phi from rom_flash::@32 to printf_ulong [phi:rom_flash::@32->printf_ulong] - // [1482] phi printf_ulong::format_zero_padding#10 = 0 [phi:rom_flash::@32->printf_ulong#0] -- vbuz1=vbuc1 + // [1563] call printf_ulong + // [1470] phi from rom_flash::@32 to printf_ulong [phi:rom_flash::@32->printf_ulong] + // [1470] phi printf_ulong::format_zero_padding#10 = 0 [phi:rom_flash::@32->printf_ulong#0] -- vbuz1=vbuc1 lda #0 sta.z printf_ulong.format_zero_padding - // [1482] phi printf_ulong::format_min_length#10 = 0 [phi:rom_flash::@32->printf_ulong#1] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_min_length#10 = 0 [phi:rom_flash::@32->printf_ulong#1] -- vbuz1=vbuc1 sta.z printf_ulong.format_min_length - // [1482] phi printf_ulong::format_radix#10 = DECIMAL [phi:rom_flash::@32->printf_ulong#2] -- vbuz1=vbuc1 + // [1470] phi printf_ulong::format_radix#10 = DECIMAL [phi:rom_flash::@32->printf_ulong#2] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_ulong.format_radix - // [1482] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#16 [phi:rom_flash::@32->printf_ulong#3] -- register_copy + // [1470] phi printf_ulong::uvalue#10 = printf_ulong::uvalue#16 [phi:rom_flash::@32->printf_ulong#3] -- register_copy jsr printf_ulong - // [1576] phi from rom_flash::@32 to rom_flash::@33 [phi:rom_flash::@32->rom_flash::@33] + // [1564] phi from rom_flash::@32 to rom_flash::@33 [phi:rom_flash::@32->rom_flash::@33] // rom_flash::@33 // sprintf(info_text, "Flashing ... RAM:%02x:%04p -> ROM:%05x ... %u flash errors ...", bram_bank_sector, ram_address_sector, rom_address_sector, flash_errors_sector + flash_errors) - // [1577] call printf_str - // [1016] phi from rom_flash::@33 to printf_str [phi:rom_flash::@33->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_flash::@33->printf_str#0] -- pprz1=pprc1 + // [1565] call printf_str + // [1156] phi from rom_flash::@33 to printf_str [phi:rom_flash::@33->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_flash::@33->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = rom_flash::s6 [phi:rom_flash::@33->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = rom_flash::s6 [phi:rom_flash::@33->printf_str#1] -- pbuz1=pbuc1 lda #s6 @@ -10753,17 +10827,17 @@ rom_flash: { jsr printf_str // rom_flash::@34 // sprintf(info_text, "Flashing ... RAM:%02x:%04p -> ROM:%05x ... %u flash errors ...", bram_bank_sector, ram_address_sector, rom_address_sector, flash_errors_sector + flash_errors) - // [1578] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1566] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1579] callexecute snputc -- call_vprc1 + // [1567] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [1581] call display_action_text - // [1259] phi from rom_flash::@34 to display_action_text [phi:rom_flash::@34->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:rom_flash::@34->display_action_text#0] -- pbuz1=pbuc1 + // [1569] call display_action_text + // [1247] phi from rom_flash::@34 to display_action_text [phi:rom_flash::@34->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:rom_flash::@34->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text @@ -10771,15 +10845,15 @@ rom_flash: { jsr display_action_text // rom_flash::@35 // unsigned long written_bytes = rom_write(bram_bank, (ram_ptr_t)ram_address, rom_address, ROM_PROGRESS_CELL) - // [1582] rom_write::flash_ram_bank#0 = rom_flash::bram_bank_sector#14 -- vbuz1=vbum2 + // [1570] rom_write::flash_ram_bank#0 = rom_flash::bram_bank_sector#14 -- vbuz1=vbum2 lda bram_bank_sector sta.z rom_write.flash_ram_bank - // [1583] rom_write::flash_ram_address#1 = rom_flash::ram_address#10 -- pbuz1=pbuz2 + // [1571] rom_write::flash_ram_address#1 = rom_flash::ram_address#10 -- pbuz1=pbuz2 lda.z ram_address sta.z rom_write.flash_ram_address lda.z ram_address+1 sta.z rom_write.flash_ram_address+1 - // [1584] rom_write::flash_rom_address#1 = rom_flash::rom_address#11 -- vduz1=vduz2 + // [1572] rom_write::flash_rom_address#1 = rom_flash::rom_address#11 -- vduz1=vduz2 lda.z rom_address sta.z rom_write.flash_rom_address lda.z rom_address+1 @@ -10788,19 +10862,19 @@ rom_flash: { sta.z rom_write.flash_rom_address+2 lda.z rom_address+3 sta.z rom_write.flash_rom_address+3 - // [1585] call rom_write + // [1573] call rom_write jsr rom_write // rom_flash::@36 // rom_compare(bram_bank, (ram_ptr_t)ram_address, rom_address, ROM_PROGRESS_CELL) - // [1586] rom_compare::bank_ram#2 = rom_flash::bram_bank_sector#14 -- vbuz1=vbum2 + // [1574] rom_compare::bank_ram#2 = rom_flash::bram_bank_sector#14 -- vbuz1=vbum2 lda bram_bank_sector sta.z rom_compare.bank_ram - // [1587] rom_compare::ptr_ram#3 = rom_flash::ram_address#10 -- pbuz1=pbuz2 + // [1575] rom_compare::ptr_ram#3 = rom_flash::ram_address#10 -- pbuz1=pbuz2 lda.z ram_address sta.z rom_compare.ptr_ram lda.z ram_address+1 sta.z rom_compare.ptr_ram+1 - // [1588] rom_compare::rom_compare_address#2 = rom_flash::rom_address#11 -- vduz1=vduz2 + // [1576] rom_compare::rom_compare_address#2 = rom_flash::rom_address#11 -- vduz1=vduz2 lda.z rom_address sta.z rom_compare.rom_compare_address lda.z rom_address+1 @@ -10809,41 +10883,41 @@ rom_flash: { sta.z rom_compare.rom_compare_address+2 lda.z rom_address+3 sta.z rom_compare.rom_compare_address+3 - // [1589] call rom_compare - // [2428] phi from rom_flash::@36 to rom_compare [phi:rom_flash::@36->rom_compare] - // [2428] phi rom_compare::ptr_ram#10 = rom_compare::ptr_ram#3 [phi:rom_flash::@36->rom_compare#0] -- register_copy - // [2428] phi rom_compare::rom_compare_size#11 = ROM_PROGRESS_CELL [phi:rom_flash::@36->rom_compare#1] -- vwuz1=vwuc1 + // [1577] call rom_compare + // [2397] phi from rom_flash::@36 to rom_compare [phi:rom_flash::@36->rom_compare] + // [2397] phi rom_compare::ptr_ram#10 = rom_compare::ptr_ram#3 [phi:rom_flash::@36->rom_compare#0] -- register_copy + // [2397] phi rom_compare::rom_compare_size#11 = ROM_PROGRESS_CELL [phi:rom_flash::@36->rom_compare#1] -- vwuz1=vwuc1 lda #ROM_PROGRESS_CELL sta.z rom_compare.rom_compare_size+1 - // [2428] phi rom_compare::rom_compare_address#3 = rom_compare::rom_compare_address#2 [phi:rom_flash::@36->rom_compare#2] -- register_copy - // [2428] phi rom_compare::bank_set_bram1_bank#0 = rom_compare::bank_ram#2 [phi:rom_flash::@36->rom_compare#3] -- register_copy + // [2397] phi rom_compare::rom_compare_address#3 = rom_compare::rom_compare_address#2 [phi:rom_flash::@36->rom_compare#2] -- register_copy + // [2397] phi rom_compare::bank_set_bram1_bank#0 = rom_compare::bank_ram#2 [phi:rom_flash::@36->rom_compare#3] -- register_copy jsr rom_compare // rom_compare(bram_bank, (ram_ptr_t)ram_address, rom_address, ROM_PROGRESS_CELL) - // [1590] rom_compare::return#4 = rom_compare::equal_bytes#2 + // [1578] rom_compare::return#4 = rom_compare::equal_bytes#2 // rom_flash::@37 // equal_bytes = rom_compare(bram_bank, (ram_ptr_t)ram_address, rom_address, ROM_PROGRESS_CELL) - // [1591] rom_flash::equal_bytes#1 = rom_compare::return#4 -- vwuz1=vwuz2 + // [1579] rom_flash::equal_bytes#1 = rom_compare::return#4 -- vwuz1=vwuz2 lda.z rom_compare.return sta.z equal_bytes_1 lda.z rom_compare.return+1 sta.z equal_bytes_1+1 // gotoxy(x, y) - // [1592] gotoxy::x#29 = rom_flash::x#10 -- vbuz1=vbuz2 + // [1580] gotoxy::x#29 = rom_flash::x#10 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [1593] gotoxy::y#29 = rom_flash::y_sector#13 -- vbuz1=vbum2 + // [1581] gotoxy::y#29 = rom_flash::y_sector#13 -- vbuz1=vbum2 lda y_sector sta.z gotoxy.y - // [1594] call gotoxy - // [762] phi from rom_flash::@37 to gotoxy [phi:rom_flash::@37->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#29 [phi:rom_flash::@37->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#29 [phi:rom_flash::@37->gotoxy#1] -- register_copy + // [1582] call gotoxy + // [756] phi from rom_flash::@37 to gotoxy [phi:rom_flash::@37->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#29 [phi:rom_flash::@37->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#29 [phi:rom_flash::@37->gotoxy#1] -- register_copy jsr gotoxy // rom_flash::@38 // if (equal_bytes != ROM_PROGRESS_CELL) - // [1595] if(rom_flash::equal_bytes#1!=ROM_PROGRESS_CELL) goto rom_flash::@9 -- vwuz1_neq_vwuc1_then_la1 + // [1583] if(rom_flash::equal_bytes#1!=ROM_PROGRESS_CELL) goto rom_flash::@9 -- vwuz1_neq_vwuc1_then_la1 lda.z equal_bytes_1+1 cmp #>ROM_PROGRESS_CELL bne __b9 @@ -10852,26 +10926,26 @@ rom_flash: { bne __b9 // rom_flash::@11 // cputcxy(x,y,'+') - // [1596] cputcxy::x#14 = rom_flash::x#10 -- vbuz1=vbuz2 + // [1584] cputcxy::x#14 = rom_flash::x#10 -- vbuz1=vbuz2 lda.z x sta.z cputcxy.x - // [1597] cputcxy::y#14 = rom_flash::y_sector#13 -- vbuz1=vbum2 + // [1585] cputcxy::y#14 = rom_flash::y_sector#13 -- vbuz1=vbum2 lda y_sector sta.z cputcxy.y - // [1598] call cputcxy - // [2040] phi from rom_flash::@11 to cputcxy [phi:rom_flash::@11->cputcxy] - // [2040] phi cputcxy::c#15 = '+' [phi:rom_flash::@11->cputcxy#0] -- vbuz1=vbuc1 + // [1586] call cputcxy + // [2039] phi from rom_flash::@11 to cputcxy [phi:rom_flash::@11->cputcxy] + // [2039] phi cputcxy::c#15 = '+' [phi:rom_flash::@11->cputcxy#0] -- vbuz1=vbuc1 lda #'+' sta.z cputcxy.c - // [2040] phi cputcxy::y#15 = cputcxy::y#14 [phi:rom_flash::@11->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#14 [phi:rom_flash::@11->cputcxy#2] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#14 [phi:rom_flash::@11->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#14 [phi:rom_flash::@11->cputcxy#2] -- register_copy jsr cputcxy - // [1599] phi from rom_flash::@11 rom_flash::@39 to rom_flash::@10 [phi:rom_flash::@11/rom_flash::@39->rom_flash::@10] - // [1599] phi rom_flash::flash_errors_sector#8 = rom_flash::flash_errors_sector#10 [phi:rom_flash::@11/rom_flash::@39->rom_flash::@10#0] -- register_copy + // [1587] phi from rom_flash::@11 rom_flash::@39 to rom_flash::@10 [phi:rom_flash::@11/rom_flash::@39->rom_flash::@10] + // [1587] phi rom_flash::flash_errors_sector#8 = rom_flash::flash_errors_sector#10 [phi:rom_flash::@11/rom_flash::@39->rom_flash::@10#0] -- register_copy // rom_flash::@10 __b10: // ram_address += ROM_PROGRESS_CELL - // [1600] rom_flash::ram_address#1 = rom_flash::ram_address#10 + ROM_PROGRESS_CELL -- pbuz1=pbuz1_plus_vwuc1 + // [1588] rom_flash::ram_address#1 = rom_flash::ram_address#10 + ROM_PROGRESS_CELL -- pbuz1=pbuz1_plus_vwuc1 lda.z ram_address clc adc #ROM_PROGRESS_CELL sta.z ram_address+1 // rom_address += ROM_PROGRESS_CELL - // [1601] rom_flash::rom_address#1 = rom_flash::rom_address#11 + ROM_PROGRESS_CELL -- vduz1=vduz1_plus_vwuc1 + // [1589] rom_flash::rom_address#1 = rom_flash::rom_address#11 + ROM_PROGRESS_CELL -- vduz1=vduz1_plus_vwuc1 clc lda.z rom_address adc #cputcxy] - // [2040] phi cputcxy::c#15 = '!' [phi:rom_flash::@9->cputcxy#0] -- vbuz1=vbuc1 + // [1593] call cputcxy + // [2039] phi from rom_flash::@9 to cputcxy [phi:rom_flash::@9->cputcxy] + // [2039] phi cputcxy::c#15 = '!' [phi:rom_flash::@9->cputcxy#0] -- vbuz1=vbuc1 lda #'!' sta.z cputcxy.c - // [2040] phi cputcxy::y#15 = cputcxy::y#13 [phi:rom_flash::@9->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#13 [phi:rom_flash::@9->cputcxy#2] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#13 [phi:rom_flash::@9->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#13 [phi:rom_flash::@9->cputcxy#2] -- register_copy jsr cputcxy // rom_flash::@39 // flash_errors_sector++; - // [1606] rom_flash::flash_errors_sector#1 = ++ rom_flash::flash_errors_sector#10 -- vwuz1=_inc_vwuz1 + // [1594] rom_flash::flash_errors_sector#1 = ++ rom_flash::flash_errors_sector#10 -- vwuz1=_inc_vwuz1 inc.z flash_errors_sector bne !+ inc.z flash_errors_sector+1 @@ -10947,13 +11021,13 @@ rom_flash: { rom_boundary: .dword 0 .label ram_address_sector = fgets.stream rom_sector_boundary: .dword 0 - .label retries = main.check_status_smc8_main__0 + .label retries = rom_get_release.rom_get_release__0 .label flash_errors = rom_read.rom_read__11 - .label bram_bank_sector = main.check_status_roms_all1_check_status_rom1_main__0 - .label x_sector = main.check_status_vera3_main__0 - .label y_sector = main.check_status_roms3_check_status_rom1_main__0 + .label bram_bank_sector = main.check_status_vera5_main__0 + .label x_sector = main.check_status_vera4_main__0 + .label y_sector = main.check_status_smc12_main__0 .label rom_chip = main.check_status_card_roms1_check_status_rom1_main__0 - .label rom_bank_start = rom_get_release.rom_get_release__0 + .label rom_bank_start = fopen.fopen__4 .label file_size = main.rom_flash_errors .label return = rom_read.rom_read__11 } @@ -10969,26 +11043,29 @@ rom_flash: { */ // __mem() unsigned int smc_flash(__zp($3d) unsigned int smc_bytes_total) smc_flash: { - .label cx16_k_i2c_write_byte1_return = $f3 - .label smc_bootloader_start = $f3 + .label smc_flash__26 = $ea + .label smc_flash__27 = $ea + .label cx16_k_i2c_write_byte1_return = $ef + .label smc_bootloader_start = $ef .label smc_bootloader_not_activated1 = $2d // Waiting a bit to ensure the bootloader is activated. - .label smc_bootloader_activation_countdown = $c4 + .label smc_bootloader_activation_countdown = $b1 // Waiting a bit to ensure the bootloader is activated. - .label smc_bootloader_activation_countdown_1 = $d0 + .label smc_bootloader_activation_countdown_1 = $ee .label smc_bootloader_not_activated = $2d .label smc_byte_upload = $5b - .label smc_ram_ptr = $ce + .label smc_ram_ptr = $cd + .label smc_bytes_checksum = $ea .label smc_commit_result = $2d - .label smc_attempts_flashed = $ec - .label smc_row_bytes = $79 - .label smc_attempts_total = $a9 - .label y = $b3 + .label smc_attempts_flashed = $69 + .label smc_row_bytes = $76 + .label smc_attempts_total = $7c + .label y = $be .label smc_bytes_total = $3d // display_action_progress("To start the SMC update, do the below action ...") - // [1608] call display_action_progress - // [856] phi from smc_flash to display_action_progress [phi:smc_flash->display_action_progress] - // [856] phi display_action_progress::info_text#18 = smc_flash::info_text [phi:smc_flash->display_action_progress#0] -- pbuz1=pbuc1 + // [1596] call display_action_progress + // [850] phi from smc_flash to display_action_progress [phi:smc_flash->display_action_progress] + // [850] phi display_action_progress::info_text#18 = smc_flash::info_text [phi:smc_flash->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text @@ -10996,18 +11073,18 @@ smc_flash: { jsr display_action_progress // smc_flash::@25 // unsigned char smc_bootloader_start = cx16_k_i2c_write_byte(FLASH_I2C_SMC_DEVICE, FLASH_I2C_SMC_BOOTLOADER_RESET, 0x31) - // [1609] smc_flash::cx16_k_i2c_write_byte1_device = $42 -- vbum1=vbuc1 + // [1597] smc_flash::cx16_k_i2c_write_byte1_device = $42 -- vbum1=vbuc1 lda #$42 sta cx16_k_i2c_write_byte1_device - // [1610] smc_flash::cx16_k_i2c_write_byte1_offset = $8f -- vbum1=vbuc1 + // [1598] smc_flash::cx16_k_i2c_write_byte1_offset = $8f -- vbum1=vbuc1 lda #$8f sta cx16_k_i2c_write_byte1_offset - // [1611] smc_flash::cx16_k_i2c_write_byte1_value = $31 -- vbum1=vbuc1 + // [1599] smc_flash::cx16_k_i2c_write_byte1_value = $31 -- vbum1=vbuc1 lda #$31 sta cx16_k_i2c_write_byte1_value // smc_flash::cx16_k_i2c_write_byte1 // unsigned char result - // [1612] smc_flash::cx16_k_i2c_write_byte1_result = 0 -- vbum1=vbuc1 + // [1600] smc_flash::cx16_k_i2c_write_byte1_result = 0 -- vbum1=vbuc1 lda #0 sta cx16_k_i2c_write_byte1_result // asm @@ -11019,41 +11096,41 @@ smc_flash: { jsr CX16_I2C_WRITE_BYTE rol cx16_k_i2c_write_byte1_result // return result; - // [1614] smc_flash::cx16_k_i2c_write_byte1_return#0 = smc_flash::cx16_k_i2c_write_byte1_result -- vbuz1=vbum2 + // [1602] smc_flash::cx16_k_i2c_write_byte1_return#0 = smc_flash::cx16_k_i2c_write_byte1_result -- vbuz1=vbum2 lda cx16_k_i2c_write_byte1_result sta.z cx16_k_i2c_write_byte1_return // smc_flash::cx16_k_i2c_write_byte1_@return // } - // [1615] smc_flash::cx16_k_i2c_write_byte1_return#1 = smc_flash::cx16_k_i2c_write_byte1_return#0 + // [1603] smc_flash::cx16_k_i2c_write_byte1_return#1 = smc_flash::cx16_k_i2c_write_byte1_return#0 // smc_flash::@22 // unsigned char smc_bootloader_start = cx16_k_i2c_write_byte(FLASH_I2C_SMC_DEVICE, FLASH_I2C_SMC_BOOTLOADER_RESET, 0x31) - // [1616] smc_flash::smc_bootloader_start#0 = smc_flash::cx16_k_i2c_write_byte1_return#1 + // [1604] smc_flash::smc_bootloader_start#0 = smc_flash::cx16_k_i2c_write_byte1_return#1 // if(smc_bootloader_start) - // [1617] if(0==smc_flash::smc_bootloader_start#0) goto smc_flash::@3 -- 0_eq_vbuz1_then_la1 + // [1605] if(0==smc_flash::smc_bootloader_start#0) goto smc_flash::@3 -- 0_eq_vbuz1_then_la1 lda.z smc_bootloader_start beq __b6 - // [1618] phi from smc_flash::@22 to smc_flash::@2 [phi:smc_flash::@22->smc_flash::@2] + // [1606] phi from smc_flash::@22 to smc_flash::@2 [phi:smc_flash::@22->smc_flash::@2] // smc_flash::@2 // sprintf(info_text, "There was a problem starting the SMC bootloader: %x", smc_bootloader_start) - // [1619] call snprintf_init - // [1011] phi from smc_flash::@2 to snprintf_init [phi:smc_flash::@2->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:smc_flash::@2->snprintf_init#0] -- pbuz1=pbuc1 + // [1607] call snprintf_init + // [1151] phi from smc_flash::@2 to snprintf_init [phi:smc_flash::@2->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:smc_flash::@2->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [1620] phi from smc_flash::@2 to smc_flash::@26 [phi:smc_flash::@2->smc_flash::@26] + // [1608] phi from smc_flash::@2 to smc_flash::@26 [phi:smc_flash::@2->smc_flash::@26] // smc_flash::@26 // sprintf(info_text, "There was a problem starting the SMC bootloader: %x", smc_bootloader_start) - // [1621] call printf_str - // [1016] phi from smc_flash::@26 to printf_str [phi:smc_flash::@26->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_flash::@26->printf_str#0] -- pprz1=pprc1 + // [1609] call printf_str + // [1156] phi from smc_flash::@26 to printf_str [phi:smc_flash::@26->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_flash::@26->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_flash::s [phi:smc_flash::@26->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_flash::s [phi:smc_flash::@26->printf_str#1] -- pbuz1=pbuc1 lda #s @@ -11061,39 +11138,39 @@ smc_flash: { jsr printf_str // smc_flash::@27 // sprintf(info_text, "There was a problem starting the SMC bootloader: %x", smc_bootloader_start) - // [1622] printf_uchar::uvalue#4 = smc_flash::smc_bootloader_start#0 -- vbuz1=vbuz2 + // [1610] printf_uchar::uvalue#4 = smc_flash::smc_bootloader_start#0 -- vbuz1=vbuz2 lda.z smc_bootloader_start sta.z printf_uchar.uvalue - // [1623] call printf_uchar - // [1248] phi from smc_flash::@27 to printf_uchar [phi:smc_flash::@27->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 0 [phi:smc_flash::@27->printf_uchar#0] -- vbuz1=vbuc1 + // [1611] call printf_uchar + // [1236] phi from smc_flash::@27 to printf_uchar [phi:smc_flash::@27->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 0 [phi:smc_flash::@27->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 0 [phi:smc_flash::@27->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 0 [phi:smc_flash::@27->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:smc_flash::@27->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:smc_flash::@27->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = HEXADECIMAL [phi:smc_flash::@27->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = HEXADECIMAL [phi:smc_flash::@27->printf_uchar#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#4 [phi:smc_flash::@27->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#4 [phi:smc_flash::@27->printf_uchar#4] -- register_copy jsr printf_uchar // smc_flash::@28 // sprintf(info_text, "There was a problem starting the SMC bootloader: %x", smc_bootloader_start) - // [1624] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1612] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1625] callexecute snputc -- call_vprc1 + // [1613] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [1627] call display_action_text - // [1259] phi from smc_flash::@28 to display_action_text [phi:smc_flash::@28->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@28->display_action_text#0] -- pbuz1=pbuc1 + // [1615] call display_action_text + // [1247] phi from smc_flash::@28 to display_action_text [phi:smc_flash::@28->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@28->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text @@ -11101,18 +11178,18 @@ smc_flash: { jsr display_action_text // smc_flash::@29 // cx16_k_i2c_write_byte(FLASH_I2C_SMC_DEVICE, FLASH_I2C_SMC_REBOOT, 0) - // [1628] smc_flash::cx16_k_i2c_write_byte2_device = $42 -- vbum1=vbuc1 + // [1616] smc_flash::cx16_k_i2c_write_byte2_device = $42 -- vbum1=vbuc1 lda #$42 sta cx16_k_i2c_write_byte2_device - // [1629] smc_flash::cx16_k_i2c_write_byte2_offset = $82 -- vbum1=vbuc1 + // [1617] smc_flash::cx16_k_i2c_write_byte2_offset = $82 -- vbum1=vbuc1 lda #$82 sta cx16_k_i2c_write_byte2_offset - // [1630] smc_flash::cx16_k_i2c_write_byte2_value = 0 -- vbum1=vbuc1 + // [1618] smc_flash::cx16_k_i2c_write_byte2_value = 0 -- vbum1=vbuc1 lda #0 sta cx16_k_i2c_write_byte2_value // smc_flash::cx16_k_i2c_write_byte2 // unsigned char result - // [1631] smc_flash::cx16_k_i2c_write_byte2_result = 0 -- vbum1=vbuc1 + // [1619] smc_flash::cx16_k_i2c_write_byte2_result = 0 -- vbum1=vbuc1 sta cx16_k_i2c_write_byte2_result // asm // asm { ldxdevice ldyoffset ldavalue stzresult jsrCX16_I2C_WRITE_BYTE rolresult } @@ -11122,83 +11199,83 @@ smc_flash: { stz cx16_k_i2c_write_byte2_result jsr CX16_I2C_WRITE_BYTE rol cx16_k_i2c_write_byte2_result - // [1633] phi from smc_flash::@47 smc_flash::cx16_k_i2c_write_byte2 to smc_flash::@return [phi:smc_flash::@47/smc_flash::cx16_k_i2c_write_byte2->smc_flash::@return] + // [1621] phi from smc_flash::@47 smc_flash::cx16_k_i2c_write_byte2 to smc_flash::@return [phi:smc_flash::@47/smc_flash::cx16_k_i2c_write_byte2->smc_flash::@return] __b2: - // [1633] phi smc_flash::return#1 = 0 [phi:smc_flash::@47/smc_flash::cx16_k_i2c_write_byte2->smc_flash::@return#0] -- vwum1=vbuc1 + // [1621] phi smc_flash::return#1 = 0 [phi:smc_flash::@47/smc_flash::cx16_k_i2c_write_byte2->smc_flash::@return#0] -- vwum1=vbuc1 lda #<0 sta return sta return+1 // smc_flash::@return // } - // [1634] return + // [1622] return rts - // [1635] phi from smc_flash::@22 to smc_flash::@3 [phi:smc_flash::@22->smc_flash::@3] + // [1623] phi from smc_flash::@22 to smc_flash::@3 [phi:smc_flash::@22->smc_flash::@3] __b6: - // [1635] phi smc_flash::smc_bootloader_activation_countdown#10 = $80 [phi:smc_flash::@22->smc_flash::@3#0] -- vbuz1=vbuc1 + // [1623] phi smc_flash::smc_bootloader_activation_countdown#10 = $80 [phi:smc_flash::@22->smc_flash::@3#0] -- vbuz1=vbuc1 lda #$80 sta.z smc_bootloader_activation_countdown // smc_flash::@3 __b3: // while(smc_bootloader_activation_countdown) - // [1636] if(0!=smc_flash::smc_bootloader_activation_countdown#10) goto smc_flash::@4 -- 0_neq_vbuz1_then_la1 + // [1624] if(0!=smc_flash::smc_bootloader_activation_countdown#10) goto smc_flash::@4 -- 0_neq_vbuz1_then_la1 lda.z smc_bootloader_activation_countdown beq !__b4+ jmp __b4 !__b4: - // [1637] phi from smc_flash::@3 smc_flash::@30 to smc_flash::@7 [phi:smc_flash::@3/smc_flash::@30->smc_flash::@7] + // [1625] phi from smc_flash::@3 smc_flash::@30 to smc_flash::@7 [phi:smc_flash::@3/smc_flash::@30->smc_flash::@7] __b9: - // [1637] phi smc_flash::smc_bootloader_activation_countdown#12 = $a [phi:smc_flash::@3/smc_flash::@30->smc_flash::@7#0] -- vbuz1=vbuc1 + // [1625] phi smc_flash::smc_bootloader_activation_countdown#12 = $a [phi:smc_flash::@3/smc_flash::@30->smc_flash::@7#0] -- vbuz1=vbuc1 lda #$a sta.z smc_bootloader_activation_countdown_1 // smc_flash::@7 __b7: // while(smc_bootloader_activation_countdown) - // [1638] if(0!=smc_flash::smc_bootloader_activation_countdown#12) goto smc_flash::@8 -- 0_neq_vbuz1_then_la1 + // [1626] if(0!=smc_flash::smc_bootloader_activation_countdown#12) goto smc_flash::@8 -- 0_neq_vbuz1_then_la1 lda.z smc_bootloader_activation_countdown_1 beq !__b8+ jmp __b8 !__b8: // smc_flash::@9 // cx16_k_i2c_read_byte(FLASH_I2C_SMC_DEVICE, FLASH_I2C_SMC_OFFSET) - // [1639] cx16_k_i2c_read_byte::device = $42 -- vbum1=vbuc1 + // [1627] cx16_k_i2c_read_byte::device = $42 -- vbum1=vbuc1 lda #$42 sta cx16_k_i2c_read_byte.device - // [1640] cx16_k_i2c_read_byte::offset = $8e -- vbum1=vbuc1 + // [1628] cx16_k_i2c_read_byte::offset = $8e -- vbum1=vbuc1 lda #$8e sta cx16_k_i2c_read_byte.offset - // [1641] call cx16_k_i2c_read_byte + // [1629] call cx16_k_i2c_read_byte jsr cx16_k_i2c_read_byte - // [1642] cx16_k_i2c_read_byte::return#12 = cx16_k_i2c_read_byte::return#1 + // [1630] cx16_k_i2c_read_byte::return#12 = cx16_k_i2c_read_byte::return#1 // smc_flash::@42 // smc_bootloader_not_activated = cx16_k_i2c_read_byte(FLASH_I2C_SMC_DEVICE, FLASH_I2C_SMC_OFFSET) - // [1643] smc_flash::smc_bootloader_not_activated#1 = cx16_k_i2c_read_byte::return#12 + // [1631] smc_flash::smc_bootloader_not_activated#1 = cx16_k_i2c_read_byte::return#12 // if(smc_bootloader_not_activated) - // [1644] if(0==smc_flash::smc_bootloader_not_activated#1) goto smc_flash::@1 -- 0_eq_vwuz1_then_la1 + // [1632] if(0==smc_flash::smc_bootloader_not_activated#1) goto smc_flash::@1 -- 0_eq_vwuz1_then_la1 lda.z smc_bootloader_not_activated ora.z smc_bootloader_not_activated+1 beq __b1 - // [1645] phi from smc_flash::@42 to smc_flash::@10 [phi:smc_flash::@42->smc_flash::@10] + // [1633] phi from smc_flash::@42 to smc_flash::@10 [phi:smc_flash::@42->smc_flash::@10] // smc_flash::@10 // sprintf(info_text, "There was a problem activating the SMC bootloader: %x", smc_bootloader_not_activated) - // [1646] call snprintf_init - // [1011] phi from smc_flash::@10 to snprintf_init [phi:smc_flash::@10->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:smc_flash::@10->snprintf_init#0] -- pbuz1=pbuc1 + // [1634] call snprintf_init + // [1151] phi from smc_flash::@10 to snprintf_init [phi:smc_flash::@10->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:smc_flash::@10->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [1647] phi from smc_flash::@10 to smc_flash::@45 [phi:smc_flash::@10->smc_flash::@45] + // [1635] phi from smc_flash::@10 to smc_flash::@45 [phi:smc_flash::@10->smc_flash::@45] // smc_flash::@45 // sprintf(info_text, "There was a problem activating the SMC bootloader: %x", smc_bootloader_not_activated) - // [1648] call printf_str - // [1016] phi from smc_flash::@45 to printf_str [phi:smc_flash::@45->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_flash::@45->printf_str#0] -- pprz1=pprc1 + // [1636] call printf_str + // [1156] phi from smc_flash::@45 to printf_str [phi:smc_flash::@45->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_flash::@45->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_flash::s5 [phi:smc_flash::@45->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_flash::s5 [phi:smc_flash::@45->printf_str#1] -- pbuz1=pbuc1 lda #s5 @@ -11206,101 +11283,106 @@ smc_flash: { jsr printf_str // smc_flash::@46 // sprintf(info_text, "There was a problem activating the SMC bootloader: %x", smc_bootloader_not_activated) - // [1649] printf_uint::uvalue#4 = smc_flash::smc_bootloader_not_activated#1 - // [1650] call printf_uint - // [1025] phi from smc_flash::@46 to printf_uint [phi:smc_flash::@46->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 0 [phi:smc_flash::@46->printf_uint#0] -- vbuz1=vbuc1 + // [1637] printf_uint::uvalue#5 = smc_flash::smc_bootloader_not_activated#1 + // [1638] call printf_uint + // [1810] phi from smc_flash::@46 to printf_uint [phi:smc_flash::@46->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 0 [phi:smc_flash::@46->printf_uint#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 0 [phi:smc_flash::@46->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 0 [phi:smc_flash::@46->printf_uint#1] -- vbuz1=vbuc1 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_flash::@46->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:smc_flash::@46->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_flash::@46->printf_uint#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#4 [phi:smc_flash::@46->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#5 [phi:smc_flash::@46->printf_uint#4] -- register_copy jsr printf_uint // smc_flash::@47 // sprintf(info_text, "There was a problem activating the SMC bootloader: %x", smc_bootloader_not_activated) - // [1651] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1639] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1652] callexecute snputc -- call_vprc1 + // [1640] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [1654] call display_action_text - // [1259] phi from smc_flash::@47 to display_action_text [phi:smc_flash::@47->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@47->display_action_text#0] -- pbuz1=pbuc1 + // [1642] call display_action_text + // [1247] phi from smc_flash::@47 to display_action_text [phi:smc_flash::@47->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@47->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text sta.z display_action_text.info_text+1 jsr display_action_text jmp __b2 - // [1655] phi from smc_flash::@42 to smc_flash::@1 [phi:smc_flash::@42->smc_flash::@1] + // [1643] phi from smc_flash::@42 to smc_flash::@1 [phi:smc_flash::@42->smc_flash::@1] // smc_flash::@1 __b1: // display_action_progress("Updating SMC firmware ... (+) Updated") - // [1656] call display_action_progress - // [856] phi from smc_flash::@1 to display_action_progress [phi:smc_flash::@1->display_action_progress] - // [856] phi display_action_progress::info_text#18 = smc_flash::info_text1 [phi:smc_flash::@1->display_action_progress#0] -- pbuz1=pbuc1 + // [1644] call display_action_progress + // [850] phi from smc_flash::@1 to display_action_progress [phi:smc_flash::@1->display_action_progress] + // [850] phi display_action_progress::info_text#18 = smc_flash::info_text1 [phi:smc_flash::@1->display_action_progress#0] -- pbuz1=pbuc1 lda #info_text1 sta.z display_action_progress.info_text+1 jsr display_action_progress - // [1657] phi from smc_flash::@1 to smc_flash::@43 [phi:smc_flash::@1->smc_flash::@43] + // [1645] phi from smc_flash::@1 to smc_flash::@43 [phi:smc_flash::@1->smc_flash::@43] // smc_flash::@43 // textcolor(WHITE) - // [1658] call textcolor - // [744] phi from smc_flash::@43 to textcolor [phi:smc_flash::@43->textcolor] - // [744] phi textcolor::color#18 = WHITE [phi:smc_flash::@43->textcolor#0] -- vbuz1=vbuc1 + // [1646] call textcolor + // [738] phi from smc_flash::@43 to textcolor [phi:smc_flash::@43->textcolor] + // [738] phi textcolor::color#18 = WHITE [phi:smc_flash::@43->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [1659] phi from smc_flash::@43 to smc_flash::@44 [phi:smc_flash::@43->smc_flash::@44] + // [1647] phi from smc_flash::@43 to smc_flash::@44 [phi:smc_flash::@43->smc_flash::@44] // smc_flash::@44 // gotoxy(x, y) - // [1660] call gotoxy - // [762] phi from smc_flash::@44 to gotoxy [phi:smc_flash::@44->gotoxy] - // [762] phi gotoxy::y#30 = PROGRESS_Y [phi:smc_flash::@44->gotoxy#0] -- vbuz1=vbuc1 + // [1648] call gotoxy + // [756] phi from smc_flash::@44 to gotoxy [phi:smc_flash::@44->gotoxy] + // [756] phi gotoxy::y#30 = PROGRESS_Y [phi:smc_flash::@44->gotoxy#0] -- vbuz1=vbuc1 lda #PROGRESS_Y sta.z gotoxy.y - // [762] phi gotoxy::x#30 = PROGRESS_X [phi:smc_flash::@44->gotoxy#1] -- vbuz1=vbuc1 + // [756] phi gotoxy::x#30 = PROGRESS_X [phi:smc_flash::@44->gotoxy#1] -- vbuz1=vbuc1 lda #PROGRESS_X sta.z gotoxy.x jsr gotoxy - // [1661] phi from smc_flash::@44 to smc_flash::@11 [phi:smc_flash::@44->smc_flash::@11] - // [1661] phi smc_flash::y#31 = PROGRESS_Y [phi:smc_flash::@44->smc_flash::@11#0] -- vbuz1=vbuc1 + // [1649] phi from smc_flash::@44 to smc_flash::@11 [phi:smc_flash::@44->smc_flash::@11] + // [1649] phi smc_flash::y#31 = PROGRESS_Y [phi:smc_flash::@44->smc_flash::@11#0] -- vbuz1=vbuc1 lda #PROGRESS_Y sta.z y - // [1661] phi smc_flash::smc_attempts_total#21 = 0 [phi:smc_flash::@44->smc_flash::@11#1] -- vwuz1=vwuc1 + // [1649] phi smc_flash::smc_attempts_total#21 = 0 [phi:smc_flash::@44->smc_flash::@11#1] -- vwuz1=vwuc1 lda #<0 sta.z smc_attempts_total sta.z smc_attempts_total+1 - // [1661] phi smc_flash::smc_row_bytes#14 = 0 [phi:smc_flash::@44->smc_flash::@11#2] -- vwuz1=vwuc1 + // [1649] phi smc_flash::smc_row_bytes#14 = 0 [phi:smc_flash::@44->smc_flash::@11#2] -- vwuz1=vwuc1 sta.z smc_row_bytes sta.z smc_row_bytes+1 - // [1661] phi smc_flash::smc_ram_ptr#13 = (char *)$7800 [phi:smc_flash::@44->smc_flash::@11#3] -- pbuz1=pbuc1 + // [1649] phi smc_flash::smc_ram_ptr#13 = (char *)$7800 [phi:smc_flash::@44->smc_flash::@11#3] -- pbuz1=pbuc1 lda #<$7800 sta.z smc_ram_ptr lda #>$7800 sta.z smc_ram_ptr+1 - // [1661] phi smc_flash::smc_bytes_flashed#16 = 0 [phi:smc_flash::@44->smc_flash::@11#4] -- vwum1=vwuc1 + // [1649] phi smc_flash::smc_bytes_flashed#16 = 0 [phi:smc_flash::@44->smc_flash::@11#4] -- vwum1=vwuc1 lda #<0 sta smc_bytes_flashed sta smc_bytes_flashed+1 - // [1661] phi from smc_flash::@13 to smc_flash::@11 [phi:smc_flash::@13->smc_flash::@11] - // [1661] phi smc_flash::y#31 = smc_flash::y#20 [phi:smc_flash::@13->smc_flash::@11#0] -- register_copy - // [1661] phi smc_flash::smc_attempts_total#21 = smc_flash::smc_attempts_total#17 [phi:smc_flash::@13->smc_flash::@11#1] -- register_copy - // [1661] phi smc_flash::smc_row_bytes#14 = smc_flash::smc_row_bytes#10 [phi:smc_flash::@13->smc_flash::@11#2] -- register_copy - // [1661] phi smc_flash::smc_ram_ptr#13 = smc_flash::smc_ram_ptr#10 [phi:smc_flash::@13->smc_flash::@11#3] -- register_copy - // [1661] phi smc_flash::smc_bytes_flashed#16 = smc_flash::smc_bytes_flashed#11 [phi:smc_flash::@13->smc_flash::@11#4] -- register_copy + // [1649] phi from smc_flash::@13 to smc_flash::@11 [phi:smc_flash::@13->smc_flash::@11] + // [1649] phi smc_flash::y#31 = smc_flash::y#20 [phi:smc_flash::@13->smc_flash::@11#0] -- register_copy + // [1649] phi smc_flash::smc_attempts_total#21 = smc_flash::smc_attempts_total#17 [phi:smc_flash::@13->smc_flash::@11#1] -- register_copy + // [1649] phi smc_flash::smc_row_bytes#14 = smc_flash::smc_row_bytes#10 [phi:smc_flash::@13->smc_flash::@11#2] -- register_copy + // [1649] phi smc_flash::smc_ram_ptr#13 = smc_flash::smc_ram_ptr#10 [phi:smc_flash::@13->smc_flash::@11#3] -- register_copy + // [1649] phi smc_flash::smc_bytes_flashed#16 = smc_flash::smc_bytes_flashed#11 [phi:smc_flash::@13->smc_flash::@11#4] -- register_copy // smc_flash::@11 __b11: // while(smc_bytes_flashed < smc_bytes_total) - // [1662] if(smc_flash::smc_bytes_flashed#16smc_flash::@return] - // [1633] phi smc_flash::return#1 = smc_flash::smc_bytes_flashed#16 [phi:smc_flash::@11->smc_flash::@return#0] -- register_copy + // [1621] phi from smc_flash::@11 to smc_flash::@return [phi:smc_flash::@11->smc_flash::@return] + // [1621] phi smc_flash::return#1 = smc_flash::smc_bytes_flashed#16 [phi:smc_flash::@11->smc_flash::@return#0] -- register_copy rts - // [1663] phi from smc_flash::@11 to smc_flash::@12 [phi:smc_flash::@11->smc_flash::@12] + // [1651] phi from smc_flash::@11 to smc_flash::@12 [phi:smc_flash::@11->smc_flash::@12] __b10: - // [1663] phi smc_flash::y#20 = smc_flash::y#31 [phi:smc_flash::@11->smc_flash::@12#0] -- register_copy - // [1663] phi smc_flash::smc_attempts_total#17 = smc_flash::smc_attempts_total#21 [phi:smc_flash::@11->smc_flash::@12#1] -- register_copy - // [1663] phi smc_flash::smc_row_bytes#10 = smc_flash::smc_row_bytes#14 [phi:smc_flash::@11->smc_flash::@12#2] -- register_copy - // [1663] phi smc_flash::smc_ram_ptr#10 = smc_flash::smc_ram_ptr#13 [phi:smc_flash::@11->smc_flash::@12#3] -- register_copy - // [1663] phi smc_flash::smc_bytes_flashed#11 = smc_flash::smc_bytes_flashed#16 [phi:smc_flash::@11->smc_flash::@12#4] -- register_copy - // [1663] phi smc_flash::smc_attempts_flashed#19 = 0 [phi:smc_flash::@11->smc_flash::@12#5] -- vbuz1=vbuc1 + // [1651] phi smc_flash::y#20 = smc_flash::y#31 [phi:smc_flash::@11->smc_flash::@12#0] -- register_copy + // [1651] phi smc_flash::smc_attempts_total#17 = smc_flash::smc_attempts_total#21 [phi:smc_flash::@11->smc_flash::@12#1] -- register_copy + // [1651] phi smc_flash::smc_row_bytes#10 = smc_flash::smc_row_bytes#14 [phi:smc_flash::@11->smc_flash::@12#2] -- register_copy + // [1651] phi smc_flash::smc_ram_ptr#10 = smc_flash::smc_ram_ptr#13 [phi:smc_flash::@11->smc_flash::@12#3] -- register_copy + // [1651] phi smc_flash::smc_bytes_flashed#11 = smc_flash::smc_bytes_flashed#16 [phi:smc_flash::@11->smc_flash::@12#4] -- register_copy + // [1651] phi smc_flash::smc_attempts_flashed#19 = 0 [phi:smc_flash::@11->smc_flash::@12#5] -- vbuz1=vbuc1 lda #0 sta.z smc_attempts_flashed - // [1663] phi smc_flash::smc_package_committed#2 = 0 [phi:smc_flash::@11->smc_flash::@12#6] -- vbum1=vbuc1 + // [1651] phi smc_flash::smc_package_committed#2 = 0 [phi:smc_flash::@11->smc_flash::@12#6] -- vbum1=vbuc1 sta smc_package_committed // smc_flash::@12 __b12: // while(!smc_package_committed && smc_attempts_flashed < 10) - // [1664] if(0!=smc_flash::smc_package_committed#2) goto smc_flash::@13 -- 0_neq_vbum1_then_la1 + // [1652] if(0!=smc_flash::smc_package_committed#2) goto smc_flash::@13 -- 0_neq_vbum1_then_la1 lda smc_package_committed bne __b13 // smc_flash::@60 - // [1665] if(smc_flash::smc_attempts_flashed#19<$a) goto smc_flash::@14 -- vbuz1_lt_vbuc1_then_la1 + // [1653] if(smc_flash::smc_attempts_flashed#19<$a) goto smc_flash::@14 -- vbuz1_lt_vbuc1_then_la1 lda.z smc_attempts_flashed cmp #$a bcc __b16 // smc_flash::@13 __b13: // if(smc_attempts_flashed >= 10) - // [1666] if(smc_flash::smc_attempts_flashed#19<$a) goto smc_flash::@11 -- vbuz1_lt_vbuc1_then_la1 + // [1654] if(smc_flash::smc_attempts_flashed#19<$a) goto smc_flash::@11 -- vbuz1_lt_vbuc1_then_la1 lda.z smc_attempts_flashed cmp #$a bcc __b11 - // [1667] phi from smc_flash::@13 to smc_flash::@21 [phi:smc_flash::@13->smc_flash::@21] + // [1655] phi from smc_flash::@13 to smc_flash::@21 [phi:smc_flash::@13->smc_flash::@21] // smc_flash::@21 // sprintf(info_text, "There were too many attempts trying to flash the SMC at location %04x", smc_bytes_flashed) - // [1668] call snprintf_init - // [1011] phi from smc_flash::@21 to snprintf_init [phi:smc_flash::@21->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:smc_flash::@21->snprintf_init#0] -- pbuz1=pbuc1 + // [1656] call snprintf_init + // [1151] phi from smc_flash::@21 to snprintf_init [phi:smc_flash::@21->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:smc_flash::@21->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [1669] phi from smc_flash::@21 to smc_flash::@57 [phi:smc_flash::@21->smc_flash::@57] + // [1657] phi from smc_flash::@21 to smc_flash::@57 [phi:smc_flash::@21->smc_flash::@57] // smc_flash::@57 // sprintf(info_text, "There were too many attempts trying to flash the SMC at location %04x", smc_bytes_flashed) - // [1670] call printf_str - // [1016] phi from smc_flash::@57 to printf_str [phi:smc_flash::@57->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_flash::@57->printf_str#0] -- pprz1=pprc1 + // [1658] call printf_str + // [1156] phi from smc_flash::@57 to printf_str [phi:smc_flash::@57->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_flash::@57->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_flash::s10 [phi:smc_flash::@57->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_flash::s10 [phi:smc_flash::@57->printf_str#1] -- pbuz1=pbuc1 lda #s10 @@ -11371,62 +11453,67 @@ smc_flash: { jsr printf_str // smc_flash::@58 // sprintf(info_text, "There were too many attempts trying to flash the SMC at location %04x", smc_bytes_flashed) - // [1671] printf_uint::uvalue#8 = smc_flash::smc_bytes_flashed#11 -- vwuz1=vwum2 + // [1659] printf_uint::uvalue#9 = smc_flash::smc_bytes_flashed#11 -- vwuz1=vwum2 lda smc_bytes_flashed sta.z printf_uint.uvalue lda smc_bytes_flashed+1 sta.z printf_uint.uvalue+1 - // [1672] call printf_uint - // [1025] phi from smc_flash::@58 to printf_uint [phi:smc_flash::@58->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_flash::@58->printf_uint#0] -- vbuz1=vbuc1 + // [1660] call printf_uint + // [1810] phi from smc_flash::@58 to printf_uint [phi:smc_flash::@58->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_flash::@58->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 4 [phi:smc_flash::@58->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 4 [phi:smc_flash::@58->printf_uint#1] -- vbuz1=vbuc1 lda #4 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_flash::@58->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:smc_flash::@58->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = HEXADECIMAL [phi:smc_flash::@58->printf_uint#3] -- vbuz1=vbuc1 lda #HEXADECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#8 [phi:smc_flash::@58->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#9 [phi:smc_flash::@58->printf_uint#4] -- register_copy jsr printf_uint // smc_flash::@59 // sprintf(info_text, "There were too many attempts trying to flash the SMC at location %04x", smc_bytes_flashed) - // [1673] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1661] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1674] callexecute snputc -- call_vprc1 + // [1662] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [1676] call display_action_text - // [1259] phi from smc_flash::@59 to display_action_text [phi:smc_flash::@59->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@59->display_action_text#0] -- pbuz1=pbuc1 + // [1664] call display_action_text + // [1247] phi from smc_flash::@59 to display_action_text [phi:smc_flash::@59->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@59->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text sta.z display_action_text.info_text+1 jsr display_action_text - // [1633] phi from smc_flash::@59 to smc_flash::@return [phi:smc_flash::@59->smc_flash::@return] - // [1633] phi smc_flash::return#1 = $ffff [phi:smc_flash::@59->smc_flash::@return#0] -- vwum1=vwuc1 + // [1621] phi from smc_flash::@59 to smc_flash::@return [phi:smc_flash::@59->smc_flash::@return] + // [1621] phi smc_flash::return#1 = $ffff [phi:smc_flash::@59->smc_flash::@return#0] -- vwum1=vwuc1 lda #<$ffff sta return lda #>$ffff sta return+1 rts - // [1677] phi from smc_flash::@60 to smc_flash::@14 [phi:smc_flash::@60->smc_flash::@14] + // [1665] phi from smc_flash::@60 to smc_flash::@14 [phi:smc_flash::@60->smc_flash::@14] __b16: - // [1677] phi smc_flash::smc_bytes_checksum#2 = 0 [phi:smc_flash::@60->smc_flash::@14#0] -- vbum1=vbuc1 + // [1665] phi smc_flash::smc_bytes_checksum#2 = 0 [phi:smc_flash::@60->smc_flash::@14#0] -- vbuz1=vbuc1 lda #0 - sta smc_bytes_checksum - // [1677] phi smc_flash::smc_ram_ptr#12 = smc_flash::smc_ram_ptr#10 [phi:smc_flash::@60->smc_flash::@14#1] -- register_copy - // [1677] phi smc_flash::smc_package_flashed#2 = 0 [phi:smc_flash::@60->smc_flash::@14#2] -- vwum1=vwuc1 + sta.z smc_bytes_checksum + // [1665] phi smc_flash::smc_ram_ptr#12 = smc_flash::smc_ram_ptr#10 [phi:smc_flash::@60->smc_flash::@14#1] -- register_copy + // [1665] phi smc_flash::smc_package_flashed#2 = 0 [phi:smc_flash::@60->smc_flash::@14#2] -- vwum1=vwuc1 sta smc_package_flashed sta smc_package_flashed+1 // smc_flash::@14 __b14: // while(smc_package_flashed < SMC_PROGRESS_CELL) - // [1678] if(smc_flash::smc_package_flashed#2smc_flash::@12] - // [1663] phi smc_flash::y#20 = smc_flash::y#20 [phi:smc_flash::@17->smc_flash::@12#0] -- register_copy - // [1663] phi smc_flash::smc_attempts_total#17 = smc_flash::smc_attempts_total#17 [phi:smc_flash::@17->smc_flash::@12#1] -- register_copy - // [1663] phi smc_flash::smc_row_bytes#10 = smc_flash::smc_row_bytes#10 [phi:smc_flash::@17->smc_flash::@12#2] -- register_copy - // [1663] phi smc_flash::smc_ram_ptr#10 = smc_flash::smc_ram_ptr#2 [phi:smc_flash::@17->smc_flash::@12#3] -- register_copy - // [1663] phi smc_flash::smc_bytes_flashed#11 = smc_flash::smc_bytes_flashed#11 [phi:smc_flash::@17->smc_flash::@12#4] -- register_copy - // [1663] phi smc_flash::smc_attempts_flashed#19 = smc_flash::smc_attempts_flashed#1 [phi:smc_flash::@17->smc_flash::@12#5] -- register_copy - // [1663] phi smc_flash::smc_package_committed#2 = smc_flash::smc_package_committed#2 [phi:smc_flash::@17->smc_flash::@12#6] -- register_copy + // [1651] phi from smc_flash::@17 to smc_flash::@12 [phi:smc_flash::@17->smc_flash::@12] + // [1651] phi smc_flash::y#20 = smc_flash::y#20 [phi:smc_flash::@17->smc_flash::@12#0] -- register_copy + // [1651] phi smc_flash::smc_attempts_total#17 = smc_flash::smc_attempts_total#17 [phi:smc_flash::@17->smc_flash::@12#1] -- register_copy + // [1651] phi smc_flash::smc_row_bytes#10 = smc_flash::smc_row_bytes#10 [phi:smc_flash::@17->smc_flash::@12#2] -- register_copy + // [1651] phi smc_flash::smc_ram_ptr#10 = smc_flash::smc_ram_ptr#2 [phi:smc_flash::@17->smc_flash::@12#3] -- register_copy + // [1651] phi smc_flash::smc_bytes_flashed#11 = smc_flash::smc_bytes_flashed#11 [phi:smc_flash::@17->smc_flash::@12#4] -- register_copy + // [1651] phi smc_flash::smc_attempts_flashed#19 = smc_flash::smc_attempts_flashed#1 [phi:smc_flash::@17->smc_flash::@12#5] -- register_copy + // [1651] phi smc_flash::smc_package_committed#2 = smc_flash::smc_package_committed#2 [phi:smc_flash::@17->smc_flash::@12#6] -- register_copy jmp __b12 // smc_flash::@18 __b18: // if (smc_row_bytes == SMC_PROGRESS_ROW) - // [1694] if(smc_flash::smc_row_bytes#10!=SMC_PROGRESS_ROW) goto smc_flash::@19 -- vwuz1_neq_vwuc1_then_la1 + // [1682] if(smc_flash::smc_row_bytes#10!=SMC_PROGRESS_ROW) goto smc_flash::@19 -- vwuz1_neq_vwuc1_then_la1 lda.z smc_row_bytes+1 cmp #>SMC_PROGRESS_ROW bne __b19 @@ -11523,40 +11610,40 @@ smc_flash: { bne __b19 // smc_flash::@20 // gotoxy(x, ++y); - // [1695] smc_flash::y#1 = ++ smc_flash::y#20 -- vbuz1=_inc_vbuz1 + // [1683] smc_flash::y#1 = ++ smc_flash::y#20 -- vbuz1=_inc_vbuz1 inc.z y // gotoxy(x, ++y) - // [1696] gotoxy::y#22 = smc_flash::y#1 -- vbuz1=vbuz2 + // [1684] gotoxy::y#22 = smc_flash::y#1 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [1697] call gotoxy - // [762] phi from smc_flash::@20 to gotoxy [phi:smc_flash::@20->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#22 [phi:smc_flash::@20->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = PROGRESS_X [phi:smc_flash::@20->gotoxy#1] -- vbuz1=vbuc1 + // [1685] call gotoxy + // [756] phi from smc_flash::@20 to gotoxy [phi:smc_flash::@20->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#22 [phi:smc_flash::@20->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = PROGRESS_X [phi:smc_flash::@20->gotoxy#1] -- vbuz1=vbuc1 lda #PROGRESS_X sta.z gotoxy.x jsr gotoxy - // [1698] phi from smc_flash::@20 to smc_flash::@19 [phi:smc_flash::@20->smc_flash::@19] - // [1698] phi smc_flash::y#33 = smc_flash::y#1 [phi:smc_flash::@20->smc_flash::@19#0] -- register_copy - // [1698] phi smc_flash::smc_row_bytes#4 = 0 [phi:smc_flash::@20->smc_flash::@19#1] -- vwuz1=vbuc1 + // [1686] phi from smc_flash::@20 to smc_flash::@19 [phi:smc_flash::@20->smc_flash::@19] + // [1686] phi smc_flash::y#33 = smc_flash::y#1 [phi:smc_flash::@20->smc_flash::@19#0] -- register_copy + // [1686] phi smc_flash::smc_row_bytes#4 = 0 [phi:smc_flash::@20->smc_flash::@19#1] -- vwuz1=vbuc1 lda #<0 sta.z smc_row_bytes sta.z smc_row_bytes+1 - // [1698] phi from smc_flash::@18 to smc_flash::@19 [phi:smc_flash::@18->smc_flash::@19] - // [1698] phi smc_flash::y#33 = smc_flash::y#20 [phi:smc_flash::@18->smc_flash::@19#0] -- register_copy - // [1698] phi smc_flash::smc_row_bytes#4 = smc_flash::smc_row_bytes#10 [phi:smc_flash::@18->smc_flash::@19#1] -- register_copy + // [1686] phi from smc_flash::@18 to smc_flash::@19 [phi:smc_flash::@18->smc_flash::@19] + // [1686] phi smc_flash::y#33 = smc_flash::y#20 [phi:smc_flash::@18->smc_flash::@19#0] -- register_copy + // [1686] phi smc_flash::smc_row_bytes#4 = smc_flash::smc_row_bytes#10 [phi:smc_flash::@18->smc_flash::@19#1] -- register_copy // smc_flash::@19 __b19: // cputc('+') - // [1699] stackpush(char) = '+' -- _stackpushbyte_=vbuc1 + // [1687] stackpush(char) = '+' -- _stackpushbyte_=vbuc1 lda #'+' pha - // [1700] callexecute cputc -- call_vprc1 + // [1688] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // smc_bytes_flashed += SMC_PROGRESS_CELL - // [1702] smc_flash::smc_bytes_flashed#1 = smc_flash::smc_bytes_flashed#11 + SMC_PROGRESS_CELL -- vwum1=vwum1_plus_vbuc1 + // [1690] smc_flash::smc_bytes_flashed#1 = smc_flash::smc_bytes_flashed#11 + SMC_PROGRESS_CELL -- vwum1=vwum1_plus_vbuc1 lda #SMC_PROGRESS_CELL clc adc smc_bytes_flashed @@ -11565,7 +11652,7 @@ smc_flash: { inc smc_bytes_flashed+1 !: // smc_row_bytes += SMC_PROGRESS_CELL - // [1703] smc_flash::smc_row_bytes#1 = smc_flash::smc_row_bytes#4 + SMC_PROGRESS_CELL -- vwuz1=vwuz1_plus_vbuc1 + // [1691] smc_flash::smc_row_bytes#1 = smc_flash::smc_row_bytes#4 + SMC_PROGRESS_CELL -- vwuz1=vwuz1_plus_vbuc1 lda #SMC_PROGRESS_CELL clc adc.z smc_row_bytes @@ -11574,7 +11661,7 @@ smc_flash: { inc.z smc_row_bytes+1 !: // smc_attempts_total += smc_attempts_flashed - // [1704] smc_flash::smc_attempts_total#1 = smc_flash::smc_attempts_total#17 + smc_flash::smc_attempts_flashed#19 -- vwuz1=vwuz1_plus_vbuz2 + // [1692] smc_flash::smc_attempts_total#1 = smc_flash::smc_attempts_total#17 + smc_flash::smc_attempts_flashed#19 -- vwuz1=vwuz1_plus_vbuz2 lda.z smc_attempts_flashed clc adc.z smc_attempts_total @@ -11583,25 +11670,25 @@ smc_flash: { inc.z smc_attempts_total+1 !: // sprintf(info_text, "Flashed %05u of %05u bytes in the SMC, with %02u retries ...", smc_bytes_flashed, smc_bytes_total, smc_attempts_total) - // [1705] call snprintf_init - // [1011] phi from smc_flash::@19 to snprintf_init [phi:smc_flash::@19->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:smc_flash::@19->snprintf_init#0] -- pbuz1=pbuc1 + // [1693] call snprintf_init + // [1151] phi from smc_flash::@19 to snprintf_init [phi:smc_flash::@19->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:smc_flash::@19->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [1706] phi from smc_flash::@19 to smc_flash::@49 [phi:smc_flash::@19->smc_flash::@49] + // [1694] phi from smc_flash::@19 to smc_flash::@49 [phi:smc_flash::@19->smc_flash::@49] // smc_flash::@49 // sprintf(info_text, "Flashed %05u of %05u bytes in the SMC, with %02u retries ...", smc_bytes_flashed, smc_bytes_total, smc_attempts_total) - // [1707] call printf_str - // [1016] phi from smc_flash::@49 to printf_str [phi:smc_flash::@49->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_flash::@49->printf_str#0] -- pprz1=pprc1 + // [1695] call printf_str + // [1156] phi from smc_flash::@49 to printf_str [phi:smc_flash::@49->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_flash::@49->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_flash::s6 [phi:smc_flash::@49->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_flash::s6 [phi:smc_flash::@49->printf_str#1] -- pbuz1=pbuc1 lda #s6 @@ -11609,35 +11696,40 @@ smc_flash: { jsr printf_str // smc_flash::@50 // sprintf(info_text, "Flashed %05u of %05u bytes in the SMC, with %02u retries ...", smc_bytes_flashed, smc_bytes_total, smc_attempts_total) - // [1708] printf_uint::uvalue#5 = smc_flash::smc_bytes_flashed#1 -- vwuz1=vwum2 + // [1696] printf_uint::uvalue#6 = smc_flash::smc_bytes_flashed#1 -- vwuz1=vwum2 lda smc_bytes_flashed sta.z printf_uint.uvalue lda smc_bytes_flashed+1 sta.z printf_uint.uvalue+1 - // [1709] call printf_uint - // [1025] phi from smc_flash::@50 to printf_uint [phi:smc_flash::@50->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_flash::@50->printf_uint#0] -- vbuz1=vbuc1 + // [1697] call printf_uint + // [1810] phi from smc_flash::@50 to printf_uint [phi:smc_flash::@50->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_flash::@50->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 5 [phi:smc_flash::@50->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 5 [phi:smc_flash::@50->printf_uint#1] -- vbuz1=vbuc1 lda #5 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = DECIMAL [phi:smc_flash::@50->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:smc_flash::@50->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = DECIMAL [phi:smc_flash::@50->printf_uint#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#5 [phi:smc_flash::@50->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#6 [phi:smc_flash::@50->printf_uint#4] -- register_copy jsr printf_uint - // [1710] phi from smc_flash::@50 to smc_flash::@51 [phi:smc_flash::@50->smc_flash::@51] + // [1698] phi from smc_flash::@50 to smc_flash::@51 [phi:smc_flash::@50->smc_flash::@51] // smc_flash::@51 // sprintf(info_text, "Flashed %05u of %05u bytes in the SMC, with %02u retries ...", smc_bytes_flashed, smc_bytes_total, smc_attempts_total) - // [1711] call printf_str - // [1016] phi from smc_flash::@51 to printf_str [phi:smc_flash::@51->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_flash::@51->printf_str#0] -- pprz1=pprc1 + // [1699] call printf_str + // [1156] phi from smc_flash::@51 to printf_str [phi:smc_flash::@51->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_flash::@51->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_flash::s7 [phi:smc_flash::@51->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_flash::s7 [phi:smc_flash::@51->printf_str#1] -- pbuz1=pbuc1 lda #s7 @@ -11645,35 +11737,40 @@ smc_flash: { jsr printf_str // smc_flash::@52 // sprintf(info_text, "Flashed %05u of %05u bytes in the SMC, with %02u retries ...", smc_bytes_flashed, smc_bytes_total, smc_attempts_total) - // [1712] printf_uint::uvalue#6 = smc_flash::smc_bytes_total#0 -- vwuz1=vwuz2 + // [1700] printf_uint::uvalue#7 = smc_flash::smc_bytes_total#0 -- vwuz1=vwuz2 lda.z smc_bytes_total sta.z printf_uint.uvalue lda.z smc_bytes_total+1 sta.z printf_uint.uvalue+1 - // [1713] call printf_uint - // [1025] phi from smc_flash::@52 to printf_uint [phi:smc_flash::@52->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_flash::@52->printf_uint#0] -- vbuz1=vbuc1 + // [1701] call printf_uint + // [1810] phi from smc_flash::@52 to printf_uint [phi:smc_flash::@52->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_flash::@52->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 5 [phi:smc_flash::@52->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 5 [phi:smc_flash::@52->printf_uint#1] -- vbuz1=vbuc1 lda #5 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = DECIMAL [phi:smc_flash::@52->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:smc_flash::@52->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = DECIMAL [phi:smc_flash::@52->printf_uint#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#6 [phi:smc_flash::@52->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#7 [phi:smc_flash::@52->printf_uint#4] -- register_copy jsr printf_uint - // [1714] phi from smc_flash::@52 to smc_flash::@53 [phi:smc_flash::@52->smc_flash::@53] + // [1702] phi from smc_flash::@52 to smc_flash::@53 [phi:smc_flash::@52->smc_flash::@53] // smc_flash::@53 // sprintf(info_text, "Flashed %05u of %05u bytes in the SMC, with %02u retries ...", smc_bytes_flashed, smc_bytes_total, smc_attempts_total) - // [1715] call printf_str - // [1016] phi from smc_flash::@53 to printf_str [phi:smc_flash::@53->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_flash::@53->printf_str#0] -- pprz1=pprc1 + // [1703] call printf_str + // [1156] phi from smc_flash::@53 to printf_str [phi:smc_flash::@53->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_flash::@53->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_flash::s8 [phi:smc_flash::@53->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_flash::s8 [phi:smc_flash::@53->printf_str#1] -- pbuz1=pbuc1 lda #s8 @@ -11681,35 +11778,40 @@ smc_flash: { jsr printf_str // smc_flash::@54 // sprintf(info_text, "Flashed %05u of %05u bytes in the SMC, with %02u retries ...", smc_bytes_flashed, smc_bytes_total, smc_attempts_total) - // [1716] printf_uint::uvalue#7 = smc_flash::smc_attempts_total#1 -- vwuz1=vwuz2 + // [1704] printf_uint::uvalue#8 = smc_flash::smc_attempts_total#1 -- vwuz1=vwuz2 lda.z smc_attempts_total sta.z printf_uint.uvalue lda.z smc_attempts_total+1 sta.z printf_uint.uvalue+1 - // [1717] call printf_uint - // [1025] phi from smc_flash::@54 to printf_uint [phi:smc_flash::@54->printf_uint] - // [1025] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_flash::@54->printf_uint#0] -- vbuz1=vbuc1 + // [1705] call printf_uint + // [1810] phi from smc_flash::@54 to printf_uint [phi:smc_flash::@54->printf_uint] + // [1810] phi printf_uint::format_zero_padding#14 = 1 [phi:smc_flash::@54->printf_uint#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uint.format_zero_padding - // [1025] phi printf_uint::format_min_length#14 = 2 [phi:smc_flash::@54->printf_uint#1] -- vbuz1=vbuc1 + // [1810] phi printf_uint::format_min_length#14 = 2 [phi:smc_flash::@54->printf_uint#1] -- vbuz1=vbuc1 lda #2 sta.z printf_uint.format_min_length - // [1025] phi printf_uint::format_radix#14 = DECIMAL [phi:smc_flash::@54->printf_uint#2] -- vbuz1=vbuc1 + // [1810] phi printf_uint::putc#14 = &snputc [phi:smc_flash::@54->printf_uint#2] -- pprz1=pprc1 + lda #snputc + sta.z printf_uint.putc+1 + // [1810] phi printf_uint::format_radix#14 = DECIMAL [phi:smc_flash::@54->printf_uint#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uint.format_radix - // [1025] phi printf_uint::uvalue#14 = printf_uint::uvalue#7 [phi:smc_flash::@54->printf_uint#3] -- register_copy + // [1810] phi printf_uint::uvalue#14 = printf_uint::uvalue#8 [phi:smc_flash::@54->printf_uint#4] -- register_copy jsr printf_uint - // [1718] phi from smc_flash::@54 to smc_flash::@55 [phi:smc_flash::@54->smc_flash::@55] + // [1706] phi from smc_flash::@54 to smc_flash::@55 [phi:smc_flash::@54->smc_flash::@55] // smc_flash::@55 // sprintf(info_text, "Flashed %05u of %05u bytes in the SMC, with %02u retries ...", smc_bytes_flashed, smc_bytes_total, smc_attempts_total) - // [1719] call printf_str - // [1016] phi from smc_flash::@55 to printf_str [phi:smc_flash::@55->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_flash::@55->printf_str#0] -- pprz1=pprc1 + // [1707] call printf_str + // [1156] phi from smc_flash::@55 to printf_str [phi:smc_flash::@55->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_flash::@55->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_flash::s9 [phi:smc_flash::@55->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_flash::s9 [phi:smc_flash::@55->printf_str#1] -- pbuz1=pbuc1 lda #s9 @@ -11717,65 +11819,65 @@ smc_flash: { jsr printf_str // smc_flash::@56 // sprintf(info_text, "Flashed %05u of %05u bytes in the SMC, with %02u retries ...", smc_bytes_flashed, smc_bytes_total, smc_attempts_total) - // [1720] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1708] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1721] callexecute snputc -- call_vprc1 + // [1709] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [1723] call display_action_text - // [1259] phi from smc_flash::@56 to display_action_text [phi:smc_flash::@56->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@56->display_action_text#0] -- pbuz1=pbuc1 + // [1711] call display_action_text + // [1247] phi from smc_flash::@56 to display_action_text [phi:smc_flash::@56->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@56->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text sta.z display_action_text.info_text+1 jsr display_action_text - // [1663] phi from smc_flash::@56 to smc_flash::@12 [phi:smc_flash::@56->smc_flash::@12] - // [1663] phi smc_flash::y#20 = smc_flash::y#33 [phi:smc_flash::@56->smc_flash::@12#0] -- register_copy - // [1663] phi smc_flash::smc_attempts_total#17 = smc_flash::smc_attempts_total#1 [phi:smc_flash::@56->smc_flash::@12#1] -- register_copy - // [1663] phi smc_flash::smc_row_bytes#10 = smc_flash::smc_row_bytes#1 [phi:smc_flash::@56->smc_flash::@12#2] -- register_copy - // [1663] phi smc_flash::smc_ram_ptr#10 = smc_flash::smc_ram_ptr#12 [phi:smc_flash::@56->smc_flash::@12#3] -- register_copy - // [1663] phi smc_flash::smc_bytes_flashed#11 = smc_flash::smc_bytes_flashed#1 [phi:smc_flash::@56->smc_flash::@12#4] -- register_copy - // [1663] phi smc_flash::smc_attempts_flashed#19 = smc_flash::smc_attempts_flashed#19 [phi:smc_flash::@56->smc_flash::@12#5] -- register_copy - // [1663] phi smc_flash::smc_package_committed#2 = 1 [phi:smc_flash::@56->smc_flash::@12#6] -- vbum1=vbuc1 + // [1651] phi from smc_flash::@56 to smc_flash::@12 [phi:smc_flash::@56->smc_flash::@12] + // [1651] phi smc_flash::y#20 = smc_flash::y#33 [phi:smc_flash::@56->smc_flash::@12#0] -- register_copy + // [1651] phi smc_flash::smc_attempts_total#17 = smc_flash::smc_attempts_total#1 [phi:smc_flash::@56->smc_flash::@12#1] -- register_copy + // [1651] phi smc_flash::smc_row_bytes#10 = smc_flash::smc_row_bytes#1 [phi:smc_flash::@56->smc_flash::@12#2] -- register_copy + // [1651] phi smc_flash::smc_ram_ptr#10 = smc_flash::smc_ram_ptr#12 [phi:smc_flash::@56->smc_flash::@12#3] -- register_copy + // [1651] phi smc_flash::smc_bytes_flashed#11 = smc_flash::smc_bytes_flashed#1 [phi:smc_flash::@56->smc_flash::@12#4] -- register_copy + // [1651] phi smc_flash::smc_attempts_flashed#19 = smc_flash::smc_attempts_flashed#19 [phi:smc_flash::@56->smc_flash::@12#5] -- register_copy + // [1651] phi smc_flash::smc_package_committed#2 = 1 [phi:smc_flash::@56->smc_flash::@12#6] -- vbum1=vbuc1 lda #1 sta smc_package_committed jmp __b12 // smc_flash::@15 __b15: // unsigned char smc_byte_upload = *smc_ram_ptr - // [1724] smc_flash::smc_byte_upload#0 = *smc_flash::smc_ram_ptr#12 -- vbuz1=_deref_pbuz2 + // [1712] smc_flash::smc_byte_upload#0 = *smc_flash::smc_ram_ptr#12 -- vbuz1=_deref_pbuz2 ldy #0 lda (smc_ram_ptr),y sta.z smc_byte_upload // smc_ram_ptr++; - // [1725] smc_flash::smc_ram_ptr#1 = ++ smc_flash::smc_ram_ptr#12 -- pbuz1=_inc_pbuz1 + // [1713] smc_flash::smc_ram_ptr#1 = ++ smc_flash::smc_ram_ptr#12 -- pbuz1=_inc_pbuz1 inc.z smc_ram_ptr bne !+ inc.z smc_ram_ptr+1 !: // smc_bytes_checksum += smc_byte_upload - // [1726] smc_flash::smc_bytes_checksum#1 = smc_flash::smc_bytes_checksum#2 + smc_flash::smc_byte_upload#0 -- vbum1=vbum1_plus_vbuz2 - lda smc_bytes_checksum + // [1714] smc_flash::smc_bytes_checksum#1 = smc_flash::smc_bytes_checksum#2 + smc_flash::smc_byte_upload#0 -- vbuz1=vbuz1_plus_vbuz2 + lda.z smc_bytes_checksum clc adc.z smc_byte_upload - sta smc_bytes_checksum + sta.z smc_bytes_checksum // unsigned char smc_upload_result = cx16_k_i2c_write_byte(FLASH_I2C_SMC_DEVICE, FLASH_I2C_SMC_UPLOAD, smc_byte_upload) - // [1727] smc_flash::cx16_k_i2c_write_byte3_device = $42 -- vbum1=vbuc1 + // [1715] smc_flash::cx16_k_i2c_write_byte3_device = $42 -- vbum1=vbuc1 lda #$42 sta cx16_k_i2c_write_byte3_device - // [1728] smc_flash::cx16_k_i2c_write_byte3_offset = $80 -- vbum1=vbuc1 + // [1716] smc_flash::cx16_k_i2c_write_byte3_offset = $80 -- vbum1=vbuc1 lda #$80 sta cx16_k_i2c_write_byte3_offset - // [1729] smc_flash::cx16_k_i2c_write_byte3_value = smc_flash::smc_byte_upload#0 -- vbum1=vbuz2 + // [1717] smc_flash::cx16_k_i2c_write_byte3_value = smc_flash::smc_byte_upload#0 -- vbum1=vbuz2 lda.z smc_byte_upload sta cx16_k_i2c_write_byte3_value // smc_flash::cx16_k_i2c_write_byte3 // unsigned char result - // [1730] smc_flash::cx16_k_i2c_write_byte3_result = 0 -- vbum1=vbuc1 + // [1718] smc_flash::cx16_k_i2c_write_byte3_result = 0 -- vbum1=vbuc1 lda #0 sta cx16_k_i2c_write_byte3_result // asm @@ -11788,45 +11890,45 @@ smc_flash: { rol cx16_k_i2c_write_byte3_result // smc_flash::@23 // smc_package_flashed++; - // [1732] smc_flash::smc_package_flashed#1 = ++ smc_flash::smc_package_flashed#2 -- vwum1=_inc_vwum1 + // [1720] smc_flash::smc_package_flashed#1 = ++ smc_flash::smc_package_flashed#2 -- vwum1=_inc_vwum1 inc smc_package_flashed bne !+ inc smc_package_flashed+1 !: - // [1677] phi from smc_flash::@23 to smc_flash::@14 [phi:smc_flash::@23->smc_flash::@14] - // [1677] phi smc_flash::smc_bytes_checksum#2 = smc_flash::smc_bytes_checksum#1 [phi:smc_flash::@23->smc_flash::@14#0] -- register_copy - // [1677] phi smc_flash::smc_ram_ptr#12 = smc_flash::smc_ram_ptr#1 [phi:smc_flash::@23->smc_flash::@14#1] -- register_copy - // [1677] phi smc_flash::smc_package_flashed#2 = smc_flash::smc_package_flashed#1 [phi:smc_flash::@23->smc_flash::@14#2] -- register_copy + // [1665] phi from smc_flash::@23 to smc_flash::@14 [phi:smc_flash::@23->smc_flash::@14] + // [1665] phi smc_flash::smc_bytes_checksum#2 = smc_flash::smc_bytes_checksum#1 [phi:smc_flash::@23->smc_flash::@14#0] -- register_copy + // [1665] phi smc_flash::smc_ram_ptr#12 = smc_flash::smc_ram_ptr#1 [phi:smc_flash::@23->smc_flash::@14#1] -- register_copy + // [1665] phi smc_flash::smc_package_flashed#2 = smc_flash::smc_package_flashed#1 [phi:smc_flash::@23->smc_flash::@14#2] -- register_copy jmp __b14 - // [1733] phi from smc_flash::@7 to smc_flash::@8 [phi:smc_flash::@7->smc_flash::@8] + // [1721] phi from smc_flash::@7 to smc_flash::@8 [phi:smc_flash::@7->smc_flash::@8] // smc_flash::@8 __b8: // wait_moment() - // [1734] call wait_moment - // [1243] phi from smc_flash::@8 to wait_moment [phi:smc_flash::@8->wait_moment] + // [1722] call wait_moment + // [1231] phi from smc_flash::@8 to wait_moment [phi:smc_flash::@8->wait_moment] jsr wait_moment - // [1735] phi from smc_flash::@8 to smc_flash::@36 [phi:smc_flash::@8->smc_flash::@36] + // [1723] phi from smc_flash::@8 to smc_flash::@36 [phi:smc_flash::@8->smc_flash::@36] // smc_flash::@36 // sprintf(info_text, "Updating SMC in %u ...", smc_bootloader_activation_countdown) - // [1736] call snprintf_init - // [1011] phi from smc_flash::@36 to snprintf_init [phi:smc_flash::@36->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:smc_flash::@36->snprintf_init#0] -- pbuz1=pbuc1 + // [1724] call snprintf_init + // [1151] phi from smc_flash::@36 to snprintf_init [phi:smc_flash::@36->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:smc_flash::@36->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [1737] phi from smc_flash::@36 to smc_flash::@37 [phi:smc_flash::@36->smc_flash::@37] + // [1725] phi from smc_flash::@36 to smc_flash::@37 [phi:smc_flash::@36->smc_flash::@37] // smc_flash::@37 // sprintf(info_text, "Updating SMC in %u ...", smc_bootloader_activation_countdown) - // [1738] call printf_str - // [1016] phi from smc_flash::@37 to printf_str [phi:smc_flash::@37->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_flash::@37->printf_str#0] -- pprz1=pprc1 + // [1726] call printf_str + // [1156] phi from smc_flash::@37 to printf_str [phi:smc_flash::@37->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_flash::@37->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_flash::s3 [phi:smc_flash::@37->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_flash::s3 [phi:smc_flash::@37->printf_str#1] -- pbuz1=pbuc1 lda #s3 @@ -11834,37 +11936,37 @@ smc_flash: { jsr printf_str // smc_flash::@38 // sprintf(info_text, "Updating SMC in %u ...", smc_bootloader_activation_countdown) - // [1739] printf_uchar::uvalue#6 = smc_flash::smc_bootloader_activation_countdown#12 -- vbuz1=vbuz2 + // [1727] printf_uchar::uvalue#6 = smc_flash::smc_bootloader_activation_countdown#12 -- vbuz1=vbuz2 lda.z smc_bootloader_activation_countdown_1 sta.z printf_uchar.uvalue - // [1740] call printf_uchar - // [1248] phi from smc_flash::@38 to printf_uchar [phi:smc_flash::@38->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 0 [phi:smc_flash::@38->printf_uchar#0] -- vbuz1=vbuc1 + // [1728] call printf_uchar + // [1236] phi from smc_flash::@38 to printf_uchar [phi:smc_flash::@38->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 0 [phi:smc_flash::@38->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 0 [phi:smc_flash::@38->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 0 [phi:smc_flash::@38->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:smc_flash::@38->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:smc_flash::@38->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = DECIMAL [phi:smc_flash::@38->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = DECIMAL [phi:smc_flash::@38->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#6 [phi:smc_flash::@38->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#6 [phi:smc_flash::@38->printf_uchar#4] -- register_copy jsr printf_uchar - // [1741] phi from smc_flash::@38 to smc_flash::@39 [phi:smc_flash::@38->smc_flash::@39] + // [1729] phi from smc_flash::@38 to smc_flash::@39 [phi:smc_flash::@38->smc_flash::@39] // smc_flash::@39 // sprintf(info_text, "Updating SMC in %u ...", smc_bootloader_activation_countdown) - // [1742] call printf_str - // [1016] phi from smc_flash::@39 to printf_str [phi:smc_flash::@39->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_flash::@39->printf_str#0] -- pprz1=pprc1 + // [1730] call printf_str + // [1156] phi from smc_flash::@39 to printf_str [phi:smc_flash::@39->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_flash::@39->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s4 [phi:smc_flash::@39->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s4 [phi:smc_flash::@39->printf_str#1] -- pbuz1=pbuc1 lda #s4 @@ -11872,17 +11974,17 @@ smc_flash: { jsr printf_str // smc_flash::@40 // sprintf(info_text, "Updating SMC in %u ...", smc_bootloader_activation_countdown) - // [1743] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1731] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1744] callexecute snputc -- call_vprc1 + // [1732] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [1746] call display_action_text - // [1259] phi from smc_flash::@40 to display_action_text [phi:smc_flash::@40->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@40->display_action_text#0] -- pbuz1=pbuc1 + // [1734] call display_action_text + // [1247] phi from smc_flash::@40 to display_action_text [phi:smc_flash::@40->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@40->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text @@ -11890,60 +11992,60 @@ smc_flash: { jsr display_action_text // smc_flash::@41 // smc_bootloader_activation_countdown--; - // [1747] smc_flash::smc_bootloader_activation_countdown#3 = -- smc_flash::smc_bootloader_activation_countdown#12 -- vbuz1=_dec_vbuz1 + // [1735] smc_flash::smc_bootloader_activation_countdown#3 = -- smc_flash::smc_bootloader_activation_countdown#12 -- vbuz1=_dec_vbuz1 dec.z smc_bootloader_activation_countdown_1 - // [1637] phi from smc_flash::@41 to smc_flash::@7 [phi:smc_flash::@41->smc_flash::@7] - // [1637] phi smc_flash::smc_bootloader_activation_countdown#12 = smc_flash::smc_bootloader_activation_countdown#3 [phi:smc_flash::@41->smc_flash::@7#0] -- register_copy + // [1625] phi from smc_flash::@41 to smc_flash::@7 [phi:smc_flash::@41->smc_flash::@7] + // [1625] phi smc_flash::smc_bootloader_activation_countdown#12 = smc_flash::smc_bootloader_activation_countdown#3 [phi:smc_flash::@41->smc_flash::@7#0] -- register_copy jmp __b7 // smc_flash::@4 __b4: // unsigned int smc_bootloader_not_activated = cx16_k_i2c_read_byte(FLASH_I2C_SMC_DEVICE, FLASH_I2C_SMC_OFFSET) - // [1748] cx16_k_i2c_read_byte::device = $42 -- vbum1=vbuc1 + // [1736] cx16_k_i2c_read_byte::device = $42 -- vbum1=vbuc1 lda #$42 sta cx16_k_i2c_read_byte.device - // [1749] cx16_k_i2c_read_byte::offset = $8e -- vbum1=vbuc1 + // [1737] cx16_k_i2c_read_byte::offset = $8e -- vbum1=vbuc1 lda #$8e sta cx16_k_i2c_read_byte.offset - // [1750] call cx16_k_i2c_read_byte + // [1738] call cx16_k_i2c_read_byte jsr cx16_k_i2c_read_byte - // [1751] cx16_k_i2c_read_byte::return#11 = cx16_k_i2c_read_byte::return#1 + // [1739] cx16_k_i2c_read_byte::return#11 = cx16_k_i2c_read_byte::return#1 // smc_flash::@30 - // [1752] smc_flash::smc_bootloader_not_activated1#0 = cx16_k_i2c_read_byte::return#11 + // [1740] smc_flash::smc_bootloader_not_activated1#0 = cx16_k_i2c_read_byte::return#11 // if(smc_bootloader_not_activated) - // [1753] if(0!=smc_flash::smc_bootloader_not_activated1#0) goto smc_flash::@5 -- 0_neq_vwuz1_then_la1 + // [1741] if(0!=smc_flash::smc_bootloader_not_activated1#0) goto smc_flash::@5 -- 0_neq_vwuz1_then_la1 lda.z smc_bootloader_not_activated1 ora.z smc_bootloader_not_activated1+1 bne __b5 jmp __b9 - // [1754] phi from smc_flash::@30 to smc_flash::@5 [phi:smc_flash::@30->smc_flash::@5] + // [1742] phi from smc_flash::@30 to smc_flash::@5 [phi:smc_flash::@30->smc_flash::@5] // smc_flash::@5 __b5: // wait_moment() - // [1755] call wait_moment - // [1243] phi from smc_flash::@5 to wait_moment [phi:smc_flash::@5->wait_moment] + // [1743] call wait_moment + // [1231] phi from smc_flash::@5 to wait_moment [phi:smc_flash::@5->wait_moment] jsr wait_moment - // [1756] phi from smc_flash::@5 to smc_flash::@31 [phi:smc_flash::@5->smc_flash::@31] + // [1744] phi from smc_flash::@5 to smc_flash::@31 [phi:smc_flash::@5->smc_flash::@31] // smc_flash::@31 // sprintf(info_text, "[%03u] Press POWER and RESET on the CX16 to start the SMC update!", smc_bootloader_activation_countdown) - // [1757] call snprintf_init - // [1011] phi from smc_flash::@31 to snprintf_init [phi:smc_flash::@31->snprintf_init] - // [1011] phi snprintf_init::s#27 = info_text [phi:smc_flash::@31->snprintf_init#0] -- pbuz1=pbuc1 + // [1745] call snprintf_init + // [1151] phi from smc_flash::@31 to snprintf_init [phi:smc_flash::@31->snprintf_init] + // [1151] phi snprintf_init::s#26 = info_text [phi:smc_flash::@31->snprintf_init#0] -- pbuz1=pbuc1 lda #<@info_text sta.z snprintf_init.s lda #>@info_text sta.z snprintf_init.s+1 jsr snprintf_init - // [1758] phi from smc_flash::@31 to smc_flash::@32 [phi:smc_flash::@31->smc_flash::@32] + // [1746] phi from smc_flash::@31 to smc_flash::@32 [phi:smc_flash::@31->smc_flash::@32] // smc_flash::@32 // sprintf(info_text, "[%03u] Press POWER and RESET on the CX16 to start the SMC update!", smc_bootloader_activation_countdown) - // [1759] call printf_str - // [1016] phi from smc_flash::@32 to printf_str [phi:smc_flash::@32->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_flash::@32->printf_str#0] -- pprz1=pprc1 + // [1747] call printf_str + // [1156] phi from smc_flash::@32 to printf_str [phi:smc_flash::@32->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_flash::@32->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_flash::s1 [phi:smc_flash::@32->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_flash::s1 [phi:smc_flash::@32->printf_str#1] -- pbuz1=pbuc1 lda #s1 @@ -11951,38 +12053,38 @@ smc_flash: { jsr printf_str // smc_flash::@33 // sprintf(info_text, "[%03u] Press POWER and RESET on the CX16 to start the SMC update!", smc_bootloader_activation_countdown) - // [1760] printf_uchar::uvalue#5 = smc_flash::smc_bootloader_activation_countdown#10 -- vbuz1=vbuz2 + // [1748] printf_uchar::uvalue#5 = smc_flash::smc_bootloader_activation_countdown#10 -- vbuz1=vbuz2 lda.z smc_bootloader_activation_countdown sta.z printf_uchar.uvalue - // [1761] call printf_uchar - // [1248] phi from smc_flash::@33 to printf_uchar [phi:smc_flash::@33->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 1 [phi:smc_flash::@33->printf_uchar#0] -- vbuz1=vbuc1 + // [1749] call printf_uchar + // [1236] phi from smc_flash::@33 to printf_uchar [phi:smc_flash::@33->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 1 [phi:smc_flash::@33->printf_uchar#0] -- vbuz1=vbuc1 lda #1 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 3 [phi:smc_flash::@33->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 3 [phi:smc_flash::@33->printf_uchar#1] -- vbuz1=vbuc1 lda #3 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:smc_flash::@33->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:smc_flash::@33->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = DECIMAL [phi:smc_flash::@33->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = DECIMAL [phi:smc_flash::@33->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#5 [phi:smc_flash::@33->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#5 [phi:smc_flash::@33->printf_uchar#4] -- register_copy jsr printf_uchar - // [1762] phi from smc_flash::@33 to smc_flash::@34 [phi:smc_flash::@33->smc_flash::@34] + // [1750] phi from smc_flash::@33 to smc_flash::@34 [phi:smc_flash::@33->smc_flash::@34] // smc_flash::@34 // sprintf(info_text, "[%03u] Press POWER and RESET on the CX16 to start the SMC update!", smc_bootloader_activation_countdown) - // [1763] call printf_str - // [1016] phi from smc_flash::@34 to printf_str [phi:smc_flash::@34->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:smc_flash::@34->printf_str#0] -- pprz1=pprc1 + // [1751] call printf_str + // [1156] phi from smc_flash::@34 to printf_str [phi:smc_flash::@34->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:smc_flash::@34->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = smc_flash::s2 [phi:smc_flash::@34->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = smc_flash::s2 [phi:smc_flash::@34->printf_str#1] -- pbuz1=pbuc1 lda #s2 @@ -11990,17 +12092,17 @@ smc_flash: { jsr printf_str // smc_flash::@35 // sprintf(info_text, "[%03u] Press POWER and RESET on the CX16 to start the SMC update!", smc_bootloader_activation_countdown) - // [1764] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1752] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1765] callexecute snputc -- call_vprc1 + // [1753] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_action_text(info_text) - // [1767] call display_action_text - // [1259] phi from smc_flash::@35 to display_action_text [phi:smc_flash::@35->display_action_text] - // [1259] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@35->display_action_text#0] -- pbuz1=pbuc1 + // [1755] call display_action_text + // [1247] phi from smc_flash::@35 to display_action_text [phi:smc_flash::@35->display_action_text] + // [1247] phi display_action_text::info_text#19 = info_text [phi:smc_flash::@35->display_action_text#0] -- pbuz1=pbuc1 lda #<@info_text sta.z display_action_text.info_text lda #>@info_text @@ -12008,10 +12110,10 @@ smc_flash: { jsr display_action_text // smc_flash::@6 // smc_bootloader_activation_countdown--; - // [1768] smc_flash::smc_bootloader_activation_countdown#2 = -- smc_flash::smc_bootloader_activation_countdown#10 -- vbuz1=_dec_vbuz1 + // [1756] smc_flash::smc_bootloader_activation_countdown#2 = -- smc_flash::smc_bootloader_activation_countdown#10 -- vbuz1=_dec_vbuz1 dec.z smc_bootloader_activation_countdown - // [1635] phi from smc_flash::@6 to smc_flash::@3 [phi:smc_flash::@6->smc_flash::@3] - // [1635] phi smc_flash::smc_bootloader_activation_countdown#10 = smc_flash::smc_bootloader_activation_countdown#2 [phi:smc_flash::@6->smc_flash::@3#0] -- register_copy + // [1623] phi from smc_flash::@6 to smc_flash::@3 [phi:smc_flash::@6->smc_flash::@3] + // [1623] phi smc_flash::smc_bootloader_activation_countdown#10 = smc_flash::smc_bootloader_activation_countdown#2 [phi:smc_flash::@6->smc_flash::@3#0] -- register_copy jmp __b3 .segment Data info_text: .text "To start the SMC update, do the below action ..." @@ -12038,8 +12140,6 @@ smc_flash: { .byte 0 s10: .text "There were too many attempts trying to flash the SMC at location " .byte 0 - .label smc_flash__26 = util_wait_key.return - .label smc_flash__27 = util_wait_key.return cx16_k_i2c_write_byte1_device: .byte 0 cx16_k_i2c_write_byte1_offset: .byte 0 cx16_k_i2c_write_byte1_value: .byte 0 @@ -12057,7 +12157,6 @@ smc_flash: { cx16_k_i2c_write_byte4_value: .byte 0 cx16_k_i2c_write_byte4_result: .byte 0 return: .word 0 - .label smc_bytes_checksum = util_wait_key.return smc_package_flashed: .word 0 .label smc_bytes_flashed = return .label smc_package_committed = main.check_status_cx16_rom3_check_status_rom1_main__0 @@ -12068,57 +12167,55 @@ smc_flash: { // - str: The memory to search // - c: A character to search for // Return: A pointer to the matching byte or NULL if the character does not occur in the given memory area. -// __zp($ee) void * strchr(__zp($ee) const void *str, __mem() char c) +// __zp($f0) void * strchr(__zp($f0) const void *str, __zp($e9) char c) strchr: { - .label ptr = $ee - .label return = $ee - .label str = $ee - // [1770] strchr::ptr#6 = (char *)strchr::str#2 - // [1771] phi from strchr strchr::@3 to strchr::@1 [phi:strchr/strchr::@3->strchr::@1] - // [1771] phi strchr::ptr#2 = strchr::ptr#6 [phi:strchr/strchr::@3->strchr::@1#0] -- register_copy + .label ptr = $f0 + .label return = $f0 + .label str = $f0 + .label c = $e9 + // [1758] strchr::ptr#6 = (char *)strchr::str#2 + // [1759] phi from strchr strchr::@3 to strchr::@1 [phi:strchr/strchr::@3->strchr::@1] + // [1759] phi strchr::ptr#2 = strchr::ptr#6 [phi:strchr/strchr::@3->strchr::@1#0] -- register_copy // strchr::@1 __b1: // while(*ptr) - // [1772] if(0!=*strchr::ptr#2) goto strchr::@2 -- 0_neq__deref_pbuz1_then_la1 + // [1760] if(0!=*strchr::ptr#2) goto strchr::@2 -- 0_neq__deref_pbuz1_then_la1 ldy #0 lda (ptr),y cmp #0 bne __b2 - // [1773] phi from strchr::@1 to strchr::@return [phi:strchr::@1->strchr::@return] - // [1773] phi strchr::return#2 = (void *) 0 [phi:strchr::@1->strchr::@return#0] -- pvoz1=pvoc1 + // [1761] phi from strchr::@1 to strchr::@return [phi:strchr::@1->strchr::@return] + // [1761] phi strchr::return#2 = (void *) 0 [phi:strchr::@1->strchr::@return#0] -- pvoz1=pvoc1 tya sta.z return sta.z return+1 // strchr::@return // } - // [1774] return + // [1762] return rts // strchr::@2 __b2: // if(*ptr==c) - // [1775] if(*strchr::ptr#2!=strchr::c#4) goto strchr::@3 -- _deref_pbuz1_neq_vbum2_then_la1 + // [1763] if(*strchr::ptr#2!=strchr::c#4) goto strchr::@3 -- _deref_pbuz1_neq_vbuz2_then_la1 ldy #0 lda (ptr),y - cmp c + cmp.z c bne __b3 // strchr::@4 - // [1776] strchr::return#8 = (void *)strchr::ptr#2 - // [1773] phi from strchr::@4 to strchr::@return [phi:strchr::@4->strchr::@return] - // [1773] phi strchr::return#2 = strchr::return#8 [phi:strchr::@4->strchr::@return#0] -- register_copy + // [1764] strchr::return#8 = (void *)strchr::ptr#2 + // [1761] phi from strchr::@4 to strchr::@return [phi:strchr::@4->strchr::@return] + // [1761] phi strchr::return#2 = strchr::return#8 [phi:strchr::@4->strchr::@return#0] -- register_copy rts // strchr::@3 __b3: // ptr++; - // [1777] strchr::ptr#1 = ++ strchr::ptr#2 -- pbuz1=_inc_pbuz1 + // [1765] strchr::ptr#1 = ++ strchr::ptr#2 -- pbuz1=_inc_pbuz1 inc.z ptr bne !+ inc.z ptr+1 !: jmp __b1 - .segment Data - c: .byte 0 } -.segment Code // rom_get_github_commit_id /** * @brief Copy the github commit_id only if the commit_id contains hexadecimal characters. @@ -12126,51 +12223,51 @@ strchr: { * @param commit_id The target commit_id. * @param from The source ptr in ROM or RAM. */ -// void rom_get_github_commit_id(__zp($dd) char *commit_id, __zp($d7) char *from) +// void rom_get_github_commit_id(__zp($4f) char *commit_id, __zp($3f) char *from) rom_get_github_commit_id: { .label ch = $54 - .label commit_id = $dd - .label from = $d7 - // [1779] phi from rom_get_github_commit_id to rom_get_github_commit_id::@2 [phi:rom_get_github_commit_id->rom_get_github_commit_id::@2] - // [1779] phi rom_get_github_commit_id::commit_id_ok#2 = true [phi:rom_get_github_commit_id->rom_get_github_commit_id::@2#0] -- vbom1=vboc1 + .label commit_id = $4f + .label from = $3f + // [1767] phi from rom_get_github_commit_id to rom_get_github_commit_id::@2 [phi:rom_get_github_commit_id->rom_get_github_commit_id::@2] + // [1767] phi rom_get_github_commit_id::commit_id_ok#2 = true [phi:rom_get_github_commit_id->rom_get_github_commit_id::@2#0] -- vbom1=vboc1 lda #1 sta commit_id_ok - // [1779] phi rom_get_github_commit_id::c#2 = 0 [phi:rom_get_github_commit_id->rom_get_github_commit_id::@2#1] -- vbum1=vbuc1 + // [1767] phi rom_get_github_commit_id::c#2 = 0 [phi:rom_get_github_commit_id->rom_get_github_commit_id::@2#1] -- vbum1=vbuc1 lda #0 sta c // rom_get_github_commit_id::@2 __b2: // for(unsigned char c=0; c<7; c++) - // [1780] if(rom_get_github_commit_id::c#2<7) goto rom_get_github_commit_id::@3 -- vbum1_lt_vbuc1_then_la1 + // [1768] if(rom_get_github_commit_id::c#2<7) goto rom_get_github_commit_id::@3 -- vbum1_lt_vbuc1_then_la1 lda c cmp #7 bcc __b3 // rom_get_github_commit_id::@4 // if(commit_id_ok) - // [1781] if(rom_get_github_commit_id::commit_id_ok#2) goto rom_get_github_commit_id::@1 -- vbom1_then_la1 + // [1769] if(rom_get_github_commit_id::commit_id_ok#2) goto rom_get_github_commit_id::@1 -- vbom1_then_la1 lda commit_id_ok cmp #0 bne __b1 // rom_get_github_commit_id::@6 // *commit_id = '\0' - // [1782] *rom_get_github_commit_id::commit_id#6 = '@' -- _deref_pbuz1=vbuc1 + // [1770] *rom_get_github_commit_id::commit_id#6 = '@' -- _deref_pbuz1=vbuc1 lda #'@' ldy #0 sta (commit_id),y // rom_get_github_commit_id::@return // } - // [1783] return + // [1771] return rts // rom_get_github_commit_id::@1 __b1: // strncpy(commit_id, from, 7) - // [1784] strncpy::dst#2 = rom_get_github_commit_id::commit_id#6 - // [1785] strncpy::src#2 = rom_get_github_commit_id::from#6 - // [1786] call strncpy - // [2509] phi from rom_get_github_commit_id::@1 to strncpy [phi:rom_get_github_commit_id::@1->strncpy] - // [2509] phi strncpy::dst#8 = strncpy::dst#2 [phi:rom_get_github_commit_id::@1->strncpy#0] -- register_copy - // [2509] phi strncpy::src#6 = strncpy::src#2 [phi:rom_get_github_commit_id::@1->strncpy#1] -- register_copy - // [2509] phi strncpy::n#3 = 7 [phi:rom_get_github_commit_id::@1->strncpy#2] -- vwuz1=vbuc1 + // [1772] strncpy::dst#2 = rom_get_github_commit_id::commit_id#6 + // [1773] strncpy::src#2 = rom_get_github_commit_id::from#6 + // [1774] call strncpy + // [2478] phi from rom_get_github_commit_id::@1 to strncpy [phi:rom_get_github_commit_id::@1->strncpy] + // [2478] phi strncpy::dst#8 = strncpy::dst#2 [phi:rom_get_github_commit_id::@1->strncpy#0] -- register_copy + // [2478] phi strncpy::src#6 = strncpy::src#2 [phi:rom_get_github_commit_id::@1->strncpy#1] -- register_copy + // [2478] phi strncpy::n#3 = 7 [phi:rom_get_github_commit_id::@1->strncpy#2] -- vwuz1=vbuc1 lda #<7 sta.z strncpy.n lda #>7 @@ -12180,102 +12277,102 @@ rom_get_github_commit_id: { // rom_get_github_commit_id::@3 __b3: // unsigned char ch = from[c] - // [1787] rom_get_github_commit_id::ch#0 = rom_get_github_commit_id::from#6[rom_get_github_commit_id::c#2] -- vbuz1=pbuz2_derefidx_vbum3 + // [1775] rom_get_github_commit_id::ch#0 = rom_get_github_commit_id::from#6[rom_get_github_commit_id::c#2] -- vbuz1=pbuz2_derefidx_vbum3 ldy c lda (from),y sta.z ch // if(!(ch >= 48 && ch <= 48+9 || ch >= 65 && ch <= 65+26)) - // [1788] if(rom_get_github_commit_id::ch#0<$30) goto rom_get_github_commit_id::@7 -- vbuz1_lt_vbuc1_then_la1 + // [1776] if(rom_get_github_commit_id::ch#0<$30) goto rom_get_github_commit_id::@7 -- vbuz1_lt_vbuc1_then_la1 cmp #$30 bcc __b7 // rom_get_github_commit_id::@8 - // [1789] if(rom_get_github_commit_id::ch#0<$30+9+1) goto rom_get_github_commit_id::@5 -- vbuz1_lt_vbuc1_then_la1 + // [1777] if(rom_get_github_commit_id::ch#0<$30+9+1) goto rom_get_github_commit_id::@5 -- vbuz1_lt_vbuc1_then_la1 cmp #$30+9+1 bcc __b5 // rom_get_github_commit_id::@7 __b7: - // [1790] if(rom_get_github_commit_id::ch#0<$41) goto rom_get_github_commit_id::@5 -- vbuz1_lt_vbuc1_then_la1 + // [1778] if(rom_get_github_commit_id::ch#0<$41) goto rom_get_github_commit_id::@5 -- vbuz1_lt_vbuc1_then_la1 lda.z ch cmp #$41 bcc __b4 // rom_get_github_commit_id::@9 - // [1791] if(rom_get_github_commit_id::ch#0<$41+$1a+1) goto rom_get_github_commit_id::@10 -- vbuz1_lt_vbuc1_then_la1 + // [1779] if(rom_get_github_commit_id::ch#0<$41+$1a+1) goto rom_get_github_commit_id::@10 -- vbuz1_lt_vbuc1_then_la1 cmp #$41+$1a+1 bcc __b5 - // [1793] phi from rom_get_github_commit_id::@7 rom_get_github_commit_id::@9 to rom_get_github_commit_id::@5 [phi:rom_get_github_commit_id::@7/rom_get_github_commit_id::@9->rom_get_github_commit_id::@5] + // [1781] phi from rom_get_github_commit_id::@7 rom_get_github_commit_id::@9 to rom_get_github_commit_id::@5 [phi:rom_get_github_commit_id::@7/rom_get_github_commit_id::@9->rom_get_github_commit_id::@5] __b4: - // [1793] phi rom_get_github_commit_id::commit_id_ok#4 = false [phi:rom_get_github_commit_id::@7/rom_get_github_commit_id::@9->rom_get_github_commit_id::@5#0] -- vbom1=vboc1 + // [1781] phi rom_get_github_commit_id::commit_id_ok#4 = false [phi:rom_get_github_commit_id::@7/rom_get_github_commit_id::@9->rom_get_github_commit_id::@5#0] -- vbom1=vboc1 lda #0 sta commit_id_ok - // [1792] phi from rom_get_github_commit_id::@9 to rom_get_github_commit_id::@10 [phi:rom_get_github_commit_id::@9->rom_get_github_commit_id::@10] + // [1780] phi from rom_get_github_commit_id::@9 to rom_get_github_commit_id::@10 [phi:rom_get_github_commit_id::@9->rom_get_github_commit_id::@10] // rom_get_github_commit_id::@10 - // [1793] phi from rom_get_github_commit_id::@10 rom_get_github_commit_id::@8 to rom_get_github_commit_id::@5 [phi:rom_get_github_commit_id::@10/rom_get_github_commit_id::@8->rom_get_github_commit_id::@5] - // [1793] phi rom_get_github_commit_id::commit_id_ok#4 = rom_get_github_commit_id::commit_id_ok#2 [phi:rom_get_github_commit_id::@10/rom_get_github_commit_id::@8->rom_get_github_commit_id::@5#0] -- register_copy + // [1781] phi from rom_get_github_commit_id::@10 rom_get_github_commit_id::@8 to rom_get_github_commit_id::@5 [phi:rom_get_github_commit_id::@10/rom_get_github_commit_id::@8->rom_get_github_commit_id::@5] + // [1781] phi rom_get_github_commit_id::commit_id_ok#4 = rom_get_github_commit_id::commit_id_ok#2 [phi:rom_get_github_commit_id::@10/rom_get_github_commit_id::@8->rom_get_github_commit_id::@5#0] -- register_copy // rom_get_github_commit_id::@5 __b5: // for(unsigned char c=0; c<7; c++) - // [1794] rom_get_github_commit_id::c#1 = ++ rom_get_github_commit_id::c#2 -- vbum1=_inc_vbum1 + // [1782] rom_get_github_commit_id::c#1 = ++ rom_get_github_commit_id::c#2 -- vbum1=_inc_vbum1 inc c - // [1779] phi from rom_get_github_commit_id::@5 to rom_get_github_commit_id::@2 [phi:rom_get_github_commit_id::@5->rom_get_github_commit_id::@2] - // [1779] phi rom_get_github_commit_id::commit_id_ok#2 = rom_get_github_commit_id::commit_id_ok#4 [phi:rom_get_github_commit_id::@5->rom_get_github_commit_id::@2#0] -- register_copy - // [1779] phi rom_get_github_commit_id::c#2 = rom_get_github_commit_id::c#1 [phi:rom_get_github_commit_id::@5->rom_get_github_commit_id::@2#1] -- register_copy + // [1767] phi from rom_get_github_commit_id::@5 to rom_get_github_commit_id::@2 [phi:rom_get_github_commit_id::@5->rom_get_github_commit_id::@2] + // [1767] phi rom_get_github_commit_id::commit_id_ok#2 = rom_get_github_commit_id::commit_id_ok#4 [phi:rom_get_github_commit_id::@5->rom_get_github_commit_id::@2#0] -- register_copy + // [1767] phi rom_get_github_commit_id::c#2 = rom_get_github_commit_id::c#1 [phi:rom_get_github_commit_id::@5->rom_get_github_commit_id::@2#1] -- register_copy jmp __b2 .segment Data - .label c = main.check_status_smc5_main__0 - .label commit_id_ok = main.check_status_vera1_main__0 + .label c = util_wait_key.return + .label commit_id_ok = main.check_status_smc5_main__0 } .segment Code // rom_get_version_text -// void rom_get_version_text(__zp($4f) char *release_info, __mem() char prefix, __mem() char release, __zp($db) char *github) +// void rom_get_version_text(__zp($bc) char *release_info, __mem() char prefix, __mem() char release, __zp($dd) char *github) rom_get_version_text: { - .label release_info = $4f - .label github = $db + .label release_info = $bc + .label github = $dd // sprintf(release_info, "%c%u %s", prefix, release, github) - // [1796] snprintf_init::s#8 = rom_get_version_text::release_info#2 - // [1797] call snprintf_init - // [1011] phi from rom_get_version_text to snprintf_init [phi:rom_get_version_text->snprintf_init] - // [1011] phi snprintf_init::s#27 = snprintf_init::s#8 [phi:rom_get_version_text->snprintf_init#0] -- register_copy + // [1784] snprintf_init::s#8 = rom_get_version_text::release_info#2 + // [1785] call snprintf_init + // [1151] phi from rom_get_version_text to snprintf_init [phi:rom_get_version_text->snprintf_init] + // [1151] phi snprintf_init::s#26 = snprintf_init::s#8 [phi:rom_get_version_text->snprintf_init#0] -- register_copy jsr snprintf_init // rom_get_version_text::@1 // sprintf(release_info, "%c%u %s", prefix, release, github) - // [1798] stackpush(char) = rom_get_version_text::prefix#2 -- _stackpushbyte_=vbum1 + // [1786] stackpush(char) = rom_get_version_text::prefix#2 -- _stackpushbyte_=vbum1 lda prefix pha - // [1799] callexecute snputc -- call_vprc1 + // [1787] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla - // [1801] printf_uchar::uvalue#7 = rom_get_version_text::release#2 -- vbuz1=vbum2 + // [1789] printf_uchar::uvalue#7 = rom_get_version_text::release#2 -- vbuz1=vbum2 lda release sta.z printf_uchar.uvalue - // [1802] call printf_uchar - // [1248] phi from rom_get_version_text::@1 to printf_uchar [phi:rom_get_version_text::@1->printf_uchar] - // [1248] phi printf_uchar::format_zero_padding#14 = 0 [phi:rom_get_version_text::@1->printf_uchar#0] -- vbuz1=vbuc1 + // [1790] call printf_uchar + // [1236] phi from rom_get_version_text::@1 to printf_uchar [phi:rom_get_version_text::@1->printf_uchar] + // [1236] phi printf_uchar::format_zero_padding#14 = 0 [phi:rom_get_version_text::@1->printf_uchar#0] -- vbuz1=vbuc1 lda #0 sta.z printf_uchar.format_zero_padding - // [1248] phi printf_uchar::format_min_length#14 = 0 [phi:rom_get_version_text::@1->printf_uchar#1] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_min_length#14 = 0 [phi:rom_get_version_text::@1->printf_uchar#1] -- vbuz1=vbuc1 sta.z printf_uchar.format_min_length - // [1248] phi printf_uchar::putc#14 = &snputc [phi:rom_get_version_text::@1->printf_uchar#2] -- pprz1=pprc1 + // [1236] phi printf_uchar::putc#14 = &snputc [phi:rom_get_version_text::@1->printf_uchar#2] -- pprz1=pprc1 lda #snputc sta.z printf_uchar.putc+1 - // [1248] phi printf_uchar::format_radix#14 = DECIMAL [phi:rom_get_version_text::@1->printf_uchar#3] -- vbuz1=vbuc1 + // [1236] phi printf_uchar::format_radix#14 = DECIMAL [phi:rom_get_version_text::@1->printf_uchar#3] -- vbuz1=vbuc1 lda #DECIMAL sta.z printf_uchar.format_radix - // [1248] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#7 [phi:rom_get_version_text::@1->printf_uchar#4] -- register_copy + // [1236] phi printf_uchar::uvalue#14 = printf_uchar::uvalue#7 [phi:rom_get_version_text::@1->printf_uchar#4] -- register_copy jsr printf_uchar - // [1803] phi from rom_get_version_text::@1 to rom_get_version_text::@2 [phi:rom_get_version_text::@1->rom_get_version_text::@2] + // [1791] phi from rom_get_version_text::@1 to rom_get_version_text::@2 [phi:rom_get_version_text::@1->rom_get_version_text::@2] // rom_get_version_text::@2 // sprintf(release_info, "%c%u %s", prefix, release, github) - // [1804] call printf_str - // [1016] phi from rom_get_version_text::@2 to printf_str [phi:rom_get_version_text::@2->printf_str] - // [1016] phi printf_str::putc#71 = &snputc [phi:rom_get_version_text::@2->printf_str#0] -- pprz1=pprc1 + // [1792] call printf_str + // [1156] phi from rom_get_version_text::@2 to printf_str [phi:rom_get_version_text::@2->printf_str] + // [1156] phi printf_str::putc#71 = &snputc [phi:rom_get_version_text::@2->printf_str#0] -- pprz1=pprc1 lda #snputc sta.z printf_str.putc+1 - // [1016] phi printf_str::s#71 = s [phi:rom_get_version_text::@2->printf_str#1] -- pbuz1=pbuc1 + // [1156] phi printf_str::s#71 = s [phi:rom_get_version_text::@2->printf_str#1] -- pbuz1=pbuc1 lda #s @@ -12283,37 +12380,37 @@ rom_get_version_text: { jsr printf_str // rom_get_version_text::@3 // sprintf(release_info, "%c%u %s", prefix, release, github) - // [1805] printf_string::str#12 = rom_get_version_text::github#2 -- pbuz1=pbuz2 + // [1793] printf_string::str#12 = rom_get_version_text::github#2 -- pbuz1=pbuz2 lda.z github sta.z printf_string.str lda.z github+1 sta.z printf_string.str+1 - // [1806] call printf_string - // [1177] phi from rom_get_version_text::@3 to printf_string [phi:rom_get_version_text::@3->printf_string] - // [1177] phi printf_string::putc#22 = &snputc [phi:rom_get_version_text::@3->printf_string#0] -- pprz1=pprc1 + // [1794] call printf_string + // [1165] phi from rom_get_version_text::@3 to printf_string [phi:rom_get_version_text::@3->printf_string] + // [1165] phi printf_string::putc#22 = &snputc [phi:rom_get_version_text::@3->printf_string#0] -- pprz1=pprc1 lda #snputc sta.z printf_string.putc+1 - // [1177] phi printf_string::str#22 = printf_string::str#12 [phi:rom_get_version_text::@3->printf_string#1] -- register_copy - // [1177] phi printf_string::format_justify_left#22 = 0 [phi:rom_get_version_text::@3->printf_string#2] -- vbuz1=vbuc1 + // [1165] phi printf_string::str#22 = printf_string::str#12 [phi:rom_get_version_text::@3->printf_string#1] -- register_copy + // [1165] phi printf_string::format_justify_left#22 = 0 [phi:rom_get_version_text::@3->printf_string#2] -- vbuz1=vbuc1 lda #0 sta.z printf_string.format_justify_left - // [1177] phi printf_string::format_min_length#22 = 0 [phi:rom_get_version_text::@3->printf_string#3] -- vbuz1=vbuc1 + // [1165] phi printf_string::format_min_length#22 = 0 [phi:rom_get_version_text::@3->printf_string#3] -- vbuz1=vbuc1 sta.z printf_string.format_min_length jsr printf_string // rom_get_version_text::@4 // sprintf(release_info, "%c%u %s", prefix, release, github) - // [1807] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 + // [1795] stackpush(char) = 0 -- _stackpushbyte_=vbuc1 lda #0 pha - // [1808] callexecute snputc -- call_vprc1 + // [1796] callexecute snputc -- call_vprc1 jsr snputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // rom_get_version_text::@return // } - // [1810] return + // [1798] return rts .segment Data .label prefix = rom_get_prefix.return @@ -12329,107 +12426,149 @@ rom_get_version_text: { * @param tc Fore color * @param bc Back color */ -// void display_info_led(__zp($c4) char x, __zp($d0) char y, __zp($be) char tc, char bc) +// void display_info_led(__zp($c4) char x, __zp($cf) char y, __zp($e6) char tc, char bc) display_info_led: { - .label tc = $be - .label y = $d0 + .label tc = $e6 + .label y = $cf .label x = $c4 // textcolor(tc) - // [1812] textcolor::color#13 = display_info_led::tc#4 -- vbuz1=vbuz2 + // [1800] textcolor::color#13 = display_info_led::tc#4 -- vbuz1=vbuz2 lda.z tc sta.z textcolor.color - // [1813] call textcolor - // [744] phi from display_info_led to textcolor [phi:display_info_led->textcolor] - // [744] phi textcolor::color#18 = textcolor::color#13 [phi:display_info_led->textcolor#0] -- register_copy + // [1801] call textcolor + // [738] phi from display_info_led to textcolor [phi:display_info_led->textcolor] + // [738] phi textcolor::color#18 = textcolor::color#13 [phi:display_info_led->textcolor#0] -- register_copy jsr textcolor - // [1814] phi from display_info_led to display_info_led::@1 [phi:display_info_led->display_info_led::@1] + // [1802] phi from display_info_led to display_info_led::@1 [phi:display_info_led->display_info_led::@1] // display_info_led::@1 // bgcolor(bc) - // [1815] call bgcolor - // [749] phi from display_info_led::@1 to bgcolor [phi:display_info_led::@1->bgcolor] - // [749] phi bgcolor::color#14 = BLUE [phi:display_info_led::@1->bgcolor#0] -- vbuz1=vbuc1 + // [1803] call bgcolor + // [743] phi from display_info_led::@1 to bgcolor [phi:display_info_led::@1->bgcolor] + // [743] phi bgcolor::color#14 = BLUE [phi:display_info_led::@1->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor // display_info_led::@2 // cputcxy(x, y, VERA_CHR_UR) - // [1816] cputcxy::x#11 = display_info_led::x#4 - // [1817] cputcxy::y#11 = display_info_led::y#4 - // [1818] call cputcxy - // [2040] phi from display_info_led::@2 to cputcxy [phi:display_info_led::@2->cputcxy] - // [2040] phi cputcxy::c#15 = $7c [phi:display_info_led::@2->cputcxy#0] -- vbuz1=vbuc1 + // [1804] cputcxy::x#11 = display_info_led::x#4 + // [1805] cputcxy::y#11 = display_info_led::y#4 + // [1806] call cputcxy + // [2039] phi from display_info_led::@2 to cputcxy [phi:display_info_led::@2->cputcxy] + // [2039] phi cputcxy::c#15 = $7c [phi:display_info_led::@2->cputcxy#0] -- vbuz1=vbuc1 lda #$7c sta.z cputcxy.c - // [2040] phi cputcxy::y#15 = cputcxy::y#11 [phi:display_info_led::@2->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#11 [phi:display_info_led::@2->cputcxy#2] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#11 [phi:display_info_led::@2->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#11 [phi:display_info_led::@2->cputcxy#2] -- register_copy jsr cputcxy - // [1819] phi from display_info_led::@2 to display_info_led::@3 [phi:display_info_led::@2->display_info_led::@3] + // [1807] phi from display_info_led::@2 to display_info_led::@3 [phi:display_info_led::@2->display_info_led::@3] // display_info_led::@3 // textcolor(WHITE) - // [1820] call textcolor - // [744] phi from display_info_led::@3 to textcolor [phi:display_info_led::@3->textcolor] - // [744] phi textcolor::color#18 = WHITE [phi:display_info_led::@3->textcolor#0] -- vbuz1=vbuc1 + // [1808] call textcolor + // [738] phi from display_info_led::@3 to textcolor [phi:display_info_led::@3->textcolor] + // [738] phi textcolor::color#18 = WHITE [phi:display_info_led::@3->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor // display_info_led::@return // } - // [1821] return + // [1809] return + rts +} + // printf_uint +// Print an unsigned int using a specific format +// void printf_uint(__zp($5e) void (*putc)(char), __zp($2d) unsigned int uvalue, __zp($ea) char format_min_length, char format_justify_left, char format_sign_always, __zp($e9) char format_zero_padding, char format_upper_case, __zp($e6) char format_radix) +printf_uint: { + .label uvalue = $2d + .label format_radix = $e6 + .label putc = $5e + .label format_min_length = $ea + .label format_zero_padding = $e9 + // printf_uint::@1 + // printf_buffer.sign = format.sign_always?'+':0 + // [1811] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 + // Handle any sign + lda #0 + sta printf_buffer + // utoa(uvalue, printf_buffer.digits, format.radix) + // [1812] utoa::value#1 = printf_uint::uvalue#14 + // [1813] utoa::radix#0 = printf_uint::format_radix#14 + // [1814] call utoa + // Format number into buffer + jsr utoa + // printf_uint::@2 + // printf_number_buffer(putc, printf_buffer, format) + // [1815] printf_number_buffer::putc#1 = printf_uint::putc#14 + // [1816] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 + lda printf_buffer + sta.z printf_number_buffer.buffer_sign + // [1817] printf_number_buffer::format_min_length#1 = printf_uint::format_min_length#14 + // [1818] printf_number_buffer::format_zero_padding#1 = printf_uint::format_zero_padding#14 + // [1819] call printf_number_buffer + // Print using format + // [2362] phi from printf_uint::@2 to printf_number_buffer [phi:printf_uint::@2->printf_number_buffer] + // [2362] phi printf_number_buffer::putc#10 = printf_number_buffer::putc#1 [phi:printf_uint::@2->printf_number_buffer#0] -- register_copy + // [2362] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#1 [phi:printf_uint::@2->printf_number_buffer#1] -- register_copy + // [2362] phi printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#1 [phi:printf_uint::@2->printf_number_buffer#2] -- register_copy + // [2362] phi printf_number_buffer::format_min_length#3 = printf_number_buffer::format_min_length#1 [phi:printf_uint::@2->printf_number_buffer#3] -- register_copy + jsr printf_number_buffer + // printf_uint::@return + // } + // [1820] return rts } // screenlayer // --- layer management in VERA --- -// void screenlayer(char layer, __zp($e5) char mapbase, __zp($e1) char config) +// void screenlayer(char layer, __zp($e4) char mapbase, __zp($e1) char config) screenlayer: { - .label screenlayer__1 = $e5 + .label screenlayer__1 = $e4 .label screenlayer__5 = $e1 .label screenlayer__6 = $e1 - .label mapbase = $e5 + .label mapbase = $e4 .label config = $e1 .label y = $e0 // __mem char vera_dc_hscale_temp = *VERA_DC_HSCALE - // [1822] screenlayer::vera_dc_hscale_temp#0 = *VERA_DC_HSCALE -- vbum1=_deref_pbuc1 + // [1821] screenlayer::vera_dc_hscale_temp#0 = *VERA_DC_HSCALE -- vbum1=_deref_pbuc1 lda VERA_DC_HSCALE sta vera_dc_hscale_temp // __mem char vera_dc_vscale_temp = *VERA_DC_VSCALE - // [1823] screenlayer::vera_dc_vscale_temp#0 = *VERA_DC_VSCALE -- vbum1=_deref_pbuc1 + // [1822] screenlayer::vera_dc_vscale_temp#0 = *VERA_DC_VSCALE -- vbum1=_deref_pbuc1 lda VERA_DC_VSCALE sta vera_dc_vscale_temp // __conio.layer = 0 - // [1824] *((char *)&__conio+2) = 0 -- _deref_pbuc1=vbuc2 + // [1823] *((char *)&__conio+2) = 0 -- _deref_pbuc1=vbuc2 lda #0 sta __conio+2 // mapbase >> 7 - // [1825] screenlayer::$0 = screenlayer::mapbase#0 >> 7 -- vbum1=vbuz2_ror_7 + // [1824] screenlayer::$0 = screenlayer::mapbase#0 >> 7 -- vbum1=vbuz2_ror_7 lda.z mapbase rol rol and #1 sta screenlayer__0 // __conio.mapbase_bank = mapbase >> 7 - // [1826] *((char *)&__conio+5) = screenlayer::$0 -- _deref_pbuc1=vbum1 + // [1825] *((char *)&__conio+5) = screenlayer::$0 -- _deref_pbuc1=vbum1 sta __conio+5 // (mapbase)<<1 - // [1827] screenlayer::$1 = screenlayer::mapbase#0 << 1 -- vbuz1=vbuz1_rol_1 + // [1826] screenlayer::$1 = screenlayer::mapbase#0 << 1 -- vbuz1=vbuz1_rol_1 asl.z screenlayer__1 // MAKEWORD((mapbase)<<1,0) - // [1828] screenlayer::$2 = screenlayer::$1 w= 0 -- vwum1=vbuz2_word_vbuc1 + // [1827] screenlayer::$2 = screenlayer::$1 w= 0 -- vwum1=vbuz2_word_vbuc1 lda #0 ldy.z screenlayer__1 sty screenlayer__2+1 sta screenlayer__2 // __conio.mapbase_offset = MAKEWORD((mapbase)<<1,0) - // [1829] *((unsigned int *)&__conio+3) = screenlayer::$2 -- _deref_pwuc1=vwum1 + // [1828] *((unsigned int *)&__conio+3) = screenlayer::$2 -- _deref_pwuc1=vwum1 sta __conio+3 tya sta __conio+3+1 // config & VERA_LAYER_WIDTH_MASK - // [1830] screenlayer::$7 = screenlayer::config#0 & VERA_LAYER_WIDTH_MASK -- vbum1=vbuz2_band_vbuc1 + // [1829] screenlayer::$7 = screenlayer::config#0 & VERA_LAYER_WIDTH_MASK -- vbum1=vbuz2_band_vbuc1 lda #VERA_LAYER_WIDTH_MASK and.z config sta screenlayer__7 // (config & VERA_LAYER_WIDTH_MASK) >> 4 - // [1831] screenlayer::$8 = screenlayer::$7 >> 4 -- vbum1=vbum1_ror_4 + // [1830] screenlayer::$8 = screenlayer::$7 >> 4 -- vbum1=vbum1_ror_4 lda screenlayer__8 lsr lsr @@ -12437,17 +12576,17 @@ screenlayer: { lsr sta screenlayer__8 // __conio.mapwidth = VERA_LAYER_DIM[ (config & VERA_LAYER_WIDTH_MASK) >> 4] - // [1832] *((char *)&__conio+8) = screenlayer::VERA_LAYER_DIM[screenlayer::$8] -- _deref_pbuc1=pbuc2_derefidx_vbum1 + // [1831] *((char *)&__conio+8) = screenlayer::VERA_LAYER_DIM[screenlayer::$8] -- _deref_pbuc1=pbuc2_derefidx_vbum1 tay lda VERA_LAYER_DIM,y sta __conio+8 // config & VERA_LAYER_HEIGHT_MASK - // [1833] screenlayer::$5 = screenlayer::config#0 & VERA_LAYER_HEIGHT_MASK -- vbuz1=vbuz1_band_vbuc1 + // [1832] screenlayer::$5 = screenlayer::config#0 & VERA_LAYER_HEIGHT_MASK -- vbuz1=vbuz1_band_vbuc1 lda #VERA_LAYER_HEIGHT_MASK and.z screenlayer__5 sta.z screenlayer__5 // (config & VERA_LAYER_HEIGHT_MASK) >> 6 - // [1834] screenlayer::$6 = screenlayer::$5 >> 6 -- vbuz1=vbuz1_ror_6 + // [1833] screenlayer::$6 = screenlayer::$5 >> 6 -- vbuz1=vbuz1_ror_6 lda.z screenlayer__6 rol rol @@ -12455,14 +12594,14 @@ screenlayer: { and #3 sta.z screenlayer__6 // __conio.mapheight = VERA_LAYER_DIM[ (config & VERA_LAYER_HEIGHT_MASK) >> 6] - // [1835] *((char *)&__conio+9) = screenlayer::VERA_LAYER_DIM[screenlayer::$6] -- _deref_pbuc1=pbuc2_derefidx_vbuz1 + // [1834] *((char *)&__conio+9) = screenlayer::VERA_LAYER_DIM[screenlayer::$6] -- _deref_pbuc1=pbuc2_derefidx_vbuz1 tay lda VERA_LAYER_DIM,y sta __conio+9 // __conio.rowskip = VERA_LAYER_SKIP[(config & VERA_LAYER_WIDTH_MASK)>>4] - // [1836] screenlayer::$16 = screenlayer::$8 << 1 -- vbum1=vbum1_rol_1 + // [1835] screenlayer::$16 = screenlayer::$8 << 1 -- vbum1=vbum1_rol_1 asl screenlayer__16 - // [1837] *((unsigned int *)&__conio+$a) = screenlayer::VERA_LAYER_SKIP[screenlayer::$16] -- _deref_pwuc1=pwuc2_derefidx_vbum1 + // [1836] *((unsigned int *)&__conio+$a) = screenlayer::VERA_LAYER_SKIP[screenlayer::$16] -- _deref_pwuc1=pwuc2_derefidx_vbum1 // __conio.rowshift = ((config & VERA_LAYER_WIDTH_MASK)>>4)+6; ldy screenlayer__16 lda VERA_LAYER_SKIP,y @@ -12470,7 +12609,7 @@ screenlayer: { lda VERA_LAYER_SKIP+1,y sta __conio+$a+1 // vera_dc_hscale_temp == 0x80 - // [1838] screenlayer::$9 = screenlayer::vera_dc_hscale_temp#0 == $80 -- vbom1=vbum2_eq_vbuc1 + // [1837] screenlayer::$9 = screenlayer::vera_dc_hscale_temp#0 == $80 -- vbom1=vbum2_eq_vbuc1 lda vera_dc_hscale_temp eor #$80 beq !+ @@ -12479,8 +12618,8 @@ screenlayer: { eor #1 sta screenlayer__9 // 40 << (char)(vera_dc_hscale_temp == 0x80) - // [1839] screenlayer::$18 = (char)screenlayer::$9 - // [1840] screenlayer::$10 = $28 << screenlayer::$18 -- vbum1=vbuc1_rol_vbum1 + // [1838] screenlayer::$18 = (char)screenlayer::$9 + // [1839] screenlayer::$10 = $28 << screenlayer::$18 -- vbum1=vbuc1_rol_vbum1 lda #$28 ldy screenlayer__10 cpy #0 @@ -12492,14 +12631,14 @@ screenlayer: { !e: sta screenlayer__10 // (40 << (char)(vera_dc_hscale_temp == 0x80))-1 - // [1841] screenlayer::$11 = screenlayer::$10 - 1 -- vbum1=vbum1_minus_1 + // [1840] screenlayer::$11 = screenlayer::$10 - 1 -- vbum1=vbum1_minus_1 dec screenlayer__11 // __conio.width = (40 << (char)(vera_dc_hscale_temp == 0x80))-1 - // [1842] *((char *)&__conio+6) = screenlayer::$11 -- _deref_pbuc1=vbum1 + // [1841] *((char *)&__conio+6) = screenlayer::$11 -- _deref_pbuc1=vbum1 lda screenlayer__11 sta __conio+6 // vera_dc_vscale_temp == 0x80 - // [1843] screenlayer::$12 = screenlayer::vera_dc_vscale_temp#0 == $80 -- vbom1=vbum2_eq_vbuc1 + // [1842] screenlayer::$12 = screenlayer::vera_dc_vscale_temp#0 == $80 -- vbom1=vbum2_eq_vbuc1 lda vera_dc_vscale_temp eor #$80 beq !+ @@ -12508,8 +12647,8 @@ screenlayer: { eor #1 sta screenlayer__12 // 30 << (char)(vera_dc_vscale_temp == 0x80) - // [1844] screenlayer::$19 = (char)screenlayer::$12 - // [1845] screenlayer::$13 = $1e << screenlayer::$19 -- vbum1=vbuc1_rol_vbum1 + // [1843] screenlayer::$19 = (char)screenlayer::$12 + // [1844] screenlayer::$13 = $1e << screenlayer::$19 -- vbum1=vbuc1_rol_vbum1 lda #$1e ldy screenlayer__13 cpy #0 @@ -12521,49 +12660,49 @@ screenlayer: { !e: sta screenlayer__13 // (30 << (char)(vera_dc_vscale_temp == 0x80))-1 - // [1846] screenlayer::$14 = screenlayer::$13 - 1 -- vbum1=vbum1_minus_1 + // [1845] screenlayer::$14 = screenlayer::$13 - 1 -- vbum1=vbum1_minus_1 dec screenlayer__14 // __conio.height = (30 << (char)(vera_dc_vscale_temp == 0x80))-1 - // [1847] *((char *)&__conio+7) = screenlayer::$14 -- _deref_pbuc1=vbum1 + // [1846] *((char *)&__conio+7) = screenlayer::$14 -- _deref_pbuc1=vbum1 lda screenlayer__14 sta __conio+7 // unsigned int mapbase_offset = __conio.mapbase_offset - // [1848] screenlayer::mapbase_offset#0 = *((unsigned int *)&__conio+3) -- vwum1=_deref_pwuc1 + // [1847] screenlayer::mapbase_offset#0 = *((unsigned int *)&__conio+3) -- vwum1=_deref_pwuc1 lda __conio+3 sta mapbase_offset lda __conio+3+1 sta mapbase_offset+1 - // [1849] phi from screenlayer to screenlayer::@1 [phi:screenlayer->screenlayer::@1] - // [1849] phi screenlayer::mapbase_offset#2 = screenlayer::mapbase_offset#0 [phi:screenlayer->screenlayer::@1#0] -- register_copy - // [1849] phi screenlayer::y#2 = 0 [phi:screenlayer->screenlayer::@1#1] -- vbuz1=vbuc1 + // [1848] phi from screenlayer to screenlayer::@1 [phi:screenlayer->screenlayer::@1] + // [1848] phi screenlayer::mapbase_offset#2 = screenlayer::mapbase_offset#0 [phi:screenlayer->screenlayer::@1#0] -- register_copy + // [1848] phi screenlayer::y#2 = 0 [phi:screenlayer->screenlayer::@1#1] -- vbuz1=vbuc1 lda #0 sta.z y // screenlayer::@1 __b1: // for(register char y=0; y<=__conio.height; y++) - // [1850] if(screenlayer::y#2<=*((char *)&__conio+7)) goto screenlayer::@2 -- vbuz1_le__deref_pbuc1_then_la1 + // [1849] if(screenlayer::y#2<=*((char *)&__conio+7)) goto screenlayer::@2 -- vbuz1_le__deref_pbuc1_then_la1 lda __conio+7 cmp.z y bcs __b2 // screenlayer::@return // } - // [1851] return + // [1850] return rts // screenlayer::@2 __b2: // __conio.offsets[y] = mapbase_offset - // [1852] screenlayer::$17 = screenlayer::y#2 << 1 -- vbum1=vbuz2_rol_1 + // [1851] screenlayer::$17 = screenlayer::y#2 << 1 -- vbum1=vbuz2_rol_1 lda.z y asl sta screenlayer__17 - // [1853] ((unsigned int *)&__conio+$15)[screenlayer::$17] = screenlayer::mapbase_offset#2 -- pwuc1_derefidx_vbum1=vwum2 + // [1852] ((unsigned int *)&__conio+$15)[screenlayer::$17] = screenlayer::mapbase_offset#2 -- pwuc1_derefidx_vbum1=vwum2 tay lda mapbase_offset sta __conio+$15,y lda mapbase_offset+1 sta __conio+$15+1,y // mapbase_offset += __conio.rowskip - // [1854] screenlayer::mapbase_offset#1 = screenlayer::mapbase_offset#2 + *((unsigned int *)&__conio+$a) -- vwum1=vwum1_plus__deref_pwuc1 + // [1853] screenlayer::mapbase_offset#1 = screenlayer::mapbase_offset#2 + *((unsigned int *)&__conio+$a) -- vwum1=vwum1_plus__deref_pwuc1 clc lda mapbase_offset adc __conio+$a @@ -12572,11 +12711,11 @@ screenlayer: { adc __conio+$a+1 sta mapbase_offset+1 // for(register char y=0; y<=__conio.height; y++) - // [1855] screenlayer::y#1 = ++ screenlayer::y#2 -- vbuz1=_inc_vbuz1 + // [1854] screenlayer::y#1 = ++ screenlayer::y#2 -- vbuz1=_inc_vbuz1 inc.z y - // [1849] phi from screenlayer::@2 to screenlayer::@1 [phi:screenlayer::@2->screenlayer::@1] - // [1849] phi screenlayer::mapbase_offset#2 = screenlayer::mapbase_offset#1 [phi:screenlayer::@2->screenlayer::@1#0] -- register_copy - // [1849] phi screenlayer::y#2 = screenlayer::y#1 [phi:screenlayer::@2->screenlayer::@1#1] -- register_copy + // [1848] phi from screenlayer::@2 to screenlayer::@1 [phi:screenlayer::@2->screenlayer::@1] + // [1848] phi screenlayer::mapbase_offset#2 = screenlayer::mapbase_offset#1 [phi:screenlayer::@2->screenlayer::@1#0] -- register_copy + // [1848] phi screenlayer::y#2 = screenlayer::y#1 [phi:screenlayer::@2->screenlayer::@1#1] -- register_copy jmp __b1 .segment Data VERA_LAYER_DIM: .byte $1f, $3f, $7f, $ff @@ -12604,61 +12743,61 @@ screenlayer: { // Scroll the entire screen if the cursor is beyond the last line cscroll: { // if(__conio.cursor_y>__conio.height) - // [1856] if(*((char *)&__conio+1)<=*((char *)&__conio+7)) goto cscroll::@return -- _deref_pbuc1_le__deref_pbuc2_then_la1 + // [1855] if(*((char *)&__conio+1)<=*((char *)&__conio+7)) goto cscroll::@return -- _deref_pbuc1_le__deref_pbuc2_then_la1 lda __conio+7 cmp __conio+1 bcs __breturn // cscroll::@1 // if(__conio.scroll[__conio.layer]) - // [1857] if(0!=((char *)&__conio+$f)[*((char *)&__conio+2)]) goto cscroll::@4 -- 0_neq_pbuc1_derefidx_(_deref_pbuc2)_then_la1 + // [1856] if(0!=((char *)&__conio+$f)[*((char *)&__conio+2)]) goto cscroll::@4 -- 0_neq_pbuc1_derefidx_(_deref_pbuc2)_then_la1 ldy __conio+2 lda __conio+$f,y cmp #0 bne __b4 // cscroll::@2 // if(__conio.cursor_y>__conio.height) - // [1858] if(*((char *)&__conio+1)<=*((char *)&__conio+7)) goto cscroll::@return -- _deref_pbuc1_le__deref_pbuc2_then_la1 + // [1857] if(*((char *)&__conio+1)<=*((char *)&__conio+7)) goto cscroll::@return -- _deref_pbuc1_le__deref_pbuc2_then_la1 lda __conio+7 cmp __conio+1 bcs __breturn - // [1859] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3] + // [1858] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3] // cscroll::@3 // gotoxy(0,0) - // [1860] call gotoxy - // [762] phi from cscroll::@3 to gotoxy [phi:cscroll::@3->gotoxy] - // [762] phi gotoxy::y#30 = 0 [phi:cscroll::@3->gotoxy#0] -- vbuz1=vbuc1 + // [1859] call gotoxy + // [756] phi from cscroll::@3 to gotoxy [phi:cscroll::@3->gotoxy] + // [756] phi gotoxy::y#30 = 0 [phi:cscroll::@3->gotoxy#0] -- vbuz1=vbuc1 lda #0 sta.z gotoxy.y - // [762] phi gotoxy::x#30 = 0 [phi:cscroll::@3->gotoxy#1] -- vbuz1=vbuc1 + // [756] phi gotoxy::x#30 = 0 [phi:cscroll::@3->gotoxy#1] -- vbuz1=vbuc1 sta.z gotoxy.x jsr gotoxy // cscroll::@return __breturn: // } - // [1861] return + // [1860] return rts - // [1862] phi from cscroll::@1 to cscroll::@4 [phi:cscroll::@1->cscroll::@4] + // [1861] phi from cscroll::@1 to cscroll::@4 [phi:cscroll::@1->cscroll::@4] // cscroll::@4 __b4: // insertup(1) - // [1863] call insertup + // [1862] call insertup jsr insertup // cscroll::@5 // gotoxy( 0, __conio.height) - // [1864] gotoxy::y#3 = *((char *)&__conio+7) -- vbuz1=_deref_pbuc1 + // [1863] gotoxy::y#3 = *((char *)&__conio+7) -- vbuz1=_deref_pbuc1 lda __conio+7 sta.z gotoxy.y - // [1865] call gotoxy - // [762] phi from cscroll::@5 to gotoxy [phi:cscroll::@5->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#3 [phi:cscroll::@5->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = 0 [phi:cscroll::@5->gotoxy#1] -- vbuz1=vbuc1 + // [1864] call gotoxy + // [756] phi from cscroll::@5 to gotoxy [phi:cscroll::@5->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#3 [phi:cscroll::@5->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = 0 [phi:cscroll::@5->gotoxy#1] -- vbuz1=vbuc1 lda #0 sta.z gotoxy.x jsr gotoxy - // [1866] phi from cscroll::@5 to cscroll::@6 [phi:cscroll::@5->cscroll::@6] + // [1865] phi from cscroll::@5 to cscroll::@6 [phi:cscroll::@5->cscroll::@6] // cscroll::@6 // clearline() - // [1867] call clearline + // [1866] call clearline jsr clearline rts } @@ -12670,91 +12809,91 @@ cscroll: { scroll: { .const onoff = 0 // __conio.scroll[__conio.layer] = onoff - // [1868] ((char *)&__conio+$f)[*((char *)&__conio+2)] = scroll::onoff#0 -- pbuc1_derefidx_(_deref_pbuc2)=vbuc3 + // [1867] ((char *)&__conio+$f)[*((char *)&__conio+2)] = scroll::onoff#0 -- pbuc1_derefidx_(_deref_pbuc2)=vbuc3 lda #onoff ldy __conio+2 sta __conio+$f,y // scroll::@return // } - // [1869] return + // [1868] return rts } // clrscr // clears the screen and moves the cursor to the upper left-hand corner of the screen. clrscr: { - .label clrscr__0 = $f3 - .label clrscr__1 = $d4 + .label clrscr__0 = $ef + .label clrscr__1 = $5d .label clrscr__2 = $38 // unsigned int line_text = __conio.mapbase_offset - // [1870] clrscr::line_text#0 = *((unsigned int *)&__conio+3) -- vwum1=_deref_pwuc1 + // [1869] clrscr::line_text#0 = *((unsigned int *)&__conio+3) -- vwum1=_deref_pwuc1 lda __conio+3 sta line_text lda __conio+3+1 sta line_text+1 // *VERA_CTRL &= ~VERA_ADDRSEL - // [1871] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 + // [1870] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 lda #VERA_ADDRSEL^$ff and VERA_CTRL sta VERA_CTRL // __conio.mapbase_bank | VERA_INC_1 - // [1872] clrscr::$0 = *((char *)&__conio+5) | VERA_INC_1 -- vbuz1=_deref_pbuc1_bor_vbuc2 + // [1871] clrscr::$0 = *((char *)&__conio+5) | VERA_INC_1 -- vbuz1=_deref_pbuc1_bor_vbuc2 lda #VERA_INC_1 ora __conio+5 sta.z clrscr__0 // *VERA_ADDRX_H = __conio.mapbase_bank | VERA_INC_1 - // [1873] *VERA_ADDRX_H = clrscr::$0 -- _deref_pbuc1=vbuz1 + // [1872] *VERA_ADDRX_H = clrscr::$0 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_H // unsigned char l = __conio.mapheight - // [1874] clrscr::l#0 = *((char *)&__conio+9) -- vbum1=_deref_pbuc1 + // [1873] clrscr::l#0 = *((char *)&__conio+9) -- vbum1=_deref_pbuc1 lda __conio+9 sta l - // [1875] phi from clrscr clrscr::@3 to clrscr::@1 [phi:clrscr/clrscr::@3->clrscr::@1] - // [1875] phi clrscr::l#4 = clrscr::l#0 [phi:clrscr/clrscr::@3->clrscr::@1#0] -- register_copy - // [1875] phi clrscr::ch#0 = clrscr::line_text#0 [phi:clrscr/clrscr::@3->clrscr::@1#1] -- register_copy + // [1874] phi from clrscr clrscr::@3 to clrscr::@1 [phi:clrscr/clrscr::@3->clrscr::@1] + // [1874] phi clrscr::l#4 = clrscr::l#0 [phi:clrscr/clrscr::@3->clrscr::@1#0] -- register_copy + // [1874] phi clrscr::ch#0 = clrscr::line_text#0 [phi:clrscr/clrscr::@3->clrscr::@1#1] -- register_copy // clrscr::@1 __b1: // BYTE0(ch) - // [1876] clrscr::$1 = byte0 clrscr::ch#0 -- vbuz1=_byte0_vwum2 + // [1875] clrscr::$1 = byte0 clrscr::ch#0 -- vbuz1=_byte0_vwum2 lda ch sta.z clrscr__1 // *VERA_ADDRX_L = BYTE0(ch) - // [1877] *VERA_ADDRX_L = clrscr::$1 -- _deref_pbuc1=vbuz1 + // [1876] *VERA_ADDRX_L = clrscr::$1 -- _deref_pbuc1=vbuz1 // Set address sta VERA_ADDRX_L // BYTE1(ch) - // [1878] clrscr::$2 = byte1 clrscr::ch#0 -- vbuz1=_byte1_vwum2 + // [1877] clrscr::$2 = byte1 clrscr::ch#0 -- vbuz1=_byte1_vwum2 lda ch+1 sta.z clrscr__2 // *VERA_ADDRX_M = BYTE1(ch) - // [1879] *VERA_ADDRX_M = clrscr::$2 -- _deref_pbuc1=vbuz1 + // [1878] *VERA_ADDRX_M = clrscr::$2 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_M // unsigned char c = __conio.mapwidth+1 - // [1880] clrscr::c#0 = *((char *)&__conio+8) + 1 -- vbum1=_deref_pbuc1_plus_1 + // [1879] clrscr::c#0 = *((char *)&__conio+8) + 1 -- vbum1=_deref_pbuc1_plus_1 lda __conio+8 inc sta c - // [1881] phi from clrscr::@1 clrscr::@2 to clrscr::@2 [phi:clrscr::@1/clrscr::@2->clrscr::@2] - // [1881] phi clrscr::c#2 = clrscr::c#0 [phi:clrscr::@1/clrscr::@2->clrscr::@2#0] -- register_copy + // [1880] phi from clrscr::@1 clrscr::@2 to clrscr::@2 [phi:clrscr::@1/clrscr::@2->clrscr::@2] + // [1880] phi clrscr::c#2 = clrscr::c#0 [phi:clrscr::@1/clrscr::@2->clrscr::@2#0] -- register_copy // clrscr::@2 __b2: // *VERA_DATA0 = ' ' - // [1882] *VERA_DATA0 = ' ' -- _deref_pbuc1=vbuc2 + // [1881] *VERA_DATA0 = ' ' -- _deref_pbuc1=vbuc2 lda #' ' sta VERA_DATA0 // *VERA_DATA0 = __conio.color - // [1883] *VERA_DATA0 = *((char *)&__conio+$d) -- _deref_pbuc1=_deref_pbuc2 + // [1882] *VERA_DATA0 = *((char *)&__conio+$d) -- _deref_pbuc1=_deref_pbuc2 lda __conio+$d sta VERA_DATA0 // c--; - // [1884] clrscr::c#1 = -- clrscr::c#2 -- vbum1=_dec_vbum1 + // [1883] clrscr::c#1 = -- clrscr::c#2 -- vbum1=_dec_vbum1 dec c // while(c) - // [1885] if(0!=clrscr::c#1) goto clrscr::@2 -- 0_neq_vbum1_then_la1 + // [1884] if(0!=clrscr::c#1) goto clrscr::@2 -- 0_neq_vbum1_then_la1 lda c bne __b2 // clrscr::@3 // line_text += __conio.rowskip - // [1886] clrscr::line_text#1 = clrscr::ch#0 + *((unsigned int *)&__conio+$a) -- vwum1=vwum1_plus__deref_pwuc1 + // [1885] clrscr::line_text#1 = clrscr::ch#0 + *((unsigned int *)&__conio+$a) -- vwum1=vwum1_plus__deref_pwuc1 clc lda line_text adc __conio+$a @@ -12763,29 +12902,29 @@ clrscr: { adc __conio+$a+1 sta line_text+1 // l--; - // [1887] clrscr::l#1 = -- clrscr::l#4 -- vbum1=_dec_vbum1 + // [1886] clrscr::l#1 = -- clrscr::l#4 -- vbum1=_dec_vbum1 dec l // while(l) - // [1888] if(0!=clrscr::l#1) goto clrscr::@1 -- 0_neq_vbum1_then_la1 + // [1887] if(0!=clrscr::l#1) goto clrscr::@1 -- 0_neq_vbum1_then_la1 lda l bne __b1 // clrscr::@4 // __conio.cursor_x = 0 - // [1889] *((char *)&__conio) = 0 -- _deref_pbuc1=vbuc2 + // [1888] *((char *)&__conio) = 0 -- _deref_pbuc1=vbuc2 lda #0 sta __conio // __conio.cursor_y = 0 - // [1890] *((char *)&__conio+1) = 0 -- _deref_pbuc1=vbuc2 + // [1889] *((char *)&__conio+1) = 0 -- _deref_pbuc1=vbuc2 sta __conio+1 // __conio.offset = __conio.mapbase_offset - // [1891] *((unsigned int *)&__conio+$13) = *((unsigned int *)&__conio+3) -- _deref_pwuc1=_deref_pwuc2 + // [1890] *((unsigned int *)&__conio+$13) = *((unsigned int *)&__conio+3) -- _deref_pwuc1=_deref_pwuc2 lda __conio+3 sta __conio+$13 lda __conio+3+1 sta __conio+$13+1 // clrscr::@return // } - // [1892] return + // [1891] return rts .segment Data .label line_text = ch @@ -12807,79 +12946,78 @@ clrscr: { * @param x1 Right down X position, counting from 0. * @param y1 Right down Y position, counting from 0. */ -// void display_frame(char x0, char y0, __zp($68) char x1, __zp($73) char y1) +// void display_frame(char x0, char y0, __zp($6a) char x1, __zp($70) char y1) display_frame: { - .label w = $d4 + .label w = $5d .label h = $38 - .label x = $70 - .label y = $e9 - .label mask = $72 - .label c = $53 - .label x_1 = $df - .label y_1 = $6a - .label x1 = $68 - .label y1 = $73 + .label x = $71 + .label y = $53 + .label c = $d4 + .label x_1 = $ba + .label y_1 = $67 + .label x1 = $6a + .label y1 = $70 // unsigned char w = x1 - x0 - // [1894] display_frame::w#0 = display_frame::x1#16 - display_frame::x#0 -- vbuz1=vbuz2_minus_vbuz3 + // [1893] display_frame::w#0 = display_frame::x1#16 - display_frame::x#0 -- vbuz1=vbuz2_minus_vbuz3 lda.z x1 sec sbc.z x sta.z w // unsigned char h = y1 - y0 - // [1895] display_frame::h#0 = display_frame::y1#16 - display_frame::y#0 -- vbuz1=vbuz2_minus_vbuz3 + // [1894] display_frame::h#0 = display_frame::y1#16 - display_frame::y#0 -- vbuz1=vbuz2_minus_vbuz3 lda.z y1 sec sbc.z y sta.z h // unsigned char mask = display_frame_maskxy(x, y) - // [1896] display_frame_maskxy::x#0 = display_frame::x#0 -- vbuz1=vbuz2 + // [1895] display_frame_maskxy::x#0 = display_frame::x#0 -- vbum1=vbuz2 lda.z x - sta.z display_frame_maskxy.x - // [1897] display_frame_maskxy::y#0 = display_frame::y#0 -- vbum1=vbuz2 + sta display_frame_maskxy.x + // [1896] display_frame_maskxy::y#0 = display_frame::y#0 -- vbuz1=vbuz2 lda.z y - sta display_frame_maskxy.y - // [1898] call display_frame_maskxy - // [2553] phi from display_frame to display_frame_maskxy [phi:display_frame->display_frame_maskxy] - // [2553] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#0 [phi:display_frame->display_frame_maskxy#0] -- register_copy - // [2553] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#0 [phi:display_frame->display_frame_maskxy#1] -- register_copy + sta.z display_frame_maskxy.y + // [1897] call display_frame_maskxy + // [2552] phi from display_frame to display_frame_maskxy [phi:display_frame->display_frame_maskxy] + // [2552] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#0 [phi:display_frame->display_frame_maskxy#0] -- register_copy + // [2552] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#0 [phi:display_frame->display_frame_maskxy#1] -- register_copy jsr display_frame_maskxy // unsigned char mask = display_frame_maskxy(x, y) - // [1899] display_frame_maskxy::return#13 = display_frame_maskxy::return#12 + // [1898] display_frame_maskxy::return#13 = display_frame_maskxy::return#12 // display_frame::@13 - // [1900] display_frame::mask#0 = display_frame_maskxy::return#13 + // [1899] display_frame::mask#0 = display_frame_maskxy::return#13 // mask |= 0b0110 - // [1901] display_frame::mask#1 = display_frame::mask#0 | 6 -- vbuz1=vbuz1_bor_vbuc1 + // [1900] display_frame::mask#1 = display_frame::mask#0 | 6 -- vbum1=vbum1_bor_vbuc1 lda #6 - ora.z mask - sta.z mask + ora mask + sta mask // unsigned char c = display_frame_char(mask) - // [1902] display_frame_char::mask#0 = display_frame::mask#1 - // [1903] call display_frame_char + // [1901] display_frame_char::mask#0 = display_frame::mask#1 + // [1902] call display_frame_char // Add a corner. - // [2579] phi from display_frame::@13 to display_frame_char [phi:display_frame::@13->display_frame_char] - // [2579] phi display_frame_char::mask#10 = display_frame_char::mask#0 [phi:display_frame::@13->display_frame_char#0] -- register_copy + // [2578] phi from display_frame::@13 to display_frame_char [phi:display_frame::@13->display_frame_char] + // [2578] phi display_frame_char::mask#10 = display_frame_char::mask#0 [phi:display_frame::@13->display_frame_char#0] -- register_copy jsr display_frame_char // unsigned char c = display_frame_char(mask) - // [1904] display_frame_char::return#13 = display_frame_char::return#12 + // [1903] display_frame_char::return#13 = display_frame_char::return#12 // display_frame::@14 - // [1905] display_frame::c#0 = display_frame_char::return#13 + // [1904] display_frame::c#0 = display_frame_char::return#13 // cputcxy(x, y, c) - // [1906] cputcxy::x#0 = display_frame::x#0 -- vbuz1=vbuz2 + // [1905] cputcxy::x#0 = display_frame::x#0 -- vbuz1=vbuz2 lda.z x sta.z cputcxy.x - // [1907] cputcxy::y#0 = display_frame::y#0 -- vbuz1=vbuz2 + // [1906] cputcxy::y#0 = display_frame::y#0 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [1908] cputcxy::c#0 = display_frame::c#0 - // [1909] call cputcxy - // [2040] phi from display_frame::@14 to cputcxy [phi:display_frame::@14->cputcxy] - // [2040] phi cputcxy::c#15 = cputcxy::c#0 [phi:display_frame::@14->cputcxy#0] -- register_copy - // [2040] phi cputcxy::y#15 = cputcxy::y#0 [phi:display_frame::@14->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#0 [phi:display_frame::@14->cputcxy#2] -- register_copy + // [1907] cputcxy::c#0 = display_frame::c#0 + // [1908] call cputcxy + // [2039] phi from display_frame::@14 to cputcxy [phi:display_frame::@14->cputcxy] + // [2039] phi cputcxy::c#15 = cputcxy::c#0 [phi:display_frame::@14->cputcxy#0] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#0 [phi:display_frame::@14->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#0 [phi:display_frame::@14->cputcxy#2] -- register_copy jsr cputcxy // display_frame::@15 // if(w>=2) - // [1910] if(display_frame::w#0<2) goto display_frame::@36 -- vbuz1_lt_vbuc1_then_la1 + // [1909] if(display_frame::w#0<2) goto display_frame::@36 -- vbuz1_lt_vbuc1_then_la1 lda.z w cmp #2 bcs !__b36+ @@ -12887,467 +13025,470 @@ display_frame: { !__b36: // display_frame::@2 // x++; - // [1911] display_frame::x#1 = ++ display_frame::x#0 -- vbuz1=_inc_vbuz2 + // [1910] display_frame::x#1 = ++ display_frame::x#0 -- vbuz1=_inc_vbuz2 lda.z x inc sta.z x_1 - // [1912] phi from display_frame::@2 display_frame::@21 to display_frame::@4 [phi:display_frame::@2/display_frame::@21->display_frame::@4] - // [1912] phi display_frame::x#10 = display_frame::x#1 [phi:display_frame::@2/display_frame::@21->display_frame::@4#0] -- register_copy + // [1911] phi from display_frame::@2 display_frame::@21 to display_frame::@4 [phi:display_frame::@2/display_frame::@21->display_frame::@4] + // [1911] phi display_frame::x#10 = display_frame::x#1 [phi:display_frame::@2/display_frame::@21->display_frame::@4#0] -- register_copy // display_frame::@4 __b4: // while(x < x1) - // [1913] if(display_frame::x#10display_frame::@1] - // [1914] phi display_frame::x#24 = display_frame::x#30 [phi:display_frame::@36/display_frame::@4->display_frame::@1#0] -- register_copy + // [1913] phi from display_frame::@36 display_frame::@4 to display_frame::@1 [phi:display_frame::@36/display_frame::@4->display_frame::@1] + // [1913] phi display_frame::x#24 = display_frame::x#30 [phi:display_frame::@36/display_frame::@4->display_frame::@1#0] -- register_copy // display_frame::@1 __b1: // display_frame_maskxy(x, y) - // [1915] display_frame_maskxy::x#1 = display_frame::x#24 -- vbuz1=vbuz2 + // [1914] display_frame_maskxy::x#1 = display_frame::x#24 -- vbum1=vbuz2 lda.z x_1 - sta.z display_frame_maskxy.x - // [1916] display_frame_maskxy::y#1 = display_frame::y#0 -- vbum1=vbuz2 + sta display_frame_maskxy.x + // [1915] display_frame_maskxy::y#1 = display_frame::y#0 -- vbuz1=vbuz2 lda.z y - sta display_frame_maskxy.y - // [1917] call display_frame_maskxy - // [2553] phi from display_frame::@1 to display_frame_maskxy [phi:display_frame::@1->display_frame_maskxy] - // [2553] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#1 [phi:display_frame::@1->display_frame_maskxy#0] -- register_copy - // [2553] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#1 [phi:display_frame::@1->display_frame_maskxy#1] -- register_copy + sta.z display_frame_maskxy.y + // [1916] call display_frame_maskxy + // [2552] phi from display_frame::@1 to display_frame_maskxy [phi:display_frame::@1->display_frame_maskxy] + // [2552] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#1 [phi:display_frame::@1->display_frame_maskxy#0] -- register_copy + // [2552] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#1 [phi:display_frame::@1->display_frame_maskxy#1] -- register_copy jsr display_frame_maskxy // display_frame_maskxy(x, y) - // [1918] display_frame_maskxy::return#14 = display_frame_maskxy::return#12 + // [1917] display_frame_maskxy::return#14 = display_frame_maskxy::return#12 // display_frame::@16 // mask = display_frame_maskxy(x, y) - // [1919] display_frame::mask#2 = display_frame_maskxy::return#14 + // [1918] display_frame::mask#2 = display_frame_maskxy::return#14 // mask |= 0b0011 - // [1920] display_frame::mask#3 = display_frame::mask#2 | 3 -- vbuz1=vbuz1_bor_vbuc1 + // [1919] display_frame::mask#3 = display_frame::mask#2 | 3 -- vbum1=vbum1_bor_vbuc1 lda #3 - ora.z mask - sta.z mask + ora mask + sta mask // display_frame_char(mask) - // [1921] display_frame_char::mask#1 = display_frame::mask#3 - // [1922] call display_frame_char - // [2579] phi from display_frame::@16 to display_frame_char [phi:display_frame::@16->display_frame_char] - // [2579] phi display_frame_char::mask#10 = display_frame_char::mask#1 [phi:display_frame::@16->display_frame_char#0] -- register_copy + // [1920] display_frame_char::mask#1 = display_frame::mask#3 + // [1921] call display_frame_char + // [2578] phi from display_frame::@16 to display_frame_char [phi:display_frame::@16->display_frame_char] + // [2578] phi display_frame_char::mask#10 = display_frame_char::mask#1 [phi:display_frame::@16->display_frame_char#0] -- register_copy jsr display_frame_char // display_frame_char(mask) - // [1923] display_frame_char::return#14 = display_frame_char::return#12 + // [1922] display_frame_char::return#14 = display_frame_char::return#12 // display_frame::@17 // c = display_frame_char(mask) - // [1924] display_frame::c#1 = display_frame_char::return#14 + // [1923] display_frame::c#1 = display_frame_char::return#14 // cputcxy(x, y, c) - // [1925] cputcxy::x#1 = display_frame::x#24 -- vbuz1=vbuz2 + // [1924] cputcxy::x#1 = display_frame::x#24 -- vbuz1=vbuz2 lda.z x_1 sta.z cputcxy.x - // [1926] cputcxy::y#1 = display_frame::y#0 -- vbuz1=vbuz2 + // [1925] cputcxy::y#1 = display_frame::y#0 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [1927] cputcxy::c#1 = display_frame::c#1 - // [1928] call cputcxy - // [2040] phi from display_frame::@17 to cputcxy [phi:display_frame::@17->cputcxy] - // [2040] phi cputcxy::c#15 = cputcxy::c#1 [phi:display_frame::@17->cputcxy#0] -- register_copy - // [2040] phi cputcxy::y#15 = cputcxy::y#1 [phi:display_frame::@17->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#1 [phi:display_frame::@17->cputcxy#2] -- register_copy + // [1926] cputcxy::c#1 = display_frame::c#1 + // [1927] call cputcxy + // [2039] phi from display_frame::@17 to cputcxy [phi:display_frame::@17->cputcxy] + // [2039] phi cputcxy::c#15 = cputcxy::c#1 [phi:display_frame::@17->cputcxy#0] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#1 [phi:display_frame::@17->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#1 [phi:display_frame::@17->cputcxy#2] -- register_copy jsr cputcxy // display_frame::@18 // if(h>=2) - // [1929] if(display_frame::h#0<2) goto display_frame::@return -- vbuz1_lt_vbuc1_then_la1 + // [1928] if(display_frame::h#0<2) goto display_frame::@return -- vbuz1_lt_vbuc1_then_la1 lda.z h cmp #2 bcc __breturn // display_frame::@3 // y++; - // [1930] display_frame::y#1 = ++ display_frame::y#0 -- vbuz1=_inc_vbuz2 + // [1929] display_frame::y#1 = ++ display_frame::y#0 -- vbuz1=_inc_vbuz2 lda.z y inc sta.z y_1 - // [1931] phi from display_frame::@27 display_frame::@3 to display_frame::@6 [phi:display_frame::@27/display_frame::@3->display_frame::@6] - // [1931] phi display_frame::y#10 = display_frame::y#2 [phi:display_frame::@27/display_frame::@3->display_frame::@6#0] -- register_copy + // [1930] phi from display_frame::@27 display_frame::@3 to display_frame::@6 [phi:display_frame::@27/display_frame::@3->display_frame::@6] + // [1930] phi display_frame::y#10 = display_frame::y#2 [phi:display_frame::@27/display_frame::@3->display_frame::@6#0] -- register_copy // display_frame::@6 __b6: // while(y < y1) - // [1932] if(display_frame::y#10display_frame_maskxy] - // [2553] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#5 [phi:display_frame::@8->display_frame_maskxy#0] -- register_copy - // [2553] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#5 [phi:display_frame::@8->display_frame_maskxy#1] -- register_copy + sta.z display_frame_maskxy.y + // [1934] call display_frame_maskxy + // [2552] phi from display_frame::@8 to display_frame_maskxy [phi:display_frame::@8->display_frame_maskxy] + // [2552] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#5 [phi:display_frame::@8->display_frame_maskxy#0] -- register_copy + // [2552] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#5 [phi:display_frame::@8->display_frame_maskxy#1] -- register_copy jsr display_frame_maskxy // display_frame_maskxy(x, y) - // [1936] display_frame_maskxy::return#18 = display_frame_maskxy::return#12 + // [1935] display_frame_maskxy::return#18 = display_frame_maskxy::return#12 // display_frame::@28 // mask = display_frame_maskxy(x, y) - // [1937] display_frame::mask#10 = display_frame_maskxy::return#18 + // [1936] display_frame::mask#10 = display_frame_maskxy::return#18 // mask |= 0b1100 - // [1938] display_frame::mask#11 = display_frame::mask#10 | $c -- vbuz1=vbuz1_bor_vbuc1 + // [1937] display_frame::mask#11 = display_frame::mask#10 | $c -- vbum1=vbum1_bor_vbuc1 lda #$c - ora.z mask - sta.z mask + ora mask + sta mask // display_frame_char(mask) - // [1939] display_frame_char::mask#5 = display_frame::mask#11 - // [1940] call display_frame_char - // [2579] phi from display_frame::@28 to display_frame_char [phi:display_frame::@28->display_frame_char] - // [2579] phi display_frame_char::mask#10 = display_frame_char::mask#5 [phi:display_frame::@28->display_frame_char#0] -- register_copy + // [1938] display_frame_char::mask#5 = display_frame::mask#11 + // [1939] call display_frame_char + // [2578] phi from display_frame::@28 to display_frame_char [phi:display_frame::@28->display_frame_char] + // [2578] phi display_frame_char::mask#10 = display_frame_char::mask#5 [phi:display_frame::@28->display_frame_char#0] -- register_copy jsr display_frame_char // display_frame_char(mask) - // [1941] display_frame_char::return#18 = display_frame_char::return#12 + // [1940] display_frame_char::return#18 = display_frame_char::return#12 // display_frame::@29 // c = display_frame_char(mask) - // [1942] display_frame::c#5 = display_frame_char::return#18 + // [1941] display_frame::c#5 = display_frame_char::return#18 // cputcxy(x, y, c) - // [1943] cputcxy::x#5 = display_frame::x#0 -- vbuz1=vbuz2 + // [1942] cputcxy::x#5 = display_frame::x#0 -- vbuz1=vbuz2 lda.z x sta.z cputcxy.x - // [1944] cputcxy::y#5 = display_frame::y#10 -- vbuz1=vbuz2 + // [1943] cputcxy::y#5 = display_frame::y#10 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [1945] cputcxy::c#5 = display_frame::c#5 - // [1946] call cputcxy - // [2040] phi from display_frame::@29 to cputcxy [phi:display_frame::@29->cputcxy] - // [2040] phi cputcxy::c#15 = cputcxy::c#5 [phi:display_frame::@29->cputcxy#0] -- register_copy - // [2040] phi cputcxy::y#15 = cputcxy::y#5 [phi:display_frame::@29->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#5 [phi:display_frame::@29->cputcxy#2] -- register_copy + // [1944] cputcxy::c#5 = display_frame::c#5 + // [1945] call cputcxy + // [2039] phi from display_frame::@29 to cputcxy [phi:display_frame::@29->cputcxy] + // [2039] phi cputcxy::c#15 = cputcxy::c#5 [phi:display_frame::@29->cputcxy#0] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#5 [phi:display_frame::@29->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#5 [phi:display_frame::@29->cputcxy#2] -- register_copy jsr cputcxy // display_frame::@30 // if(w>=2) - // [1947] if(display_frame::w#0<2) goto display_frame::@10 -- vbuz1_lt_vbuc1_then_la1 + // [1946] if(display_frame::w#0<2) goto display_frame::@10 -- vbuz1_lt_vbuc1_then_la1 lda.z w cmp #2 bcc __b10 // display_frame::@9 // x++; - // [1948] display_frame::x#4 = ++ display_frame::x#0 -- vbuz1=_inc_vbuz1 + // [1947] display_frame::x#4 = ++ display_frame::x#0 -- vbuz1=_inc_vbuz1 inc.z x - // [1949] phi from display_frame::@35 display_frame::@9 to display_frame::@11 [phi:display_frame::@35/display_frame::@9->display_frame::@11] - // [1949] phi display_frame::x#18 = display_frame::x#5 [phi:display_frame::@35/display_frame::@9->display_frame::@11#0] -- register_copy + // [1948] phi from display_frame::@35 display_frame::@9 to display_frame::@11 [phi:display_frame::@35/display_frame::@9->display_frame::@11] + // [1948] phi display_frame::x#18 = display_frame::x#5 [phi:display_frame::@35/display_frame::@9->display_frame::@11#0] -- register_copy // display_frame::@11 __b11: // while(x < x1) - // [1950] if(display_frame::x#18display_frame::@10] - // [1951] phi display_frame::x#15 = display_frame::x#18 [phi:display_frame::@11/display_frame::@30->display_frame::@10#0] -- register_copy + // [1950] phi from display_frame::@11 display_frame::@30 to display_frame::@10 [phi:display_frame::@11/display_frame::@30->display_frame::@10] + // [1950] phi display_frame::x#15 = display_frame::x#18 [phi:display_frame::@11/display_frame::@30->display_frame::@10#0] -- register_copy // display_frame::@10 __b10: // display_frame_maskxy(x, y) - // [1952] display_frame_maskxy::x#6 = display_frame::x#15 -- vbuz1=vbuz2 + // [1951] display_frame_maskxy::x#6 = display_frame::x#15 -- vbum1=vbuz2 lda.z x - sta.z display_frame_maskxy.x - // [1953] display_frame_maskxy::y#6 = display_frame::y#10 -- vbum1=vbuz2 + sta display_frame_maskxy.x + // [1952] display_frame_maskxy::y#6 = display_frame::y#10 -- vbuz1=vbuz2 lda.z y_1 - sta display_frame_maskxy.y - // [1954] call display_frame_maskxy - // [2553] phi from display_frame::@10 to display_frame_maskxy [phi:display_frame::@10->display_frame_maskxy] - // [2553] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#6 [phi:display_frame::@10->display_frame_maskxy#0] -- register_copy - // [2553] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#6 [phi:display_frame::@10->display_frame_maskxy#1] -- register_copy + sta.z display_frame_maskxy.y + // [1953] call display_frame_maskxy + // [2552] phi from display_frame::@10 to display_frame_maskxy [phi:display_frame::@10->display_frame_maskxy] + // [2552] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#6 [phi:display_frame::@10->display_frame_maskxy#0] -- register_copy + // [2552] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#6 [phi:display_frame::@10->display_frame_maskxy#1] -- register_copy jsr display_frame_maskxy // display_frame_maskxy(x, y) - // [1955] display_frame_maskxy::return#19 = display_frame_maskxy::return#12 + // [1954] display_frame_maskxy::return#19 = display_frame_maskxy::return#12 // display_frame::@31 // mask = display_frame_maskxy(x, y) - // [1956] display_frame::mask#12 = display_frame_maskxy::return#19 + // [1955] display_frame::mask#12 = display_frame_maskxy::return#19 // mask |= 0b1001 - // [1957] display_frame::mask#13 = display_frame::mask#12 | 9 -- vbuz1=vbuz1_bor_vbuc1 + // [1956] display_frame::mask#13 = display_frame::mask#12 | 9 -- vbum1=vbum1_bor_vbuc1 lda #9 - ora.z mask - sta.z mask + ora mask + sta mask // display_frame_char(mask) - // [1958] display_frame_char::mask#6 = display_frame::mask#13 - // [1959] call display_frame_char - // [2579] phi from display_frame::@31 to display_frame_char [phi:display_frame::@31->display_frame_char] - // [2579] phi display_frame_char::mask#10 = display_frame_char::mask#6 [phi:display_frame::@31->display_frame_char#0] -- register_copy + // [1957] display_frame_char::mask#6 = display_frame::mask#13 + // [1958] call display_frame_char + // [2578] phi from display_frame::@31 to display_frame_char [phi:display_frame::@31->display_frame_char] + // [2578] phi display_frame_char::mask#10 = display_frame_char::mask#6 [phi:display_frame::@31->display_frame_char#0] -- register_copy jsr display_frame_char // display_frame_char(mask) - // [1960] display_frame_char::return#19 = display_frame_char::return#12 + // [1959] display_frame_char::return#19 = display_frame_char::return#12 // display_frame::@32 // c = display_frame_char(mask) - // [1961] display_frame::c#6 = display_frame_char::return#19 + // [1960] display_frame::c#6 = display_frame_char::return#19 // cputcxy(x, y, c) - // [1962] cputcxy::x#6 = display_frame::x#15 -- vbuz1=vbuz2 + // [1961] cputcxy::x#6 = display_frame::x#15 -- vbuz1=vbuz2 lda.z x sta.z cputcxy.x - // [1963] cputcxy::y#6 = display_frame::y#10 -- vbuz1=vbuz2 + // [1962] cputcxy::y#6 = display_frame::y#10 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [1964] cputcxy::c#6 = display_frame::c#6 - // [1965] call cputcxy - // [2040] phi from display_frame::@32 to cputcxy [phi:display_frame::@32->cputcxy] - // [2040] phi cputcxy::c#15 = cputcxy::c#6 [phi:display_frame::@32->cputcxy#0] -- register_copy - // [2040] phi cputcxy::y#15 = cputcxy::y#6 [phi:display_frame::@32->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#6 [phi:display_frame::@32->cputcxy#2] -- register_copy + // [1963] cputcxy::c#6 = display_frame::c#6 + // [1964] call cputcxy + // [2039] phi from display_frame::@32 to cputcxy [phi:display_frame::@32->cputcxy] + // [2039] phi cputcxy::c#15 = cputcxy::c#6 [phi:display_frame::@32->cputcxy#0] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#6 [phi:display_frame::@32->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#6 [phi:display_frame::@32->cputcxy#2] -- register_copy jsr cputcxy // display_frame::@return __breturn: // } - // [1966] return + // [1965] return rts // display_frame::@12 __b12: // display_frame_maskxy(x, y) - // [1967] display_frame_maskxy::x#7 = display_frame::x#18 -- vbuz1=vbuz2 + // [1966] display_frame_maskxy::x#7 = display_frame::x#18 -- vbum1=vbuz2 lda.z x - sta.z display_frame_maskxy.x - // [1968] display_frame_maskxy::y#7 = display_frame::y#10 -- vbum1=vbuz2 + sta display_frame_maskxy.x + // [1967] display_frame_maskxy::y#7 = display_frame::y#10 -- vbuz1=vbuz2 lda.z y_1 - sta display_frame_maskxy.y - // [1969] call display_frame_maskxy - // [2553] phi from display_frame::@12 to display_frame_maskxy [phi:display_frame::@12->display_frame_maskxy] - // [2553] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#7 [phi:display_frame::@12->display_frame_maskxy#0] -- register_copy - // [2553] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#7 [phi:display_frame::@12->display_frame_maskxy#1] -- register_copy + sta.z display_frame_maskxy.y + // [1968] call display_frame_maskxy + // [2552] phi from display_frame::@12 to display_frame_maskxy [phi:display_frame::@12->display_frame_maskxy] + // [2552] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#7 [phi:display_frame::@12->display_frame_maskxy#0] -- register_copy + // [2552] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#7 [phi:display_frame::@12->display_frame_maskxy#1] -- register_copy jsr display_frame_maskxy // display_frame_maskxy(x, y) - // [1970] display_frame_maskxy::return#20 = display_frame_maskxy::return#12 + // [1969] display_frame_maskxy::return#20 = display_frame_maskxy::return#12 // display_frame::@33 // mask = display_frame_maskxy(x, y) - // [1971] display_frame::mask#14 = display_frame_maskxy::return#20 + // [1970] display_frame::mask#14 = display_frame_maskxy::return#20 // mask |= 0b0101 - // [1972] display_frame::mask#15 = display_frame::mask#14 | 5 -- vbuz1=vbuz1_bor_vbuc1 + // [1971] display_frame::mask#15 = display_frame::mask#14 | 5 -- vbum1=vbum1_bor_vbuc1 lda #5 - ora.z mask - sta.z mask + ora mask + sta mask // display_frame_char(mask) - // [1973] display_frame_char::mask#7 = display_frame::mask#15 - // [1974] call display_frame_char - // [2579] phi from display_frame::@33 to display_frame_char [phi:display_frame::@33->display_frame_char] - // [2579] phi display_frame_char::mask#10 = display_frame_char::mask#7 [phi:display_frame::@33->display_frame_char#0] -- register_copy + // [1972] display_frame_char::mask#7 = display_frame::mask#15 + // [1973] call display_frame_char + // [2578] phi from display_frame::@33 to display_frame_char [phi:display_frame::@33->display_frame_char] + // [2578] phi display_frame_char::mask#10 = display_frame_char::mask#7 [phi:display_frame::@33->display_frame_char#0] -- register_copy jsr display_frame_char // display_frame_char(mask) - // [1975] display_frame_char::return#20 = display_frame_char::return#12 + // [1974] display_frame_char::return#20 = display_frame_char::return#12 // display_frame::@34 // c = display_frame_char(mask) - // [1976] display_frame::c#7 = display_frame_char::return#20 + // [1975] display_frame::c#7 = display_frame_char::return#20 // cputcxy(x, y, c) - // [1977] cputcxy::x#7 = display_frame::x#18 -- vbuz1=vbuz2 + // [1976] cputcxy::x#7 = display_frame::x#18 -- vbuz1=vbuz2 lda.z x sta.z cputcxy.x - // [1978] cputcxy::y#7 = display_frame::y#10 -- vbuz1=vbuz2 + // [1977] cputcxy::y#7 = display_frame::y#10 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [1979] cputcxy::c#7 = display_frame::c#7 - // [1980] call cputcxy - // [2040] phi from display_frame::@34 to cputcxy [phi:display_frame::@34->cputcxy] - // [2040] phi cputcxy::c#15 = cputcxy::c#7 [phi:display_frame::@34->cputcxy#0] -- register_copy - // [2040] phi cputcxy::y#15 = cputcxy::y#7 [phi:display_frame::@34->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#7 [phi:display_frame::@34->cputcxy#2] -- register_copy + // [1978] cputcxy::c#7 = display_frame::c#7 + // [1979] call cputcxy + // [2039] phi from display_frame::@34 to cputcxy [phi:display_frame::@34->cputcxy] + // [2039] phi cputcxy::c#15 = cputcxy::c#7 [phi:display_frame::@34->cputcxy#0] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#7 [phi:display_frame::@34->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#7 [phi:display_frame::@34->cputcxy#2] -- register_copy jsr cputcxy // display_frame::@35 // x++; - // [1981] display_frame::x#5 = ++ display_frame::x#18 -- vbuz1=_inc_vbuz1 + // [1980] display_frame::x#5 = ++ display_frame::x#18 -- vbuz1=_inc_vbuz1 inc.z x jmp __b11 // display_frame::@7 __b7: // display_frame_maskxy(x0, y) - // [1982] display_frame_maskxy::x#3 = display_frame::x#0 -- vbuz1=vbuz2 + // [1981] display_frame_maskxy::x#3 = display_frame::x#0 -- vbum1=vbuz2 lda.z x - sta.z display_frame_maskxy.x - // [1983] display_frame_maskxy::y#3 = display_frame::y#10 -- vbum1=vbuz2 + sta display_frame_maskxy.x + // [1982] display_frame_maskxy::y#3 = display_frame::y#10 -- vbuz1=vbuz2 lda.z y_1 - sta display_frame_maskxy.y - // [1984] call display_frame_maskxy - // [2553] phi from display_frame::@7 to display_frame_maskxy [phi:display_frame::@7->display_frame_maskxy] - // [2553] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#3 [phi:display_frame::@7->display_frame_maskxy#0] -- register_copy - // [2553] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#3 [phi:display_frame::@7->display_frame_maskxy#1] -- register_copy + sta.z display_frame_maskxy.y + // [1983] call display_frame_maskxy + // [2552] phi from display_frame::@7 to display_frame_maskxy [phi:display_frame::@7->display_frame_maskxy] + // [2552] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#3 [phi:display_frame::@7->display_frame_maskxy#0] -- register_copy + // [2552] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#3 [phi:display_frame::@7->display_frame_maskxy#1] -- register_copy jsr display_frame_maskxy // display_frame_maskxy(x0, y) - // [1985] display_frame_maskxy::return#16 = display_frame_maskxy::return#12 + // [1984] display_frame_maskxy::return#16 = display_frame_maskxy::return#12 // display_frame::@22 // mask = display_frame_maskxy(x0, y) - // [1986] display_frame::mask#6 = display_frame_maskxy::return#16 + // [1985] display_frame::mask#6 = display_frame_maskxy::return#16 // mask |= 0b1010 - // [1987] display_frame::mask#7 = display_frame::mask#6 | $a -- vbuz1=vbuz1_bor_vbuc1 + // [1986] display_frame::mask#7 = display_frame::mask#6 | $a -- vbum1=vbum1_bor_vbuc1 lda #$a - ora.z mask - sta.z mask + ora mask + sta mask // display_frame_char(mask) - // [1988] display_frame_char::mask#3 = display_frame::mask#7 - // [1989] call display_frame_char - // [2579] phi from display_frame::@22 to display_frame_char [phi:display_frame::@22->display_frame_char] - // [2579] phi display_frame_char::mask#10 = display_frame_char::mask#3 [phi:display_frame::@22->display_frame_char#0] -- register_copy + // [1987] display_frame_char::mask#3 = display_frame::mask#7 + // [1988] call display_frame_char + // [2578] phi from display_frame::@22 to display_frame_char [phi:display_frame::@22->display_frame_char] + // [2578] phi display_frame_char::mask#10 = display_frame_char::mask#3 [phi:display_frame::@22->display_frame_char#0] -- register_copy jsr display_frame_char // display_frame_char(mask) - // [1990] display_frame_char::return#16 = display_frame_char::return#12 + // [1989] display_frame_char::return#16 = display_frame_char::return#12 // display_frame::@23 // c = display_frame_char(mask) - // [1991] display_frame::c#3 = display_frame_char::return#16 + // [1990] display_frame::c#3 = display_frame_char::return#16 // cputcxy(x0, y, c) - // [1992] cputcxy::x#3 = display_frame::x#0 -- vbuz1=vbuz2 + // [1991] cputcxy::x#3 = display_frame::x#0 -- vbuz1=vbuz2 lda.z x sta.z cputcxy.x - // [1993] cputcxy::y#3 = display_frame::y#10 -- vbuz1=vbuz2 + // [1992] cputcxy::y#3 = display_frame::y#10 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [1994] cputcxy::c#3 = display_frame::c#3 - // [1995] call cputcxy - // [2040] phi from display_frame::@23 to cputcxy [phi:display_frame::@23->cputcxy] - // [2040] phi cputcxy::c#15 = cputcxy::c#3 [phi:display_frame::@23->cputcxy#0] -- register_copy - // [2040] phi cputcxy::y#15 = cputcxy::y#3 [phi:display_frame::@23->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#3 [phi:display_frame::@23->cputcxy#2] -- register_copy + // [1993] cputcxy::c#3 = display_frame::c#3 + // [1994] call cputcxy + // [2039] phi from display_frame::@23 to cputcxy [phi:display_frame::@23->cputcxy] + // [2039] phi cputcxy::c#15 = cputcxy::c#3 [phi:display_frame::@23->cputcxy#0] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#3 [phi:display_frame::@23->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#3 [phi:display_frame::@23->cputcxy#2] -- register_copy jsr cputcxy // display_frame::@24 // display_frame_maskxy(x1, y) - // [1996] display_frame_maskxy::x#4 = display_frame::x1#16 -- vbuz1=vbuz2 + // [1995] display_frame_maskxy::x#4 = display_frame::x1#16 -- vbum1=vbuz2 lda.z x1 - sta.z display_frame_maskxy.x - // [1997] display_frame_maskxy::y#4 = display_frame::y#10 -- vbum1=vbuz2 + sta display_frame_maskxy.x + // [1996] display_frame_maskxy::y#4 = display_frame::y#10 -- vbuz1=vbuz2 lda.z y_1 - sta display_frame_maskxy.y - // [1998] call display_frame_maskxy - // [2553] phi from display_frame::@24 to display_frame_maskxy [phi:display_frame::@24->display_frame_maskxy] - // [2553] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#4 [phi:display_frame::@24->display_frame_maskxy#0] -- register_copy - // [2553] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#4 [phi:display_frame::@24->display_frame_maskxy#1] -- register_copy + sta.z display_frame_maskxy.y + // [1997] call display_frame_maskxy + // [2552] phi from display_frame::@24 to display_frame_maskxy [phi:display_frame::@24->display_frame_maskxy] + // [2552] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#4 [phi:display_frame::@24->display_frame_maskxy#0] -- register_copy + // [2552] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#4 [phi:display_frame::@24->display_frame_maskxy#1] -- register_copy jsr display_frame_maskxy // display_frame_maskxy(x1, y) - // [1999] display_frame_maskxy::return#17 = display_frame_maskxy::return#12 + // [1998] display_frame_maskxy::return#17 = display_frame_maskxy::return#12 // display_frame::@25 // mask = display_frame_maskxy(x1, y) - // [2000] display_frame::mask#8 = display_frame_maskxy::return#17 + // [1999] display_frame::mask#8 = display_frame_maskxy::return#17 // mask |= 0b1010 - // [2001] display_frame::mask#9 = display_frame::mask#8 | $a -- vbuz1=vbuz1_bor_vbuc1 + // [2000] display_frame::mask#9 = display_frame::mask#8 | $a -- vbum1=vbum1_bor_vbuc1 lda #$a - ora.z mask - sta.z mask + ora mask + sta mask // display_frame_char(mask) - // [2002] display_frame_char::mask#4 = display_frame::mask#9 - // [2003] call display_frame_char - // [2579] phi from display_frame::@25 to display_frame_char [phi:display_frame::@25->display_frame_char] - // [2579] phi display_frame_char::mask#10 = display_frame_char::mask#4 [phi:display_frame::@25->display_frame_char#0] -- register_copy + // [2001] display_frame_char::mask#4 = display_frame::mask#9 + // [2002] call display_frame_char + // [2578] phi from display_frame::@25 to display_frame_char [phi:display_frame::@25->display_frame_char] + // [2578] phi display_frame_char::mask#10 = display_frame_char::mask#4 [phi:display_frame::@25->display_frame_char#0] -- register_copy jsr display_frame_char // display_frame_char(mask) - // [2004] display_frame_char::return#17 = display_frame_char::return#12 + // [2003] display_frame_char::return#17 = display_frame_char::return#12 // display_frame::@26 // c = display_frame_char(mask) - // [2005] display_frame::c#4 = display_frame_char::return#17 + // [2004] display_frame::c#4 = display_frame_char::return#17 // cputcxy(x1, y, c) - // [2006] cputcxy::x#4 = display_frame::x1#16 -- vbuz1=vbuz2 + // [2005] cputcxy::x#4 = display_frame::x1#16 -- vbuz1=vbuz2 lda.z x1 sta.z cputcxy.x - // [2007] cputcxy::y#4 = display_frame::y#10 -- vbuz1=vbuz2 + // [2006] cputcxy::y#4 = display_frame::y#10 -- vbuz1=vbuz2 lda.z y_1 sta.z cputcxy.y - // [2008] cputcxy::c#4 = display_frame::c#4 - // [2009] call cputcxy - // [2040] phi from display_frame::@26 to cputcxy [phi:display_frame::@26->cputcxy] - // [2040] phi cputcxy::c#15 = cputcxy::c#4 [phi:display_frame::@26->cputcxy#0] -- register_copy - // [2040] phi cputcxy::y#15 = cputcxy::y#4 [phi:display_frame::@26->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#4 [phi:display_frame::@26->cputcxy#2] -- register_copy + // [2007] cputcxy::c#4 = display_frame::c#4 + // [2008] call cputcxy + // [2039] phi from display_frame::@26 to cputcxy [phi:display_frame::@26->cputcxy] + // [2039] phi cputcxy::c#15 = cputcxy::c#4 [phi:display_frame::@26->cputcxy#0] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#4 [phi:display_frame::@26->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#4 [phi:display_frame::@26->cputcxy#2] -- register_copy jsr cputcxy // display_frame::@27 // y++; - // [2010] display_frame::y#2 = ++ display_frame::y#10 -- vbuz1=_inc_vbuz1 + // [2009] display_frame::y#2 = ++ display_frame::y#10 -- vbuz1=_inc_vbuz1 inc.z y_1 jmp __b6 // display_frame::@5 __b5: // display_frame_maskxy(x, y) - // [2011] display_frame_maskxy::x#2 = display_frame::x#10 -- vbuz1=vbuz2 + // [2010] display_frame_maskxy::x#2 = display_frame::x#10 -- vbum1=vbuz2 lda.z x_1 - sta.z display_frame_maskxy.x - // [2012] display_frame_maskxy::y#2 = display_frame::y#0 -- vbum1=vbuz2 + sta display_frame_maskxy.x + // [2011] display_frame_maskxy::y#2 = display_frame::y#0 -- vbuz1=vbuz2 lda.z y - sta display_frame_maskxy.y - // [2013] call display_frame_maskxy - // [2553] phi from display_frame::@5 to display_frame_maskxy [phi:display_frame::@5->display_frame_maskxy] - // [2553] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#2 [phi:display_frame::@5->display_frame_maskxy#0] -- register_copy - // [2553] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#2 [phi:display_frame::@5->display_frame_maskxy#1] -- register_copy + sta.z display_frame_maskxy.y + // [2012] call display_frame_maskxy + // [2552] phi from display_frame::@5 to display_frame_maskxy [phi:display_frame::@5->display_frame_maskxy] + // [2552] phi display_frame_maskxy::cpeekcxy1_y#0 = display_frame_maskxy::y#2 [phi:display_frame::@5->display_frame_maskxy#0] -- register_copy + // [2552] phi display_frame_maskxy::cpeekcxy1_x#0 = display_frame_maskxy::x#2 [phi:display_frame::@5->display_frame_maskxy#1] -- register_copy jsr display_frame_maskxy // display_frame_maskxy(x, y) - // [2014] display_frame_maskxy::return#15 = display_frame_maskxy::return#12 + // [2013] display_frame_maskxy::return#15 = display_frame_maskxy::return#12 // display_frame::@19 // mask = display_frame_maskxy(x, y) - // [2015] display_frame::mask#4 = display_frame_maskxy::return#15 + // [2014] display_frame::mask#4 = display_frame_maskxy::return#15 // mask |= 0b0101 - // [2016] display_frame::mask#5 = display_frame::mask#4 | 5 -- vbuz1=vbuz1_bor_vbuc1 + // [2015] display_frame::mask#5 = display_frame::mask#4 | 5 -- vbum1=vbum1_bor_vbuc1 lda #5 - ora.z mask - sta.z mask + ora mask + sta mask // display_frame_char(mask) - // [2017] display_frame_char::mask#2 = display_frame::mask#5 - // [2018] call display_frame_char - // [2579] phi from display_frame::@19 to display_frame_char [phi:display_frame::@19->display_frame_char] - // [2579] phi display_frame_char::mask#10 = display_frame_char::mask#2 [phi:display_frame::@19->display_frame_char#0] -- register_copy + // [2016] display_frame_char::mask#2 = display_frame::mask#5 + // [2017] call display_frame_char + // [2578] phi from display_frame::@19 to display_frame_char [phi:display_frame::@19->display_frame_char] + // [2578] phi display_frame_char::mask#10 = display_frame_char::mask#2 [phi:display_frame::@19->display_frame_char#0] -- register_copy jsr display_frame_char // display_frame_char(mask) - // [2019] display_frame_char::return#15 = display_frame_char::return#12 + // [2018] display_frame_char::return#15 = display_frame_char::return#12 // display_frame::@20 // c = display_frame_char(mask) - // [2020] display_frame::c#2 = display_frame_char::return#15 + // [2019] display_frame::c#2 = display_frame_char::return#15 // cputcxy(x, y, c) - // [2021] cputcxy::x#2 = display_frame::x#10 -- vbuz1=vbuz2 + // [2020] cputcxy::x#2 = display_frame::x#10 -- vbuz1=vbuz2 lda.z x_1 sta.z cputcxy.x - // [2022] cputcxy::y#2 = display_frame::y#0 -- vbuz1=vbuz2 + // [2021] cputcxy::y#2 = display_frame::y#0 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [2023] cputcxy::c#2 = display_frame::c#2 - // [2024] call cputcxy - // [2040] phi from display_frame::@20 to cputcxy [phi:display_frame::@20->cputcxy] - // [2040] phi cputcxy::c#15 = cputcxy::c#2 [phi:display_frame::@20->cputcxy#0] -- register_copy - // [2040] phi cputcxy::y#15 = cputcxy::y#2 [phi:display_frame::@20->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#2 [phi:display_frame::@20->cputcxy#2] -- register_copy + // [2022] cputcxy::c#2 = display_frame::c#2 + // [2023] call cputcxy + // [2039] phi from display_frame::@20 to cputcxy [phi:display_frame::@20->cputcxy] + // [2039] phi cputcxy::c#15 = cputcxy::c#2 [phi:display_frame::@20->cputcxy#0] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#2 [phi:display_frame::@20->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#2 [phi:display_frame::@20->cputcxy#2] -- register_copy jsr cputcxy // display_frame::@21 // x++; - // [2025] display_frame::x#2 = ++ display_frame::x#10 -- vbuz1=_inc_vbuz1 + // [2024] display_frame::x#2 = ++ display_frame::x#10 -- vbuz1=_inc_vbuz1 inc.z x_1 jmp __b4 // display_frame::@36 __b36: - // [2026] display_frame::x#30 = display_frame::x#0 -- vbuz1=vbuz2 + // [2025] display_frame::x#30 = display_frame::x#0 -- vbuz1=vbuz2 lda.z x sta.z x_1 jmp __b1 + .segment Data + .label mask = fopen.fopen__4 } +.segment Code // cputs // Output a NUL-terminated string at the current cursor position -// void cputs(__zp($db) const char *s) +// void cputs(__zp($dd) const char *s) cputs: { - .label c = $5d - .label s = $db - // [2028] phi from cputs cputs::@2 to cputs::@1 [phi:cputs/cputs::@2->cputs::@1] - // [2028] phi cputs::s#2 = cputs::s#1 [phi:cputs/cputs::@2->cputs::@1#0] -- register_copy + .label c = $2c + .label s = $dd + // [2027] phi from cputs cputs::@2 to cputs::@1 [phi:cputs/cputs::@2->cputs::@1] + // [2027] phi cputs::s#2 = cputs::s#1 [phi:cputs/cputs::@2->cputs::@1#0] -- register_copy // cputs::@1 __b1: // while(c=*s++) - // [2029] cputs::c#1 = *cputs::s#2 -- vbuz1=_deref_pbuz2 + // [2028] cputs::c#1 = *cputs::s#2 -- vbuz1=_deref_pbuz2 ldy #0 lda (s),y sta.z c - // [2030] cputs::s#0 = ++ cputs::s#2 -- pbuz1=_inc_pbuz1 + // [2029] cputs::s#0 = ++ cputs::s#2 -- pbuz1=_inc_pbuz1 inc.z s bne !+ inc.z s+1 !: - // [2031] if(0!=cputs::c#1) goto cputs::@2 -- 0_neq_vbuz1_then_la1 + // [2030] if(0!=cputs::c#1) goto cputs::@2 -- 0_neq_vbuz1_then_la1 lda.z c bne __b2 // cputs::@return // } - // [2032] return + // [2031] return rts // cputs::@2 __b2: // cputc(c) - // [2033] stackpush(char) = cputs::c#1 -- _stackpushbyte_=vbuz1 + // [2032] stackpush(char) = cputs::c#1 -- _stackpushbyte_=vbuz1 lda.z c pha - // [2034] callexecute cputc -- call_vprc1 + // [2033] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla @@ -13356,71 +13497,69 @@ cputs: { // wherex // Return the x position of the cursor wherex: { - .label return = $eb - .label return_1 = $6b - .label return_3 = $e3 + .label return = $bb + .label return_1 = $6c + .label return_2 = $e2 + .label return_3 = $6b .label return_4 = $5b // return __conio.cursor_x; - // [2036] wherex::return#0 = *((char *)&__conio) -- vbuz1=_deref_pbuc1 + // [2035] wherex::return#0 = *((char *)&__conio) -- vbuz1=_deref_pbuc1 lda __conio sta.z return // wherex::@return // } - // [2037] return + // [2036] return rts - .segment Data - .label return_2 = fclose.sp } -.segment Code // wherey // Return the y position of the cursor wherey: { .label return = $c3 - .label return_1 = $43 - .label return_2 = $6c - .label return_3 = $6e + .label return_1 = $45 + .label return_2 = $66 + .label return_3 = $e3 .label return_4 = $54 // return __conio.cursor_y; - // [2038] wherey::return#0 = *((char *)&__conio+1) -- vbuz1=_deref_pbuc1 + // [2037] wherey::return#0 = *((char *)&__conio+1) -- vbuz1=_deref_pbuc1 lda __conio+1 sta.z return // wherey::@return // } - // [2039] return + // [2038] return rts } // cputcxy // Move cursor and output one character // Same as "gotoxy (x, y); cputc (c);" -// void cputcxy(__zp($c4) char x, __zp($d0) char y, __zp($53) char c) +// void cputcxy(__zp($c4) char x, __zp($cf) char y, __zp($d4) char c) cputcxy: { .label x = $c4 - .label y = $d0 - .label c = $53 + .label y = $cf + .label c = $d4 // gotoxy(x, y) - // [2041] gotoxy::x#0 = cputcxy::x#15 -- vbuz1=vbuz2 + // [2040] gotoxy::x#0 = cputcxy::x#15 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [2042] gotoxy::y#0 = cputcxy::y#15 -- vbuz1=vbuz2 + // [2041] gotoxy::y#0 = cputcxy::y#15 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [2043] call gotoxy - // [762] phi from cputcxy to gotoxy [phi:cputcxy->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#0 [phi:cputcxy->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#0 [phi:cputcxy->gotoxy#1] -- register_copy + // [2042] call gotoxy + // [756] phi from cputcxy to gotoxy [phi:cputcxy->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#0 [phi:cputcxy->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#0 [phi:cputcxy->gotoxy#1] -- register_copy jsr gotoxy // cputcxy::@1 // cputc(c) - // [2044] stackpush(char) = cputcxy::c#15 -- _stackpushbyte_=vbuz1 + // [2043] stackpush(char) = cputcxy::c#15 -- _stackpushbyte_=vbuz1 lda.z c pha - // [2045] callexecute cputc -- call_vprc1 + // [2044] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // cputcxy::@return // } - // [2047] return + // [2046] return rts } // display_smc_led @@ -13429,39 +13568,39 @@ cputcxy: { * * @param c Led color */ -// void display_smc_led(__zp($be) char c) +// void display_smc_led(__zp($e6) char c) display_smc_led: { - .label c = $be + .label c = $e6 // display_chip_led(CHIP_SMC_X+1, CHIP_SMC_Y, CHIP_SMC_W, c, BLUE) - // [2049] display_chip_led::tc#0 = display_smc_led::c#2 -- vbuz1=vbuz2 + // [2048] display_chip_led::tc#0 = display_smc_led::c#2 -- vbuz1=vbuz2 lda.z c sta.z display_chip_led.tc - // [2050] call display_chip_led - // [2594] phi from display_smc_led to display_chip_led [phi:display_smc_led->display_chip_led] - // [2594] phi display_chip_led::w#7 = 5 [phi:display_smc_led->display_chip_led#0] -- vbuz1=vbuc1 + // [2049] call display_chip_led + // [2593] phi from display_smc_led to display_chip_led [phi:display_smc_led->display_chip_led] + // [2593] phi display_chip_led::w#7 = 5 [phi:display_smc_led->display_chip_led#0] -- vbuz1=vbuc1 lda #5 sta.z display_chip_led.w - // [2594] phi display_chip_led::x#7 = 1+1 [phi:display_smc_led->display_chip_led#1] -- vbuz1=vbuc1 + // [2593] phi display_chip_led::x#7 = 1+1 [phi:display_smc_led->display_chip_led#1] -- vbuz1=vbuc1 lda #1+1 sta.z display_chip_led.x - // [2594] phi display_chip_led::tc#3 = display_chip_led::tc#0 [phi:display_smc_led->display_chip_led#2] -- register_copy + // [2593] phi display_chip_led::tc#3 = display_chip_led::tc#0 [phi:display_smc_led->display_chip_led#2] -- register_copy jsr display_chip_led // display_smc_led::@1 // display_info_led(INFO_X-2, INFO_Y, c, BLUE) - // [2051] display_info_led::tc#0 = display_smc_led::c#2 - // [2052] call display_info_led - // [1811] phi from display_smc_led::@1 to display_info_led [phi:display_smc_led::@1->display_info_led] - // [1811] phi display_info_led::y#4 = $11 [phi:display_smc_led::@1->display_info_led#0] -- vbuz1=vbuc1 + // [2050] display_info_led::tc#0 = display_smc_led::c#2 + // [2051] call display_info_led + // [1799] phi from display_smc_led::@1 to display_info_led [phi:display_smc_led::@1->display_info_led] + // [1799] phi display_info_led::y#4 = $11 [phi:display_smc_led::@1->display_info_led#0] -- vbuz1=vbuc1 lda #$11 sta.z display_info_led.y - // [1811] phi display_info_led::x#4 = 4-2 [phi:display_smc_led::@1->display_info_led#1] -- vbuz1=vbuc1 + // [1799] phi display_info_led::x#4 = 4-2 [phi:display_smc_led::@1->display_info_led#1] -- vbuz1=vbuc1 lda #4-2 sta.z display_info_led.x - // [1811] phi display_info_led::tc#4 = display_info_led::tc#0 [phi:display_smc_led::@1->display_info_led#2] -- register_copy + // [1799] phi display_info_led::tc#4 = display_info_led::tc#0 [phi:display_smc_led::@1->display_info_led#2] -- register_copy jsr display_info_led // display_smc_led::@return // } - // [2053] return + // [2052] return rts } // display_print_chip @@ -13473,22 +13612,22 @@ display_smc_led: { * @param w Width * @param text Vertical text to be displayed in the chip, starting from the top. */ -// void display_print_chip(__zp($bc) char x, char y, __zp($66) char w, __zp($44) char *text) +// void display_print_chip(__zp($df) char x, char y, __zp($73) char w, __zp($55) char *text) display_print_chip: { .label y = 3+2+1+1+1+1+1+1+1+1 - .label text = $44 - .label text_1 = $76 - .label x = $bc - .label text_3 = $64 - .label w = $66 + .label text = $55 + .label x = $df + .label text_5 = $74 + .label text_6 = $eb + .label w = $73 // display_chip_line(x, y++, w, *text++) - // [2055] display_chip_line::x#0 = display_print_chip::x#10 -- vbuz1=vbuz2 + // [2054] display_chip_line::x#0 = display_print_chip::x#10 -- vbuz1=vbuz2 lda.z x sta.z display_chip_line.x - // [2056] display_chip_line::w#0 = display_print_chip::w#10 -- vbuz1=vbuz2 + // [2055] display_chip_line::w#0 = display_print_chip::w#10 -- vbuz1=vbuz2 lda.z w sta.z display_chip_line.w - // [2057] display_chip_line::c#0 = *display_print_chip::text#11 -- vbuz1=_deref_pbum2 + // [2056] display_chip_line::c#0 = *display_print_chip::text#11 -- vbuz1=_deref_pbum2 ldy text_2 sty.z $fe ldy text_2+1 @@ -13496,18 +13635,18 @@ display_print_chip: { ldy #0 lda ($fe),y sta.z display_chip_line.c - // [2058] call display_chip_line - // [2612] phi from display_print_chip to display_chip_line [phi:display_print_chip->display_chip_line] - // [2612] phi display_chip_line::c#15 = display_chip_line::c#0 [phi:display_print_chip->display_chip_line#0] -- register_copy - // [2612] phi display_chip_line::w#10 = display_chip_line::w#0 [phi:display_print_chip->display_chip_line#1] -- register_copy - // [2612] phi display_chip_line::y#16 = 3+2 [phi:display_print_chip->display_chip_line#2] -- vbuz1=vbuc1 + // [2057] call display_chip_line + // [2611] phi from display_print_chip to display_chip_line [phi:display_print_chip->display_chip_line] + // [2611] phi display_chip_line::c#15 = display_chip_line::c#0 [phi:display_print_chip->display_chip_line#0] -- register_copy + // [2611] phi display_chip_line::w#10 = display_chip_line::w#0 [phi:display_print_chip->display_chip_line#1] -- register_copy + // [2611] phi display_chip_line::y#16 = 3+2 [phi:display_print_chip->display_chip_line#2] -- vbuz1=vbuc1 lda #3+2 sta.z display_chip_line.y - // [2612] phi display_chip_line::x#16 = display_chip_line::x#0 [phi:display_print_chip->display_chip_line#3] -- register_copy + // [2611] phi display_chip_line::x#16 = display_chip_line::x#0 [phi:display_print_chip->display_chip_line#3] -- register_copy jsr display_chip_line // display_print_chip::@1 // display_chip_line(x, y++, w, *text++); - // [2059] display_print_chip::text#0 = ++ display_print_chip::text#11 -- pbuz1=_inc_pbum2 + // [2058] display_print_chip::text#0 = ++ display_print_chip::text#11 -- pbuz1=_inc_pbum2 clc lda text_2 adc #1 @@ -13516,103 +13655,111 @@ display_print_chip: { adc #0 sta.z text+1 // display_chip_line(x, y++, w, *text++) - // [2060] display_chip_line::x#1 = display_print_chip::x#10 -- vbuz1=vbuz2 + // [2059] display_chip_line::x#1 = display_print_chip::x#10 -- vbuz1=vbuz2 lda.z x sta.z display_chip_line.x - // [2061] display_chip_line::w#1 = display_print_chip::w#10 -- vbuz1=vbuz2 + // [2060] display_chip_line::w#1 = display_print_chip::w#10 -- vbuz1=vbuz2 lda.z w sta.z display_chip_line.w - // [2062] display_chip_line::c#1 = *display_print_chip::text#0 -- vbuz1=_deref_pbuz2 + // [2061] display_chip_line::c#1 = *display_print_chip::text#0 -- vbuz1=_deref_pbuz2 ldy #0 lda (text),y sta.z display_chip_line.c - // [2063] call display_chip_line - // [2612] phi from display_print_chip::@1 to display_chip_line [phi:display_print_chip::@1->display_chip_line] - // [2612] phi display_chip_line::c#15 = display_chip_line::c#1 [phi:display_print_chip::@1->display_chip_line#0] -- register_copy - // [2612] phi display_chip_line::w#10 = display_chip_line::w#1 [phi:display_print_chip::@1->display_chip_line#1] -- register_copy - // [2612] phi display_chip_line::y#16 = ++3+2 [phi:display_print_chip::@1->display_chip_line#2] -- vbuz1=vbuc1 + // [2062] call display_chip_line + // [2611] phi from display_print_chip::@1 to display_chip_line [phi:display_print_chip::@1->display_chip_line] + // [2611] phi display_chip_line::c#15 = display_chip_line::c#1 [phi:display_print_chip::@1->display_chip_line#0] -- register_copy + // [2611] phi display_chip_line::w#10 = display_chip_line::w#1 [phi:display_print_chip::@1->display_chip_line#1] -- register_copy + // [2611] phi display_chip_line::y#16 = ++3+2 [phi:display_print_chip::@1->display_chip_line#2] -- vbuz1=vbuc1 lda #3+2+1 sta.z display_chip_line.y - // [2612] phi display_chip_line::x#16 = display_chip_line::x#1 [phi:display_print_chip::@1->display_chip_line#3] -- register_copy + // [2611] phi display_chip_line::x#16 = display_chip_line::x#1 [phi:display_print_chip::@1->display_chip_line#3] -- register_copy jsr display_chip_line // display_print_chip::@2 // display_chip_line(x, y++, w, *text++); - // [2064] display_print_chip::text#1 = ++ display_print_chip::text#0 -- pbuz1=_inc_pbuz2 + // [2063] display_print_chip::text#1 = ++ display_print_chip::text#0 -- pbum1=_inc_pbuz2 clc lda.z text adc #1 - sta.z text_1 + sta text_1 lda.z text+1 adc #0 - sta.z text_1+1 + sta text_1+1 // display_chip_line(x, y++, w, *text++) - // [2065] display_chip_line::x#2 = display_print_chip::x#10 -- vbuz1=vbuz2 + // [2064] display_chip_line::x#2 = display_print_chip::x#10 -- vbuz1=vbuz2 lda.z x sta.z display_chip_line.x - // [2066] display_chip_line::w#2 = display_print_chip::w#10 -- vbuz1=vbuz2 + // [2065] display_chip_line::w#2 = display_print_chip::w#10 -- vbuz1=vbuz2 lda.z w sta.z display_chip_line.w - // [2067] display_chip_line::c#2 = *display_print_chip::text#1 -- vbuz1=_deref_pbuz2 + // [2066] display_chip_line::c#2 = *display_print_chip::text#1 -- vbuz1=_deref_pbum2 + ldy text_1 + sty.z $fe + ldy text_1+1 + sty.z $ff ldy #0 - lda (text_1),y + lda ($fe),y sta.z display_chip_line.c - // [2068] call display_chip_line - // [2612] phi from display_print_chip::@2 to display_chip_line [phi:display_print_chip::@2->display_chip_line] - // [2612] phi display_chip_line::c#15 = display_chip_line::c#2 [phi:display_print_chip::@2->display_chip_line#0] -- register_copy - // [2612] phi display_chip_line::w#10 = display_chip_line::w#2 [phi:display_print_chip::@2->display_chip_line#1] -- register_copy - // [2612] phi display_chip_line::y#16 = ++++3+2 [phi:display_print_chip::@2->display_chip_line#2] -- vbuz1=vbuc1 + // [2067] call display_chip_line + // [2611] phi from display_print_chip::@2 to display_chip_line [phi:display_print_chip::@2->display_chip_line] + // [2611] phi display_chip_line::c#15 = display_chip_line::c#2 [phi:display_print_chip::@2->display_chip_line#0] -- register_copy + // [2611] phi display_chip_line::w#10 = display_chip_line::w#2 [phi:display_print_chip::@2->display_chip_line#1] -- register_copy + // [2611] phi display_chip_line::y#16 = ++++3+2 [phi:display_print_chip::@2->display_chip_line#2] -- vbuz1=vbuc1 lda #3+2+1+1 sta.z display_chip_line.y - // [2612] phi display_chip_line::x#16 = display_chip_line::x#2 [phi:display_print_chip::@2->display_chip_line#3] -- register_copy + // [2611] phi display_chip_line::x#16 = display_chip_line::x#2 [phi:display_print_chip::@2->display_chip_line#3] -- register_copy jsr display_chip_line // display_print_chip::@3 // display_chip_line(x, y++, w, *text++); - // [2069] display_print_chip::text#15 = ++ display_print_chip::text#1 -- pbuz1=_inc_pbuz2 + // [2068] display_print_chip::text#15 = ++ display_print_chip::text#1 -- pbum1=_inc_pbum2 clc - lda.z text_1 + lda text_1 adc #1 - sta.z text_3 - lda.z text_1+1 + sta text_3 + lda text_1+1 adc #0 - sta.z text_3+1 + sta text_3+1 // display_chip_line(x, y++, w, *text++) - // [2070] display_chip_line::x#3 = display_print_chip::x#10 -- vbuz1=vbuz2 + // [2069] display_chip_line::x#3 = display_print_chip::x#10 -- vbuz1=vbuz2 lda.z x sta.z display_chip_line.x - // [2071] display_chip_line::w#3 = display_print_chip::w#10 -- vbuz1=vbuz2 + // [2070] display_chip_line::w#3 = display_print_chip::w#10 -- vbuz1=vbuz2 lda.z w sta.z display_chip_line.w - // [2072] display_chip_line::c#3 = *display_print_chip::text#15 -- vbuz1=_deref_pbuz2 + // [2071] display_chip_line::c#3 = *display_print_chip::text#15 -- vbuz1=_deref_pbum2 + ldy text_3 + sty.z $fe + ldy text_3+1 + sty.z $ff ldy #0 - lda (text_3),y + lda ($fe),y sta.z display_chip_line.c - // [2073] call display_chip_line - // [2612] phi from display_print_chip::@3 to display_chip_line [phi:display_print_chip::@3->display_chip_line] - // [2612] phi display_chip_line::c#15 = display_chip_line::c#3 [phi:display_print_chip::@3->display_chip_line#0] -- register_copy - // [2612] phi display_chip_line::w#10 = display_chip_line::w#3 [phi:display_print_chip::@3->display_chip_line#1] -- register_copy - // [2612] phi display_chip_line::y#16 = ++++++3+2 [phi:display_print_chip::@3->display_chip_line#2] -- vbuz1=vbuc1 + // [2072] call display_chip_line + // [2611] phi from display_print_chip::@3 to display_chip_line [phi:display_print_chip::@3->display_chip_line] + // [2611] phi display_chip_line::c#15 = display_chip_line::c#3 [phi:display_print_chip::@3->display_chip_line#0] -- register_copy + // [2611] phi display_chip_line::w#10 = display_chip_line::w#3 [phi:display_print_chip::@3->display_chip_line#1] -- register_copy + // [2611] phi display_chip_line::y#16 = ++++++3+2 [phi:display_print_chip::@3->display_chip_line#2] -- vbuz1=vbuc1 lda #3+2+1+1+1 sta.z display_chip_line.y - // [2612] phi display_chip_line::x#16 = display_chip_line::x#3 [phi:display_print_chip::@3->display_chip_line#3] -- register_copy + // [2611] phi display_chip_line::x#16 = display_chip_line::x#3 [phi:display_print_chip::@3->display_chip_line#3] -- register_copy jsr display_chip_line // display_print_chip::@4 // display_chip_line(x, y++, w, *text++); - // [2074] display_print_chip::text#16 = ++ display_print_chip::text#15 -- pbum1=_inc_pbuz2 + // [2073] display_print_chip::text#16 = ++ display_print_chip::text#15 -- pbum1=_inc_pbum2 clc - lda.z text_3 + lda text_3 adc #1 sta text_4 - lda.z text_3+1 + lda text_3+1 adc #0 sta text_4+1 // display_chip_line(x, y++, w, *text++) - // [2075] display_chip_line::x#4 = display_print_chip::x#10 -- vbuz1=vbuz2 + // [2074] display_chip_line::x#4 = display_print_chip::x#10 -- vbuz1=vbuz2 lda.z x sta.z display_chip_line.x - // [2076] display_chip_line::w#4 = display_print_chip::w#10 -- vbuz1=vbuz2 + // [2075] display_chip_line::w#4 = display_print_chip::w#10 -- vbuz1=vbuz2 lda.z w sta.z display_chip_line.w - // [2077] display_chip_line::c#4 = *display_print_chip::text#16 -- vbuz1=_deref_pbum2 + // [2076] display_chip_line::c#4 = *display_print_chip::text#16 -- vbuz1=_deref_pbum2 ldy text_4 sty.z $fe ldy text_4+1 @@ -13620,131 +13767,119 @@ display_print_chip: { ldy #0 lda ($fe),y sta.z display_chip_line.c - // [2078] call display_chip_line - // [2612] phi from display_print_chip::@4 to display_chip_line [phi:display_print_chip::@4->display_chip_line] - // [2612] phi display_chip_line::c#15 = display_chip_line::c#4 [phi:display_print_chip::@4->display_chip_line#0] -- register_copy - // [2612] phi display_chip_line::w#10 = display_chip_line::w#4 [phi:display_print_chip::@4->display_chip_line#1] -- register_copy - // [2612] phi display_chip_line::y#16 = ++++++++3+2 [phi:display_print_chip::@4->display_chip_line#2] -- vbuz1=vbuc1 + // [2077] call display_chip_line + // [2611] phi from display_print_chip::@4 to display_chip_line [phi:display_print_chip::@4->display_chip_line] + // [2611] phi display_chip_line::c#15 = display_chip_line::c#4 [phi:display_print_chip::@4->display_chip_line#0] -- register_copy + // [2611] phi display_chip_line::w#10 = display_chip_line::w#4 [phi:display_print_chip::@4->display_chip_line#1] -- register_copy + // [2611] phi display_chip_line::y#16 = ++++++++3+2 [phi:display_print_chip::@4->display_chip_line#2] -- vbuz1=vbuc1 lda #3+2+1+1+1+1 sta.z display_chip_line.y - // [2612] phi display_chip_line::x#16 = display_chip_line::x#4 [phi:display_print_chip::@4->display_chip_line#3] -- register_copy + // [2611] phi display_chip_line::x#16 = display_chip_line::x#4 [phi:display_print_chip::@4->display_chip_line#3] -- register_copy jsr display_chip_line // display_print_chip::@5 // display_chip_line(x, y++, w, *text++); - // [2079] display_print_chip::text#17 = ++ display_print_chip::text#16 -- pbum1=_inc_pbum2 + // [2078] display_print_chip::text#17 = ++ display_print_chip::text#16 -- pbuz1=_inc_pbum2 clc lda text_4 adc #1 - sta text_5 + sta.z text_5 lda text_4+1 adc #0 - sta text_5+1 + sta.z text_5+1 // display_chip_line(x, y++, w, *text++) - // [2080] display_chip_line::x#5 = display_print_chip::x#10 -- vbuz1=vbuz2 + // [2079] display_chip_line::x#5 = display_print_chip::x#10 -- vbuz1=vbuz2 lda.z x sta.z display_chip_line.x - // [2081] display_chip_line::w#5 = display_print_chip::w#10 -- vbuz1=vbuz2 + // [2080] display_chip_line::w#5 = display_print_chip::w#10 -- vbuz1=vbuz2 lda.z w sta.z display_chip_line.w - // [2082] display_chip_line::c#5 = *display_print_chip::text#17 -- vbuz1=_deref_pbum2 - ldy text_5 - sty.z $fe - ldy text_5+1 - sty.z $ff + // [2081] display_chip_line::c#5 = *display_print_chip::text#17 -- vbuz1=_deref_pbuz2 ldy #0 - lda ($fe),y + lda (text_5),y sta.z display_chip_line.c - // [2083] call display_chip_line - // [2612] phi from display_print_chip::@5 to display_chip_line [phi:display_print_chip::@5->display_chip_line] - // [2612] phi display_chip_line::c#15 = display_chip_line::c#5 [phi:display_print_chip::@5->display_chip_line#0] -- register_copy - // [2612] phi display_chip_line::w#10 = display_chip_line::w#5 [phi:display_print_chip::@5->display_chip_line#1] -- register_copy - // [2612] phi display_chip_line::y#16 = ++++++++++3+2 [phi:display_print_chip::@5->display_chip_line#2] -- vbuz1=vbuc1 + // [2082] call display_chip_line + // [2611] phi from display_print_chip::@5 to display_chip_line [phi:display_print_chip::@5->display_chip_line] + // [2611] phi display_chip_line::c#15 = display_chip_line::c#5 [phi:display_print_chip::@5->display_chip_line#0] -- register_copy + // [2611] phi display_chip_line::w#10 = display_chip_line::w#5 [phi:display_print_chip::@5->display_chip_line#1] -- register_copy + // [2611] phi display_chip_line::y#16 = ++++++++++3+2 [phi:display_print_chip::@5->display_chip_line#2] -- vbuz1=vbuc1 lda #3+2+1+1+1+1+1 sta.z display_chip_line.y - // [2612] phi display_chip_line::x#16 = display_chip_line::x#5 [phi:display_print_chip::@5->display_chip_line#3] -- register_copy + // [2611] phi display_chip_line::x#16 = display_chip_line::x#5 [phi:display_print_chip::@5->display_chip_line#3] -- register_copy jsr display_chip_line // display_print_chip::@6 // display_chip_line(x, y++, w, *text++); - // [2084] display_print_chip::text#18 = ++ display_print_chip::text#17 -- pbum1=_inc_pbum2 + // [2083] display_print_chip::text#18 = ++ display_print_chip::text#17 -- pbuz1=_inc_pbuz2 clc - lda text_5 + lda.z text_5 adc #1 - sta text_6 - lda text_5+1 + sta.z text_6 + lda.z text_5+1 adc #0 - sta text_6+1 + sta.z text_6+1 // display_chip_line(x, y++, w, *text++) - // [2085] display_chip_line::x#6 = display_print_chip::x#10 -- vbuz1=vbuz2 + // [2084] display_chip_line::x#6 = display_print_chip::x#10 -- vbuz1=vbuz2 lda.z x sta.z display_chip_line.x - // [2086] display_chip_line::w#6 = display_print_chip::w#10 -- vbuz1=vbuz2 + // [2085] display_chip_line::w#6 = display_print_chip::w#10 -- vbuz1=vbuz2 lda.z w sta.z display_chip_line.w - // [2087] display_chip_line::c#6 = *display_print_chip::text#18 -- vbuz1=_deref_pbum2 - ldy text_6 - sty.z $fe - ldy text_6+1 - sty.z $ff + // [2086] display_chip_line::c#6 = *display_print_chip::text#18 -- vbuz1=_deref_pbuz2 ldy #0 - lda ($fe),y + lda (text_6),y sta.z display_chip_line.c - // [2088] call display_chip_line - // [2612] phi from display_print_chip::@6 to display_chip_line [phi:display_print_chip::@6->display_chip_line] - // [2612] phi display_chip_line::c#15 = display_chip_line::c#6 [phi:display_print_chip::@6->display_chip_line#0] -- register_copy - // [2612] phi display_chip_line::w#10 = display_chip_line::w#6 [phi:display_print_chip::@6->display_chip_line#1] -- register_copy - // [2612] phi display_chip_line::y#16 = ++++++++++++3+2 [phi:display_print_chip::@6->display_chip_line#2] -- vbuz1=vbuc1 + // [2087] call display_chip_line + // [2611] phi from display_print_chip::@6 to display_chip_line [phi:display_print_chip::@6->display_chip_line] + // [2611] phi display_chip_line::c#15 = display_chip_line::c#6 [phi:display_print_chip::@6->display_chip_line#0] -- register_copy + // [2611] phi display_chip_line::w#10 = display_chip_line::w#6 [phi:display_print_chip::@6->display_chip_line#1] -- register_copy + // [2611] phi display_chip_line::y#16 = ++++++++++++3+2 [phi:display_print_chip::@6->display_chip_line#2] -- vbuz1=vbuc1 lda #3+2+1+1+1+1+1+1 sta.z display_chip_line.y - // [2612] phi display_chip_line::x#16 = display_chip_line::x#6 [phi:display_print_chip::@6->display_chip_line#3] -- register_copy + // [2611] phi display_chip_line::x#16 = display_chip_line::x#6 [phi:display_print_chip::@6->display_chip_line#3] -- register_copy jsr display_chip_line // display_print_chip::@7 // display_chip_line(x, y++, w, *text++); - // [2089] display_print_chip::text#19 = ++ display_print_chip::text#18 -- pbum1=_inc_pbum1 - inc text_6 + // [2088] display_print_chip::text#19 = ++ display_print_chip::text#18 -- pbuz1=_inc_pbuz1 + inc.z text_6 bne !+ - inc text_6+1 + inc.z text_6+1 !: // display_chip_line(x, y++, w, *text++) - // [2090] display_chip_line::x#7 = display_print_chip::x#10 -- vbuz1=vbuz2 + // [2089] display_chip_line::x#7 = display_print_chip::x#10 -- vbuz1=vbuz2 lda.z x sta.z display_chip_line.x - // [2091] display_chip_line::w#7 = display_print_chip::w#10 -- vbuz1=vbuz2 + // [2090] display_chip_line::w#7 = display_print_chip::w#10 -- vbuz1=vbuz2 lda.z w sta.z display_chip_line.w - // [2092] display_chip_line::c#7 = *display_print_chip::text#19 -- vbuz1=_deref_pbum2 - ldy text_6 - sty.z $fe - ldy text_6+1 - sty.z $ff + // [2091] display_chip_line::c#7 = *display_print_chip::text#19 -- vbuz1=_deref_pbuz2 ldy #0 - lda ($fe),y + lda (text_6),y sta.z display_chip_line.c - // [2093] call display_chip_line - // [2612] phi from display_print_chip::@7 to display_chip_line [phi:display_print_chip::@7->display_chip_line] - // [2612] phi display_chip_line::c#15 = display_chip_line::c#7 [phi:display_print_chip::@7->display_chip_line#0] -- register_copy - // [2612] phi display_chip_line::w#10 = display_chip_line::w#7 [phi:display_print_chip::@7->display_chip_line#1] -- register_copy - // [2612] phi display_chip_line::y#16 = ++++++++++++++3+2 [phi:display_print_chip::@7->display_chip_line#2] -- vbuz1=vbuc1 + // [2092] call display_chip_line + // [2611] phi from display_print_chip::@7 to display_chip_line [phi:display_print_chip::@7->display_chip_line] + // [2611] phi display_chip_line::c#15 = display_chip_line::c#7 [phi:display_print_chip::@7->display_chip_line#0] -- register_copy + // [2611] phi display_chip_line::w#10 = display_chip_line::w#7 [phi:display_print_chip::@7->display_chip_line#1] -- register_copy + // [2611] phi display_chip_line::y#16 = ++++++++++++++3+2 [phi:display_print_chip::@7->display_chip_line#2] -- vbuz1=vbuc1 lda #3+2+1+1+1+1+1+1+1 sta.z display_chip_line.y - // [2612] phi display_chip_line::x#16 = display_chip_line::x#7 [phi:display_print_chip::@7->display_chip_line#3] -- register_copy + // [2611] phi display_chip_line::x#16 = display_chip_line::x#7 [phi:display_print_chip::@7->display_chip_line#3] -- register_copy jsr display_chip_line // display_print_chip::@8 // display_chip_end(x, y++, w) - // [2094] display_chip_end::x#0 = display_print_chip::x#10 - // [2095] display_chip_end::w#0 = display_print_chip::w#10 -- vbuz1=vbuz2 + // [2093] display_chip_end::x#0 = display_print_chip::x#10 + // [2094] display_chip_end::w#0 = display_print_chip::w#10 -- vbuz1=vbuz2 lda.z w sta.z display_chip_end.w - // [2096] call display_chip_end + // [2095] call display_chip_end jsr display_chip_end // display_print_chip::@return // } - // [2097] return + // [2096] return rts .segment Data + .label text_1 = fopen.fopen__28 .label text_2 = strcat.src - .label text_4 = fopen.fopen__28 - .label text_5 = fopen.fopen__11 - .label text_6 = ferror.return + .label text_3 = fopen.fopen__11 + .label text_4 = ferror.return } .segment Code // display_vera_led @@ -13753,41 +13888,41 @@ display_print_chip: { * * @param c Led color */ -// void display_vera_led(__zp($71) char c) +// void display_vera_led(__zp($bf) char c) display_vera_led: { - .label c = $71 + .label c = $bf // display_chip_led(CHIP_VERA_X+1, CHIP_VERA_Y, CHIP_VERA_W, c, BLUE) - // [2099] display_chip_led::tc#1 = display_vera_led::c#2 -- vbuz1=vbuz2 + // [2098] display_chip_led::tc#1 = display_vera_led::c#2 -- vbuz1=vbuz2 lda.z c sta.z display_chip_led.tc - // [2100] call display_chip_led - // [2594] phi from display_vera_led to display_chip_led [phi:display_vera_led->display_chip_led] - // [2594] phi display_chip_led::w#7 = 8 [phi:display_vera_led->display_chip_led#0] -- vbuz1=vbuc1 + // [2099] call display_chip_led + // [2593] phi from display_vera_led to display_chip_led [phi:display_vera_led->display_chip_led] + // [2593] phi display_chip_led::w#7 = 8 [phi:display_vera_led->display_chip_led#0] -- vbuz1=vbuc1 lda #8 sta.z display_chip_led.w - // [2594] phi display_chip_led::x#7 = 9+1 [phi:display_vera_led->display_chip_led#1] -- vbuz1=vbuc1 + // [2593] phi display_chip_led::x#7 = 9+1 [phi:display_vera_led->display_chip_led#1] -- vbuz1=vbuc1 lda #9+1 sta.z display_chip_led.x - // [2594] phi display_chip_led::tc#3 = display_chip_led::tc#1 [phi:display_vera_led->display_chip_led#2] -- register_copy + // [2593] phi display_chip_led::tc#3 = display_chip_led::tc#1 [phi:display_vera_led->display_chip_led#2] -- register_copy jsr display_chip_led // display_vera_led::@1 // display_info_led(INFO_X-2, INFO_Y+1, c, BLUE) - // [2101] display_info_led::tc#1 = display_vera_led::c#2 -- vbuz1=vbuz2 + // [2100] display_info_led::tc#1 = display_vera_led::c#2 -- vbuz1=vbuz2 lda.z c sta.z display_info_led.tc - // [2102] call display_info_led - // [1811] phi from display_vera_led::@1 to display_info_led [phi:display_vera_led::@1->display_info_led] - // [1811] phi display_info_led::y#4 = $11+1 [phi:display_vera_led::@1->display_info_led#0] -- vbuz1=vbuc1 + // [2101] call display_info_led + // [1799] phi from display_vera_led::@1 to display_info_led [phi:display_vera_led::@1->display_info_led] + // [1799] phi display_info_led::y#4 = $11+1 [phi:display_vera_led::@1->display_info_led#0] -- vbuz1=vbuc1 lda #$11+1 sta.z display_info_led.y - // [1811] phi display_info_led::x#4 = 4-2 [phi:display_vera_led::@1->display_info_led#1] -- vbuz1=vbuc1 + // [1799] phi display_info_led::x#4 = 4-2 [phi:display_vera_led::@1->display_info_led#1] -- vbuz1=vbuc1 lda #4-2 sta.z display_info_led.x - // [1811] phi display_info_led::tc#4 = display_info_led::tc#1 [phi:display_vera_led::@1->display_info_led#2] -- register_copy + // [1799] phi display_info_led::tc#4 = display_info_led::tc#1 [phi:display_vera_led::@1->display_info_led#2] -- register_copy jsr display_info_led // display_vera_led::@return // } - // [2103] return + // [2102] return rts } // strcat @@ -13797,20 +13932,20 @@ strcat: { .label strcat__0 = $55 .label dst = $55 // strlen(destination) - // [2105] call strlen - // [2377] phi from strcat to strlen [phi:strcat->strlen] - // [2377] phi strlen::str#8 = display_chip_rom::rom [phi:strcat->strlen#0] -- pbuz1=pbuc1 + // [2104] call strlen + // [2315] phi from strcat to strlen [phi:strcat->strlen] + // [2315] phi strlen::str#8 = display_chip_rom::rom [phi:strcat->strlen#0] -- pbuz1=pbuc1 lda #display_chip_rom.rom sta.z strlen.str+1 jsr strlen // strlen(destination) - // [2106] strlen::return#0 = strlen::len#2 + // [2105] strlen::return#0 = strlen::len#2 // strcat::@4 - // [2107] strcat::$0 = strlen::return#0 + // [2106] strcat::$0 = strlen::return#0 // char* dst = destination + strlen(destination) - // [2108] strcat::dst#0 = display_chip_rom::rom + strcat::$0 -- pbuz1=pbuc1_plus_vwuz1 + // [2107] strcat::dst#0 = display_chip_rom::rom + strcat::$0 -- pbuz1=pbuc1_plus_vwuz1 lda.z dst clc adc #display_chip_rom.rom sta.z dst+1 - // [2109] phi from strcat::@2 strcat::@4 to strcat::@1 [phi:strcat::@2/strcat::@4->strcat::@1] - // [2109] phi strcat::dst#2 = strcat::dst#1 [phi:strcat::@2/strcat::@4->strcat::@1#0] -- register_copy - // [2109] phi strcat::src#2 = strcat::src#1 [phi:strcat::@2/strcat::@4->strcat::@1#1] -- register_copy + // [2108] phi from strcat::@2 strcat::@4 to strcat::@1 [phi:strcat::@2/strcat::@4->strcat::@1] + // [2108] phi strcat::dst#2 = strcat::dst#1 [phi:strcat::@2/strcat::@4->strcat::@1#0] -- register_copy + // [2108] phi strcat::src#2 = strcat::src#1 [phi:strcat::@2/strcat::@4->strcat::@1#1] -- register_copy // strcat::@1 __b1: // while(*src) - // [2110] if(0!=*strcat::src#2) goto strcat::@2 -- 0_neq__deref_pbum1_then_la1 + // [2109] if(0!=*strcat::src#2) goto strcat::@2 -- 0_neq__deref_pbum1_then_la1 ldy src sty.z $fe ldy src+1 @@ -13835,18 +13970,18 @@ strcat: { bne __b2 // strcat::@3 // *dst = 0 - // [2111] *strcat::dst#2 = 0 -- _deref_pbuz1=vbuc1 + // [2110] *strcat::dst#2 = 0 -- _deref_pbuz1=vbuc1 tya tay sta (dst),y // strcat::@return // } - // [2112] return + // [2111] return rts // strcat::@2 __b2: // *dst++ = *src++ - // [2113] *strcat::dst#2 = *strcat::src#2 -- _deref_pbuz1=_deref_pbum2 + // [2112] *strcat::dst#2 = *strcat::src#2 -- _deref_pbuz1=_deref_pbum2 ldy src sty.z $fe ldy src+1 @@ -13855,12 +13990,12 @@ strcat: { lda ($fe),y sta (dst),y // *dst++ = *src++; - // [2114] strcat::dst#1 = ++ strcat::dst#2 -- pbuz1=_inc_pbuz1 + // [2113] strcat::dst#1 = ++ strcat::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 !: - // [2115] strcat::src#1 = ++ strcat::src#2 -- pbum1=_inc_pbum1 + // [2114] strcat::src#1 = ++ strcat::src#2 -- pbum1=_inc_pbum1 inc src bne !+ inc src+1 @@ -13878,458 +14013,65 @@ strcat: { * @param chip ROM chip number (0 is main rom chip of CX16) * @param c Led color */ -// void display_rom_led(__zp($bf) char chip, __zp($67) char c) +// void display_rom_led(__zp($68) char chip, __zp($72) char c) display_rom_led: { - .label display_rom_led__0 = $36 - .label chip = $bf - .label c = $67 - .label display_rom_led__7 = $36 - .label display_rom_led__8 = $36 + .label display_rom_led__0 = $5c + .label chip = $68 + .label c = $72 + .label display_rom_led__7 = $5c + .label display_rom_led__8 = $5c // chip*6 - // [2117] display_rom_led::$7 = display_rom_led::chip#2 << 1 -- vbuz1=vbuz2_rol_1 + // [2116] display_rom_led::$7 = display_rom_led::chip#2 << 1 -- vbuz1=vbuz2_rol_1 lda.z chip asl sta.z display_rom_led__7 - // [2118] display_rom_led::$8 = display_rom_led::$7 + display_rom_led::chip#2 -- vbuz1=vbuz1_plus_vbuz2 + // [2117] display_rom_led::$8 = display_rom_led::$7 + display_rom_led::chip#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z display_rom_led__8 clc adc.z chip sta.z display_rom_led__8 // CHIP_ROM_X+chip*6 - // [2119] display_rom_led::$0 = display_rom_led::$8 << 1 -- vbuz1=vbuz1_rol_1 + // [2118] display_rom_led::$0 = display_rom_led::$8 << 1 -- vbuz1=vbuz1_rol_1 asl.z display_rom_led__0 // display_chip_led(CHIP_ROM_X+chip*6+1, CHIP_ROM_Y, CHIP_ROM_W, c, BLUE) - // [2120] display_chip_led::x#3 = display_rom_led::$0 + $14+1 -- vbuz1=vbuz1_plus_vbuc1 + // [2119] display_chip_led::x#3 = display_rom_led::$0 + $14+1 -- vbuz1=vbuz1_plus_vbuc1 lda #$14+1 clc adc.z display_chip_led.x sta.z display_chip_led.x - // [2121] display_chip_led::tc#2 = display_rom_led::c#2 -- vbuz1=vbuz2 + // [2120] display_chip_led::tc#2 = display_rom_led::c#2 -- vbuz1=vbuz2 lda.z c sta.z display_chip_led.tc - // [2122] call display_chip_led - // [2594] phi from display_rom_led to display_chip_led [phi:display_rom_led->display_chip_led] - // [2594] phi display_chip_led::w#7 = 3 [phi:display_rom_led->display_chip_led#0] -- vbuz1=vbuc1 + // [2121] call display_chip_led + // [2593] phi from display_rom_led to display_chip_led [phi:display_rom_led->display_chip_led] + // [2593] phi display_chip_led::w#7 = 3 [phi:display_rom_led->display_chip_led#0] -- vbuz1=vbuc1 lda #3 sta.z display_chip_led.w - // [2594] phi display_chip_led::x#7 = display_chip_led::x#3 [phi:display_rom_led->display_chip_led#1] -- register_copy - // [2594] phi display_chip_led::tc#3 = display_chip_led::tc#2 [phi:display_rom_led->display_chip_led#2] -- register_copy + // [2593] phi display_chip_led::x#7 = display_chip_led::x#3 [phi:display_rom_led->display_chip_led#1] -- register_copy + // [2593] phi display_chip_led::tc#3 = display_chip_led::tc#2 [phi:display_rom_led->display_chip_led#2] -- register_copy jsr display_chip_led // display_rom_led::@1 // display_info_led(INFO_X-2, INFO_Y+chip+2, c, BLUE) - // [2123] display_info_led::y#2 = display_rom_led::chip#2 + $11+2 -- vbuz1=vbuz2_plus_vbuc1 + // [2122] display_info_led::y#2 = display_rom_led::chip#2 + $11+2 -- vbuz1=vbuz2_plus_vbuc1 lda #$11+2 clc adc.z chip sta.z display_info_led.y - // [2124] display_info_led::tc#2 = display_rom_led::c#2 -- vbuz1=vbuz2 + // [2123] display_info_led::tc#2 = display_rom_led::c#2 -- vbuz1=vbuz2 lda.z c sta.z display_info_led.tc - // [2125] call display_info_led - // [1811] phi from display_rom_led::@1 to display_info_led [phi:display_rom_led::@1->display_info_led] - // [1811] phi display_info_led::y#4 = display_info_led::y#2 [phi:display_rom_led::@1->display_info_led#0] -- register_copy - // [1811] phi display_info_led::x#4 = 4-2 [phi:display_rom_led::@1->display_info_led#1] -- vbuz1=vbuc1 + // [2124] call display_info_led + // [1799] phi from display_rom_led::@1 to display_info_led [phi:display_rom_led::@1->display_info_led] + // [1799] phi display_info_led::y#4 = display_info_led::y#2 [phi:display_rom_led::@1->display_info_led#0] -- register_copy + // [1799] phi display_info_led::x#4 = 4-2 [phi:display_rom_led::@1->display_info_led#1] -- vbuz1=vbuc1 lda #4-2 sta.z display_info_led.x - // [1811] phi display_info_led::tc#4 = display_info_led::tc#2 [phi:display_rom_led::@1->display_info_led#2] -- register_copy + // [1799] phi display_info_led::tc#4 = display_info_led::tc#2 [phi:display_rom_led::@1->display_info_led#2] -- register_copy jsr display_info_led // display_rom_led::@return // } - // [2126] return + // [2125] return rts -} - // utoa -// Converts unsigned number value to a string representing it in RADIX format. -// If the leading digits are zero they are not included in the string. -// - value : The number to be converted to RADIX -// - buffer : receives the string representing the number and zero-termination. -// - radix : The radix to convert the number to (from the enum RADIX) -// void utoa(__zp($2d) unsigned int value, __zp($64) char *buffer, __zp($35) char radix) -utoa: { - .label utoa__4 = $6d - .label utoa__10 = $69 - .label utoa__11 = $e4 - .label digit_value = $44 - .label buffer = $64 - .label digit = $68 - .label value = $2d - .label radix = $35 - .label started = $73 - .label max_digits = $be - .label digit_values = $55 - // if(radix==DECIMAL) - // [2127] if(utoa::radix#0==DECIMAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 - lda #DECIMAL - cmp.z radix - beq __b2 - // utoa::@2 - // if(radix==HEXADECIMAL) - // [2128] if(utoa::radix#0==HEXADECIMAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 - lda #HEXADECIMAL - cmp.z radix - beq __b3 - // utoa::@3 - // if(radix==OCTAL) - // [2129] if(utoa::radix#0==OCTAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 - lda #OCTAL - cmp.z radix - beq __b4 - // utoa::@4 - // if(radix==BINARY) - // [2130] if(utoa::radix#0==BINARY) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 - lda #BINARY - cmp.z radix - beq __b5 - // utoa::@5 - // *buffer++ = 'e' - // [2131] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e' -- _deref_pbuc1=vbuc2 - // Unknown radix - lda #'e' - sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS - // *buffer++ = 'r' - // [2132] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r' -- _deref_pbuc1=vbuc2 - lda #'r' - sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1 - // [2133] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r' -- _deref_pbuc1=vbuc2 - sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2 - // *buffer = 0 - // [2134] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2 - lda #0 - sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3 - // utoa::@return - // } - // [2135] return - rts - // [2136] phi from utoa to utoa::@1 [phi:utoa->utoa::@1] - __b2: - // [2136] phi utoa::digit_values#8 = RADIX_DECIMAL_VALUES [phi:utoa->utoa::@1#0] -- pwuz1=pwuc1 - lda #RADIX_DECIMAL_VALUES - sta.z digit_values+1 - // [2136] phi utoa::max_digits#7 = 5 [phi:utoa->utoa::@1#1] -- vbuz1=vbuc1 - lda #5 - sta.z max_digits - jmp __b1 - // [2136] phi from utoa::@2 to utoa::@1 [phi:utoa::@2->utoa::@1] - __b3: - // [2136] phi utoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES [phi:utoa::@2->utoa::@1#0] -- pwuz1=pwuc1 - lda #RADIX_HEXADECIMAL_VALUES - sta.z digit_values+1 - // [2136] phi utoa::max_digits#7 = 4 [phi:utoa::@2->utoa::@1#1] -- vbuz1=vbuc1 - lda #4 - sta.z max_digits - jmp __b1 - // [2136] phi from utoa::@3 to utoa::@1 [phi:utoa::@3->utoa::@1] - __b4: - // [2136] phi utoa::digit_values#8 = RADIX_OCTAL_VALUES [phi:utoa::@3->utoa::@1#0] -- pwuz1=pwuc1 - lda #RADIX_OCTAL_VALUES - sta.z digit_values+1 - // [2136] phi utoa::max_digits#7 = 6 [phi:utoa::@3->utoa::@1#1] -- vbuz1=vbuc1 - lda #6 - sta.z max_digits - jmp __b1 - // [2136] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1] - __b5: - // [2136] phi utoa::digit_values#8 = RADIX_BINARY_VALUES [phi:utoa::@4->utoa::@1#0] -- pwuz1=pwuc1 - lda #RADIX_BINARY_VALUES - sta.z digit_values+1 - // [2136] phi utoa::max_digits#7 = $10 [phi:utoa::@4->utoa::@1#1] -- vbuz1=vbuc1 - lda #$10 - sta.z max_digits - // utoa::@1 - __b1: - // [2137] phi from utoa::@1 to utoa::@6 [phi:utoa::@1->utoa::@6] - // [2137] phi utoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:utoa::@1->utoa::@6#0] -- pbuz1=pbuc1 - lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS - sta.z buffer+1 - // [2137] phi utoa::started#2 = 0 [phi:utoa::@1->utoa::@6#1] -- vbuz1=vbuc1 - lda #0 - sta.z started - // [2137] phi utoa::value#2 = utoa::value#1 [phi:utoa::@1->utoa::@6#2] -- register_copy - // [2137] phi utoa::digit#2 = 0 [phi:utoa::@1->utoa::@6#3] -- vbuz1=vbuc1 - sta.z digit - // utoa::@6 - __b6: - // max_digits-1 - // [2138] utoa::$4 = utoa::max_digits#7 - 1 -- vbuz1=vbuz2_minus_1 - ldx.z max_digits - dex - stx.z utoa__4 - // for( char digit=0; digit= digit_value) - // [2146] if(0!=utoa::started#2) goto utoa::@10 -- 0_neq_vbuz1_then_la1 - lda.z started - bne __b10 - // utoa::@12 - // [2147] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@10 -- vwuz1_ge_vwuz2_then_la1 - lda.z digit_value+1 - cmp.z value+1 - bne !+ - lda.z digit_value - cmp.z value - beq __b10 - !: - bcc __b10 - // [2148] phi from utoa::@12 to utoa::@9 [phi:utoa::@12->utoa::@9] - // [2148] phi utoa::buffer#14 = utoa::buffer#11 [phi:utoa::@12->utoa::@9#0] -- register_copy - // [2148] phi utoa::started#4 = utoa::started#2 [phi:utoa::@12->utoa::@9#1] -- register_copy - // [2148] phi utoa::value#6 = utoa::value#2 [phi:utoa::@12->utoa::@9#2] -- register_copy - // utoa::@9 - __b9: - // for( char digit=0; digitutoa::@6] - // [2137] phi utoa::buffer#11 = utoa::buffer#14 [phi:utoa::@9->utoa::@6#0] -- register_copy - // [2137] phi utoa::started#2 = utoa::started#4 [phi:utoa::@9->utoa::@6#1] -- register_copy - // [2137] phi utoa::value#2 = utoa::value#6 [phi:utoa::@9->utoa::@6#2] -- register_copy - // [2137] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@9->utoa::@6#3] -- register_copy - jmp __b6 - // utoa::@10 - __b10: - // utoa_append(buffer++, value, digit_value) - // [2150] utoa_append::buffer#0 = utoa::buffer#11 -- pbuz1=pbuz2 - lda.z buffer - sta.z utoa_append.buffer - lda.z buffer+1 - sta.z utoa_append.buffer+1 - // [2151] utoa_append::value#0 = utoa::value#2 - // [2152] utoa_append::sub#0 = utoa::digit_value#0 - // [2153] call utoa_append - // [2673] phi from utoa::@10 to utoa_append [phi:utoa::@10->utoa_append] - jsr utoa_append - // utoa_append(buffer++, value, digit_value) - // [2154] utoa_append::return#0 = utoa_append::value#2 - // utoa::@11 - // value = utoa_append(buffer++, value, digit_value) - // [2155] utoa::value#0 = utoa_append::return#0 - // value = utoa_append(buffer++, value, digit_value); - // [2156] utoa::buffer#4 = ++ utoa::buffer#11 -- pbuz1=_inc_pbuz1 - inc.z buffer - bne !+ - inc.z buffer+1 - !: - // [2148] phi from utoa::@11 to utoa::@9 [phi:utoa::@11->utoa::@9] - // [2148] phi utoa::buffer#14 = utoa::buffer#4 [phi:utoa::@11->utoa::@9#0] -- register_copy - // [2148] phi utoa::started#4 = 1 [phi:utoa::@11->utoa::@9#1] -- vbuz1=vbuc1 - lda #1 - sta.z started - // [2148] phi utoa::value#6 = utoa::value#0 [phi:utoa::@11->utoa::@9#2] -- register_copy - jmp __b9 -} - // printf_number_buffer -// Print the contents of the number buffer using a specific format. -// This handles minimum length, zero-filling, and left/right justification from the format -// void printf_number_buffer(__zp($4d) void (*putc)(char), __zp($e9) char buffer_sign, char *buffer_digits, __zp($e8) char format_min_length, char format_justify_left, char format_sign_always, __zp($e7) char format_zero_padding, char format_upper_case, char format_radix) -printf_number_buffer: { - .label printf_number_buffer__19 = $55 - .label buffer_sign = $e9 - .label format_min_length = $e8 - .label format_zero_padding = $e7 - .label putc = $4d - .label len = $df - .label padding = $df - // if(format.min_length) - // [2158] if(0==printf_number_buffer::format_min_length#3) goto printf_number_buffer::@1 -- 0_eq_vbuz1_then_la1 - lda.z format_min_length - beq __b5 - // [2159] phi from printf_number_buffer to printf_number_buffer::@5 [phi:printf_number_buffer->printf_number_buffer::@5] - // printf_number_buffer::@5 - // strlen(buffer.digits) - // [2160] call strlen - // [2377] phi from printf_number_buffer::@5 to strlen [phi:printf_number_buffer::@5->strlen] - // [2377] phi strlen::str#8 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@5->strlen#0] -- pbuz1=pbuc1 - lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS - sta.z strlen.str+1 - jsr strlen - // strlen(buffer.digits) - // [2161] strlen::return#3 = strlen::len#2 - // printf_number_buffer::@11 - // [2162] printf_number_buffer::$19 = strlen::return#3 - // signed char len = (signed char)strlen(buffer.digits) - // [2163] printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19 -- vbsz1=_sbyte_vwuz2 - // There is a minimum length - work out the padding - lda.z printf_number_buffer__19 - sta.z len - // if(buffer.sign) - // [2164] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@10 -- 0_eq_vbuz1_then_la1 - lda.z buffer_sign - beq __b10 - // printf_number_buffer::@6 - // len++; - // [2165] printf_number_buffer::len#1 = ++ printf_number_buffer::len#0 -- vbsz1=_inc_vbsz1 - inc.z len - // [2166] phi from printf_number_buffer::@11 printf_number_buffer::@6 to printf_number_buffer::@10 [phi:printf_number_buffer::@11/printf_number_buffer::@6->printf_number_buffer::@10] - // [2166] phi printf_number_buffer::len#2 = printf_number_buffer::len#0 [phi:printf_number_buffer::@11/printf_number_buffer::@6->printf_number_buffer::@10#0] -- register_copy - // printf_number_buffer::@10 - __b10: - // padding = (signed char)format.min_length - len - // [2167] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#3 - printf_number_buffer::len#2 -- vbsz1=vbsz2_minus_vbsz1 - lda.z format_min_length - sec - sbc.z padding - sta.z padding - // if(padding<0) - // [2168] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@15 -- vbsz1_ge_0_then_la1 - cmp #0 - bpl __b1 - // [2170] phi from printf_number_buffer printf_number_buffer::@10 to printf_number_buffer::@1 [phi:printf_number_buffer/printf_number_buffer::@10->printf_number_buffer::@1] - __b5: - // [2170] phi printf_number_buffer::padding#10 = 0 [phi:printf_number_buffer/printf_number_buffer::@10->printf_number_buffer::@1#0] -- vbsz1=vbsc1 - lda #0 - sta.z padding - // [2169] phi from printf_number_buffer::@10 to printf_number_buffer::@15 [phi:printf_number_buffer::@10->printf_number_buffer::@15] - // printf_number_buffer::@15 - // [2170] phi from printf_number_buffer::@15 to printf_number_buffer::@1 [phi:printf_number_buffer::@15->printf_number_buffer::@1] - // [2170] phi printf_number_buffer::padding#10 = printf_number_buffer::padding#1 [phi:printf_number_buffer::@15->printf_number_buffer::@1#0] -- register_copy - // printf_number_buffer::@1 - __b1: - // printf_number_buffer::@13 - // if(!format.justify_left && !format.zero_padding && padding) - // [2171] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1 - lda.z format_zero_padding - bne __b2 - // printf_number_buffer::@12 - // [2172] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@7 -- 0_neq_vbsz1_then_la1 - lda.z padding - cmp #0 - bne __b7 - jmp __b2 - // printf_number_buffer::@7 - __b7: - // printf_padding(putc, ' ',(char)padding) - // [2173] printf_padding::putc#0 = printf_number_buffer::putc#10 -- pprz1=pprz2 - lda.z putc - sta.z printf_padding.putc - lda.z putc+1 - sta.z printf_padding.putc+1 - // [2174] printf_padding::length#0 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 - lda.z padding - sta.z printf_padding.length - // [2175] call printf_padding - // [2383] phi from printf_number_buffer::@7 to printf_padding [phi:printf_number_buffer::@7->printf_padding] - // [2383] phi printf_padding::putc#7 = printf_padding::putc#0 [phi:printf_number_buffer::@7->printf_padding#0] -- register_copy - // [2383] phi printf_padding::pad#7 = ' ' [phi:printf_number_buffer::@7->printf_padding#1] -- vbuz1=vbuc1 - lda #' ' - sta.z printf_padding.pad - // [2383] phi printf_padding::length#6 = printf_padding::length#0 [phi:printf_number_buffer::@7->printf_padding#2] -- register_copy - jsr printf_padding - // printf_number_buffer::@2 - __b2: - // if(buffer.sign) - // [2176] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 -- 0_eq_vbuz1_then_la1 - lda.z buffer_sign - beq __b3 - // printf_number_buffer::@8 - // putc(buffer.sign) - // [2177] stackpush(char) = printf_number_buffer::buffer_sign#10 -- _stackpushbyte_=vbuz1 - pha - // [2178] callexecute *printf_number_buffer::putc#10 -- call__deref_pprz1 - jsr icall37 - // sideeffect stackpullpadding(1) -- _stackpullpadding_1 - pla - // printf_number_buffer::@3 - __b3: - // if(format.zero_padding && padding) - // [2180] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 -- 0_eq_vbuz1_then_la1 - lda.z format_zero_padding - beq __b4 - // printf_number_buffer::@14 - // [2181] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@9 -- 0_neq_vbsz1_then_la1 - lda.z padding - cmp #0 - bne __b9 - jmp __b4 - // printf_number_buffer::@9 - __b9: - // printf_padding(putc, '0',(char)padding) - // [2182] printf_padding::putc#1 = printf_number_buffer::putc#10 -- pprz1=pprz2 - lda.z putc - sta.z printf_padding.putc - lda.z putc+1 - sta.z printf_padding.putc+1 - // [2183] printf_padding::length#1 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 - lda.z padding - sta.z printf_padding.length - // [2184] call printf_padding - // [2383] phi from printf_number_buffer::@9 to printf_padding [phi:printf_number_buffer::@9->printf_padding] - // [2383] phi printf_padding::putc#7 = printf_padding::putc#1 [phi:printf_number_buffer::@9->printf_padding#0] -- register_copy - // [2383] phi printf_padding::pad#7 = '0' [phi:printf_number_buffer::@9->printf_padding#1] -- vbuz1=vbuc1 - lda #'0' - sta.z printf_padding.pad - // [2383] phi printf_padding::length#6 = printf_padding::length#1 [phi:printf_number_buffer::@9->printf_padding#2] -- register_copy - jsr printf_padding - // printf_number_buffer::@4 - __b4: - // printf_str(putc, buffer.digits) - // [2185] printf_str::putc#0 = printf_number_buffer::putc#10 - // [2186] call printf_str - // [1016] phi from printf_number_buffer::@4 to printf_str [phi:printf_number_buffer::@4->printf_str] - // [1016] phi printf_str::putc#71 = printf_str::putc#0 [phi:printf_number_buffer::@4->printf_str#0] -- register_copy - // [1016] phi printf_str::s#71 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@4->printf_str#1] -- pbuz1=pbuc1 - lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS - sta.z printf_str.s+1 - jsr printf_str - // printf_number_buffer::@return - // } - // [2187] return - rts - // Outside Flow - icall37: - jmp (putc) } // rom_unlock /** @@ -14341,13 +14083,13 @@ printf_number_buffer: { * @param unlock_code The 3rd write to model the specific unlock sequence. */ /* inline */ -// void rom_unlock(__zp($7b) unsigned long address, __zp($b3) char unlock_code) +// void rom_unlock(__zp($78) unsigned long address, __zp($b1) char unlock_code) rom_unlock: { - .label chip_address = $3f - .label address = $7b - .label unlock_code = $b3 + .label chip_address = $41 + .label address = $78 + .label unlock_code = $b1 // unsigned long chip_address = address & ROM_CHIP_MASK - // [2189] rom_unlock::chip_address#0 = rom_unlock::address#5 & $380000 -- vduz1=vduz2_band_vduc1 + // [2127] rom_unlock::chip_address#0 = rom_unlock::address#5 & $380000 -- vduz1=vduz2_band_vduc1 lda.z address and #<$380000 sta.z chip_address @@ -14361,7 +14103,7 @@ rom_unlock: { and #>$380000>>$10 sta.z chip_address+3 // rom_write_byte(chip_address + 0x05555, 0xAA) - // [2190] rom_write_byte::address#0 = rom_unlock::chip_address#0 + $5555 -- vduz1=vduz2_plus_vwuc1 + // [2128] rom_write_byte::address#0 = rom_unlock::chip_address#0 + $5555 -- vduz1=vduz2_plus_vwuc1 clc lda.z chip_address adc #<$5555 @@ -14375,17 +14117,17 @@ rom_unlock: { lda.z chip_address+3 adc #0 sta.z rom_write_byte.address+3 - // [2191] call rom_write_byte + // [2129] call rom_write_byte // This is a very important operation... - // [2680] phi from rom_unlock to rom_write_byte [phi:rom_unlock->rom_write_byte] - // [2680] phi rom_write_byte::value#10 = $aa [phi:rom_unlock->rom_write_byte#0] -- vbuz1=vbuc1 + // [2672] phi from rom_unlock to rom_write_byte [phi:rom_unlock->rom_write_byte] + // [2672] phi rom_write_byte::value#10 = $aa [phi:rom_unlock->rom_write_byte#0] -- vbuz1=vbuc1 lda #$aa sta.z rom_write_byte.value - // [2680] phi rom_write_byte::address#4 = rom_write_byte::address#0 [phi:rom_unlock->rom_write_byte#1] -- register_copy + // [2672] phi rom_write_byte::address#4 = rom_write_byte::address#0 [phi:rom_unlock->rom_write_byte#1] -- register_copy jsr rom_write_byte // rom_unlock::@1 // rom_write_byte(chip_address + 0x02AAA, 0x55) - // [2192] rom_write_byte::address#1 = rom_unlock::chip_address#0 + $2aaa -- vduz1=vduz2_plus_vwuc1 + // [2130] rom_write_byte::address#1 = rom_unlock::chip_address#0 + $2aaa -- vduz1=vduz2_plus_vwuc1 clc lda.z chip_address adc #<$2aaa @@ -14399,16 +14141,16 @@ rom_unlock: { lda.z chip_address+3 adc #0 sta.z rom_write_byte.address+3 - // [2193] call rom_write_byte - // [2680] phi from rom_unlock::@1 to rom_write_byte [phi:rom_unlock::@1->rom_write_byte] - // [2680] phi rom_write_byte::value#10 = $55 [phi:rom_unlock::@1->rom_write_byte#0] -- vbuz1=vbuc1 + // [2131] call rom_write_byte + // [2672] phi from rom_unlock::@1 to rom_write_byte [phi:rom_unlock::@1->rom_write_byte] + // [2672] phi rom_write_byte::value#10 = $55 [phi:rom_unlock::@1->rom_write_byte#0] -- vbuz1=vbuc1 lda #$55 sta.z rom_write_byte.value - // [2680] phi rom_write_byte::address#4 = rom_write_byte::address#1 [phi:rom_unlock::@1->rom_write_byte#1] -- register_copy + // [2672] phi rom_write_byte::address#4 = rom_write_byte::address#1 [phi:rom_unlock::@1->rom_write_byte#1] -- register_copy jsr rom_write_byte // rom_unlock::@2 // rom_write_byte(address, unlock_code) - // [2194] rom_write_byte::address#2 = rom_unlock::address#5 -- vduz1=vduz2 + // [2132] rom_write_byte::address#2 = rom_unlock::address#5 -- vduz1=vduz2 lda.z address sta.z rom_write_byte.address lda.z address+1 @@ -14417,17 +14159,17 @@ rom_unlock: { sta.z rom_write_byte.address+2 lda.z address+3 sta.z rom_write_byte.address+3 - // [2195] rom_write_byte::value#2 = rom_unlock::unlock_code#5 -- vbuz1=vbuz2 + // [2133] rom_write_byte::value#2 = rom_unlock::unlock_code#5 -- vbuz1=vbuz2 lda.z unlock_code sta.z rom_write_byte.value - // [2196] call rom_write_byte - // [2680] phi from rom_unlock::@2 to rom_write_byte [phi:rom_unlock::@2->rom_write_byte] - // [2680] phi rom_write_byte::value#10 = rom_write_byte::value#2 [phi:rom_unlock::@2->rom_write_byte#0] -- register_copy - // [2680] phi rom_write_byte::address#4 = rom_write_byte::address#2 [phi:rom_unlock::@2->rom_write_byte#1] -- register_copy + // [2134] call rom_write_byte + // [2672] phi from rom_unlock::@2 to rom_write_byte [phi:rom_unlock::@2->rom_write_byte] + // [2672] phi rom_write_byte::value#10 = rom_write_byte::value#2 [phi:rom_unlock::@2->rom_write_byte#0] -- register_copy + // [2672] phi rom_write_byte::address#4 = rom_write_byte::address#2 [phi:rom_unlock::@2->rom_write_byte#1] -- register_copy jsr rom_write_byte // rom_unlock::@return // } - // [2197] return + // [2135] return rts } // rom_read_byte @@ -14440,50 +14182,50 @@ rom_unlock: { * @param address The 22 bit ROM address. * @return unsigned char The byte read from the ROM. */ -// __mem() char rom_read_byte(__zp($57) unsigned long address) +// __zp($6d) char rom_read_byte(__zp($57) unsigned long address) rom_read_byte: { - .label rom_bank1_rom_read_byte__0 = $6d - .label rom_bank1_rom_read_byte__1 = $e4 - .label rom_bank1_rom_read_byte__2 = $55 - .label rom_ptr1_rom_read_byte__0 = $64 - .label rom_ptr1_rom_read_byte__2 = $64 - .label rom_bank1_bank_unshifted = $55 - .label rom_bank1_return = $69 - .label rom_ptr1_return = $64 + .label rom_bank1_rom_read_byte__0 = $36 + .label rom_bank1_rom_read_byte__1 = $f4 + .label rom_bank1_rom_read_byte__2 = $d7 + .label rom_ptr1_rom_read_byte__0 = $55 + .label rom_ptr1_rom_read_byte__2 = $55 + .label rom_bank1_bank_unshifted = $d7 + .label rom_ptr1_return = $55 + .label return = $6d .label address = $57 // rom_read_byte::rom_bank1 // BYTE2(address) - // [2199] rom_read_byte::rom_bank1_$0 = byte2 rom_read_byte::address#2 -- vbuz1=_byte2_vduz2 + // [2137] rom_read_byte::rom_bank1_$0 = byte2 rom_read_byte::address#2 -- vbuz1=_byte2_vduz2 lda.z address+2 sta.z rom_bank1_rom_read_byte__0 // BYTE1(address) - // [2200] rom_read_byte::rom_bank1_$1 = byte1 rom_read_byte::address#2 -- vbuz1=_byte1_vduz2 + // [2138] rom_read_byte::rom_bank1_$1 = byte1 rom_read_byte::address#2 -- vbuz1=_byte1_vduz2 lda.z address+1 sta.z rom_bank1_rom_read_byte__1 // MAKEWORD(BYTE2(address),BYTE1(address)) - // [2201] rom_read_byte::rom_bank1_$2 = rom_read_byte::rom_bank1_$0 w= rom_read_byte::rom_bank1_$1 -- vwuz1=vbuz2_word_vbuz3 + // [2139] rom_read_byte::rom_bank1_$2 = rom_read_byte::rom_bank1_$0 w= rom_read_byte::rom_bank1_$1 -- vwuz1=vbuz2_word_vbuz3 lda.z rom_bank1_rom_read_byte__0 sta.z rom_bank1_rom_read_byte__2+1 lda.z rom_bank1_rom_read_byte__1 sta.z rom_bank1_rom_read_byte__2 // unsigned int bank_unshifted = MAKEWORD(BYTE2(address),BYTE1(address)) << 2 - // [2202] rom_read_byte::rom_bank1_bank_unshifted#0 = rom_read_byte::rom_bank1_$2 << 2 -- vwuz1=vwuz1_rol_2 + // [2140] rom_read_byte::rom_bank1_bank_unshifted#0 = rom_read_byte::rom_bank1_$2 << 2 -- vwuz1=vwuz1_rol_2 asl.z rom_bank1_bank_unshifted rol.z rom_bank1_bank_unshifted+1 asl.z rom_bank1_bank_unshifted rol.z rom_bank1_bank_unshifted+1 // unsigned char bank = BYTE1(bank_unshifted) - // [2203] rom_read_byte::rom_bank1_return#0 = byte1 rom_read_byte::rom_bank1_bank_unshifted#0 -- vbuz1=_byte1_vwuz2 + // [2141] rom_read_byte::rom_bank1_return#0 = byte1 rom_read_byte::rom_bank1_bank_unshifted#0 -- vbum1=_byte1_vwuz2 lda.z rom_bank1_bank_unshifted+1 - sta.z rom_bank1_return + sta rom_bank1_return // rom_read_byte::rom_ptr1 // (unsigned int)(address) & ROM_PTR_MASK - // [2204] rom_read_byte::rom_ptr1_$2 = (unsigned int)rom_read_byte::address#2 -- vwuz1=_word_vduz2 + // [2142] rom_read_byte::rom_ptr1_$2 = (unsigned int)rom_read_byte::address#2 -- vwuz1=_word_vduz2 lda.z address sta.z rom_ptr1_rom_read_byte__2 lda.z address+1 sta.z rom_ptr1_rom_read_byte__2+1 - // [2205] rom_read_byte::rom_ptr1_$0 = rom_read_byte::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 + // [2143] rom_read_byte::rom_ptr1_$0 = rom_read_byte::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 lda.z rom_ptr1_rom_read_byte__0 and #<$3fff sta.z rom_ptr1_rom_read_byte__0 @@ -14491,7 +14233,7 @@ rom_read_byte: { and #>$3fff sta.z rom_ptr1_rom_read_byte__0+1 // ((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE - // [2206] rom_read_byte::rom_ptr1_return#0 = rom_read_byte::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 + // [2144] rom_read_byte::rom_ptr1_return#0 = rom_read_byte::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 lda.z rom_ptr1_return clc adc #<$c000 @@ -14501,21 +14243,21 @@ rom_read_byte: { sta.z rom_ptr1_return+1 // rom_read_byte::bank_set_brom1 // BROM = bank - // [2207] BROM = rom_read_byte::rom_bank1_return#0 -- vbuz1=vbuz2 - lda.z rom_bank1_return + // [2145] BROM = rom_read_byte::rom_bank1_return#0 -- vbuz1=vbum2 + lda rom_bank1_return sta.z BROM // rom_read_byte::@1 // return *ptr_rom; - // [2208] rom_read_byte::return#0 = *((char *)rom_read_byte::rom_ptr1_return#0) -- vbum1=_deref_pbuz2 + // [2146] rom_read_byte::return#0 = *((char *)rom_read_byte::rom_ptr1_return#0) -- vbuz1=_deref_pbuz2 ldy #0 lda (rom_ptr1_return),y - sta return + sta.z return // rom_read_byte::@return // } - // [2209] return + // [2147] return rts .segment Data - .label return = fclose.sp + .label rom_bank1_return = fopen.fopen__4 } .segment Code // display_progress_line @@ -14525,28 +14267,28 @@ rom_read_byte: { * @param line The start line, counting from 0. * @param text The text to be displayed. */ -// void display_progress_line(__zp($ed) char line, __zp($2d) char *text) +// void display_progress_line(__zp($ea) char line, __zp($2d) char *text) display_progress_line: { - .label line = $ed + .label line = $ea .label text = $2d // cputsxy(PROGRESS_X, PROGRESS_Y+line, text) - // [2210] cputsxy::y#0 = PROGRESS_Y + display_progress_line::line#0 -- vbuz1=vbuc1_plus_vbuz1 + // [2148] cputsxy::y#0 = PROGRESS_Y + display_progress_line::line#0 -- vbuz1=vbuc1_plus_vbuz1 lda #PROGRESS_Y clc adc.z cputsxy.y sta.z cputsxy.y - // [2211] cputsxy::s#0 = display_progress_line::text#0 - // [2212] call cputsxy - // [849] phi from display_progress_line to cputsxy [phi:display_progress_line->cputsxy] - // [849] phi cputsxy::s#4 = cputsxy::s#0 [phi:display_progress_line->cputsxy#0] -- register_copy - // [849] phi cputsxy::y#4 = cputsxy::y#0 [phi:display_progress_line->cputsxy#1] -- register_copy - // [849] phi cputsxy::x#4 = PROGRESS_X [phi:display_progress_line->cputsxy#2] -- vbuz1=vbuc1 + // [2149] cputsxy::s#0 = display_progress_line::text#0 + // [2150] call cputsxy + // [843] phi from display_progress_line to cputsxy [phi:display_progress_line->cputsxy] + // [843] phi cputsxy::s#4 = cputsxy::s#0 [phi:display_progress_line->cputsxy#0] -- register_copy + // [843] phi cputsxy::y#4 = cputsxy::y#0 [phi:display_progress_line->cputsxy#1] -- register_copy + // [843] phi cputsxy::x#4 = PROGRESS_X [phi:display_progress_line->cputsxy#2] -- vbuz1=vbuc1 lda #PROGRESS_X sta.z cputsxy.x jsr cputsxy // display_progress_line::@return // } - // [2213] return + // [2151] return rts } // fopen @@ -14561,31 +14303,31 @@ display_progress_line: { * - 0x0000: Something is wrong! Kernal Error Code (https://commodore.ca/manuals/pdfs/commodore_error_messages.pdf) * - other: OK! The last pointer between 0xA000 and 0xBFFF is returned. Note that the last pointer is indicating the first free byte. */ -// __zp($64) struct $2 * fopen(__zp($d9) const char *path, const char *mode) +// __zp($d7) struct $2 * fopen(__zp($db) const char *path, const char *mode) fopen: { - .label fopen__4 = $bd - .label fopen__9 = $c3 - .label fopen__15 = $c2 - .label fopen__26 = $ca - .label fopen__30 = $64 + .label fopen__9 = $d6 + .label fopen__15 = $d3 + .label fopen__26 = $64 + .label fopen__30 = $d7 .label cbm_k_setnam1_fopen__0 = $55 - .label sp = $d4 - .label stream = $64 - .label pathtoken = $d9 - .label pathpos = $eb - .label path = $d9 - .label cbm_k_readst1_return = $c2 - .label return = $64 + .label sp = $36 + .label stream = $d7 + .label pathtoken = $db + .label pathpos = $f4 + .label pathcmp = $bb + .label path = $db + .label cbm_k_readst1_return = $d3 + .label return = $d7 // unsigned char sp = __stdio_filecount - // [2215] fopen::sp#0 = __stdio_filecount -- vbuz1=vbum2 + // [2153] fopen::sp#0 = __stdio_filecount -- vbuz1=vbum2 lda __stdio_filecount sta.z sp // (unsigned int)sp | 0x8000 - // [2216] fopen::$30 = (unsigned int)fopen::sp#0 -- vwuz1=_word_vbuz2 + // [2154] fopen::$30 = (unsigned int)fopen::sp#0 -- vwuz1=_word_vbuz2 sta.z fopen__30 lda #0 sta.z fopen__30+1 - // [2217] fopen::stream#0 = fopen::$30 | $8000 -- vwuz1=vwuz1_bor_vwuc1 + // [2155] fopen::stream#0 = fopen::$30 | $8000 -- vwuz1=vwuz1_bor_vwuc1 lda.z stream ora #<$8000 sta.z stream @@ -14593,49 +14335,49 @@ fopen: { ora #>$8000 sta.z stream+1 // char pathpos = sp * __STDIO_FILECOUNT - // [2218] fopen::pathpos#0 = fopen::sp#0 << 1 -- vbuz1=vbuz2_rol_1 + // [2156] fopen::pathpos#0 = fopen::sp#0 << 1 -- vbuz1=vbuz2_rol_1 lda.z sp asl sta.z pathpos // __logical = 0 - // [2219] ((char *)&__stdio_file+$40)[fopen::sp#0] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 + // [2157] ((char *)&__stdio_file+$40)[fopen::sp#0] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 ldy.z sp sta __stdio_file+$40,y // __device = 0 - // [2220] ((char *)&__stdio_file+$42)[fopen::sp#0] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 + // [2158] ((char *)&__stdio_file+$42)[fopen::sp#0] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 sta __stdio_file+$42,y // __channel = 0 - // [2221] ((char *)&__stdio_file+$44)[fopen::sp#0] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 + // [2159] ((char *)&__stdio_file+$44)[fopen::sp#0] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 sta __stdio_file+$44,y - // [2222] fopen::pathtoken#22 = fopen::pathtoken#0 -- pbum1=pbuz2 + // [2160] fopen::pathtoken#22 = fopen::pathtoken#0 -- pbum1=pbuz2 lda.z pathtoken sta pathtoken_1 lda.z pathtoken+1 sta pathtoken_1+1 - // [2223] fopen::pathpos#21 = fopen::pathpos#0 -- vbum1=vbuz2 + // [2161] fopen::pathpos#21 = fopen::pathpos#0 -- vbum1=vbuz2 lda.z pathpos sta pathpos_1 - // [2224] phi from fopen to fopen::@8 [phi:fopen->fopen::@8] - // [2224] phi fopen::num#10 = 0 [phi:fopen->fopen::@8#0] -- vbum1=vbuc1 + // [2162] phi from fopen to fopen::@8 [phi:fopen->fopen::@8] + // [2162] phi fopen::num#10 = 0 [phi:fopen->fopen::@8#0] -- vbum1=vbuc1 lda #0 sta num - // [2224] phi fopen::pathpos#10 = fopen::pathpos#21 [phi:fopen->fopen::@8#1] -- register_copy - // [2224] phi fopen::path#10 = fopen::pathtoken#0 [phi:fopen->fopen::@8#2] -- register_copy - // [2224] phi fopen::pathstep#10 = 0 [phi:fopen->fopen::@8#3] -- vbum1=vbuc1 + // [2162] phi fopen::pathpos#10 = fopen::pathpos#21 [phi:fopen->fopen::@8#1] -- register_copy + // [2162] phi fopen::path#10 = fopen::pathtoken#0 [phi:fopen->fopen::@8#2] -- register_copy + // [2162] phi fopen::pathstep#10 = 0 [phi:fopen->fopen::@8#3] -- vbum1=vbuc1 sta pathstep - // [2224] phi fopen::pathtoken#10 = fopen::pathtoken#22 [phi:fopen->fopen::@8#4] -- register_copy + // [2162] phi fopen::pathtoken#10 = fopen::pathtoken#22 [phi:fopen->fopen::@8#4] -- register_copy // Iterate while path is not \0. - // [2224] phi from fopen::@22 to fopen::@8 [phi:fopen::@22->fopen::@8] - // [2224] phi fopen::num#10 = fopen::num#13 [phi:fopen::@22->fopen::@8#0] -- register_copy - // [2224] phi fopen::pathpos#10 = fopen::pathpos#7 [phi:fopen::@22->fopen::@8#1] -- register_copy - // [2224] phi fopen::path#10 = fopen::path#11 [phi:fopen::@22->fopen::@8#2] -- register_copy - // [2224] phi fopen::pathstep#10 = fopen::pathstep#11 [phi:fopen::@22->fopen::@8#3] -- register_copy - // [2224] phi fopen::pathtoken#10 = fopen::pathtoken#1 [phi:fopen::@22->fopen::@8#4] -- register_copy + // [2162] phi from fopen::@22 to fopen::@8 [phi:fopen::@22->fopen::@8] + // [2162] phi fopen::num#10 = fopen::num#13 [phi:fopen::@22->fopen::@8#0] -- register_copy + // [2162] phi fopen::pathpos#10 = fopen::pathpos#7 [phi:fopen::@22->fopen::@8#1] -- register_copy + // [2162] phi fopen::path#10 = fopen::path#11 [phi:fopen::@22->fopen::@8#2] -- register_copy + // [2162] phi fopen::pathstep#10 = fopen::pathstep#11 [phi:fopen::@22->fopen::@8#3] -- register_copy + // [2162] phi fopen::pathtoken#10 = fopen::pathtoken#1 [phi:fopen::@22->fopen::@8#4] -- register_copy // fopen::@8 __b8: // if (*pathtoken == ',' || *pathtoken == '\0') - // [2225] if(*fopen::pathtoken#10==',') goto fopen::@9 -- _deref_pbum1_eq_vbuc1_then_la1 + // [2163] if(*fopen::pathtoken#10==',') goto fopen::@9 -- _deref_pbum1_eq_vbuc1_then_la1 ldy pathtoken_1 sty.z $fe ldy pathtoken_1+1 @@ -14647,7 +14389,7 @@ fopen: { jmp __b9 !__b9: // fopen::@33 - // [2226] if(*fopen::pathtoken#10=='@') goto fopen::@9 -- _deref_pbum1_eq_vbuc1_then_la1 + // [2164] if(*fopen::pathtoken#10=='@') goto fopen::@9 -- _deref_pbum1_eq_vbuc1_then_la1 ldy pathtoken_1 sty.z $fe ldy pathtoken_1+1 @@ -14660,12 +14402,12 @@ fopen: { !__b9: // fopen::@23 // if (pathstep == 0) - // [2227] if(fopen::pathstep#10!=0) goto fopen::@10 -- vbum1_neq_0_then_la1 + // [2165] if(fopen::pathstep#10!=0) goto fopen::@10 -- vbum1_neq_0_then_la1 lda pathstep bne __b10 // fopen::@24 // __stdio_file.filename[pathpos] = *pathtoken - // [2228] ((char *)&__stdio_file)[fopen::pathpos#10] = *fopen::pathtoken#10 -- pbuc1_derefidx_vbum1=_deref_pbum2 + // [2166] ((char *)&__stdio_file)[fopen::pathpos#10] = *fopen::pathtoken#10 -- pbuc1_derefidx_vbum1=_deref_pbum2 ldy pathtoken_1 sty.z $fe ldy pathtoken_1+1 @@ -14675,24 +14417,24 @@ fopen: { ldy pathpos_1 sta __stdio_file,y // pathpos++; - // [2229] fopen::pathpos#1 = ++ fopen::pathpos#10 -- vbum1=_inc_vbum1 + // [2167] fopen::pathpos#1 = ++ fopen::pathpos#10 -- vbum1=_inc_vbum1 inc pathpos_1 - // [2230] phi from fopen::@12 fopen::@23 fopen::@24 to fopen::@10 [phi:fopen::@12/fopen::@23/fopen::@24->fopen::@10] - // [2230] phi fopen::num#13 = fopen::num#15 [phi:fopen::@12/fopen::@23/fopen::@24->fopen::@10#0] -- register_copy - // [2230] phi fopen::pathpos#7 = fopen::pathpos#10 [phi:fopen::@12/fopen::@23/fopen::@24->fopen::@10#1] -- register_copy - // [2230] phi fopen::path#11 = fopen::path#13 [phi:fopen::@12/fopen::@23/fopen::@24->fopen::@10#2] -- register_copy - // [2230] phi fopen::pathstep#11 = fopen::pathstep#1 [phi:fopen::@12/fopen::@23/fopen::@24->fopen::@10#3] -- register_copy + // [2168] phi from fopen::@12 fopen::@23 fopen::@24 to fopen::@10 [phi:fopen::@12/fopen::@23/fopen::@24->fopen::@10] + // [2168] phi fopen::num#13 = fopen::num#15 [phi:fopen::@12/fopen::@23/fopen::@24->fopen::@10#0] -- register_copy + // [2168] phi fopen::pathpos#7 = fopen::pathpos#10 [phi:fopen::@12/fopen::@23/fopen::@24->fopen::@10#1] -- register_copy + // [2168] phi fopen::path#11 = fopen::path#13 [phi:fopen::@12/fopen::@23/fopen::@24->fopen::@10#2] -- register_copy + // [2168] phi fopen::pathstep#11 = fopen::pathstep#1 [phi:fopen::@12/fopen::@23/fopen::@24->fopen::@10#3] -- register_copy // fopen::@10 __b10: // pathtoken++; - // [2231] fopen::pathtoken#1 = ++ fopen::pathtoken#10 -- pbum1=_inc_pbum1 + // [2169] fopen::pathtoken#1 = ++ fopen::pathtoken#10 -- pbum1=_inc_pbum1 inc pathtoken_1 bne !+ inc pathtoken_1+1 !: // fopen::@22 // pathtoken - 1 - // [2232] fopen::$28 = fopen::pathtoken#1 - 1 -- pbum1=pbum2_minus_1 + // [2170] fopen::$28 = fopen::pathtoken#1 - 1 -- pbum1=pbum2_minus_1 lda pathtoken_1 sec sbc #1 @@ -14701,7 +14443,7 @@ fopen: { sbc #0 sta fopen__28+1 // while (*(pathtoken - 1)) - // [2233] if(0!=*fopen::$28) goto fopen::@8 -- 0_neq__deref_pbum1_then_la1 + // [2171] if(0!=*fopen::$28) goto fopen::@8 -- 0_neq__deref_pbum1_then_la1 ldy fopen__28 sty.z $fe tay @@ -14712,59 +14454,59 @@ fopen: { bne __b8 // fopen::@26 // __status = 0 - // [2234] ((char *)&__stdio_file+$46)[fopen::sp#0] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 + // [2172] ((char *)&__stdio_file+$46)[fopen::sp#0] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 tya ldy.z sp sta __stdio_file+$46,y // if(!__logical) - // [2235] if(0!=((char *)&__stdio_file+$40)[fopen::sp#0]) goto fopen::@1 -- 0_neq_pbuc1_derefidx_vbuz1_then_la1 + // [2173] if(0!=((char *)&__stdio_file+$40)[fopen::sp#0]) goto fopen::@1 -- 0_neq_pbuc1_derefidx_vbuz1_then_la1 lda __stdio_file+$40,y cmp #0 bne __b1 // fopen::@27 // __stdio_filecount+1 - // [2236] fopen::$4 = __stdio_filecount + 1 -- vbuz1=vbum2_plus_1 + // [2174] fopen::$4 = __stdio_filecount + 1 -- vbum1=vbum2_plus_1 lda __stdio_filecount inc - sta.z fopen__4 + sta fopen__4 // __logical = __stdio_filecount+1 - // [2237] ((char *)&__stdio_file+$40)[fopen::sp#0] = fopen::$4 -- pbuc1_derefidx_vbuz1=vbuz2 + // [2175] ((char *)&__stdio_file+$40)[fopen::sp#0] = fopen::$4 -- pbuc1_derefidx_vbuz1=vbum2 sta __stdio_file+$40,y // fopen::@1 __b1: // if(!__device) - // [2238] if(0!=((char *)&__stdio_file+$42)[fopen::sp#0]) goto fopen::@2 -- 0_neq_pbuc1_derefidx_vbuz1_then_la1 + // [2176] if(0!=((char *)&__stdio_file+$42)[fopen::sp#0]) goto fopen::@2 -- 0_neq_pbuc1_derefidx_vbuz1_then_la1 ldy.z sp lda __stdio_file+$42,y cmp #0 bne __b2 // fopen::@5 // __device = 8 - // [2239] ((char *)&__stdio_file+$42)[fopen::sp#0] = 8 -- pbuc1_derefidx_vbuz1=vbuc2 + // [2177] ((char *)&__stdio_file+$42)[fopen::sp#0] = 8 -- pbuc1_derefidx_vbuz1=vbuc2 lda #8 sta __stdio_file+$42,y // fopen::@2 __b2: // if(!__channel) - // [2240] if(0!=((char *)&__stdio_file+$44)[fopen::sp#0]) goto fopen::@3 -- 0_neq_pbuc1_derefidx_vbuz1_then_la1 + // [2178] if(0!=((char *)&__stdio_file+$44)[fopen::sp#0]) goto fopen::@3 -- 0_neq_pbuc1_derefidx_vbuz1_then_la1 ldy.z sp lda __stdio_file+$44,y cmp #0 bne __b3 // fopen::@6 // __stdio_filecount+2 - // [2241] fopen::$9 = __stdio_filecount + 2 -- vbuz1=vbum2_plus_2 + // [2179] fopen::$9 = __stdio_filecount + 2 -- vbuz1=vbum2_plus_2 lda __stdio_filecount clc adc #2 sta.z fopen__9 // __channel = __stdio_filecount+2 - // [2242] ((char *)&__stdio_file+$44)[fopen::sp#0] = fopen::$9 -- pbuc1_derefidx_vbuz1=vbuz2 + // [2180] ((char *)&__stdio_file+$44)[fopen::sp#0] = fopen::$9 -- pbuc1_derefidx_vbuz1=vbuz2 sta __stdio_file+$44,y // fopen::@3 __b3: // __filename - // [2243] fopen::$11 = (char *)&__stdio_file + fopen::pathpos#0 -- pbum1=pbuc1_plus_vbuz2 + // [2181] fopen::$11 = (char *)&__stdio_file + fopen::pathpos#0 -- pbum1=pbuc1_plus_vbuz2 lda.z pathpos clc adc #<__stdio_file @@ -14773,28 +14515,28 @@ fopen: { adc #0 sta fopen__11+1 // cbm_k_setnam(__filename) - // [2244] fopen::cbm_k_setnam1_filename = fopen::$11 -- pbum1=pbum2 + // [2182] fopen::cbm_k_setnam1_filename = fopen::$11 -- pbum1=pbum2 lda fopen__11 sta cbm_k_setnam1_filename lda fopen__11+1 sta cbm_k_setnam1_filename+1 // fopen::cbm_k_setnam1 // strlen(filename) - // [2245] strlen::str#4 = fopen::cbm_k_setnam1_filename -- pbuz1=pbum2 + // [2183] strlen::str#4 = fopen::cbm_k_setnam1_filename -- pbuz1=pbum2 lda cbm_k_setnam1_filename sta.z strlen.str lda cbm_k_setnam1_filename+1 sta.z strlen.str+1 - // [2246] call strlen - // [2377] phi from fopen::cbm_k_setnam1 to strlen [phi:fopen::cbm_k_setnam1->strlen] - // [2377] phi strlen::str#8 = strlen::str#4 [phi:fopen::cbm_k_setnam1->strlen#0] -- register_copy + // [2184] call strlen + // [2315] phi from fopen::cbm_k_setnam1 to strlen [phi:fopen::cbm_k_setnam1->strlen] + // [2315] phi strlen::str#8 = strlen::str#4 [phi:fopen::cbm_k_setnam1->strlen#0] -- register_copy jsr strlen // strlen(filename) - // [2247] strlen::return#11 = strlen::len#2 + // [2185] strlen::return#11 = strlen::len#2 // fopen::@31 - // [2248] fopen::cbm_k_setnam1_$0 = strlen::return#11 + // [2186] fopen::cbm_k_setnam1_$0 = strlen::return#11 // char filename_len = (char)strlen(filename) - // [2249] fopen::cbm_k_setnam1_filename_len = (char)fopen::cbm_k_setnam1_$0 -- vbum1=_byte_vwuz2 + // [2187] fopen::cbm_k_setnam1_filename_len = (char)fopen::cbm_k_setnam1_$0 -- vbum1=_byte_vwuz2 lda.z cbm_k_setnam1_fopen__0 sta cbm_k_setnam1_filename_len // asm @@ -14804,17 +14546,17 @@ fopen: { jsr CBM_SETNAM // fopen::@28 // cbm_k_setlfs(__logical, __device, __channel) - // [2251] cbm_k_setlfs::channel = ((char *)&__stdio_file+$40)[fopen::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 + // [2189] cbm_k_setlfs::channel = ((char *)&__stdio_file+$40)[fopen::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 ldy.z sp lda __stdio_file+$40,y sta cbm_k_setlfs.channel - // [2252] cbm_k_setlfs::device = ((char *)&__stdio_file+$42)[fopen::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 + // [2190] cbm_k_setlfs::device = ((char *)&__stdio_file+$42)[fopen::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 lda __stdio_file+$42,y sta cbm_k_setlfs.device - // [2253] cbm_k_setlfs::command = ((char *)&__stdio_file+$44)[fopen::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 + // [2191] cbm_k_setlfs::command = ((char *)&__stdio_file+$44)[fopen::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 lda __stdio_file+$44,y sta cbm_k_setlfs.command - // [2254] call cbm_k_setlfs + // [2192] call cbm_k_setlfs jsr cbm_k_setlfs // fopen::cbm_k_open1 // asm @@ -14822,7 +14564,7 @@ fopen: { jsr CBM_OPEN // fopen::cbm_k_readst1 // char status - // [2256] fopen::cbm_k_readst1_status = 0 -- vbum1=vbuc1 + // [2194] fopen::cbm_k_readst1_status = 0 -- vbum1=vbuc1 lda #0 sta cbm_k_readst1_status // asm @@ -14830,34 +14572,34 @@ fopen: { jsr CBM_READST sta cbm_k_readst1_status // return status; - // [2258] fopen::cbm_k_readst1_return#0 = fopen::cbm_k_readst1_status -- vbuz1=vbum2 + // [2196] fopen::cbm_k_readst1_return#0 = fopen::cbm_k_readst1_status -- vbuz1=vbum2 sta.z cbm_k_readst1_return // fopen::cbm_k_readst1_@return // } - // [2259] fopen::cbm_k_readst1_return#1 = fopen::cbm_k_readst1_return#0 + // [2197] fopen::cbm_k_readst1_return#1 = fopen::cbm_k_readst1_return#0 // fopen::@29 // cbm_k_readst() - // [2260] fopen::$15 = fopen::cbm_k_readst1_return#1 + // [2198] fopen::$15 = fopen::cbm_k_readst1_return#1 // __status = cbm_k_readst() - // [2261] ((char *)&__stdio_file+$46)[fopen::sp#0] = fopen::$15 -- pbuc1_derefidx_vbuz1=vbuz2 + // [2199] ((char *)&__stdio_file+$46)[fopen::sp#0] = fopen::$15 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z fopen__15 ldy.z sp sta __stdio_file+$46,y // ferror(stream) - // [2262] ferror::stream#0 = (struct $2 *)fopen::stream#0 - // [2263] call ferror + // [2200] ferror::stream#0 = (struct $2 *)fopen::stream#0 + // [2201] call ferror jsr ferror - // [2264] ferror::return#0 = ferror::return#1 + // [2202] ferror::return#0 = ferror::return#1 // fopen::@32 - // [2265] fopen::$16 = ferror::return#0 + // [2203] fopen::$16 = ferror::return#0 // if (ferror(stream)) - // [2266] if(0==fopen::$16) goto fopen::@4 -- 0_eq_vwsm1_then_la1 + // [2204] if(0==fopen::$16) goto fopen::@4 -- 0_eq_vwsm1_then_la1 lda fopen__16 ora fopen__16+1 beq __b4 // fopen::@7 // cbm_k_close(__logical) - // [2267] fopen::cbm_k_close1_channel = ((char *)&__stdio_file+$40)[fopen::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 + // [2205] fopen::cbm_k_close1_channel = ((char *)&__stdio_file+$40)[fopen::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 ldy.z sp lda __stdio_file+$40,y sta cbm_k_close1_channel @@ -14865,38 +14607,38 @@ fopen: { // asm // asm { ldachannel jsrCBM_CLOSE } jsr CBM_CLOSE - // [2269] phi from fopen::cbm_k_close1 to fopen::@return [phi:fopen::cbm_k_close1->fopen::@return] - // [2269] phi fopen::return#2 = 0 [phi:fopen::cbm_k_close1->fopen::@return#0] -- pssz1=vbuc1 + // [2207] phi from fopen::cbm_k_close1 to fopen::@return [phi:fopen::cbm_k_close1->fopen::@return] + // [2207] phi fopen::return#2 = 0 [phi:fopen::cbm_k_close1->fopen::@return#0] -- pssz1=vbuc1 lda #<0 sta.z return sta.z return+1 // fopen::@return // } - // [2270] return + // [2208] return rts // fopen::@4 __b4: // __stdio_filecount++; - // [2271] __stdio_filecount = ++ __stdio_filecount -- vbum1=_inc_vbum1 + // [2209] __stdio_filecount = ++ __stdio_filecount -- vbum1=_inc_vbum1 inc __stdio_filecount - // [2272] fopen::return#8 = (struct $2 *)fopen::stream#0 - // [2269] phi from fopen::@4 to fopen::@return [phi:fopen::@4->fopen::@return] - // [2269] phi fopen::return#2 = fopen::return#8 [phi:fopen::@4->fopen::@return#0] -- register_copy + // [2210] fopen::return#8 = (struct $2 *)fopen::stream#0 + // [2207] phi from fopen::@4 to fopen::@return [phi:fopen::@4->fopen::@return] + // [2207] phi fopen::return#2 = fopen::return#8 [phi:fopen::@4->fopen::@return#0] -- register_copy rts // fopen::@9 __b9: // if (pathstep > 0) - // [2273] if(fopen::pathstep#10>0) goto fopen::@11 -- vbum1_gt_0_then_la1 + // [2211] if(fopen::pathstep#10>0) goto fopen::@11 -- vbum1_gt_0_then_la1 lda pathstep bne __b11 // fopen::@25 // __stdio_file.filename[pathpos] = '\0' - // [2274] ((char *)&__stdio_file)[fopen::pathpos#10] = '@' -- pbuc1_derefidx_vbum1=vbuc2 + // [2212] ((char *)&__stdio_file)[fopen::pathpos#10] = '@' -- pbuc1_derefidx_vbum1=vbuc2 lda #'@' ldy pathpos_1 sta __stdio_file,y // path = pathtoken + 1 - // [2275] fopen::path#0 = fopen::pathtoken#10 + 1 -- pbuz1=pbum2_plus_1 + // [2213] fopen::path#0 = fopen::pathtoken#10 + 1 -- pbuz1=pbum2_plus_1 clc lda pathtoken_1 adc #1 @@ -14904,72 +14646,72 @@ fopen: { lda pathtoken_1+1 adc #0 sta.z path+1 - // [2276] phi from fopen::@16 fopen::@17 fopen::@18 fopen::@19 fopen::@25 to fopen::@12 [phi:fopen::@16/fopen::@17/fopen::@18/fopen::@19/fopen::@25->fopen::@12] - // [2276] phi fopen::num#15 = fopen::num#2 [phi:fopen::@16/fopen::@17/fopen::@18/fopen::@19/fopen::@25->fopen::@12#0] -- register_copy - // [2276] phi fopen::path#13 = fopen::path#16 [phi:fopen::@16/fopen::@17/fopen::@18/fopen::@19/fopen::@25->fopen::@12#1] -- register_copy + // [2214] phi from fopen::@16 fopen::@17 fopen::@18 fopen::@19 fopen::@25 to fopen::@12 [phi:fopen::@16/fopen::@17/fopen::@18/fopen::@19/fopen::@25->fopen::@12] + // [2214] phi fopen::num#15 = fopen::num#2 [phi:fopen::@16/fopen::@17/fopen::@18/fopen::@19/fopen::@25->fopen::@12#0] -- register_copy + // [2214] phi fopen::path#13 = fopen::path#16 [phi:fopen::@16/fopen::@17/fopen::@18/fopen::@19/fopen::@25->fopen::@12#1] -- register_copy // fopen::@12 __b12: // pathstep++; - // [2277] fopen::pathstep#1 = ++ fopen::pathstep#10 -- vbum1=_inc_vbum1 + // [2215] fopen::pathstep#1 = ++ fopen::pathstep#10 -- vbum1=_inc_vbum1 inc pathstep jmp __b10 // fopen::@11 __b11: // char pathcmp = *path - // [2278] fopen::pathcmp#0 = *fopen::path#10 -- vbum1=_deref_pbuz2 + // [2216] fopen::pathcmp#0 = *fopen::path#10 -- vbuz1=_deref_pbuz2 ldy #0 lda (path),y - sta pathcmp + sta.z pathcmp // case 'D': - // [2279] if(fopen::pathcmp#0=='D') goto fopen::@13 -- vbum1_eq_vbuc1_then_la1 + // [2217] if(fopen::pathcmp#0=='D') goto fopen::@13 -- vbuz1_eq_vbuc1_then_la1 lda #'D' - cmp pathcmp + cmp.z pathcmp beq __b13 // fopen::@20 // case 'L': - // [2280] if(fopen::pathcmp#0=='L') goto fopen::@13 -- vbum1_eq_vbuc1_then_la1 + // [2218] if(fopen::pathcmp#0=='L') goto fopen::@13 -- vbuz1_eq_vbuc1_then_la1 lda #'L' - cmp pathcmp + cmp.z pathcmp beq __b13 // fopen::@21 // case 'C': // num = (char)atoi(path + 1); // path = pathtoken + 1; - // [2281] if(fopen::pathcmp#0=='C') goto fopen::@13 -- vbum1_eq_vbuc1_then_la1 + // [2219] if(fopen::pathcmp#0=='C') goto fopen::@13 -- vbuz1_eq_vbuc1_then_la1 lda #'C' - cmp pathcmp + cmp.z pathcmp beq __b13 - // [2282] phi from fopen::@21 fopen::@30 to fopen::@14 [phi:fopen::@21/fopen::@30->fopen::@14] - // [2282] phi fopen::path#16 = fopen::path#10 [phi:fopen::@21/fopen::@30->fopen::@14#0] -- register_copy - // [2282] phi fopen::num#2 = fopen::num#10 [phi:fopen::@21/fopen::@30->fopen::@14#1] -- register_copy + // [2220] phi from fopen::@21 fopen::@30 to fopen::@14 [phi:fopen::@21/fopen::@30->fopen::@14] + // [2220] phi fopen::path#16 = fopen::path#10 [phi:fopen::@21/fopen::@30->fopen::@14#0] -- register_copy + // [2220] phi fopen::num#2 = fopen::num#10 [phi:fopen::@21/fopen::@30->fopen::@14#1] -- register_copy // fopen::@14 __b14: // case 'L': // __logical = num; // break; - // [2283] if(fopen::pathcmp#0=='L') goto fopen::@17 -- vbum1_eq_vbuc1_then_la1 + // [2221] if(fopen::pathcmp#0=='L') goto fopen::@17 -- vbuz1_eq_vbuc1_then_la1 lda #'L' - cmp pathcmp + cmp.z pathcmp beq __b17 // fopen::@15 // case 'D': // __device = num; // break; - // [2284] if(fopen::pathcmp#0=='D') goto fopen::@18 -- vbum1_eq_vbuc1_then_la1 + // [2222] if(fopen::pathcmp#0=='D') goto fopen::@18 -- vbuz1_eq_vbuc1_then_la1 lda #'D' - cmp pathcmp + cmp.z pathcmp beq __b18 // fopen::@16 // case 'C': // __channel = num; // break; - // [2285] if(fopen::pathcmp#0!='C') goto fopen::@12 -- vbum1_neq_vbuc1_then_la1 + // [2223] if(fopen::pathcmp#0!='C') goto fopen::@12 -- vbuz1_neq_vbuc1_then_la1 lda #'C' - cmp pathcmp + cmp.z pathcmp bne __b12 // fopen::@19 // __channel = num - // [2286] ((char *)&__stdio_file+$44)[fopen::sp#0] = fopen::num#2 -- pbuc1_derefidx_vbuz1=vbum2 + // [2224] ((char *)&__stdio_file+$44)[fopen::sp#0] = fopen::num#2 -- pbuc1_derefidx_vbuz1=vbum2 lda num ldy.z sp sta __stdio_file+$44,y @@ -14977,7 +14719,7 @@ fopen: { // fopen::@18 __b18: // __device = num - // [2287] ((char *)&__stdio_file+$42)[fopen::sp#0] = fopen::num#2 -- pbuc1_derefidx_vbuz1=vbum2 + // [2225] ((char *)&__stdio_file+$42)[fopen::sp#0] = fopen::num#2 -- pbuc1_derefidx_vbuz1=vbum2 lda num ldy.z sp sta __stdio_file+$42,y @@ -14985,7 +14727,7 @@ fopen: { // fopen::@17 __b17: // __logical = num - // [2288] ((char *)&__stdio_file+$40)[fopen::sp#0] = fopen::num#2 -- pbuc1_derefidx_vbuz1=vbum2 + // [2226] ((char *)&__stdio_file+$40)[fopen::sp#0] = fopen::num#2 -- pbuc1_derefidx_vbuz1=vbum2 lda num ldy.z sp sta __stdio_file+$40,y @@ -14993,25 +14735,25 @@ fopen: { // fopen::@13 __b13: // atoi(path + 1) - // [2289] atoi::str#0 = fopen::path#10 + 1 -- pbuz1=pbuz1_plus_1 + // [2227] atoi::str#0 = fopen::path#10 + 1 -- pbuz1=pbuz1_plus_1 inc.z atoi.str bne !+ inc.z atoi.str+1 !: - // [2290] call atoi - // [2746] phi from fopen::@13 to atoi [phi:fopen::@13->atoi] - // [2746] phi atoi::str#2 = atoi::str#0 [phi:fopen::@13->atoi#0] -- register_copy + // [2228] call atoi + // [2738] phi from fopen::@13 to atoi [phi:fopen::@13->atoi] + // [2738] phi atoi::str#2 = atoi::str#0 [phi:fopen::@13->atoi#0] -- register_copy jsr atoi // atoi(path + 1) - // [2291] atoi::return#3 = atoi::return#2 + // [2229] atoi::return#3 = atoi::return#2 // fopen::@30 - // [2292] fopen::$26 = atoi::return#3 + // [2230] fopen::$26 = atoi::return#3 // num = (char)atoi(path + 1) - // [2293] fopen::num#1 = (char)fopen::$26 -- vbum1=_byte_vwsz2 + // [2231] fopen::num#1 = (char)fopen::$26 -- vbum1=_byte_vwsz2 lda.z fopen__26 sta num // path = pathtoken + 1 - // [2294] fopen::path#1 = fopen::pathtoken#10 + 1 -- pbuz1=pbum2_plus_1 + // [2232] fopen::path#1 = fopen::pathtoken#10 + 1 -- pbuz1=pbum2_plus_1 clc lda pathtoken_1 adc #1 @@ -15021,6 +14763,7 @@ fopen: { sta.z path+1 jmp __b14 .segment Data + fopen__4: .byte 0 fopen__11: .word 0 .label fopen__16 = ferror.return fopen__28: .word 0 @@ -15028,12 +14771,11 @@ fopen: { cbm_k_setnam1_filename_len: .byte 0 cbm_k_readst1_status: .byte 0 cbm_k_close1_channel: .byte 0 - .label pathpos_1 = main.check_status_roms_all1_check_status_rom1_main__0 + .label pathpos_1 = main.check_status_smc12_main__0 pathtoken_1: .word 0 - .label pathcmp = fclose.sp // Parse path - .label pathstep = main.check_status_roms3_check_status_rom1_main__0 - .label num = main.check_status_smc8_main__0 + .label pathstep = main.check_status_vera4_main__0 + .label num = main.check_status_vera5_main__0 } .segment Code // fgets @@ -15046,36 +14788,36 @@ fopen: { * @param filename Name of the file to be loaded. * @return ptr the pointer advanced to the point where the stream ends. */ -// __zp($ba) unsigned int fgets(__zp($c0) char *ptr, __zp($d5) unsigned int size, __mem() struct $2 *stream) +// __zp($60) unsigned int fgets(__zp($c0) char *ptr, __zp($d9) unsigned int size, __mem() struct $2 *stream) fgets: { - .label fgets__1 = $eb - .label fgets__8 = $bd - .label fgets__9 = $c3 - .label fgets__13 = $c2 - .label cbm_k_chkin1_status = $f8 - .label cbm_k_readst1_status = $f9 - .label cbm_k_readst2_status = $c5 - .label sp = $d4 - .label cbm_k_readst1_return = $eb - .label return = $ba - .label bytes = $a9 - .label cbm_k_readst2_return = $bd - .label read = $ba + .label fgets__1 = $d3 + .label fgets__8 = $bb + .label fgets__9 = $c2 + .label fgets__13 = $c3 + .label cbm_k_chkin1_status = $f9 + .label cbm_k_readst1_status = $fa + .label cbm_k_readst2_status = $c6 + .label sp = $d6 + .label cbm_k_readst1_return = $d3 + .label return = $60 + .label bytes = $7c + .label cbm_k_readst2_return = $bb + .label read = $60 .label ptr = $c0 - .label remaining = $ce - .label size = $d5 + .label remaining = $cd + .label size = $d9 // unsigned char sp = (unsigned char)stream - // [2296] fgets::sp#0 = (char)fgets::stream#3 -- vbuz1=_byte_pssm2 + // [2234] fgets::sp#0 = (char)fgets::stream#3 -- vbuz1=_byte_pssm2 lda stream sta.z sp // cbm_k_chkin(__logical) - // [2297] fgets::cbm_k_chkin1_channel = ((char *)&__stdio_file+$40)[fgets::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 + // [2235] fgets::cbm_k_chkin1_channel = ((char *)&__stdio_file+$40)[fgets::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 tay lda __stdio_file+$40,y sta cbm_k_chkin1_channel // fgets::cbm_k_chkin1 // char status - // [2298] fgets::cbm_k_chkin1_status = 0 -- vbuz1=vbuc1 + // [2236] fgets::cbm_k_chkin1_status = 0 -- vbuz1=vbuc1 lda #0 sta.z cbm_k_chkin1_status // asm @@ -15085,7 +14827,7 @@ fgets: { sta cbm_k_chkin1_status // fgets::cbm_k_readst1 // char status - // [2300] fgets::cbm_k_readst1_status = 0 -- vbuz1=vbuc1 + // [2238] fgets::cbm_k_readst1_status = 0 -- vbuz1=vbuc1 lda #0 sta.z cbm_k_readst1_status // asm @@ -15093,56 +14835,56 @@ fgets: { jsr CBM_READST sta cbm_k_readst1_status // return status; - // [2302] fgets::cbm_k_readst1_return#0 = fgets::cbm_k_readst1_status -- vbuz1=vbuz2 + // [2240] fgets::cbm_k_readst1_return#0 = fgets::cbm_k_readst1_status -- vbuz1=vbuz2 sta.z cbm_k_readst1_return // fgets::cbm_k_readst1_@return // } - // [2303] fgets::cbm_k_readst1_return#1 = fgets::cbm_k_readst1_return#0 + // [2241] fgets::cbm_k_readst1_return#1 = fgets::cbm_k_readst1_return#0 // fgets::@11 // cbm_k_readst() - // [2304] fgets::$1 = fgets::cbm_k_readst1_return#1 + // [2242] fgets::$1 = fgets::cbm_k_readst1_return#1 // __status = cbm_k_readst() - // [2305] ((char *)&__stdio_file+$46)[fgets::sp#0] = fgets::$1 -- pbuc1_derefidx_vbuz1=vbuz2 + // [2243] ((char *)&__stdio_file+$46)[fgets::sp#0] = fgets::$1 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z fgets__1 ldy.z sp sta __stdio_file+$46,y // if (__status) - // [2306] if(0==((char *)&__stdio_file+$46)[fgets::sp#0]) goto fgets::@1 -- 0_eq_pbuc1_derefidx_vbuz1_then_la1 + // [2244] if(0==((char *)&__stdio_file+$46)[fgets::sp#0]) goto fgets::@1 -- 0_eq_pbuc1_derefidx_vbuz1_then_la1 lda __stdio_file+$46,y cmp #0 beq __b1 - // [2307] phi from fgets::@11 fgets::@12 fgets::@5 to fgets::@return [phi:fgets::@11/fgets::@12/fgets::@5->fgets::@return] + // [2245] phi from fgets::@11 fgets::@12 fgets::@5 to fgets::@return [phi:fgets::@11/fgets::@12/fgets::@5->fgets::@return] __b8: - // [2307] phi fgets::return#1 = 0 [phi:fgets::@11/fgets::@12/fgets::@5->fgets::@return#0] -- vwuz1=vbuc1 + // [2245] phi fgets::return#1 = 0 [phi:fgets::@11/fgets::@12/fgets::@5->fgets::@return#0] -- vwuz1=vbuc1 lda #<0 sta.z return sta.z return+1 // fgets::@return // } - // [2308] return + // [2246] return rts // fgets::@1 __b1: - // [2309] fgets::remaining#22 = fgets::size#11 -- vwuz1=vwuz2 + // [2247] fgets::remaining#22 = fgets::size#11 -- vwuz1=vwuz2 lda.z size sta.z remaining lda.z size+1 sta.z remaining+1 - // [2310] phi from fgets::@1 to fgets::@2 [phi:fgets::@1->fgets::@2] - // [2310] phi fgets::read#10 = 0 [phi:fgets::@1->fgets::@2#0] -- vwuz1=vwuc1 + // [2248] phi from fgets::@1 to fgets::@2 [phi:fgets::@1->fgets::@2] + // [2248] phi fgets::read#10 = 0 [phi:fgets::@1->fgets::@2#0] -- vwuz1=vwuc1 lda #<0 sta.z read sta.z read+1 - // [2310] phi fgets::remaining#11 = fgets::remaining#22 [phi:fgets::@1->fgets::@2#1] -- register_copy - // [2310] phi fgets::ptr#10 = fgets::ptr#13 [phi:fgets::@1->fgets::@2#2] -- register_copy - // [2310] phi from fgets::@17 fgets::@18 to fgets::@2 [phi:fgets::@17/fgets::@18->fgets::@2] - // [2310] phi fgets::read#10 = fgets::read#1 [phi:fgets::@17/fgets::@18->fgets::@2#0] -- register_copy - // [2310] phi fgets::remaining#11 = fgets::remaining#1 [phi:fgets::@17/fgets::@18->fgets::@2#1] -- register_copy - // [2310] phi fgets::ptr#10 = fgets::ptr#14 [phi:fgets::@17/fgets::@18->fgets::@2#2] -- register_copy + // [2248] phi fgets::remaining#11 = fgets::remaining#22 [phi:fgets::@1->fgets::@2#1] -- register_copy + // [2248] phi fgets::ptr#10 = fgets::ptr#13 [phi:fgets::@1->fgets::@2#2] -- register_copy + // [2248] phi from fgets::@17 fgets::@18 to fgets::@2 [phi:fgets::@17/fgets::@18->fgets::@2] + // [2248] phi fgets::read#10 = fgets::read#1 [phi:fgets::@17/fgets::@18->fgets::@2#0] -- register_copy + // [2248] phi fgets::remaining#11 = fgets::remaining#1 [phi:fgets::@17/fgets::@18->fgets::@2#1] -- register_copy + // [2248] phi fgets::ptr#10 = fgets::ptr#14 [phi:fgets::@17/fgets::@18->fgets::@2#2] -- register_copy // fgets::@2 __b2: // if (!size) - // [2311] if(0==fgets::size#11) goto fgets::@3 -- 0_eq_vwuz1_then_la1 + // [2249] if(0==fgets::size#11) goto fgets::@3 -- 0_eq_vwuz1_then_la1 lda.z size ora.z size+1 bne !__b3+ @@ -15150,7 +14892,7 @@ fgets: { !__b3: // fgets::@8 // if (remaining >= 512) - // [2312] if(fgets::remaining#11>=$200) goto fgets::@4 -- vwuz1_ge_vwuc1_then_la1 + // [2250] if(fgets::remaining#11>=$200) goto fgets::@4 -- vwuz1_ge_vwuc1_then_la1 lda.z remaining+1 cmp #>$200 bcc !+ @@ -15165,26 +14907,26 @@ fgets: { !: // fgets::@9 // cx16_k_macptr(remaining, ptr) - // [2313] cx16_k_macptr::bytes = fgets::remaining#11 -- vbuz1=vwuz2 + // [2251] cx16_k_macptr::bytes = fgets::remaining#11 -- vbuz1=vwuz2 lda.z remaining sta.z cx16_k_macptr.bytes - // [2314] cx16_k_macptr::buffer = (void *)fgets::ptr#10 -- pvoz1=pvoz2 + // [2252] cx16_k_macptr::buffer = (void *)fgets::ptr#10 -- pvoz1=pvoz2 lda.z ptr sta.z cx16_k_macptr.buffer lda.z ptr+1 sta.z cx16_k_macptr.buffer+1 - // [2315] call cx16_k_macptr + // [2253] call cx16_k_macptr jsr cx16_k_macptr - // [2316] cx16_k_macptr::return#4 = cx16_k_macptr::return#1 + // [2254] cx16_k_macptr::return#4 = cx16_k_macptr::return#1 // fgets::@15 __b15: // bytes = cx16_k_macptr(remaining, ptr) - // [2317] fgets::bytes#3 = cx16_k_macptr::return#4 - // [2318] phi from fgets::@13 fgets::@14 fgets::@15 to fgets::cbm_k_readst2 [phi:fgets::@13/fgets::@14/fgets::@15->fgets::cbm_k_readst2] - // [2318] phi fgets::bytes#10 = fgets::bytes#1 [phi:fgets::@13/fgets::@14/fgets::@15->fgets::cbm_k_readst2#0] -- register_copy + // [2255] fgets::bytes#3 = cx16_k_macptr::return#4 + // [2256] phi from fgets::@13 fgets::@14 fgets::@15 to fgets::cbm_k_readst2 [phi:fgets::@13/fgets::@14/fgets::@15->fgets::cbm_k_readst2] + // [2256] phi fgets::bytes#10 = fgets::bytes#1 [phi:fgets::@13/fgets::@14/fgets::@15->fgets::cbm_k_readst2#0] -- register_copy // fgets::cbm_k_readst2 // char status - // [2319] fgets::cbm_k_readst2_status = 0 -- vbuz1=vbuc1 + // [2257] fgets::cbm_k_readst2_status = 0 -- vbuz1=vbuc1 lda #0 sta.z cbm_k_readst2_status // asm @@ -15192,32 +14934,32 @@ fgets: { jsr CBM_READST sta cbm_k_readst2_status // return status; - // [2321] fgets::cbm_k_readst2_return#0 = fgets::cbm_k_readst2_status -- vbuz1=vbuz2 + // [2259] fgets::cbm_k_readst2_return#0 = fgets::cbm_k_readst2_status -- vbuz1=vbuz2 sta.z cbm_k_readst2_return // fgets::cbm_k_readst2_@return // } - // [2322] fgets::cbm_k_readst2_return#1 = fgets::cbm_k_readst2_return#0 + // [2260] fgets::cbm_k_readst2_return#1 = fgets::cbm_k_readst2_return#0 // fgets::@12 // cbm_k_readst() - // [2323] fgets::$8 = fgets::cbm_k_readst2_return#1 + // [2261] fgets::$8 = fgets::cbm_k_readst2_return#1 // __status = cbm_k_readst() - // [2324] ((char *)&__stdio_file+$46)[fgets::sp#0] = fgets::$8 -- pbuc1_derefidx_vbuz1=vbuz2 + // [2262] ((char *)&__stdio_file+$46)[fgets::sp#0] = fgets::$8 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z fgets__8 ldy.z sp sta __stdio_file+$46,y // __status & 0xBF - // [2325] fgets::$9 = ((char *)&__stdio_file+$46)[fgets::sp#0] & $bf -- vbuz1=pbuc1_derefidx_vbuz2_band_vbuc2 + // [2263] fgets::$9 = ((char *)&__stdio_file+$46)[fgets::sp#0] & $bf -- vbuz1=pbuc1_derefidx_vbuz2_band_vbuc2 lda #$bf and __stdio_file+$46,y sta.z fgets__9 // if (__status & 0xBF) - // [2326] if(0==fgets::$9) goto fgets::@5 -- 0_eq_vbuz1_then_la1 + // [2264] if(0==fgets::$9) goto fgets::@5 -- 0_eq_vbuz1_then_la1 beq __b5 jmp __b8 // fgets::@5 __b5: // if (bytes == 0xFFFF) - // [2327] if(fgets::bytes#10!=$ffff) goto fgets::@6 -- vwuz1_neq_vwuc1_then_la1 + // [2265] if(fgets::bytes#10!=$ffff) goto fgets::@6 -- vwuz1_neq_vwuc1_then_la1 lda.z bytes+1 cmp #>$ffff bne __b6 @@ -15228,7 +14970,7 @@ fgets: { // fgets::@6 __b6: // read += bytes - // [2328] fgets::read#1 = fgets::read#10 + fgets::bytes#10 -- vwuz1=vwuz1_plus_vwuz2 + // [2266] fgets::read#1 = fgets::read#10 + fgets::bytes#10 -- vwuz1=vwuz1_plus_vwuz2 clc lda.z read adc.z bytes @@ -15237,7 +14979,7 @@ fgets: { adc.z bytes+1 sta.z read+1 // ptr += bytes - // [2329] fgets::ptr#0 = fgets::ptr#10 + fgets::bytes#10 -- pbuz1=pbuz1_plus_vwuz2 + // [2267] fgets::ptr#0 = fgets::ptr#10 + fgets::bytes#10 -- pbuz1=pbuz1_plus_vwuz2 clc lda.z ptr adc.z bytes @@ -15246,16 +14988,16 @@ fgets: { adc.z bytes+1 sta.z ptr+1 // BYTE1(ptr) - // [2330] fgets::$13 = byte1 fgets::ptr#0 -- vbuz1=_byte1_pbuz2 + // [2268] fgets::$13 = byte1 fgets::ptr#0 -- vbuz1=_byte1_pbuz2 sta.z fgets__13 // if (BYTE1(ptr) == 0xC0) - // [2331] if(fgets::$13!=$c0) goto fgets::@7 -- vbuz1_neq_vbuc1_then_la1 + // [2269] if(fgets::$13!=$c0) goto fgets::@7 -- vbuz1_neq_vbuc1_then_la1 lda #$c0 cmp.z fgets__13 bne __b7 // fgets::@10 // ptr -= 0x2000 - // [2332] fgets::ptr#1 = fgets::ptr#0 - $2000 -- pbuz1=pbuz1_minus_vwuc1 + // [2270] fgets::ptr#1 = fgets::ptr#0 - $2000 -- pbuz1=pbuz1_minus_vwuc1 lda.z ptr sec sbc #<$2000 @@ -15263,12 +15005,12 @@ fgets: { lda.z ptr+1 sbc #>$2000 sta.z ptr+1 - // [2333] phi from fgets::@10 fgets::@6 to fgets::@7 [phi:fgets::@10/fgets::@6->fgets::@7] - // [2333] phi fgets::ptr#14 = fgets::ptr#1 [phi:fgets::@10/fgets::@6->fgets::@7#0] -- register_copy + // [2271] phi from fgets::@10 fgets::@6 to fgets::@7 [phi:fgets::@10/fgets::@6->fgets::@7] + // [2271] phi fgets::ptr#14 = fgets::ptr#1 [phi:fgets::@10/fgets::@6->fgets::@7#0] -- register_copy // fgets::@7 __b7: // remaining -= bytes - // [2334] fgets::remaining#1 = fgets::remaining#11 - fgets::bytes#10 -- vwuz1=vwuz1_minus_vwuz2 + // [2272] fgets::remaining#1 = fgets::remaining#11 - fgets::bytes#10 -- vwuz1=vwuz1_minus_vwuz2 lda.z remaining sec sbc.z bytes @@ -15277,23 +15019,23 @@ fgets: { sbc.z bytes+1 sta.z remaining+1 // while ((__status == 0) && ((size && remaining) || !size)) - // [2335] if(((char *)&__stdio_file+$46)[fgets::sp#0]==0) goto fgets::@16 -- pbuc1_derefidx_vbuz1_eq_0_then_la1 + // [2273] if(((char *)&__stdio_file+$46)[fgets::sp#0]==0) goto fgets::@16 -- pbuc1_derefidx_vbuz1_eq_0_then_la1 ldy.z sp lda __stdio_file+$46,y cmp #0 beq __b16 - // [2307] phi from fgets::@17 fgets::@7 to fgets::@return [phi:fgets::@17/fgets::@7->fgets::@return] - // [2307] phi fgets::return#1 = fgets::read#1 [phi:fgets::@17/fgets::@7->fgets::@return#0] -- register_copy + // [2245] phi from fgets::@17 fgets::@7 to fgets::@return [phi:fgets::@17/fgets::@7->fgets::@return] + // [2245] phi fgets::return#1 = fgets::read#1 [phi:fgets::@17/fgets::@7->fgets::@return#0] -- register_copy rts // fgets::@16 __b16: // while ((__status == 0) && ((size && remaining) || !size)) - // [2336] if(0==fgets::size#11) goto fgets::@17 -- 0_eq_vwuz1_then_la1 + // [2274] if(0==fgets::size#11) goto fgets::@17 -- 0_eq_vwuz1_then_la1 lda.z size ora.z size+1 beq __b17 // fgets::@18 - // [2337] if(0!=fgets::remaining#1) goto fgets::@2 -- 0_neq_vwuz1_then_la1 + // [2275] if(0!=fgets::remaining#1) goto fgets::@2 -- 0_neq_vwuz1_then_la1 lda.z remaining ora.z remaining+1 beq !__b2+ @@ -15301,7 +15043,7 @@ fgets: { !__b2: // fgets::@17 __b17: - // [2338] if(0==fgets::size#11) goto fgets::@2 -- 0_eq_vwuz1_then_la1 + // [2276] if(0==fgets::size#11) goto fgets::@2 -- 0_eq_vwuz1_then_la1 lda.z size ora.z size+1 bne !__b2+ @@ -15311,38 +15053,38 @@ fgets: { // fgets::@4 __b4: // cx16_k_macptr(512, ptr) - // [2339] cx16_k_macptr::bytes = $200 -- vbuz1=vwuc1 + // [2277] cx16_k_macptr::bytes = $200 -- vbuz1=vwuc1 lda #<$200 sta.z cx16_k_macptr.bytes - // [2340] cx16_k_macptr::buffer = (void *)fgets::ptr#10 -- pvoz1=pvoz2 + // [2278] cx16_k_macptr::buffer = (void *)fgets::ptr#10 -- pvoz1=pvoz2 lda.z ptr sta.z cx16_k_macptr.buffer lda.z ptr+1 sta.z cx16_k_macptr.buffer+1 - // [2341] call cx16_k_macptr + // [2279] call cx16_k_macptr jsr cx16_k_macptr - // [2342] cx16_k_macptr::return#3 = cx16_k_macptr::return#1 + // [2280] cx16_k_macptr::return#3 = cx16_k_macptr::return#1 // fgets::@14 // bytes = cx16_k_macptr(512, ptr) - // [2343] fgets::bytes#2 = cx16_k_macptr::return#3 + // [2281] fgets::bytes#2 = cx16_k_macptr::return#3 jmp __b15 // fgets::@3 __b3: // cx16_k_macptr(0, ptr) - // [2344] cx16_k_macptr::bytes = 0 -- vbuz1=vbuc1 + // [2282] cx16_k_macptr::bytes = 0 -- vbuz1=vbuc1 lda #0 sta.z cx16_k_macptr.bytes - // [2345] cx16_k_macptr::buffer = (void *)fgets::ptr#10 -- pvoz1=pvoz2 + // [2283] cx16_k_macptr::buffer = (void *)fgets::ptr#10 -- pvoz1=pvoz2 lda.z ptr sta.z cx16_k_macptr.buffer lda.z ptr+1 sta.z cx16_k_macptr.buffer+1 - // [2346] call cx16_k_macptr + // [2284] call cx16_k_macptr jsr cx16_k_macptr - // [2347] cx16_k_macptr::return#2 = cx16_k_macptr::return#1 + // [2285] cx16_k_macptr::return#2 = cx16_k_macptr::return#1 // fgets::@13 // bytes = cx16_k_macptr(0, ptr) - // [2348] fgets::bytes#1 = cx16_k_macptr::return#2 + // [2286] fgets::bytes#1 = cx16_k_macptr::return#2 jmp __b15 .segment Data cbm_k_chkin1_channel: .byte 0 @@ -15358,25 +15100,27 @@ fgets: { * - 0x0000: Something is wrong! Kernal Error Code (https://commodore.ca/manuals/pdfs/commodore_error_messages.pdf) * - other: OK! The last pointer between 0xA000 and 0xBFFF is returned. Note that the last pointer is indicating the first free byte. */ -// int fclose(__zp($62) struct $2 *stream) +// int fclose(__zp($b2) struct $2 *stream) fclose: { - .label fclose__1 = $6b - .label fclose__4 = $43 - .label cbm_k_readst1_return = $6b - .label cbm_k_readst2_return = $43 - .label stream = $62 + .label fclose__1 = $c3 + .label fclose__4 = $6c + .label fclose__6 = $c2 + .label sp = $c2 + .label cbm_k_readst1_return = $c3 + .label cbm_k_readst2_return = $6c + .label stream = $b2 // unsigned char sp = (unsigned char)stream - // [2350] fclose::sp#0 = (char)fclose::stream#2 -- vbum1=_byte_pssz2 + // [2288] fclose::sp#0 = (char)fclose::stream#2 -- vbuz1=_byte_pssz2 lda.z stream - sta sp + sta.z sp // cbm_k_chkin(__logical) - // [2351] fclose::cbm_k_chkin1_channel = ((char *)&__stdio_file+$40)[fclose::sp#0] -- vbum1=pbuc1_derefidx_vbum2 + // [2289] fclose::cbm_k_chkin1_channel = ((char *)&__stdio_file+$40)[fclose::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 tay lda __stdio_file+$40,y sta cbm_k_chkin1_channel // fclose::cbm_k_chkin1 // char status - // [2352] fclose::cbm_k_chkin1_status = 0 -- vbum1=vbuc1 + // [2290] fclose::cbm_k_chkin1_status = 0 -- vbum1=vbuc1 lda #0 sta cbm_k_chkin1_status // asm @@ -15386,7 +15130,7 @@ fclose: { sta cbm_k_chkin1_status // fclose::cbm_k_readst1 // char status - // [2354] fclose::cbm_k_readst1_status = 0 -- vbum1=vbuc1 + // [2292] fclose::cbm_k_readst1_status = 0 -- vbum1=vbuc1 lda #0 sta cbm_k_readst1_status // asm @@ -15394,33 +15138,33 @@ fclose: { jsr CBM_READST sta cbm_k_readst1_status // return status; - // [2356] fclose::cbm_k_readst1_return#0 = fclose::cbm_k_readst1_status -- vbuz1=vbum2 + // [2294] fclose::cbm_k_readst1_return#0 = fclose::cbm_k_readst1_status -- vbuz1=vbum2 sta.z cbm_k_readst1_return // fclose::cbm_k_readst1_@return // } - // [2357] fclose::cbm_k_readst1_return#1 = fclose::cbm_k_readst1_return#0 + // [2295] fclose::cbm_k_readst1_return#1 = fclose::cbm_k_readst1_return#0 // fclose::@3 // cbm_k_readst() - // [2358] fclose::$1 = fclose::cbm_k_readst1_return#1 + // [2296] fclose::$1 = fclose::cbm_k_readst1_return#1 // __status = cbm_k_readst() - // [2359] ((char *)&__stdio_file+$46)[fclose::sp#0] = fclose::$1 -- pbuc1_derefidx_vbum1=vbuz2 + // [2297] ((char *)&__stdio_file+$46)[fclose::sp#0] = fclose::$1 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z fclose__1 - ldy sp + ldy.z sp sta __stdio_file+$46,y // if (__status) - // [2360] if(0==((char *)&__stdio_file+$46)[fclose::sp#0]) goto fclose::@1 -- 0_eq_pbuc1_derefidx_vbum1_then_la1 + // [2298] if(0==((char *)&__stdio_file+$46)[fclose::sp#0]) goto fclose::@1 -- 0_eq_pbuc1_derefidx_vbuz1_then_la1 lda __stdio_file+$46,y cmp #0 beq __b1 // fclose::@return // } - // [2361] return + // [2299] return rts // fclose::@1 __b1: // cbm_k_close(__logical) - // [2362] fclose::cbm_k_close1_channel = ((char *)&__stdio_file+$40)[fclose::sp#0] -- vbum1=pbuc1_derefidx_vbum2 - ldy sp + // [2300] fclose::cbm_k_close1_channel = ((char *)&__stdio_file+$40)[fclose::sp#0] -- vbum1=pbuc1_derefidx_vbuz2 + ldy.z sp lda __stdio_file+$40,y sta cbm_k_close1_channel // fclose::cbm_k_close1 @@ -15429,7 +15173,7 @@ fclose: { jsr CBM_CLOSE // fclose::cbm_k_readst2 // char status - // [2364] fclose::cbm_k_readst2_status = 0 -- vbum1=vbuc1 + // [2302] fclose::cbm_k_readst2_status = 0 -- vbum1=vbuc1 lda #0 sta cbm_k_readst2_status // asm @@ -15437,21 +15181,21 @@ fclose: { jsr CBM_READST sta cbm_k_readst2_status // return status; - // [2366] fclose::cbm_k_readst2_return#0 = fclose::cbm_k_readst2_status -- vbuz1=vbum2 + // [2304] fclose::cbm_k_readst2_return#0 = fclose::cbm_k_readst2_status -- vbuz1=vbum2 sta.z cbm_k_readst2_return // fclose::cbm_k_readst2_@return // } - // [2367] fclose::cbm_k_readst2_return#1 = fclose::cbm_k_readst2_return#0 + // [2305] fclose::cbm_k_readst2_return#1 = fclose::cbm_k_readst2_return#0 // fclose::@4 // cbm_k_readst() - // [2368] fclose::$4 = fclose::cbm_k_readst2_return#1 + // [2306] fclose::$4 = fclose::cbm_k_readst2_return#1 // __status = cbm_k_readst() - // [2369] ((char *)&__stdio_file+$46)[fclose::sp#0] = fclose::$4 -- pbuc1_derefidx_vbum1=vbuz2 + // [2307] ((char *)&__stdio_file+$46)[fclose::sp#0] = fclose::$4 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z fclose__4 - ldy sp + ldy.z sp sta __stdio_file+$46,y // if (__status) - // [2370] if(0==((char *)&__stdio_file+$46)[fclose::sp#0]) goto fclose::@2 -- 0_eq_pbuc1_derefidx_vbum1_then_la1 + // [2308] if(0==((char *)&__stdio_file+$46)[fclose::sp#0]) goto fclose::@2 -- 0_eq_pbuc1_derefidx_vbuz1_then_la1 lda __stdio_file+$46,y cmp #0 beq __b2 @@ -15459,36 +15203,34 @@ fclose: { // fclose::@2 __b2: // __logical = 0 - // [2371] ((char *)&__stdio_file+$40)[fclose::sp#0] = 0 -- pbuc1_derefidx_vbum1=vbuc2 + // [2309] ((char *)&__stdio_file+$40)[fclose::sp#0] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 - ldy sp + ldy.z sp sta __stdio_file+$40,y // __device = 0 - // [2372] ((char *)&__stdio_file+$42)[fclose::sp#0] = 0 -- pbuc1_derefidx_vbum1=vbuc2 + // [2310] ((char *)&__stdio_file+$42)[fclose::sp#0] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 sta __stdio_file+$42,y // __channel = 0 - // [2373] ((char *)&__stdio_file+$44)[fclose::sp#0] = 0 -- pbuc1_derefidx_vbum1=vbuc2 + // [2311] ((char *)&__stdio_file+$44)[fclose::sp#0] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 sta __stdio_file+$44,y // __filename - // [2374] fclose::$6 = fclose::sp#0 << 1 -- vbum1=vbum1_rol_1 - asl fclose__6 + // [2312] fclose::$6 = fclose::sp#0 << 1 -- vbuz1=vbuz1_rol_1 + asl.z fclose__6 // *__filename = '\0' - // [2375] ((char *)&__stdio_file)[fclose::$6] = '@' -- pbuc1_derefidx_vbum1=vbuc2 + // [2313] ((char *)&__stdio_file)[fclose::$6] = '@' -- pbuc1_derefidx_vbuz1=vbuc2 lda #'@' - ldy fclose__6 + ldy.z fclose__6 sta __stdio_file,y // __stdio_filecount--; - // [2376] __stdio_filecount = -- __stdio_filecount -- vbum1=_dec_vbum1 + // [2314] __stdio_filecount = -- __stdio_filecount -- vbum1=_dec_vbum1 dec __stdio_filecount rts .segment Data - .label fclose__6 = sp cbm_k_chkin1_channel: .byte 0 cbm_k_chkin1_status: .byte 0 cbm_k_readst1_status: .byte 0 cbm_k_close1_channel: .byte 0 cbm_k_readst2_status: .byte 0 - sp: .byte 0 } .segment Code // strlen @@ -15498,85 +15240,85 @@ strlen: { .label return = $55 .label len = $55 .label str = $51 - // [2378] phi from strlen to strlen::@1 [phi:strlen->strlen::@1] - // [2378] phi strlen::len#2 = 0 [phi:strlen->strlen::@1#0] -- vwuz1=vwuc1 + // [2316] phi from strlen to strlen::@1 [phi:strlen->strlen::@1] + // [2316] phi strlen::len#2 = 0 [phi:strlen->strlen::@1#0] -- vwuz1=vwuc1 lda #<0 sta.z len sta.z len+1 - // [2378] phi strlen::str#6 = strlen::str#8 [phi:strlen->strlen::@1#1] -- register_copy + // [2316] phi strlen::str#6 = strlen::str#8 [phi:strlen->strlen::@1#1] -- register_copy // strlen::@1 __b1: // while(*str) - // [2379] if(0!=*strlen::str#6) goto strlen::@2 -- 0_neq__deref_pbuz1_then_la1 + // [2317] if(0!=*strlen::str#6) goto strlen::@2 -- 0_neq__deref_pbuz1_then_la1 ldy #0 lda (str),y cmp #0 bne __b2 // strlen::@return // } - // [2380] return + // [2318] return rts // strlen::@2 __b2: // len++; - // [2381] strlen::len#1 = ++ strlen::len#2 -- vwuz1=_inc_vwuz1 + // [2319] strlen::len#1 = ++ strlen::len#2 -- vwuz1=_inc_vwuz1 inc.z len bne !+ inc.z len+1 !: // str++; - // [2382] strlen::str#1 = ++ strlen::str#6 -- pbuz1=_inc_pbuz1 + // [2320] strlen::str#1 = ++ strlen::str#6 -- pbuz1=_inc_pbuz1 inc.z str bne !+ inc.z str+1 !: - // [2378] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1] - // [2378] phi strlen::len#2 = strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy - // [2378] phi strlen::str#6 = strlen::str#1 [phi:strlen::@2->strlen::@1#1] -- register_copy + // [2316] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1] + // [2316] phi strlen::len#2 = strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy + // [2316] phi strlen::str#6 = strlen::str#1 [phi:strlen::@2->strlen::@1#1] -- register_copy jmp __b1 } // printf_padding // Print a padding char a number of times -// void printf_padding(__zp($51) void (*putc)(char), __zp($70) char pad, __zp($6a) char length) +// void printf_padding(__zp($d7) void (*putc)(char), __zp($70) char pad, __zp($6a) char length) printf_padding: { .label i = $53 - .label putc = $51 + .label putc = $d7 .label length = $6a .label pad = $70 - // [2384] phi from printf_padding to printf_padding::@1 [phi:printf_padding->printf_padding::@1] - // [2384] phi printf_padding::i#2 = 0 [phi:printf_padding->printf_padding::@1#0] -- vbuz1=vbuc1 + // [2322] phi from printf_padding to printf_padding::@1 [phi:printf_padding->printf_padding::@1] + // [2322] phi printf_padding::i#2 = 0 [phi:printf_padding->printf_padding::@1#0] -- vbuz1=vbuc1 lda #0 sta.z i // printf_padding::@1 __b1: // for(char i=0;iprintf_padding::@1] - // [2384] phi printf_padding::i#2 = printf_padding::i#1 [phi:printf_padding::@3->printf_padding::@1#0] -- register_copy + // [2322] phi from printf_padding::@3 to printf_padding::@1 [phi:printf_padding::@3->printf_padding::@1] + // [2322] phi printf_padding::i#2 = printf_padding::i#1 [phi:printf_padding::@3->printf_padding::@1#0] -- register_copy jmp __b1 // Outside Flow - icall38: + icall36: jmp (putc) } // cbm_k_getin @@ -15586,9 +15328,9 @@ printf_padding: { * @return char The character read. */ cbm_k_getin: { - .label return = $6b + .label return = $6c // __mem unsigned char ch - // [2391] cbm_k_getin::ch = 0 -- vbum1=vbuc1 + // [2329] cbm_k_getin::ch = 0 -- vbum1=vbuc1 lda #0 sta ch // asm @@ -15596,12 +15338,12 @@ cbm_k_getin: { jsr CBM_GETIN sta ch // return ch; - // [2393] cbm_k_getin::return#0 = cbm_k_getin::ch -- vbuz1=vbum2 + // [2331] cbm_k_getin::return#0 = cbm_k_getin::ch -- vbuz1=vbum2 sta.z return // cbm_k_getin::@return // } - // [2394] cbm_k_getin::return#1 = cbm_k_getin::return#0 - // [2395] return + // [2332] cbm_k_getin::return#1 = cbm_k_getin::return#0 + // [2333] return rts .segment Data ch: .byte 0 @@ -15613,144 +15355,144 @@ cbm_k_getin: { // - value : The number to be converted to RADIX // - buffer : receives the string representing the number and zero-termination. // - radix : The radix to convert the number to (from the enum RADIX) -// void uctoa(__zp($2f) char value, __zp($62) char *buffer, __zp($e2) char radix) +// void uctoa(__zp($2f) char value, __zp($60) char *buffer, __zp($e8) char radix) uctoa: { - .label uctoa__4 = $6b - .label digit_value = $43 - .label buffer = $62 - .label digit = $66 + .label uctoa__4 = $6c + .label digit_value = $45 + .label buffer = $60 + .label digit = $67 .label value = $2f - .label radix = $e2 + .label radix = $e8 .label started = $71 - .label max_digits = $bc - .label digit_values = $ba + .label max_digits = $ba + .label digit_values = $55 // if(radix==DECIMAL) - // [2396] if(uctoa::radix#0==DECIMAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [2334] if(uctoa::radix#0==DECIMAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #DECIMAL cmp.z radix beq __b2 // uctoa::@2 // if(radix==HEXADECIMAL) - // [2397] if(uctoa::radix#0==HEXADECIMAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [2335] if(uctoa::radix#0==HEXADECIMAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #HEXADECIMAL cmp.z radix beq __b3 // uctoa::@3 // if(radix==OCTAL) - // [2398] if(uctoa::radix#0==OCTAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [2336] if(uctoa::radix#0==OCTAL) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #OCTAL cmp.z radix beq __b4 // uctoa::@4 // if(radix==BINARY) - // [2399] if(uctoa::radix#0==BINARY) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [2337] if(uctoa::radix#0==BINARY) goto uctoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #BINARY cmp.z radix beq __b5 // uctoa::@5 // *buffer++ = 'e' - // [2400] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e' -- _deref_pbuc1=vbuc2 + // [2338] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e' -- _deref_pbuc1=vbuc2 // Unknown radix lda #'e' sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS // *buffer++ = 'r' - // [2401] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r' -- _deref_pbuc1=vbuc2 + // [2339] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r' -- _deref_pbuc1=vbuc2 lda #'r' sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1 - // [2402] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r' -- _deref_pbuc1=vbuc2 + // [2340] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r' -- _deref_pbuc1=vbuc2 sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2 // *buffer = 0 - // [2403] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2 + // [2341] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2 lda #0 sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3 // uctoa::@return // } - // [2404] return + // [2342] return rts - // [2405] phi from uctoa to uctoa::@1 [phi:uctoa->uctoa::@1] + // [2343] phi from uctoa to uctoa::@1 [phi:uctoa->uctoa::@1] __b2: - // [2405] phi uctoa::digit_values#8 = RADIX_DECIMAL_VALUES_CHAR [phi:uctoa->uctoa::@1#0] -- pbuz1=pbuc1 + // [2343] phi uctoa::digit_values#8 = RADIX_DECIMAL_VALUES_CHAR [phi:uctoa->uctoa::@1#0] -- pbuz1=pbuc1 lda #RADIX_DECIMAL_VALUES_CHAR sta.z digit_values+1 - // [2405] phi uctoa::max_digits#7 = 3 [phi:uctoa->uctoa::@1#1] -- vbuz1=vbuc1 + // [2343] phi uctoa::max_digits#7 = 3 [phi:uctoa->uctoa::@1#1] -- vbuz1=vbuc1 lda #3 sta.z max_digits jmp __b1 - // [2405] phi from uctoa::@2 to uctoa::@1 [phi:uctoa::@2->uctoa::@1] + // [2343] phi from uctoa::@2 to uctoa::@1 [phi:uctoa::@2->uctoa::@1] __b3: - // [2405] phi uctoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES_CHAR [phi:uctoa::@2->uctoa::@1#0] -- pbuz1=pbuc1 + // [2343] phi uctoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES_CHAR [phi:uctoa::@2->uctoa::@1#0] -- pbuz1=pbuc1 lda #RADIX_HEXADECIMAL_VALUES_CHAR sta.z digit_values+1 - // [2405] phi uctoa::max_digits#7 = 2 [phi:uctoa::@2->uctoa::@1#1] -- vbuz1=vbuc1 + // [2343] phi uctoa::max_digits#7 = 2 [phi:uctoa::@2->uctoa::@1#1] -- vbuz1=vbuc1 lda #2 sta.z max_digits jmp __b1 - // [2405] phi from uctoa::@3 to uctoa::@1 [phi:uctoa::@3->uctoa::@1] + // [2343] phi from uctoa::@3 to uctoa::@1 [phi:uctoa::@3->uctoa::@1] __b4: - // [2405] phi uctoa::digit_values#8 = RADIX_OCTAL_VALUES_CHAR [phi:uctoa::@3->uctoa::@1#0] -- pbuz1=pbuc1 + // [2343] phi uctoa::digit_values#8 = RADIX_OCTAL_VALUES_CHAR [phi:uctoa::@3->uctoa::@1#0] -- pbuz1=pbuc1 lda #RADIX_OCTAL_VALUES_CHAR sta.z digit_values+1 - // [2405] phi uctoa::max_digits#7 = 3 [phi:uctoa::@3->uctoa::@1#1] -- vbuz1=vbuc1 + // [2343] phi uctoa::max_digits#7 = 3 [phi:uctoa::@3->uctoa::@1#1] -- vbuz1=vbuc1 lda #3 sta.z max_digits jmp __b1 - // [2405] phi from uctoa::@4 to uctoa::@1 [phi:uctoa::@4->uctoa::@1] + // [2343] phi from uctoa::@4 to uctoa::@1 [phi:uctoa::@4->uctoa::@1] __b5: - // [2405] phi uctoa::digit_values#8 = RADIX_BINARY_VALUES_CHAR [phi:uctoa::@4->uctoa::@1#0] -- pbuz1=pbuc1 + // [2343] phi uctoa::digit_values#8 = RADIX_BINARY_VALUES_CHAR [phi:uctoa::@4->uctoa::@1#0] -- pbuz1=pbuc1 lda #RADIX_BINARY_VALUES_CHAR sta.z digit_values+1 - // [2405] phi uctoa::max_digits#7 = 8 [phi:uctoa::@4->uctoa::@1#1] -- vbuz1=vbuc1 + // [2343] phi uctoa::max_digits#7 = 8 [phi:uctoa::@4->uctoa::@1#1] -- vbuz1=vbuc1 lda #8 sta.z max_digits // uctoa::@1 __b1: - // [2406] phi from uctoa::@1 to uctoa::@6 [phi:uctoa::@1->uctoa::@6] - // [2406] phi uctoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:uctoa::@1->uctoa::@6#0] -- pbuz1=pbuc1 + // [2344] phi from uctoa::@1 to uctoa::@6 [phi:uctoa::@1->uctoa::@6] + // [2344] phi uctoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:uctoa::@1->uctoa::@6#0] -- pbuz1=pbuc1 lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS sta.z buffer+1 - // [2406] phi uctoa::started#2 = 0 [phi:uctoa::@1->uctoa::@6#1] -- vbuz1=vbuc1 + // [2344] phi uctoa::started#2 = 0 [phi:uctoa::@1->uctoa::@6#1] -- vbuz1=vbuc1 lda #0 sta.z started - // [2406] phi uctoa::value#2 = uctoa::value#1 [phi:uctoa::@1->uctoa::@6#2] -- register_copy - // [2406] phi uctoa::digit#2 = 0 [phi:uctoa::@1->uctoa::@6#3] -- vbuz1=vbuc1 + // [2344] phi uctoa::value#2 = uctoa::value#1 [phi:uctoa::@1->uctoa::@6#2] -- register_copy + // [2344] phi uctoa::digit#2 = 0 [phi:uctoa::@1->uctoa::@6#3] -- vbuz1=vbuc1 sta.z digit // uctoa::@6 __b6: // max_digits-1 - // [2407] uctoa::$4 = uctoa::max_digits#7 - 1 -- vbuz1=vbuz2_minus_1 + // [2345] uctoa::$4 = uctoa::max_digits#7 - 1 -- vbuz1=vbuz2_minus_1 ldx.z max_digits dex stx.z uctoa__4 // for( char digit=0; digit= digit_value) - // [2413] if(0!=uctoa::started#2) goto uctoa::@10 -- 0_neq_vbuz1_then_la1 + // [2351] if(0!=uctoa::started#2) goto uctoa::@10 -- 0_neq_vbuz1_then_la1 lda.z started bne __b10 // uctoa::@12 - // [2414] if(uctoa::value#2>=uctoa::digit_value#0) goto uctoa::@10 -- vbuz1_ge_vbuz2_then_la1 + // [2352] if(uctoa::value#2>=uctoa::digit_value#0) goto uctoa::@10 -- vbuz1_ge_vbuz2_then_la1 lda.z value cmp.z digit_value bcs __b10 - // [2415] phi from uctoa::@12 to uctoa::@9 [phi:uctoa::@12->uctoa::@9] - // [2415] phi uctoa::buffer#14 = uctoa::buffer#11 [phi:uctoa::@12->uctoa::@9#0] -- register_copy - // [2415] phi uctoa::started#4 = uctoa::started#2 [phi:uctoa::@12->uctoa::@9#1] -- register_copy - // [2415] phi uctoa::value#6 = uctoa::value#2 [phi:uctoa::@12->uctoa::@9#2] -- register_copy + // [2353] phi from uctoa::@12 to uctoa::@9 [phi:uctoa::@12->uctoa::@9] + // [2353] phi uctoa::buffer#14 = uctoa::buffer#11 [phi:uctoa::@12->uctoa::@9#0] -- register_copy + // [2353] phi uctoa::started#4 = uctoa::started#2 [phi:uctoa::@12->uctoa::@9#1] -- register_copy + // [2353] phi uctoa::value#6 = uctoa::value#2 [phi:uctoa::@12->uctoa::@9#2] -- register_copy // uctoa::@9 __b9: // for( char digit=0; digituctoa::@6] - // [2406] phi uctoa::buffer#11 = uctoa::buffer#14 [phi:uctoa::@9->uctoa::@6#0] -- register_copy - // [2406] phi uctoa::started#2 = uctoa::started#4 [phi:uctoa::@9->uctoa::@6#1] -- register_copy - // [2406] phi uctoa::value#2 = uctoa::value#6 [phi:uctoa::@9->uctoa::@6#2] -- register_copy - // [2406] phi uctoa::digit#2 = uctoa::digit#1 [phi:uctoa::@9->uctoa::@6#3] -- register_copy + // [2344] phi from uctoa::@9 to uctoa::@6 [phi:uctoa::@9->uctoa::@6] + // [2344] phi uctoa::buffer#11 = uctoa::buffer#14 [phi:uctoa::@9->uctoa::@6#0] -- register_copy + // [2344] phi uctoa::started#2 = uctoa::started#4 [phi:uctoa::@9->uctoa::@6#1] -- register_copy + // [2344] phi uctoa::value#2 = uctoa::value#6 [phi:uctoa::@9->uctoa::@6#2] -- register_copy + // [2344] phi uctoa::digit#2 = uctoa::digit#1 [phi:uctoa::@9->uctoa::@6#3] -- register_copy jmp __b6 // uctoa::@10 __b10: // uctoa_append(buffer++, value, digit_value) - // [2417] uctoa_append::buffer#0 = uctoa::buffer#11 -- pbuz1=pbuz2 + // [2355] uctoa_append::buffer#0 = uctoa::buffer#11 -- pbuz1=pbuz2 lda.z buffer sta.z uctoa_append.buffer lda.z buffer+1 sta.z uctoa_append.buffer+1 - // [2418] uctoa_append::value#0 = uctoa::value#2 - // [2419] uctoa_append::sub#0 = uctoa::digit_value#0 - // [2420] call uctoa_append - // [2767] phi from uctoa::@10 to uctoa_append [phi:uctoa::@10->uctoa_append] + // [2356] uctoa_append::value#0 = uctoa::value#2 + // [2357] uctoa_append::sub#0 = uctoa::digit_value#0 + // [2358] call uctoa_append + // [2759] phi from uctoa::@10 to uctoa_append [phi:uctoa::@10->uctoa_append] jsr uctoa_append // uctoa_append(buffer++, value, digit_value) - // [2421] uctoa_append::return#0 = uctoa_append::value#2 + // [2359] uctoa_append::return#0 = uctoa_append::value#2 // uctoa::@11 // value = uctoa_append(buffer++, value, digit_value) - // [2422] uctoa::value#0 = uctoa_append::return#0 + // [2360] uctoa::value#0 = uctoa_append::return#0 // value = uctoa_append(buffer++, value, digit_value); - // [2423] uctoa::buffer#4 = ++ uctoa::buffer#11 -- pbuz1=_inc_pbuz1 + // [2361] uctoa::buffer#4 = ++ uctoa::buffer#11 -- pbuz1=_inc_pbuz1 inc.z buffer bne !+ inc.z buffer+1 !: - // [2415] phi from uctoa::@11 to uctoa::@9 [phi:uctoa::@11->uctoa::@9] - // [2415] phi uctoa::buffer#14 = uctoa::buffer#4 [phi:uctoa::@11->uctoa::@9#0] -- register_copy - // [2415] phi uctoa::started#4 = 1 [phi:uctoa::@11->uctoa::@9#1] -- vbuz1=vbuc1 + // [2353] phi from uctoa::@11 to uctoa::@9 [phi:uctoa::@11->uctoa::@9] + // [2353] phi uctoa::buffer#14 = uctoa::buffer#4 [phi:uctoa::@11->uctoa::@9#0] -- register_copy + // [2353] phi uctoa::started#4 = 1 [phi:uctoa::@11->uctoa::@9#1] -- vbuz1=vbuc1 lda #1 sta.z started - // [2415] phi uctoa::value#6 = uctoa::value#0 [phi:uctoa::@11->uctoa::@9#2] -- register_copy + // [2353] phi uctoa::value#6 = uctoa::value#0 [phi:uctoa::@11->uctoa::@9#2] -- register_copy jmp __b9 +} + // printf_number_buffer +// Print the contents of the number buffer using a specific format. +// This handles minimum length, zero-filling, and left/right justification from the format +// void printf_number_buffer(__zp($5e) void (*putc)(char), __zp($d4) char buffer_sign, char *buffer_digits, __zp($ea) char format_min_length, char format_justify_left, char format_sign_always, __zp($e9) char format_zero_padding, char format_upper_case, char format_radix) +printf_number_buffer: { + .label printf_number_buffer__19 = $55 + .label buffer_sign = $d4 + .label format_min_length = $ea + .label format_zero_padding = $e9 + .label putc = $5e + .label len = $df + .label padding = $df + // if(format.min_length) + // [2363] if(0==printf_number_buffer::format_min_length#3) goto printf_number_buffer::@1 -- 0_eq_vbuz1_then_la1 + lda.z format_min_length + beq __b5 + // [2364] phi from printf_number_buffer to printf_number_buffer::@5 [phi:printf_number_buffer->printf_number_buffer::@5] + // printf_number_buffer::@5 + // strlen(buffer.digits) + // [2365] call strlen + // [2315] phi from printf_number_buffer::@5 to strlen [phi:printf_number_buffer::@5->strlen] + // [2315] phi strlen::str#8 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@5->strlen#0] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z strlen.str+1 + jsr strlen + // strlen(buffer.digits) + // [2366] strlen::return#3 = strlen::len#2 + // printf_number_buffer::@11 + // [2367] printf_number_buffer::$19 = strlen::return#3 + // signed char len = (signed char)strlen(buffer.digits) + // [2368] printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19 -- vbsz1=_sbyte_vwuz2 + // There is a minimum length - work out the padding + lda.z printf_number_buffer__19 + sta.z len + // if(buffer.sign) + // [2369] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@10 -- 0_eq_vbuz1_then_la1 + lda.z buffer_sign + beq __b10 + // printf_number_buffer::@6 + // len++; + // [2370] printf_number_buffer::len#1 = ++ printf_number_buffer::len#0 -- vbsz1=_inc_vbsz1 + inc.z len + // [2371] phi from printf_number_buffer::@11 printf_number_buffer::@6 to printf_number_buffer::@10 [phi:printf_number_buffer::@11/printf_number_buffer::@6->printf_number_buffer::@10] + // [2371] phi printf_number_buffer::len#2 = printf_number_buffer::len#0 [phi:printf_number_buffer::@11/printf_number_buffer::@6->printf_number_buffer::@10#0] -- register_copy + // printf_number_buffer::@10 + __b10: + // padding = (signed char)format.min_length - len + // [2372] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#3 - printf_number_buffer::len#2 -- vbsz1=vbsz2_minus_vbsz1 + lda.z format_min_length + sec + sbc.z padding + sta.z padding + // if(padding<0) + // [2373] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@15 -- vbsz1_ge_0_then_la1 + cmp #0 + bpl __b1 + // [2375] phi from printf_number_buffer printf_number_buffer::@10 to printf_number_buffer::@1 [phi:printf_number_buffer/printf_number_buffer::@10->printf_number_buffer::@1] + __b5: + // [2375] phi printf_number_buffer::padding#10 = 0 [phi:printf_number_buffer/printf_number_buffer::@10->printf_number_buffer::@1#0] -- vbsz1=vbsc1 + lda #0 + sta.z padding + // [2374] phi from printf_number_buffer::@10 to printf_number_buffer::@15 [phi:printf_number_buffer::@10->printf_number_buffer::@15] + // printf_number_buffer::@15 + // [2375] phi from printf_number_buffer::@15 to printf_number_buffer::@1 [phi:printf_number_buffer::@15->printf_number_buffer::@1] + // [2375] phi printf_number_buffer::padding#10 = printf_number_buffer::padding#1 [phi:printf_number_buffer::@15->printf_number_buffer::@1#0] -- register_copy + // printf_number_buffer::@1 + __b1: + // printf_number_buffer::@13 + // if(!format.justify_left && !format.zero_padding && padding) + // [2376] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1 + lda.z format_zero_padding + bne __b2 + // printf_number_buffer::@12 + // [2377] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@7 -- 0_neq_vbsz1_then_la1 + lda.z padding + cmp #0 + bne __b7 + jmp __b2 + // printf_number_buffer::@7 + __b7: + // printf_padding(putc, ' ',(char)padding) + // [2378] printf_padding::putc#0 = printf_number_buffer::putc#10 -- pprz1=pprz2 + lda.z putc + sta.z printf_padding.putc + lda.z putc+1 + sta.z printf_padding.putc+1 + // [2379] printf_padding::length#0 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 + lda.z padding + sta.z printf_padding.length + // [2380] call printf_padding + // [2321] phi from printf_number_buffer::@7 to printf_padding [phi:printf_number_buffer::@7->printf_padding] + // [2321] phi printf_padding::putc#7 = printf_padding::putc#0 [phi:printf_number_buffer::@7->printf_padding#0] -- register_copy + // [2321] phi printf_padding::pad#7 = ' ' [phi:printf_number_buffer::@7->printf_padding#1] -- vbuz1=vbuc1 + lda #' ' + sta.z printf_padding.pad + // [2321] phi printf_padding::length#6 = printf_padding::length#0 [phi:printf_number_buffer::@7->printf_padding#2] -- register_copy + jsr printf_padding + // printf_number_buffer::@2 + __b2: + // if(buffer.sign) + // [2381] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 -- 0_eq_vbuz1_then_la1 + lda.z buffer_sign + beq __b3 + // printf_number_buffer::@8 + // putc(buffer.sign) + // [2382] stackpush(char) = printf_number_buffer::buffer_sign#10 -- _stackpushbyte_=vbuz1 + pha + // [2383] callexecute *printf_number_buffer::putc#10 -- call__deref_pprz1 + jsr icall37 + // sideeffect stackpullpadding(1) -- _stackpullpadding_1 + pla + // printf_number_buffer::@3 + __b3: + // if(format.zero_padding && padding) + // [2385] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 -- 0_eq_vbuz1_then_la1 + lda.z format_zero_padding + beq __b4 + // printf_number_buffer::@14 + // [2386] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@9 -- 0_neq_vbsz1_then_la1 + lda.z padding + cmp #0 + bne __b9 + jmp __b4 + // printf_number_buffer::@9 + __b9: + // printf_padding(putc, '0',(char)padding) + // [2387] printf_padding::putc#1 = printf_number_buffer::putc#10 -- pprz1=pprz2 + lda.z putc + sta.z printf_padding.putc + lda.z putc+1 + sta.z printf_padding.putc+1 + // [2388] printf_padding::length#1 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 + lda.z padding + sta.z printf_padding.length + // [2389] call printf_padding + // [2321] phi from printf_number_buffer::@9 to printf_padding [phi:printf_number_buffer::@9->printf_padding] + // [2321] phi printf_padding::putc#7 = printf_padding::putc#1 [phi:printf_number_buffer::@9->printf_padding#0] -- register_copy + // [2321] phi printf_padding::pad#7 = '0' [phi:printf_number_buffer::@9->printf_padding#1] -- vbuz1=vbuc1 + lda #'0' + sta.z printf_padding.pad + // [2321] phi printf_padding::length#6 = printf_padding::length#1 [phi:printf_number_buffer::@9->printf_padding#2] -- register_copy + jsr printf_padding + // printf_number_buffer::@4 + __b4: + // printf_str(putc, buffer.digits) + // [2390] printf_str::putc#0 = printf_number_buffer::putc#10 + // [2391] call printf_str + // [1156] phi from printf_number_buffer::@4 to printf_str [phi:printf_number_buffer::@4->printf_str] + // [1156] phi printf_str::putc#71 = printf_str::putc#0 [phi:printf_number_buffer::@4->printf_str#0] -- register_copy + // [1156] phi printf_str::s#71 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@4->printf_str#1] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z printf_str.s+1 + jsr printf_str + // printf_number_buffer::@return + // } + // [2392] return + rts + // Outside Flow + icall37: + jmp (putc) } // rom_address_from_bank /** @@ -15831,16 +15738,16 @@ uctoa: { rom_address_from_bank: { .label rom_address_from_bank__1 = $57 .label return = $57 - .label return_1 = $ab + .label return_1 = $a9 // ((unsigned long)(rom_bank)) << 14 - // [2425] rom_address_from_bank::$1 = (unsigned long)rom_address_from_bank::rom_bank#3 -- vduz1=_dword_vbum2 + // [2394] rom_address_from_bank::$1 = (unsigned long)rom_address_from_bank::rom_bank#3 -- vduz1=_dword_vbum2 lda rom_bank sta.z rom_address_from_bank__1 lda #0 sta.z rom_address_from_bank__1+1 sta.z rom_address_from_bank__1+2 sta.z rom_address_from_bank__1+3 - // [2426] rom_address_from_bank::return#0 = rom_address_from_bank::$1 << $e -- vduz1=vduz1_rol_vbuc1 + // [2395] rom_address_from_bank::return#0 = rom_address_from_bank::$1 << $e -- vduz1=vduz1_rol_vbuc1 ldx #$e cpx #0 beq !e+ @@ -15854,73 +15761,73 @@ rom_address_from_bank: { !e: // rom_address_from_bank::@return // } - // [2427] return + // [2396] return rts .segment Data - .label rom_bank = rom_get_release.rom_get_release__0 + .label rom_bank = fopen.fopen__4 .label return_2 = main.rom_file_modulo } .segment Code // rom_compare -// __zp($51) unsigned int rom_compare(__zp($ec) char bank_ram, __zp($2d) char *ptr_ram, __zp($57) unsigned long rom_compare_address, __zp($d2) unsigned int rom_compare_size) +// __zp($51) unsigned int rom_compare(__zp($ee) char bank_ram, __zp($b2) char *ptr_ram, __zp($57) unsigned long rom_compare_address, __zp($d1) unsigned int rom_compare_size) rom_compare: { .label rom_compare__5 = $35 - .label rom_bank1_rom_compare__0 = $6c - .label rom_bank1_rom_compare__1 = $e3 - .label rom_bank1_rom_compare__2 = $74 - .label rom_ptr1_rom_compare__0 = $79 - .label rom_ptr1_rom_compare__2 = $79 - .label bank_set_bram1_bank = $ec - .label rom_bank1_bank_unshifted = $74 - .label rom_bank1_return = $6e - .label rom_ptr1_return = $79 - .label ptr_rom = $79 - .label ptr_ram = $2d - .label compared_bytes = $af + .label rom_bank1_rom_compare__0 = $45 + .label rom_bank1_rom_compare__1 = $6d + .label rom_bank1_rom_compare__2 = $eb + .label rom_ptr1_rom_compare__0 = $76 + .label rom_ptr1_rom_compare__2 = $76 + .label bank_set_bram1_bank = $ee + .label rom_bank1_bank_unshifted = $eb + .label rom_bank1_return = $e2 + .label rom_ptr1_return = $76 + .label ptr_rom = $76 + .label ptr_ram = $b2 + .label compared_bytes = $ad /// Holds the amount of bytes actually verified between the ROM and the RAM. .label equal_bytes = $51 - .label bank_ram = $ec + .label bank_ram = $ee .label rom_compare_address = $57 .label return = $51 - .label rom_compare_size = $d2 + .label rom_compare_size = $d1 // rom_compare::bank_set_bram1 // BRAM = bank - // [2429] BRAM = rom_compare::bank_set_bram1_bank#0 -- vbuz1=vbuz2 + // [2398] BRAM = rom_compare::bank_set_bram1_bank#0 -- vbuz1=vbuz2 lda.z bank_set_bram1_bank sta.z BRAM // rom_compare::rom_bank1 // BYTE2(address) - // [2430] rom_compare::rom_bank1_$0 = byte2 rom_compare::rom_compare_address#3 -- vbuz1=_byte2_vduz2 + // [2399] rom_compare::rom_bank1_$0 = byte2 rom_compare::rom_compare_address#3 -- vbuz1=_byte2_vduz2 lda.z rom_compare_address+2 sta.z rom_bank1_rom_compare__0 // BYTE1(address) - // [2431] rom_compare::rom_bank1_$1 = byte1 rom_compare::rom_compare_address#3 -- vbuz1=_byte1_vduz2 + // [2400] rom_compare::rom_bank1_$1 = byte1 rom_compare::rom_compare_address#3 -- vbuz1=_byte1_vduz2 lda.z rom_compare_address+1 sta.z rom_bank1_rom_compare__1 // MAKEWORD(BYTE2(address),BYTE1(address)) - // [2432] rom_compare::rom_bank1_$2 = rom_compare::rom_bank1_$0 w= rom_compare::rom_bank1_$1 -- vwuz1=vbuz2_word_vbuz3 + // [2401] rom_compare::rom_bank1_$2 = rom_compare::rom_bank1_$0 w= rom_compare::rom_bank1_$1 -- vwuz1=vbuz2_word_vbuz3 lda.z rom_bank1_rom_compare__0 sta.z rom_bank1_rom_compare__2+1 lda.z rom_bank1_rom_compare__1 sta.z rom_bank1_rom_compare__2 // unsigned int bank_unshifted = MAKEWORD(BYTE2(address),BYTE1(address)) << 2 - // [2433] rom_compare::rom_bank1_bank_unshifted#0 = rom_compare::rom_bank1_$2 << 2 -- vwuz1=vwuz1_rol_2 + // [2402] rom_compare::rom_bank1_bank_unshifted#0 = rom_compare::rom_bank1_$2 << 2 -- vwuz1=vwuz1_rol_2 asl.z rom_bank1_bank_unshifted rol.z rom_bank1_bank_unshifted+1 asl.z rom_bank1_bank_unshifted rol.z rom_bank1_bank_unshifted+1 // unsigned char bank = BYTE1(bank_unshifted) - // [2434] rom_compare::rom_bank1_return#0 = byte1 rom_compare::rom_bank1_bank_unshifted#0 -- vbuz1=_byte1_vwuz2 + // [2403] rom_compare::rom_bank1_return#0 = byte1 rom_compare::rom_bank1_bank_unshifted#0 -- vbuz1=_byte1_vwuz2 lda.z rom_bank1_bank_unshifted+1 sta.z rom_bank1_return // rom_compare::rom_ptr1 // (unsigned int)(address) & ROM_PTR_MASK - // [2435] rom_compare::rom_ptr1_$2 = (unsigned int)rom_compare::rom_compare_address#3 -- vwuz1=_word_vduz2 + // [2404] rom_compare::rom_ptr1_$2 = (unsigned int)rom_compare::rom_compare_address#3 -- vwuz1=_word_vduz2 lda.z rom_compare_address sta.z rom_ptr1_rom_compare__2 lda.z rom_compare_address+1 sta.z rom_ptr1_rom_compare__2+1 - // [2436] rom_compare::rom_ptr1_$0 = rom_compare::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 + // [2405] rom_compare::rom_ptr1_$0 = rom_compare::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 lda.z rom_ptr1_rom_compare__0 and #<$3fff sta.z rom_ptr1_rom_compare__0 @@ -15928,7 +15835,7 @@ rom_compare: { and #>$3fff sta.z rom_ptr1_rom_compare__0+1 // ((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE - // [2437] rom_compare::rom_ptr1_return#0 = rom_compare::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 + // [2406] rom_compare::rom_ptr1_return#0 = rom_compare::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 lda.z rom_ptr1_return clc adc #<$c000 @@ -15938,24 +15845,24 @@ rom_compare: { sta.z rom_ptr1_return+1 // rom_compare::bank_set_brom1 // BROM = bank - // [2438] BROM = rom_compare::rom_bank1_return#0 -- vbuz1=vbuz2 + // [2407] BROM = rom_compare::rom_bank1_return#0 -- vbuz1=vbuz2 lda.z rom_bank1_return sta.z BROM - // [2439] rom_compare::ptr_rom#9 = (char *)rom_compare::rom_ptr1_return#0 - // [2440] phi from rom_compare::bank_set_brom1 to rom_compare::@1 [phi:rom_compare::bank_set_brom1->rom_compare::@1] - // [2440] phi rom_compare::equal_bytes#2 = 0 [phi:rom_compare::bank_set_brom1->rom_compare::@1#0] -- vwuz1=vwuc1 + // [2408] rom_compare::ptr_rom#9 = (char *)rom_compare::rom_ptr1_return#0 + // [2409] phi from rom_compare::bank_set_brom1 to rom_compare::@1 [phi:rom_compare::bank_set_brom1->rom_compare::@1] + // [2409] phi rom_compare::equal_bytes#2 = 0 [phi:rom_compare::bank_set_brom1->rom_compare::@1#0] -- vwuz1=vwuc1 lda #<0 sta.z equal_bytes sta.z equal_bytes+1 - // [2440] phi rom_compare::ptr_ram#4 = rom_compare::ptr_ram#10 [phi:rom_compare::bank_set_brom1->rom_compare::@1#1] -- register_copy - // [2440] phi rom_compare::ptr_rom#2 = rom_compare::ptr_rom#9 [phi:rom_compare::bank_set_brom1->rom_compare::@1#2] -- register_copy - // [2440] phi rom_compare::compared_bytes#2 = 0 [phi:rom_compare::bank_set_brom1->rom_compare::@1#3] -- vwuz1=vwuc1 + // [2409] phi rom_compare::ptr_ram#4 = rom_compare::ptr_ram#10 [phi:rom_compare::bank_set_brom1->rom_compare::@1#1] -- register_copy + // [2409] phi rom_compare::ptr_rom#2 = rom_compare::ptr_rom#9 [phi:rom_compare::bank_set_brom1->rom_compare::@1#2] -- register_copy + // [2409] phi rom_compare::compared_bytes#2 = 0 [phi:rom_compare::bank_set_brom1->rom_compare::@1#3] -- vwuz1=vwuc1 sta.z compared_bytes sta.z compared_bytes+1 // rom_compare::@1 __b1: // while (compared_bytes < rom_compare_size) - // [2441] if(rom_compare::compared_bytes#2rom_compare::@3] - // [2450] phi rom_compare::equal_bytes#6 = rom_compare::equal_bytes#1 [phi:rom_compare::@4/rom_compare::@5->rom_compare::@3#0] -- register_copy + // [2419] phi from rom_compare::@4 rom_compare::@5 to rom_compare::@3 [phi:rom_compare::@4/rom_compare::@5->rom_compare::@3] + // [2419] phi rom_compare::equal_bytes#6 = rom_compare::equal_bytes#1 [phi:rom_compare::@4/rom_compare::@5->rom_compare::@3#0] -- register_copy // rom_compare::@3 __b3: // ptr_rom++; - // [2451] rom_compare::ptr_rom#1 = ++ rom_compare::ptr_rom#2 -- pbuz1=_inc_pbuz1 + // [2420] rom_compare::ptr_rom#1 = ++ rom_compare::ptr_rom#2 -- pbuz1=_inc_pbuz1 inc.z ptr_rom bne !+ inc.z ptr_rom+1 !: // ptr_ram++; - // [2452] rom_compare::ptr_ram#0 = ++ rom_compare::ptr_ram#4 -- pbuz1=_inc_pbuz1 + // [2421] rom_compare::ptr_ram#0 = ++ rom_compare::ptr_ram#4 -- pbuz1=_inc_pbuz1 inc.z ptr_ram bne !+ inc.z ptr_ram+1 !: // compared_bytes++; - // [2453] rom_compare::compared_bytes#1 = ++ rom_compare::compared_bytes#2 -- vwuz1=_inc_vwuz1 + // [2422] rom_compare::compared_bytes#1 = ++ rom_compare::compared_bytes#2 -- vwuz1=_inc_vwuz1 inc.z compared_bytes bne !+ inc.z compared_bytes+1 !: - // [2440] phi from rom_compare::@3 to rom_compare::@1 [phi:rom_compare::@3->rom_compare::@1] - // [2440] phi rom_compare::equal_bytes#2 = rom_compare::equal_bytes#6 [phi:rom_compare::@3->rom_compare::@1#0] -- register_copy - // [2440] phi rom_compare::ptr_ram#4 = rom_compare::ptr_ram#0 [phi:rom_compare::@3->rom_compare::@1#1] -- register_copy - // [2440] phi rom_compare::ptr_rom#2 = rom_compare::ptr_rom#1 [phi:rom_compare::@3->rom_compare::@1#2] -- register_copy - // [2440] phi rom_compare::compared_bytes#2 = rom_compare::compared_bytes#1 [phi:rom_compare::@3->rom_compare::@1#3] -- register_copy + // [2409] phi from rom_compare::@3 to rom_compare::@1 [phi:rom_compare::@3->rom_compare::@1] + // [2409] phi rom_compare::equal_bytes#2 = rom_compare::equal_bytes#6 [phi:rom_compare::@3->rom_compare::@1#0] -- register_copy + // [2409] phi rom_compare::ptr_ram#4 = rom_compare::ptr_ram#0 [phi:rom_compare::@3->rom_compare::@1#1] -- register_copy + // [2409] phi rom_compare::ptr_rom#2 = rom_compare::ptr_rom#1 [phi:rom_compare::@3->rom_compare::@1#2] -- register_copy + // [2409] phi rom_compare::compared_bytes#2 = rom_compare::compared_bytes#1 [phi:rom_compare::@3->rom_compare::@1#3] -- register_copy jmp __b1 } // ultoa @@ -16027,149 +15934,149 @@ rom_compare: { // - value : The number to be converted to RADIX // - buffer : receives the string representing the number and zero-termination. // - radix : The radix to convert the number to (from the enum RADIX) -// void ultoa(__zp($30) unsigned long value, __zp($60) char *buffer, __zp($e6) char radix) +// void ultoa(__zp($30) unsigned long value, __zp($62) char *buffer, __zp($e7) char radix) ultoa: { - .label ultoa__4 = $6c - .label ultoa__10 = $6e - .label ultoa__11 = $e3 - .label digit_value = $3f - .label buffer = $60 - .label digit = $67 + .label ultoa__4 = $6d + .label ultoa__10 = $66 + .label ultoa__11 = $e2 + .label digit_value = $41 + .label buffer = $62 + .label digit = $69 .label value = $30 - .label radix = $e6 - .label started = $72 - .label max_digits = $bf + .label radix = $e7 + .label started = $73 + .label max_digits = $be .label digit_values = $2d // if(radix==DECIMAL) - // [2454] if(ultoa::radix#0==DECIMAL) goto ultoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [2423] if(ultoa::radix#0==DECIMAL) goto ultoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #DECIMAL cmp.z radix beq __b2 // ultoa::@2 // if(radix==HEXADECIMAL) - // [2455] if(ultoa::radix#0==HEXADECIMAL) goto ultoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [2424] if(ultoa::radix#0==HEXADECIMAL) goto ultoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #HEXADECIMAL cmp.z radix beq __b3 // ultoa::@3 // if(radix==OCTAL) - // [2456] if(ultoa::radix#0==OCTAL) goto ultoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [2425] if(ultoa::radix#0==OCTAL) goto ultoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #OCTAL cmp.z radix beq __b4 // ultoa::@4 // if(radix==BINARY) - // [2457] if(ultoa::radix#0==BINARY) goto ultoa::@1 -- vbuz1_eq_vbuc1_then_la1 + // [2426] if(ultoa::radix#0==BINARY) goto ultoa::@1 -- vbuz1_eq_vbuc1_then_la1 lda #BINARY cmp.z radix beq __b5 // ultoa::@5 // *buffer++ = 'e' - // [2458] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e' -- _deref_pbuc1=vbuc2 + // [2427] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e' -- _deref_pbuc1=vbuc2 // Unknown radix lda #'e' sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS // *buffer++ = 'r' - // [2459] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r' -- _deref_pbuc1=vbuc2 + // [2428] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r' -- _deref_pbuc1=vbuc2 lda #'r' sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1 - // [2460] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r' -- _deref_pbuc1=vbuc2 + // [2429] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r' -- _deref_pbuc1=vbuc2 sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2 // *buffer = 0 - // [2461] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2 + // [2430] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2 lda #0 sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3 // ultoa::@return // } - // [2462] return + // [2431] return rts - // [2463] phi from ultoa to ultoa::@1 [phi:ultoa->ultoa::@1] + // [2432] phi from ultoa to ultoa::@1 [phi:ultoa->ultoa::@1] __b2: - // [2463] phi ultoa::digit_values#8 = RADIX_DECIMAL_VALUES_LONG [phi:ultoa->ultoa::@1#0] -- pduz1=pduc1 + // [2432] phi ultoa::digit_values#8 = RADIX_DECIMAL_VALUES_LONG [phi:ultoa->ultoa::@1#0] -- pduz1=pduc1 lda #RADIX_DECIMAL_VALUES_LONG sta.z digit_values+1 - // [2463] phi ultoa::max_digits#7 = $a [phi:ultoa->ultoa::@1#1] -- vbuz1=vbuc1 + // [2432] phi ultoa::max_digits#7 = $a [phi:ultoa->ultoa::@1#1] -- vbuz1=vbuc1 lda #$a sta.z max_digits jmp __b1 - // [2463] phi from ultoa::@2 to ultoa::@1 [phi:ultoa::@2->ultoa::@1] + // [2432] phi from ultoa::@2 to ultoa::@1 [phi:ultoa::@2->ultoa::@1] __b3: - // [2463] phi ultoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES_LONG [phi:ultoa::@2->ultoa::@1#0] -- pduz1=pduc1 + // [2432] phi ultoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES_LONG [phi:ultoa::@2->ultoa::@1#0] -- pduz1=pduc1 lda #RADIX_HEXADECIMAL_VALUES_LONG sta.z digit_values+1 - // [2463] phi ultoa::max_digits#7 = 8 [phi:ultoa::@2->ultoa::@1#1] -- vbuz1=vbuc1 + // [2432] phi ultoa::max_digits#7 = 8 [phi:ultoa::@2->ultoa::@1#1] -- vbuz1=vbuc1 lda #8 sta.z max_digits jmp __b1 - // [2463] phi from ultoa::@3 to ultoa::@1 [phi:ultoa::@3->ultoa::@1] + // [2432] phi from ultoa::@3 to ultoa::@1 [phi:ultoa::@3->ultoa::@1] __b4: - // [2463] phi ultoa::digit_values#8 = RADIX_OCTAL_VALUES_LONG [phi:ultoa::@3->ultoa::@1#0] -- pduz1=pduc1 + // [2432] phi ultoa::digit_values#8 = RADIX_OCTAL_VALUES_LONG [phi:ultoa::@3->ultoa::@1#0] -- pduz1=pduc1 lda #RADIX_OCTAL_VALUES_LONG sta.z digit_values+1 - // [2463] phi ultoa::max_digits#7 = $b [phi:ultoa::@3->ultoa::@1#1] -- vbuz1=vbuc1 + // [2432] phi ultoa::max_digits#7 = $b [phi:ultoa::@3->ultoa::@1#1] -- vbuz1=vbuc1 lda #$b sta.z max_digits jmp __b1 - // [2463] phi from ultoa::@4 to ultoa::@1 [phi:ultoa::@4->ultoa::@1] + // [2432] phi from ultoa::@4 to ultoa::@1 [phi:ultoa::@4->ultoa::@1] __b5: - // [2463] phi ultoa::digit_values#8 = RADIX_BINARY_VALUES_LONG [phi:ultoa::@4->ultoa::@1#0] -- pduz1=pduc1 + // [2432] phi ultoa::digit_values#8 = RADIX_BINARY_VALUES_LONG [phi:ultoa::@4->ultoa::@1#0] -- pduz1=pduc1 lda #RADIX_BINARY_VALUES_LONG sta.z digit_values+1 - // [2463] phi ultoa::max_digits#7 = $20 [phi:ultoa::@4->ultoa::@1#1] -- vbuz1=vbuc1 + // [2432] phi ultoa::max_digits#7 = $20 [phi:ultoa::@4->ultoa::@1#1] -- vbuz1=vbuc1 lda #$20 sta.z max_digits // ultoa::@1 __b1: - // [2464] phi from ultoa::@1 to ultoa::@6 [phi:ultoa::@1->ultoa::@6] - // [2464] phi ultoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:ultoa::@1->ultoa::@6#0] -- pbuz1=pbuc1 + // [2433] phi from ultoa::@1 to ultoa::@6 [phi:ultoa::@1->ultoa::@6] + // [2433] phi ultoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:ultoa::@1->ultoa::@6#0] -- pbuz1=pbuc1 lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS sta.z buffer+1 - // [2464] phi ultoa::started#2 = 0 [phi:ultoa::@1->ultoa::@6#1] -- vbuz1=vbuc1 + // [2433] phi ultoa::started#2 = 0 [phi:ultoa::@1->ultoa::@6#1] -- vbuz1=vbuc1 lda #0 sta.z started - // [2464] phi ultoa::value#2 = ultoa::value#1 [phi:ultoa::@1->ultoa::@6#2] -- register_copy - // [2464] phi ultoa::digit#2 = 0 [phi:ultoa::@1->ultoa::@6#3] -- vbuz1=vbuc1 + // [2433] phi ultoa::value#2 = ultoa::value#1 [phi:ultoa::@1->ultoa::@6#2] -- register_copy + // [2433] phi ultoa::digit#2 = 0 [phi:ultoa::@1->ultoa::@6#3] -- vbuz1=vbuc1 sta.z digit // ultoa::@6 __b6: // max_digits-1 - // [2465] ultoa::$4 = ultoa::max_digits#7 - 1 -- vbuz1=vbuz2_minus_1 + // [2434] ultoa::$4 = ultoa::max_digits#7 - 1 -- vbuz1=vbuz2_minus_1 ldx.z max_digits dex stx.z ultoa__4 // for( char digit=0; digit= digit_value) - // [2473] if(0!=ultoa::started#2) goto ultoa::@10 -- 0_neq_vbuz1_then_la1 + // [2442] if(0!=ultoa::started#2) goto ultoa::@10 -- 0_neq_vbuz1_then_la1 lda.z started bne __b10 // ultoa::@12 - // [2474] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@10 -- vduz1_ge_vduz2_then_la1 + // [2443] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@10 -- vduz1_ge_vduz2_then_la1 lda.z value+3 cmp.z digit_value+3 bcc !+ @@ -16217,51 +16124,51 @@ ultoa: { cmp.z digit_value bcs __b10 !: - // [2475] phi from ultoa::@12 to ultoa::@9 [phi:ultoa::@12->ultoa::@9] - // [2475] phi ultoa::buffer#14 = ultoa::buffer#11 [phi:ultoa::@12->ultoa::@9#0] -- register_copy - // [2475] phi ultoa::started#4 = ultoa::started#2 [phi:ultoa::@12->ultoa::@9#1] -- register_copy - // [2475] phi ultoa::value#6 = ultoa::value#2 [phi:ultoa::@12->ultoa::@9#2] -- register_copy + // [2444] phi from ultoa::@12 to ultoa::@9 [phi:ultoa::@12->ultoa::@9] + // [2444] phi ultoa::buffer#14 = ultoa::buffer#11 [phi:ultoa::@12->ultoa::@9#0] -- register_copy + // [2444] phi ultoa::started#4 = ultoa::started#2 [phi:ultoa::@12->ultoa::@9#1] -- register_copy + // [2444] phi ultoa::value#6 = ultoa::value#2 [phi:ultoa::@12->ultoa::@9#2] -- register_copy // ultoa::@9 __b9: // for( char digit=0; digitultoa::@6] - // [2464] phi ultoa::buffer#11 = ultoa::buffer#14 [phi:ultoa::@9->ultoa::@6#0] -- register_copy - // [2464] phi ultoa::started#2 = ultoa::started#4 [phi:ultoa::@9->ultoa::@6#1] -- register_copy - // [2464] phi ultoa::value#2 = ultoa::value#6 [phi:ultoa::@9->ultoa::@6#2] -- register_copy - // [2464] phi ultoa::digit#2 = ultoa::digit#1 [phi:ultoa::@9->ultoa::@6#3] -- register_copy + // [2433] phi from ultoa::@9 to ultoa::@6 [phi:ultoa::@9->ultoa::@6] + // [2433] phi ultoa::buffer#11 = ultoa::buffer#14 [phi:ultoa::@9->ultoa::@6#0] -- register_copy + // [2433] phi ultoa::started#2 = ultoa::started#4 [phi:ultoa::@9->ultoa::@6#1] -- register_copy + // [2433] phi ultoa::value#2 = ultoa::value#6 [phi:ultoa::@9->ultoa::@6#2] -- register_copy + // [2433] phi ultoa::digit#2 = ultoa::digit#1 [phi:ultoa::@9->ultoa::@6#3] -- register_copy jmp __b6 // ultoa::@10 __b10: // ultoa_append(buffer++, value, digit_value) - // [2477] ultoa_append::buffer#0 = ultoa::buffer#11 -- pbuz1=pbuz2 + // [2446] ultoa_append::buffer#0 = ultoa::buffer#11 -- pbuz1=pbuz2 lda.z buffer sta.z ultoa_append.buffer lda.z buffer+1 sta.z ultoa_append.buffer+1 - // [2478] ultoa_append::value#0 = ultoa::value#2 - // [2479] ultoa_append::sub#0 = ultoa::digit_value#0 - // [2480] call ultoa_append - // [2778] phi from ultoa::@10 to ultoa_append [phi:ultoa::@10->ultoa_append] + // [2447] ultoa_append::value#0 = ultoa::value#2 + // [2448] ultoa_append::sub#0 = ultoa::digit_value#0 + // [2449] call ultoa_append + // [2770] phi from ultoa::@10 to ultoa_append [phi:ultoa::@10->ultoa_append] jsr ultoa_append // ultoa_append(buffer++, value, digit_value) - // [2481] ultoa_append::return#0 = ultoa_append::value#2 + // [2450] ultoa_append::return#0 = ultoa_append::value#2 // ultoa::@11 // value = ultoa_append(buffer++, value, digit_value) - // [2482] ultoa::value#0 = ultoa_append::return#0 + // [2451] ultoa::value#0 = ultoa_append::return#0 // value = ultoa_append(buffer++, value, digit_value); - // [2483] ultoa::buffer#4 = ++ ultoa::buffer#11 -- pbuz1=_inc_pbuz1 + // [2452] ultoa::buffer#4 = ++ ultoa::buffer#11 -- pbuz1=_inc_pbuz1 inc.z buffer bne !+ inc.z buffer+1 !: - // [2475] phi from ultoa::@11 to ultoa::@9 [phi:ultoa::@11->ultoa::@9] - // [2475] phi ultoa::buffer#14 = ultoa::buffer#4 [phi:ultoa::@11->ultoa::@9#0] -- register_copy - // [2475] phi ultoa::started#4 = 1 [phi:ultoa::@11->ultoa::@9#1] -- vbuz1=vbuc1 + // [2444] phi from ultoa::@11 to ultoa::@9 [phi:ultoa::@11->ultoa::@9] + // [2444] phi ultoa::buffer#14 = ultoa::buffer#4 [phi:ultoa::@11->ultoa::@9#0] -- register_copy + // [2444] phi ultoa::started#4 = 1 [phi:ultoa::@11->ultoa::@9#1] -- vbuz1=vbuc1 lda #1 sta.z started - // [2475] phi ultoa::value#6 = ultoa::value#0 [phi:ultoa::@11->ultoa::@9#2] -- register_copy + // [2444] phi ultoa::value#6 = ultoa::value#0 [phi:ultoa::@11->ultoa::@9#2] -- register_copy jmp __b9 } // rom_sector_erase @@ -16299,15 +16206,15 @@ rom_sector_erase: { .label rom_ptr1_rom_sector_erase__0 = $3d .label rom_ptr1_rom_sector_erase__2 = $3d .label rom_ptr1_return = $3d - .label rom_chip_address = $7b + .label rom_chip_address = $78 // rom_sector_erase::rom_ptr1 // (unsigned int)(address) & ROM_PTR_MASK - // [2485] rom_sector_erase::rom_ptr1_$2 = (unsigned int)rom_sector_erase::address#0 -- vwuz1=_word_vdum2 + // [2454] rom_sector_erase::rom_ptr1_$2 = (unsigned int)rom_sector_erase::address#0 -- vwuz1=_word_vdum2 lda address sta.z rom_ptr1_rom_sector_erase__2 lda address+1 sta.z rom_ptr1_rom_sector_erase__2+1 - // [2486] rom_sector_erase::rom_ptr1_$0 = rom_sector_erase::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 + // [2455] rom_sector_erase::rom_ptr1_$0 = rom_sector_erase::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 lda.z rom_ptr1_rom_sector_erase__0 and #<$3fff sta.z rom_ptr1_rom_sector_erase__0 @@ -16315,7 +16222,7 @@ rom_sector_erase: { and #>$3fff sta.z rom_ptr1_rom_sector_erase__0+1 // ((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE - // [2487] rom_sector_erase::rom_ptr1_return#0 = rom_sector_erase::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 + // [2456] rom_sector_erase::rom_ptr1_return#0 = rom_sector_erase::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 lda.z rom_ptr1_return clc adc #<$c000 @@ -16325,7 +16232,7 @@ rom_sector_erase: { sta.z rom_ptr1_return+1 // rom_sector_erase::@1 // unsigned long rom_chip_address = address & ROM_CHIP_MASK - // [2488] rom_sector_erase::rom_chip_address#0 = rom_sector_erase::address#0 & $380000 -- vduz1=vdum2_band_vduc1 + // [2457] rom_sector_erase::rom_chip_address#0 = rom_sector_erase::address#0 & $380000 -- vduz1=vdum2_band_vduc1 lda address and #<$380000 sta.z rom_chip_address @@ -16339,7 +16246,7 @@ rom_sector_erase: { and #>$380000>>$10 sta.z rom_chip_address+3 // rom_unlock(rom_chip_address + 0x05555, 0x80) - // [2489] rom_unlock::address#0 = rom_sector_erase::rom_chip_address#0 + $5555 -- vduz1=vduz1_plus_vwuc1 + // [2458] rom_unlock::address#0 = rom_sector_erase::rom_chip_address#0 + $5555 -- vduz1=vduz1_plus_vwuc1 clc lda.z rom_unlock.address adc #<$5555 @@ -16353,16 +16260,16 @@ rom_sector_erase: { lda.z rom_unlock.address+3 adc #0 sta.z rom_unlock.address+3 - // [2490] call rom_unlock - // [2188] phi from rom_sector_erase::@1 to rom_unlock [phi:rom_sector_erase::@1->rom_unlock] - // [2188] phi rom_unlock::unlock_code#5 = $80 [phi:rom_sector_erase::@1->rom_unlock#0] -- vbuz1=vbuc1 + // [2459] call rom_unlock + // [2126] phi from rom_sector_erase::@1 to rom_unlock [phi:rom_sector_erase::@1->rom_unlock] + // [2126] phi rom_unlock::unlock_code#5 = $80 [phi:rom_sector_erase::@1->rom_unlock#0] -- vbuz1=vbuc1 lda #$80 sta.z rom_unlock.unlock_code - // [2188] phi rom_unlock::address#5 = rom_unlock::address#0 [phi:rom_sector_erase::@1->rom_unlock#1] -- register_copy + // [2126] phi rom_unlock::address#5 = rom_unlock::address#0 [phi:rom_sector_erase::@1->rom_unlock#1] -- register_copy jsr rom_unlock // rom_sector_erase::@2 // rom_unlock(address, 0x30) - // [2491] rom_unlock::address#1 = rom_sector_erase::address#0 -- vduz1=vdum2 + // [2460] rom_unlock::address#1 = rom_sector_erase::address#0 -- vduz1=vdum2 lda address sta.z rom_unlock.address lda address+1 @@ -16371,23 +16278,23 @@ rom_sector_erase: { sta.z rom_unlock.address+2 lda address+3 sta.z rom_unlock.address+3 - // [2492] call rom_unlock - // [2188] phi from rom_sector_erase::@2 to rom_unlock [phi:rom_sector_erase::@2->rom_unlock] - // [2188] phi rom_unlock::unlock_code#5 = $30 [phi:rom_sector_erase::@2->rom_unlock#0] -- vbuz1=vbuc1 + // [2461] call rom_unlock + // [2126] phi from rom_sector_erase::@2 to rom_unlock [phi:rom_sector_erase::@2->rom_unlock] + // [2126] phi rom_unlock::unlock_code#5 = $30 [phi:rom_sector_erase::@2->rom_unlock#0] -- vbuz1=vbuc1 lda #$30 sta.z rom_unlock.unlock_code - // [2188] phi rom_unlock::address#5 = rom_unlock::address#1 [phi:rom_sector_erase::@2->rom_unlock#1] -- register_copy + // [2126] phi rom_unlock::address#5 = rom_unlock::address#1 [phi:rom_sector_erase::@2->rom_unlock#1] -- register_copy jsr rom_unlock // rom_sector_erase::@3 // rom_wait(ptr_rom) - // [2493] rom_wait::ptr_rom#0 = (char *)rom_sector_erase::rom_ptr1_return#0 - // [2494] call rom_wait - // [2785] phi from rom_sector_erase::@3 to rom_wait [phi:rom_sector_erase::@3->rom_wait] - // [2785] phi rom_wait::ptr_rom#3 = rom_wait::ptr_rom#0 [phi:rom_sector_erase::@3->rom_wait#0] -- register_copy + // [2462] rom_wait::ptr_rom#0 = (char *)rom_sector_erase::rom_ptr1_return#0 + // [2463] call rom_wait + // [2777] phi from rom_sector_erase::@3 to rom_wait [phi:rom_sector_erase::@3->rom_wait] + // [2777] phi rom_wait::ptr_rom#3 = rom_wait::ptr_rom#0 [phi:rom_sector_erase::@3->rom_wait#0] -- register_copy jsr rom_wait // rom_sector_erase::@return // } - // [2495] return + // [2464] return rts .segment Data .label address = printf_ulong.uvalue_1 @@ -16395,15 +16302,15 @@ rom_sector_erase: { .segment Code // rom_write /* inline */ -// unsigned long rom_write(__zp($43) char flash_ram_bank, __zp($60) char *flash_ram_address, __zp($b4) unsigned long flash_rom_address, unsigned int flash_rom_size) +// unsigned long rom_write(__zp($45) char flash_ram_bank, __zp($2d) char *flash_ram_address, __zp($b4) unsigned long flash_rom_address, unsigned int flash_rom_size) rom_write: { - .label rom_chip_address = $c6 + .label rom_chip_address = $c7 .label flash_rom_address = $b4 - .label flash_ram_address = $60 - .label flashed_bytes = $ab - .label flash_ram_bank = $43 + .label flash_ram_address = $2d + .label flashed_bytes = $a9 + .label flash_ram_bank = $45 // unsigned long rom_chip_address = flash_rom_address & ROM_CHIP_MASK - // [2496] rom_write::rom_chip_address#0 = rom_write::flash_rom_address#1 & $380000 -- vduz1=vduz2_band_vduc1 + // [2465] rom_write::rom_chip_address#0 = rom_write::flash_rom_address#1 & $380000 -- vduz1=vduz2_band_vduc1 /// Holds the amount of bytes actually flashed in the ROM. lda.z flash_rom_address and #<$380000 @@ -16419,13 +16326,13 @@ rom_write: { sta.z rom_chip_address+3 // rom_write::bank_set_bram1 // BRAM = bank - // [2497] BRAM = rom_write::flash_ram_bank#0 -- vbuz1=vbuz2 + // [2466] BRAM = rom_write::flash_ram_bank#0 -- vbuz1=vbuz2 lda.z flash_ram_bank sta.z BRAM - // [2498] phi from rom_write::bank_set_bram1 to rom_write::@1 [phi:rom_write::bank_set_bram1->rom_write::@1] - // [2498] phi rom_write::flash_ram_address#2 = rom_write::flash_ram_address#1 [phi:rom_write::bank_set_bram1->rom_write::@1#0] -- register_copy - // [2498] phi rom_write::flash_rom_address#3 = rom_write::flash_rom_address#1 [phi:rom_write::bank_set_bram1->rom_write::@1#1] -- register_copy - // [2498] phi rom_write::flashed_bytes#2 = 0 [phi:rom_write::bank_set_bram1->rom_write::@1#2] -- vduz1=vduc1 + // [2467] phi from rom_write::bank_set_bram1 to rom_write::@1 [phi:rom_write::bank_set_bram1->rom_write::@1] + // [2467] phi rom_write::flash_ram_address#2 = rom_write::flash_ram_address#1 [phi:rom_write::bank_set_bram1->rom_write::@1#0] -- register_copy + // [2467] phi rom_write::flash_rom_address#3 = rom_write::flash_rom_address#1 [phi:rom_write::bank_set_bram1->rom_write::@1#1] -- register_copy + // [2467] phi rom_write::flashed_bytes#2 = 0 [phi:rom_write::bank_set_bram1->rom_write::@1#2] -- vduz1=vduc1 lda #<0 sta.z flashed_bytes sta.z flashed_bytes+1 @@ -16436,7 +16343,7 @@ rom_write: { // rom_write::@1 __b1: // while (flashed_bytes < flash_rom_size) - // [2499] if(rom_write::flashed_bytes#2ROM_PROGRESS_CELL>>$10 bcc __b2 @@ -16455,12 +16362,12 @@ rom_write: { !: // rom_write::@return // } - // [2500] return + // [2469] return rts // rom_write::@2 __b2: // rom_unlock(rom_chip_address + 0x05555, 0xA0) - // [2501] rom_unlock::address#4 = rom_write::rom_chip_address#0 + $5555 -- vduz1=vduz2_plus_vwuc1 + // [2470] rom_unlock::address#4 = rom_write::rom_chip_address#0 + $5555 -- vduz1=vduz2_plus_vwuc1 clc lda.z rom_chip_address adc #<$5555 @@ -16474,16 +16381,16 @@ rom_write: { lda.z rom_chip_address+3 adc #0 sta.z rom_unlock.address+3 - // [2502] call rom_unlock - // [2188] phi from rom_write::@2 to rom_unlock [phi:rom_write::@2->rom_unlock] - // [2188] phi rom_unlock::unlock_code#5 = $a0 [phi:rom_write::@2->rom_unlock#0] -- vbuz1=vbuc1 + // [2471] call rom_unlock + // [2126] phi from rom_write::@2 to rom_unlock [phi:rom_write::@2->rom_unlock] + // [2126] phi rom_unlock::unlock_code#5 = $a0 [phi:rom_write::@2->rom_unlock#0] -- vbuz1=vbuc1 lda #$a0 sta.z rom_unlock.unlock_code - // [2188] phi rom_unlock::address#5 = rom_unlock::address#4 [phi:rom_write::@2->rom_unlock#1] -- register_copy + // [2126] phi rom_unlock::address#5 = rom_unlock::address#4 [phi:rom_write::@2->rom_unlock#1] -- register_copy jsr rom_unlock // rom_write::@3 // rom_byte_program(flash_rom_address, *flash_ram_address) - // [2503] rom_byte_program::address#0 = rom_write::flash_rom_address#3 -- vduz1=vduz2 + // [2472] rom_byte_program::address#0 = rom_write::flash_rom_address#3 -- vduz1=vduz2 lda.z flash_rom_address sta.z rom_byte_program.address lda.z flash_rom_address+1 @@ -16492,16 +16399,16 @@ rom_write: { sta.z rom_byte_program.address+2 lda.z flash_rom_address+3 sta.z rom_byte_program.address+3 - // [2504] rom_byte_program::value#0 = *rom_write::flash_ram_address#2 -- vbuz1=_deref_pbuz2 + // [2473] rom_byte_program::value#0 = *rom_write::flash_ram_address#2 -- vbuz1=_deref_pbuz2 ldy #0 lda (flash_ram_address),y sta.z rom_byte_program.value - // [2505] call rom_byte_program - // [2792] phi from rom_write::@3 to rom_byte_program [phi:rom_write::@3->rom_byte_program] + // [2474] call rom_byte_program + // [2784] phi from rom_write::@3 to rom_byte_program [phi:rom_write::@3->rom_byte_program] jsr rom_byte_program // rom_write::@4 // flash_rom_address++; - // [2506] rom_write::flash_rom_address#0 = ++ rom_write::flash_rom_address#3 -- vduz1=_inc_vduz1 + // [2475] rom_write::flash_rom_address#0 = ++ rom_write::flash_rom_address#3 -- vduz1=_inc_vduz1 inc.z flash_rom_address bne !+ inc.z flash_rom_address+1 @@ -16511,13 +16418,13 @@ rom_write: { inc.z flash_rom_address+3 !: // flash_ram_address++; - // [2507] rom_write::flash_ram_address#0 = ++ rom_write::flash_ram_address#2 -- pbuz1=_inc_pbuz1 + // [2476] rom_write::flash_ram_address#0 = ++ rom_write::flash_ram_address#2 -- pbuz1=_inc_pbuz1 inc.z flash_ram_address bne !+ inc.z flash_ram_address+1 !: // flashed_bytes++; - // [2508] rom_write::flashed_bytes#1 = ++ rom_write::flashed_bytes#2 -- vduz1=_inc_vduz1 + // [2477] rom_write::flashed_bytes#1 = ++ rom_write::flashed_bytes#2 -- vduz1=_inc_vduz1 inc.z flashed_bytes bne !+ inc.z flashed_bytes+1 @@ -16526,10 +16433,10 @@ rom_write: { bne !+ inc.z flashed_bytes+3 !: - // [2498] phi from rom_write::@4 to rom_write::@1 [phi:rom_write::@4->rom_write::@1] - // [2498] phi rom_write::flash_ram_address#2 = rom_write::flash_ram_address#0 [phi:rom_write::@4->rom_write::@1#0] -- register_copy - // [2498] phi rom_write::flash_rom_address#3 = rom_write::flash_rom_address#0 [phi:rom_write::@4->rom_write::@1#1] -- register_copy - // [2498] phi rom_write::flashed_bytes#2 = rom_write::flashed_bytes#1 [phi:rom_write::@4->rom_write::@1#2] -- register_copy + // [2467] phi from rom_write::@4 to rom_write::@1 [phi:rom_write::@4->rom_write::@1] + // [2467] phi rom_write::flash_ram_address#2 = rom_write::flash_ram_address#0 [phi:rom_write::@4->rom_write::@1#0] -- register_copy + // [2467] phi rom_write::flash_rom_address#3 = rom_write::flash_rom_address#0 [phi:rom_write::@4->rom_write::@1#1] -- register_copy + // [2467] phi rom_write::flashed_bytes#2 = rom_write::flashed_bytes#1 [phi:rom_write::@4->rom_write::@1#2] -- register_copy jmp __b1 } // strncpy @@ -16539,24 +16446,24 @@ rom_write: { /// @param src ? This is the string to be copied. /// @param n ? The number of characters to be copied from source. /// @return The destination -// char * strncpy(__zp($dd) char *dst, __zp($d7) const char *src, __zp($51) unsigned int n) +// char * strncpy(__zp($4f) char *dst, __zp($3f) const char *src, __zp($62) unsigned int n) strncpy: { - .label c = $78 - .label dst = $dd - .label i = $ca - .label src = $d7 - .label n = $51 - // [2510] phi from strncpy to strncpy::@1 [phi:strncpy->strncpy::@1] - // [2510] phi strncpy::dst#3 = strncpy::dst#8 [phi:strncpy->strncpy::@1#0] -- register_copy - // [2510] phi strncpy::src#3 = strncpy::src#6 [phi:strncpy->strncpy::@1#1] -- register_copy - // [2510] phi strncpy::i#2 = 0 [phi:strncpy->strncpy::@1#2] -- vwuz1=vwuc1 + .label c = $6b + .label dst = $4f + .label i = $bc + .label src = $3f + .label n = $62 + // [2479] phi from strncpy to strncpy::@1 [phi:strncpy->strncpy::@1] + // [2479] phi strncpy::dst#3 = strncpy::dst#8 [phi:strncpy->strncpy::@1#0] -- register_copy + // [2479] phi strncpy::src#3 = strncpy::src#6 [phi:strncpy->strncpy::@1#1] -- register_copy + // [2479] phi strncpy::i#2 = 0 [phi:strncpy->strncpy::@1#2] -- vwuz1=vwuc1 lda #<0 sta.z i sta.z i+1 // strncpy::@1 __b1: // for(size_t i = 0;istrncpy::@3] + // [2485] phi strncpy::src#7 = strncpy::src#3 [phi:strncpy::@2/strncpy::@4->strncpy::@3#0] -- register_copy + // strncpy::@3 + __b3: + // *dst++ = c + // [2486] *strncpy::dst#3 = strncpy::c#0 -- _deref_pbuz1=vbuz2 + lda.z c + ldy #0 + sta (dst),y + // *dst++ = c; + // [2487] strncpy::dst#0 = ++ strncpy::dst#3 -- pbuz1=_inc_pbuz1 + inc.z dst + bne !+ + inc.z dst+1 + !: + // for(size_t i = 0;istrncpy::@1] + // [2479] phi strncpy::dst#3 = strncpy::dst#0 [phi:strncpy::@3->strncpy::@1#0] -- register_copy + // [2479] phi strncpy::src#3 = strncpy::src#7 [phi:strncpy::@3->strncpy::@1#1] -- register_copy + // [2479] phi strncpy::i#2 = strncpy::i#1 [phi:strncpy::@3->strncpy::@1#2] -- register_copy + jmp __b1 +} + // utoa +// Converts unsigned number value to a string representing it in RADIX format. +// If the leading digits are zero they are not included in the string. +// - value : The number to be converted to RADIX +// - buffer : receives the string representing the number and zero-termination. +// - radix : The radix to convert the number to (from the enum RADIX) +// void utoa(__zp($2d) unsigned int value, __zp($64) char *buffer, __zp($e6) char radix) +utoa: { + .label utoa__4 = $6b + .label utoa__10 = $6e + .label utoa__11 = $e3 + .label digit_value = $3f + .label buffer = $64 + .label digit = $68 + .label value = $2d + .label radix = $e6 + .label started = $72 + .label max_digits = $bf + .label digit_values = $bc + // if(radix==DECIMAL) + // [2489] if(utoa::radix#0==DECIMAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 + lda #DECIMAL + cmp.z radix + beq __b2 + // utoa::@2 + // if(radix==HEXADECIMAL) + // [2490] if(utoa::radix#0==HEXADECIMAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 + lda #HEXADECIMAL + cmp.z radix + beq __b3 + // utoa::@3 + // if(radix==OCTAL) + // [2491] if(utoa::radix#0==OCTAL) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 + lda #OCTAL + cmp.z radix + beq __b4 + // utoa::@4 + // if(radix==BINARY) + // [2492] if(utoa::radix#0==BINARY) goto utoa::@1 -- vbuz1_eq_vbuc1_then_la1 + lda #BINARY + cmp.z radix + beq __b5 + // utoa::@5 + // *buffer++ = 'e' + // [2493] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e' -- _deref_pbuc1=vbuc2 + // Unknown radix + lda #'e' + sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + // *buffer++ = 'r' + // [2494] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r' -- _deref_pbuc1=vbuc2 + lda #'r' + sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1 + // [2495] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r' -- _deref_pbuc1=vbuc2 + sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2 + // *buffer = 0 + // [2496] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2 + lda #0 + sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3 + // utoa::@return + // } + // [2497] return + rts + // [2498] phi from utoa to utoa::@1 [phi:utoa->utoa::@1] + __b2: + // [2498] phi utoa::digit_values#8 = RADIX_DECIMAL_VALUES [phi:utoa->utoa::@1#0] -- pwuz1=pwuc1 + lda #RADIX_DECIMAL_VALUES + sta.z digit_values+1 + // [2498] phi utoa::max_digits#7 = 5 [phi:utoa->utoa::@1#1] -- vbuz1=vbuc1 + lda #5 + sta.z max_digits + jmp __b1 + // [2498] phi from utoa::@2 to utoa::@1 [phi:utoa::@2->utoa::@1] + __b3: + // [2498] phi utoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES [phi:utoa::@2->utoa::@1#0] -- pwuz1=pwuc1 + lda #RADIX_HEXADECIMAL_VALUES + sta.z digit_values+1 + // [2498] phi utoa::max_digits#7 = 4 [phi:utoa::@2->utoa::@1#1] -- vbuz1=vbuc1 + lda #4 + sta.z max_digits + jmp __b1 + // [2498] phi from utoa::@3 to utoa::@1 [phi:utoa::@3->utoa::@1] + __b4: + // [2498] phi utoa::digit_values#8 = RADIX_OCTAL_VALUES [phi:utoa::@3->utoa::@1#0] -- pwuz1=pwuc1 + lda #RADIX_OCTAL_VALUES + sta.z digit_values+1 + // [2498] phi utoa::max_digits#7 = 6 [phi:utoa::@3->utoa::@1#1] -- vbuz1=vbuc1 + lda #6 + sta.z max_digits + jmp __b1 + // [2498] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1] + __b5: + // [2498] phi utoa::digit_values#8 = RADIX_BINARY_VALUES [phi:utoa::@4->utoa::@1#0] -- pwuz1=pwuc1 + lda #RADIX_BINARY_VALUES + sta.z digit_values+1 + // [2498] phi utoa::max_digits#7 = $10 [phi:utoa::@4->utoa::@1#1] -- vbuz1=vbuc1 + lda #$10 + sta.z max_digits + // utoa::@1 + __b1: + // [2499] phi from utoa::@1 to utoa::@6 [phi:utoa::@1->utoa::@6] + // [2499] phi utoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:utoa::@1->utoa::@6#0] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z buffer+1 + // [2499] phi utoa::started#2 = 0 [phi:utoa::@1->utoa::@6#1] -- vbuz1=vbuc1 + lda #0 + sta.z started + // [2499] phi utoa::value#2 = utoa::value#1 [phi:utoa::@1->utoa::@6#2] -- register_copy + // [2499] phi utoa::digit#2 = 0 [phi:utoa::@1->utoa::@6#3] -- vbuz1=vbuc1 + sta.z digit + // utoa::@6 + __b6: + // max_digits-1 + // [2500] utoa::$4 = utoa::max_digits#7 - 1 -- vbuz1=vbuz2_minus_1 + ldx.z max_digits + dex + stx.z utoa__4 + // for( char digit=0; digitstrncpy::@3] - // [2516] phi strncpy::src#7 = strncpy::src#3 [phi:strncpy::@2/strncpy::@4->strncpy::@3#0] -- register_copy - // strncpy::@3 - __b3: - // *dst++ = c - // [2517] *strncpy::dst#3 = strncpy::c#0 -- _deref_pbuz1=vbuz2 - lda.z c - ldy #0 - sta (dst),y - // *dst++ = c; - // [2518] strncpy::dst#0 = ++ strncpy::dst#3 -- pbuz1=_inc_pbuz1 - inc.z dst + // *buffer = 0 + // [2505] *utoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1 + lda #0 + tay + sta (buffer),y + rts + // utoa::@7 + __b7: + // unsigned int digit_value = digit_values[digit] + // [2506] utoa::$10 = utoa::digit#2 << 1 -- vbuz1=vbuz2_rol_1 + lda.z digit + asl + sta.z utoa__10 + // [2507] utoa::digit_value#0 = utoa::digit_values#8[utoa::$10] -- vwuz1=pwuz2_derefidx_vbuz3 + tay + lda (digit_values),y + sta.z digit_value + iny + lda (digit_values),y + sta.z digit_value+1 + // if (started || value >= digit_value) + // [2508] if(0!=utoa::started#2) goto utoa::@10 -- 0_neq_vbuz1_then_la1 + lda.z started + bne __b10 + // utoa::@12 + // [2509] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@10 -- vwuz1_ge_vwuz2_then_la1 + lda.z digit_value+1 + cmp.z value+1 bne !+ - inc.z dst+1 + lda.z digit_value + cmp.z value + beq __b10 !: - // for(size_t i = 0;iutoa::@9] + // [2510] phi utoa::buffer#14 = utoa::buffer#11 [phi:utoa::@12->utoa::@9#0] -- register_copy + // [2510] phi utoa::started#4 = utoa::started#2 [phi:utoa::@12->utoa::@9#1] -- register_copy + // [2510] phi utoa::value#6 = utoa::value#2 [phi:utoa::@12->utoa::@9#2] -- register_copy + // utoa::@9 + __b9: + // for( char digit=0; digitutoa::@6] + // [2499] phi utoa::buffer#11 = utoa::buffer#14 [phi:utoa::@9->utoa::@6#0] -- register_copy + // [2499] phi utoa::started#2 = utoa::started#4 [phi:utoa::@9->utoa::@6#1] -- register_copy + // [2499] phi utoa::value#2 = utoa::value#6 [phi:utoa::@9->utoa::@6#2] -- register_copy + // [2499] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@9->utoa::@6#3] -- register_copy + jmp __b6 + // utoa::@10 + __b10: + // utoa_append(buffer++, value, digit_value) + // [2512] utoa_append::buffer#0 = utoa::buffer#11 -- pbuz1=pbuz2 + lda.z buffer + sta.z utoa_append.buffer + lda.z buffer+1 + sta.z utoa_append.buffer+1 + // [2513] utoa_append::value#0 = utoa::value#2 + // [2514] utoa_append::sub#0 = utoa::digit_value#0 + // [2515] call utoa_append + // [2794] phi from utoa::@10 to utoa_append [phi:utoa::@10->utoa_append] + jsr utoa_append + // utoa_append(buffer++, value, digit_value) + // [2516] utoa_append::return#0 = utoa_append::value#2 + // utoa::@11 + // value = utoa_append(buffer++, value, digit_value) + // [2517] utoa::value#0 = utoa_append::return#0 + // value = utoa_append(buffer++, value, digit_value); + // [2518] utoa::buffer#4 = ++ utoa::buffer#11 -- pbuz1=_inc_pbuz1 + inc.z buffer bne !+ - inc.z i+1 + inc.z buffer+1 !: - // [2510] phi from strncpy::@3 to strncpy::@1 [phi:strncpy::@3->strncpy::@1] - // [2510] phi strncpy::dst#3 = strncpy::dst#0 [phi:strncpy::@3->strncpy::@1#0] -- register_copy - // [2510] phi strncpy::src#3 = strncpy::src#7 [phi:strncpy::@3->strncpy::@1#1] -- register_copy - // [2510] phi strncpy::i#2 = strncpy::i#1 [phi:strncpy::@3->strncpy::@1#2] -- register_copy - jmp __b1 + // [2510] phi from utoa::@11 to utoa::@9 [phi:utoa::@11->utoa::@9] + // [2510] phi utoa::buffer#14 = utoa::buffer#4 [phi:utoa::@11->utoa::@9#0] -- register_copy + // [2510] phi utoa::started#4 = 1 [phi:utoa::@11->utoa::@9#1] -- vbuz1=vbuc1 + lda #1 + sta.z started + // [2510] phi utoa::value#6 = utoa::value#0 [phi:utoa::@11->utoa::@9#2] -- register_copy + jmp __b9 } // insertup // Insert a new line, and scroll the upper part of the screen up. @@ -16624,77 +16759,77 @@ insertup: { .label width = $46 .label y = $34 // __conio.width+1 - // [2520] insertup::$0 = *((char *)&__conio+6) + 1 -- vbuz1=_deref_pbuc1_plus_1 + // [2519] insertup::$0 = *((char *)&__conio+6) + 1 -- vbuz1=_deref_pbuc1_plus_1 lda __conio+6 inc sta.z insertup__0 // unsigned char width = (__conio.width+1) * 2 - // [2521] insertup::width#0 = insertup::$0 << 1 -- vbuz1=vbuz1_rol_1 + // [2520] insertup::width#0 = insertup::$0 << 1 -- vbuz1=vbuz1_rol_1 // {asm{.byte $db}} asl.z width - // [2522] phi from insertup to insertup::@1 [phi:insertup->insertup::@1] - // [2522] phi insertup::y#2 = 0 [phi:insertup->insertup::@1#0] -- vbuz1=vbuc1 + // [2521] phi from insertup to insertup::@1 [phi:insertup->insertup::@1] + // [2521] phi insertup::y#2 = 0 [phi:insertup->insertup::@1#0] -- vbuz1=vbuc1 lda #0 sta.z y // insertup::@1 __b1: // for(unsigned char y=0; y<__conio.cursor_y; y++) - // [2523] if(insertup::y#2<*((char *)&__conio+1)) goto insertup::@2 -- vbuz1_lt__deref_pbuc1_then_la1 + // [2522] if(insertup::y#2<*((char *)&__conio+1)) goto insertup::@2 -- vbuz1_lt__deref_pbuc1_then_la1 lda.z y cmp __conio+1 bcc __b2 - // [2524] phi from insertup::@1 to insertup::@3 [phi:insertup::@1->insertup::@3] + // [2523] phi from insertup::@1 to insertup::@3 [phi:insertup::@1->insertup::@3] // insertup::@3 // clearline() - // [2525] call clearline + // [2524] call clearline jsr clearline // insertup::@return // } - // [2526] return + // [2525] return rts // insertup::@2 __b2: // y+1 - // [2527] insertup::$4 = insertup::y#2 + 1 -- vbuz1=vbuz2_plus_1 + // [2526] insertup::$4 = insertup::y#2 + 1 -- vbuz1=vbuz2_plus_1 lda.z y inc sta.z insertup__4 // memcpy8_vram_vram(__conio.mapbase_bank, __conio.offsets[y], __conio.mapbase_bank, __conio.offsets[y+1], width) - // [2528] insertup::$6 = insertup::y#2 << 1 -- vbuz1=vbuz2_rol_1 + // [2527] insertup::$6 = insertup::y#2 << 1 -- vbuz1=vbuz2_rol_1 lda.z y asl sta.z insertup__6 - // [2529] insertup::$7 = insertup::$4 << 1 -- vbuz1=vbuz1_rol_1 + // [2528] insertup::$7 = insertup::$4 << 1 -- vbuz1=vbuz1_rol_1 asl.z insertup__7 - // [2530] memcpy8_vram_vram::dbank_vram#0 = *((char *)&__conio+5) -- vbuz1=_deref_pbuc1 + // [2529] memcpy8_vram_vram::dbank_vram#0 = *((char *)&__conio+5) -- vbuz1=_deref_pbuc1 lda __conio+5 sta.z memcpy8_vram_vram.dbank_vram - // [2531] memcpy8_vram_vram::doffset_vram#0 = ((unsigned int *)&__conio+$15)[insertup::$6] -- vwuz1=pwuc1_derefidx_vbuz2 + // [2530] memcpy8_vram_vram::doffset_vram#0 = ((unsigned int *)&__conio+$15)[insertup::$6] -- vwuz1=pwuc1_derefidx_vbuz2 ldy.z insertup__6 lda __conio+$15,y sta.z memcpy8_vram_vram.doffset_vram lda __conio+$15+1,y sta.z memcpy8_vram_vram.doffset_vram+1 - // [2532] memcpy8_vram_vram::sbank_vram#0 = *((char *)&__conio+5) -- vbuz1=_deref_pbuc1 + // [2531] memcpy8_vram_vram::sbank_vram#0 = *((char *)&__conio+5) -- vbuz1=_deref_pbuc1 lda __conio+5 sta.z memcpy8_vram_vram.sbank_vram - // [2533] memcpy8_vram_vram::soffset_vram#0 = ((unsigned int *)&__conio+$15)[insertup::$7] -- vwuz1=pwuc1_derefidx_vbuz2 + // [2532] memcpy8_vram_vram::soffset_vram#0 = ((unsigned int *)&__conio+$15)[insertup::$7] -- vwuz1=pwuc1_derefidx_vbuz2 ldy.z insertup__7 lda __conio+$15,y sta.z memcpy8_vram_vram.soffset_vram lda __conio+$15+1,y sta.z memcpy8_vram_vram.soffset_vram+1 - // [2534] memcpy8_vram_vram::num8#1 = insertup::width#0 -- vbuz1=vbuz2 + // [2533] memcpy8_vram_vram::num8#1 = insertup::width#0 -- vbuz1=vbuz2 lda.z width sta.z memcpy8_vram_vram.num8_1 - // [2535] call memcpy8_vram_vram + // [2534] call memcpy8_vram_vram jsr memcpy8_vram_vram // insertup::@4 // for(unsigned char y=0; y<__conio.cursor_y; y++) - // [2536] insertup::y#1 = ++ insertup::y#2 -- vbuz1=_inc_vbuz1 + // [2535] insertup::y#1 = ++ insertup::y#2 -- vbuz1=_inc_vbuz1 inc.z y - // [2522] phi from insertup::@4 to insertup::@1 [phi:insertup::@4->insertup::@1] - // [2522] phi insertup::y#2 = insertup::y#1 [phi:insertup::@4->insertup::@1#0] -- register_copy + // [2521] phi from insertup::@4 to insertup::@1 [phi:insertup::@4->insertup::@1] + // [2521] phi insertup::y#2 = insertup::y#1 [phi:insertup::@4->insertup::@1#0] -- register_copy jmp __b1 } // clearline @@ -16706,69 +16841,69 @@ clearline: { .label addr = $39 .label c = $22 // unsigned int addr = __conio.offsets[__conio.cursor_y] - // [2537] clearline::$3 = *((char *)&__conio+1) << 1 -- vbuz1=_deref_pbuc1_rol_1 + // [2536] clearline::$3 = *((char *)&__conio+1) << 1 -- vbuz1=_deref_pbuc1_rol_1 lda __conio+1 asl sta.z clearline__3 - // [2538] clearline::addr#0 = ((unsigned int *)&__conio+$15)[clearline::$3] -- vwuz1=pwuc1_derefidx_vbuz2 + // [2537] clearline::addr#0 = ((unsigned int *)&__conio+$15)[clearline::$3] -- vwuz1=pwuc1_derefidx_vbuz2 tay lda __conio+$15,y sta.z addr lda __conio+$15+1,y sta.z addr+1 // *VERA_CTRL &= ~VERA_ADDRSEL - // [2539] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 + // [2538] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 lda #VERA_ADDRSEL^$ff and VERA_CTRL sta VERA_CTRL // BYTE0(addr) - // [2540] clearline::$0 = byte0 clearline::addr#0 -- vbuz1=_byte0_vwuz2 + // [2539] clearline::$0 = byte0 clearline::addr#0 -- vbuz1=_byte0_vwuz2 lda.z addr sta.z clearline__0 // *VERA_ADDRX_L = BYTE0(addr) - // [2541] *VERA_ADDRX_L = clearline::$0 -- _deref_pbuc1=vbuz1 + // [2540] *VERA_ADDRX_L = clearline::$0 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_L // BYTE1(addr) - // [2542] clearline::$1 = byte1 clearline::addr#0 -- vbuz1=_byte1_vwuz2 + // [2541] clearline::$1 = byte1 clearline::addr#0 -- vbuz1=_byte1_vwuz2 lda.z addr+1 sta.z clearline__1 // *VERA_ADDRX_M = BYTE1(addr) - // [2543] *VERA_ADDRX_M = clearline::$1 -- _deref_pbuc1=vbuz1 + // [2542] *VERA_ADDRX_M = clearline::$1 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_M // __conio.mapbase_bank | VERA_INC_1 - // [2544] clearline::$2 = *((char *)&__conio+5) | VERA_INC_1 -- vbuz1=_deref_pbuc1_bor_vbuc2 + // [2543] clearline::$2 = *((char *)&__conio+5) | VERA_INC_1 -- vbuz1=_deref_pbuc1_bor_vbuc2 lda #VERA_INC_1 ora __conio+5 sta.z clearline__2 // *VERA_ADDRX_H = __conio.mapbase_bank | VERA_INC_1 - // [2545] *VERA_ADDRX_H = clearline::$2 -- _deref_pbuc1=vbuz1 + // [2544] *VERA_ADDRX_H = clearline::$2 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_H // register unsigned char c=__conio.width - // [2546] clearline::c#0 = *((char *)&__conio+6) -- vbuz1=_deref_pbuc1 + // [2545] clearline::c#0 = *((char *)&__conio+6) -- vbuz1=_deref_pbuc1 lda __conio+6 sta.z c - // [2547] phi from clearline clearline::@1 to clearline::@1 [phi:clearline/clearline::@1->clearline::@1] - // [2547] phi clearline::c#2 = clearline::c#0 [phi:clearline/clearline::@1->clearline::@1#0] -- register_copy + // [2546] phi from clearline clearline::@1 to clearline::@1 [phi:clearline/clearline::@1->clearline::@1] + // [2546] phi clearline::c#2 = clearline::c#0 [phi:clearline/clearline::@1->clearline::@1#0] -- register_copy // clearline::@1 __b1: // *VERA_DATA0 = ' ' - // [2548] *VERA_DATA0 = ' ' -- _deref_pbuc1=vbuc2 + // [2547] *VERA_DATA0 = ' ' -- _deref_pbuc1=vbuc2 lda #' ' sta VERA_DATA0 // *VERA_DATA0 = __conio.color - // [2549] *VERA_DATA0 = *((char *)&__conio+$d) -- _deref_pbuc1=_deref_pbuc2 + // [2548] *VERA_DATA0 = *((char *)&__conio+$d) -- _deref_pbuc1=_deref_pbuc2 lda __conio+$d sta VERA_DATA0 // c--; - // [2550] clearline::c#1 = -- clearline::c#2 -- vbuz1=_dec_vbuz1 + // [2549] clearline::c#1 = -- clearline::c#2 -- vbuz1=_dec_vbuz1 dec.z c // while(c) - // [2551] if(0!=clearline::c#1) goto clearline::@1 -- 0_neq_vbuz1_then_la1 + // [2550] if(0!=clearline::c#1) goto clearline::@1 -- 0_neq_vbuz1_then_la1 lda.z c bne __b1 // clearline::@return // } - // [2552] return + // [2551] return rts } // display_frame_maskxy @@ -16779,226 +16914,226 @@ clearline: { * @param y * @return unsigned char */ -// __zp($72) char display_frame_maskxy(__zp($f2) char x, __mem() char y) +// __mem() char display_frame_maskxy(__mem() char x, __zp($f4) char y) display_frame_maskxy: { - .label cpeekcxy1_cpeekc1_display_frame_maskxy__0 = $5b - .label cpeekcxy1_cpeekc1_display_frame_maskxy__1 = $54 - .label cpeekcxy1_cpeekc1_display_frame_maskxy__2 = $5d - .label cpeekcxy1_x = $f2 - .label c = $2c - // DR corner. - // DL corner. - // UR corner. - // UL corner. - // HL line. - // VL line. - // VR junction. - // VL junction. - // HD junction. - // HU junction. - // HV junction. - .label return = $72 - .label x = $f2 + .label cpeekcxy1_cpeekc1_display_frame_maskxy__0 = $e3 + .label cpeekcxy1_cpeekc1_display_frame_maskxy__1 = $6e + .label cpeekcxy1_cpeekc1_display_frame_maskxy__2 = $5b + .label cpeekcxy1_y = $f4 + .label c = $54 + .label y = $f4 // display_frame_maskxy::cpeekcxy1 // gotoxy(x,y) - // [2554] gotoxy::x#5 = display_frame_maskxy::cpeekcxy1_x#0 -- vbuz1=vbuz2 - lda.z cpeekcxy1_x + // [2553] gotoxy::x#5 = display_frame_maskxy::cpeekcxy1_x#0 -- vbuz1=vbum2 + lda cpeekcxy1_x sta.z gotoxy.x - // [2555] gotoxy::y#5 = display_frame_maskxy::cpeekcxy1_y#0 -- vbuz1=vbum2 - lda cpeekcxy1_y + // [2554] gotoxy::y#5 = display_frame_maskxy::cpeekcxy1_y#0 -- vbuz1=vbuz2 + lda.z cpeekcxy1_y sta.z gotoxy.y - // [2556] call gotoxy - // [762] phi from display_frame_maskxy::cpeekcxy1 to gotoxy [phi:display_frame_maskxy::cpeekcxy1->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#5 [phi:display_frame_maskxy::cpeekcxy1->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#5 [phi:display_frame_maskxy::cpeekcxy1->gotoxy#1] -- register_copy + // [2555] call gotoxy + // [756] phi from display_frame_maskxy::cpeekcxy1 to gotoxy [phi:display_frame_maskxy::cpeekcxy1->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#5 [phi:display_frame_maskxy::cpeekcxy1->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#5 [phi:display_frame_maskxy::cpeekcxy1->gotoxy#1] -- register_copy jsr gotoxy // display_frame_maskxy::cpeekcxy1_cpeekc1 // *VERA_CTRL &= ~VERA_ADDRSEL - // [2557] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 + // [2556] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 lda #VERA_ADDRSEL^$ff and VERA_CTRL sta VERA_CTRL // BYTE0(__conio.offset) - // [2558] display_frame_maskxy::cpeekcxy1_cpeekc1_$0 = byte0 *((unsigned int *)&__conio+$13) -- vbuz1=_byte0__deref_pwuc1 + // [2557] display_frame_maskxy::cpeekcxy1_cpeekc1_$0 = byte0 *((unsigned int *)&__conio+$13) -- vbuz1=_byte0__deref_pwuc1 lda __conio+$13 sta.z cpeekcxy1_cpeekc1_display_frame_maskxy__0 // *VERA_ADDRX_L = BYTE0(__conio.offset) - // [2559] *VERA_ADDRX_L = display_frame_maskxy::cpeekcxy1_cpeekc1_$0 -- _deref_pbuc1=vbuz1 + // [2558] *VERA_ADDRX_L = display_frame_maskxy::cpeekcxy1_cpeekc1_$0 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_L // BYTE1(__conio.offset) - // [2560] display_frame_maskxy::cpeekcxy1_cpeekc1_$1 = byte1 *((unsigned int *)&__conio+$13) -- vbuz1=_byte1__deref_pwuc1 + // [2559] display_frame_maskxy::cpeekcxy1_cpeekc1_$1 = byte1 *((unsigned int *)&__conio+$13) -- vbuz1=_byte1__deref_pwuc1 lda __conio+$13+1 sta.z cpeekcxy1_cpeekc1_display_frame_maskxy__1 // *VERA_ADDRX_M = BYTE1(__conio.offset) - // [2561] *VERA_ADDRX_M = display_frame_maskxy::cpeekcxy1_cpeekc1_$1 -- _deref_pbuc1=vbuz1 + // [2560] *VERA_ADDRX_M = display_frame_maskxy::cpeekcxy1_cpeekc1_$1 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_M // __conio.mapbase_bank | VERA_INC_0 - // [2562] display_frame_maskxy::cpeekcxy1_cpeekc1_$2 = *((char *)&__conio+5) -- vbuz1=_deref_pbuc1 + // [2561] display_frame_maskxy::cpeekcxy1_cpeekc1_$2 = *((char *)&__conio+5) -- vbuz1=_deref_pbuc1 lda __conio+5 sta.z cpeekcxy1_cpeekc1_display_frame_maskxy__2 // *VERA_ADDRX_H = __conio.mapbase_bank | VERA_INC_0 - // [2563] *VERA_ADDRX_H = display_frame_maskxy::cpeekcxy1_cpeekc1_$2 -- _deref_pbuc1=vbuz1 + // [2562] *VERA_ADDRX_H = display_frame_maskxy::cpeekcxy1_cpeekc1_$2 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_H // return *VERA_DATA0; - // [2564] display_frame_maskxy::c#0 = *VERA_DATA0 -- vbuz1=_deref_pbuc1 + // [2563] display_frame_maskxy::c#0 = *VERA_DATA0 -- vbuz1=_deref_pbuc1 lda VERA_DATA0 sta.z c // display_frame_maskxy::@12 // case 0x70: // DR corner. // return 0b0110; - // [2565] if(display_frame_maskxy::c#0==$70) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 + // [2564] if(display_frame_maskxy::c#0==$70) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 lda #$70 cmp.z c beq __b2 // display_frame_maskxy::@1 // case 0x6E: // DL corner. // return 0b0011; - // [2566] if(display_frame_maskxy::c#0==$6e) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 + // [2565] if(display_frame_maskxy::c#0==$6e) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 lda #$6e cmp.z c beq __b1 // display_frame_maskxy::@2 // case 0x6D: // UR corner. // return 0b1100; - // [2567] if(display_frame_maskxy::c#0==$6d) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 + // [2566] if(display_frame_maskxy::c#0==$6d) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 lda #$6d cmp.z c beq __b3 // display_frame_maskxy::@3 // case 0x7D: // UL corner. // return 0b1001; - // [2568] if(display_frame_maskxy::c#0==$7d) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 + // [2567] if(display_frame_maskxy::c#0==$7d) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 lda #$7d cmp.z c beq __b4 // display_frame_maskxy::@4 // case 0x40: // HL line. // return 0b0101; - // [2569] if(display_frame_maskxy::c#0==$40) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 + // [2568] if(display_frame_maskxy::c#0==$40) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 lda #$40 cmp.z c beq __b5 // display_frame_maskxy::@5 // case 0x5D: // VL line. // return 0b1010; - // [2570] if(display_frame_maskxy::c#0==$5d) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 + // [2569] if(display_frame_maskxy::c#0==$5d) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 lda #$5d cmp.z c beq __b6 // display_frame_maskxy::@6 // case 0x6B: // VR junction. // return 0b1110; - // [2571] if(display_frame_maskxy::c#0==$6b) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 + // [2570] if(display_frame_maskxy::c#0==$6b) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 lda #$6b cmp.z c beq __b7 // display_frame_maskxy::@7 // case 0x73: // VL junction. // return 0b1011; - // [2572] if(display_frame_maskxy::c#0==$73) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 + // [2571] if(display_frame_maskxy::c#0==$73) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 lda #$73 cmp.z c beq __b8 // display_frame_maskxy::@8 // case 0x72: // HD junction. // return 0b0111; - // [2573] if(display_frame_maskxy::c#0==$72) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 + // [2572] if(display_frame_maskxy::c#0==$72) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 lda #$72 cmp.z c beq __b9 // display_frame_maskxy::@9 // case 0x71: // HU junction. // return 0b1101; - // [2574] if(display_frame_maskxy::c#0==$71) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 + // [2573] if(display_frame_maskxy::c#0==$71) goto display_frame_maskxy::@return -- vbuz1_eq_vbuc1_then_la1 lda #$71 cmp.z c beq __b10 // display_frame_maskxy::@10 // case 0x5B: // HV junction. // return 0b1111; - // [2575] if(display_frame_maskxy::c#0==$5b) goto display_frame_maskxy::@11 -- vbuz1_eq_vbuc1_then_la1 + // [2574] if(display_frame_maskxy::c#0==$5b) goto display_frame_maskxy::@11 -- vbuz1_eq_vbuc1_then_la1 lda #$5b cmp.z c beq __b11 - // [2577] phi from display_frame_maskxy::@10 to display_frame_maskxy::@return [phi:display_frame_maskxy::@10->display_frame_maskxy::@return] - // [2577] phi display_frame_maskxy::return#12 = 0 [phi:display_frame_maskxy::@10->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi from display_frame_maskxy::@10 to display_frame_maskxy::@return [phi:display_frame_maskxy::@10->display_frame_maskxy::@return] + // [2576] phi display_frame_maskxy::return#12 = 0 [phi:display_frame_maskxy::@10->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #0 - sta.z return + sta return rts - // [2576] phi from display_frame_maskxy::@10 to display_frame_maskxy::@11 [phi:display_frame_maskxy::@10->display_frame_maskxy::@11] + // [2575] phi from display_frame_maskxy::@10 to display_frame_maskxy::@11 [phi:display_frame_maskxy::@10->display_frame_maskxy::@11] // display_frame_maskxy::@11 __b11: - // [2577] phi from display_frame_maskxy::@11 to display_frame_maskxy::@return [phi:display_frame_maskxy::@11->display_frame_maskxy::@return] - // [2577] phi display_frame_maskxy::return#12 = $f [phi:display_frame_maskxy::@11->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi from display_frame_maskxy::@11 to display_frame_maskxy::@return [phi:display_frame_maskxy::@11->display_frame_maskxy::@return] + // [2576] phi display_frame_maskxy::return#12 = $f [phi:display_frame_maskxy::@11->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #$f - sta.z return + sta return rts - // [2577] phi from display_frame_maskxy::@1 to display_frame_maskxy::@return [phi:display_frame_maskxy::@1->display_frame_maskxy::@return] + // [2576] phi from display_frame_maskxy::@1 to display_frame_maskxy::@return [phi:display_frame_maskxy::@1->display_frame_maskxy::@return] __b1: - // [2577] phi display_frame_maskxy::return#12 = 3 [phi:display_frame_maskxy::@1->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi display_frame_maskxy::return#12 = 3 [phi:display_frame_maskxy::@1->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #3 - sta.z return + sta return rts - // [2577] phi from display_frame_maskxy::@12 to display_frame_maskxy::@return [phi:display_frame_maskxy::@12->display_frame_maskxy::@return] + // [2576] phi from display_frame_maskxy::@12 to display_frame_maskxy::@return [phi:display_frame_maskxy::@12->display_frame_maskxy::@return] __b2: - // [2577] phi display_frame_maskxy::return#12 = 6 [phi:display_frame_maskxy::@12->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi display_frame_maskxy::return#12 = 6 [phi:display_frame_maskxy::@12->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #6 - sta.z return + sta return rts - // [2577] phi from display_frame_maskxy::@2 to display_frame_maskxy::@return [phi:display_frame_maskxy::@2->display_frame_maskxy::@return] + // [2576] phi from display_frame_maskxy::@2 to display_frame_maskxy::@return [phi:display_frame_maskxy::@2->display_frame_maskxy::@return] __b3: - // [2577] phi display_frame_maskxy::return#12 = $c [phi:display_frame_maskxy::@2->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi display_frame_maskxy::return#12 = $c [phi:display_frame_maskxy::@2->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #$c - sta.z return + sta return rts - // [2577] phi from display_frame_maskxy::@3 to display_frame_maskxy::@return [phi:display_frame_maskxy::@3->display_frame_maskxy::@return] + // [2576] phi from display_frame_maskxy::@3 to display_frame_maskxy::@return [phi:display_frame_maskxy::@3->display_frame_maskxy::@return] __b4: - // [2577] phi display_frame_maskxy::return#12 = 9 [phi:display_frame_maskxy::@3->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi display_frame_maskxy::return#12 = 9 [phi:display_frame_maskxy::@3->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #9 - sta.z return + sta return rts - // [2577] phi from display_frame_maskxy::@4 to display_frame_maskxy::@return [phi:display_frame_maskxy::@4->display_frame_maskxy::@return] + // [2576] phi from display_frame_maskxy::@4 to display_frame_maskxy::@return [phi:display_frame_maskxy::@4->display_frame_maskxy::@return] __b5: - // [2577] phi display_frame_maskxy::return#12 = 5 [phi:display_frame_maskxy::@4->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi display_frame_maskxy::return#12 = 5 [phi:display_frame_maskxy::@4->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #5 - sta.z return + sta return rts - // [2577] phi from display_frame_maskxy::@5 to display_frame_maskxy::@return [phi:display_frame_maskxy::@5->display_frame_maskxy::@return] + // [2576] phi from display_frame_maskxy::@5 to display_frame_maskxy::@return [phi:display_frame_maskxy::@5->display_frame_maskxy::@return] __b6: - // [2577] phi display_frame_maskxy::return#12 = $a [phi:display_frame_maskxy::@5->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi display_frame_maskxy::return#12 = $a [phi:display_frame_maskxy::@5->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #$a - sta.z return + sta return rts - // [2577] phi from display_frame_maskxy::@6 to display_frame_maskxy::@return [phi:display_frame_maskxy::@6->display_frame_maskxy::@return] + // [2576] phi from display_frame_maskxy::@6 to display_frame_maskxy::@return [phi:display_frame_maskxy::@6->display_frame_maskxy::@return] __b7: - // [2577] phi display_frame_maskxy::return#12 = $e [phi:display_frame_maskxy::@6->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi display_frame_maskxy::return#12 = $e [phi:display_frame_maskxy::@6->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #$e - sta.z return + sta return rts - // [2577] phi from display_frame_maskxy::@7 to display_frame_maskxy::@return [phi:display_frame_maskxy::@7->display_frame_maskxy::@return] + // [2576] phi from display_frame_maskxy::@7 to display_frame_maskxy::@return [phi:display_frame_maskxy::@7->display_frame_maskxy::@return] __b8: - // [2577] phi display_frame_maskxy::return#12 = $b [phi:display_frame_maskxy::@7->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi display_frame_maskxy::return#12 = $b [phi:display_frame_maskxy::@7->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #$b - sta.z return + sta return rts - // [2577] phi from display_frame_maskxy::@8 to display_frame_maskxy::@return [phi:display_frame_maskxy::@8->display_frame_maskxy::@return] + // [2576] phi from display_frame_maskxy::@8 to display_frame_maskxy::@return [phi:display_frame_maskxy::@8->display_frame_maskxy::@return] __b9: - // [2577] phi display_frame_maskxy::return#12 = 7 [phi:display_frame_maskxy::@8->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi display_frame_maskxy::return#12 = 7 [phi:display_frame_maskxy::@8->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #7 - sta.z return + sta return rts - // [2577] phi from display_frame_maskxy::@9 to display_frame_maskxy::@return [phi:display_frame_maskxy::@9->display_frame_maskxy::@return] + // [2576] phi from display_frame_maskxy::@9 to display_frame_maskxy::@return [phi:display_frame_maskxy::@9->display_frame_maskxy::@return] __b10: - // [2577] phi display_frame_maskxy::return#12 = $d [phi:display_frame_maskxy::@9->display_frame_maskxy::@return#0] -- vbuz1=vbuc1 + // [2576] phi display_frame_maskxy::return#12 = $d [phi:display_frame_maskxy::@9->display_frame_maskxy::@return#0] -- vbum1=vbuc1 lda #$d - sta.z return + sta return // display_frame_maskxy::@return // } - // [2578] return + // [2577] return rts .segment Data - .label cpeekcxy1_y = rom_get_release.rom_get_release__0 - .label y = rom_get_release.rom_get_release__0 + .label cpeekcxy1_x = rom_get_release.rom_get_release__0 + // DR corner. + // DL corner. + // UR corner. + // UL corner. + // HL line. + // VL line. + // VR junction. + // VL junction. + // HD junction. + // HU junction. + // HV junction. + .label return = fopen.fopen__4 + .label x = rom_get_release.rom_get_release__0 } .segment Code // display_frame_char @@ -17008,173 +17143,175 @@ display_frame_maskxy: { * @param mask * @return unsigned char */ -// __zp($53) char display_frame_char(__zp($72) char mask) +// __zp($d4) char display_frame_char(__mem() char mask) display_frame_char: { - .label return = $53 - .label mask = $72 + .label return = $d4 // case 0b0110: // return 0x70; - // [2580] if(display_frame_char::mask#10==6) goto display_frame_char::@return -- vbuz1_eq_vbuc1_then_la1 + // [2579] if(display_frame_char::mask#10==6) goto display_frame_char::@return -- vbum1_eq_vbuc1_then_la1 lda #6 - cmp.z mask + cmp mask beq __b1 // display_frame_char::@1 // case 0b0011: // return 0x6E; - // [2581] if(display_frame_char::mask#10==3) goto display_frame_char::@return -- vbuz1_eq_vbuc1_then_la1 + // [2580] if(display_frame_char::mask#10==3) goto display_frame_char::@return -- vbum1_eq_vbuc1_then_la1 // DR corner. lda #3 - cmp.z mask + cmp mask beq __b2 // display_frame_char::@2 // case 0b1100: // return 0x6D; - // [2582] if(display_frame_char::mask#10==$c) goto display_frame_char::@return -- vbuz1_eq_vbuc1_then_la1 + // [2581] if(display_frame_char::mask#10==$c) goto display_frame_char::@return -- vbum1_eq_vbuc1_then_la1 // DL corner. lda #$c - cmp.z mask + cmp mask beq __b3 // display_frame_char::@3 // case 0b1001: // return 0x7D; - // [2583] if(display_frame_char::mask#10==9) goto display_frame_char::@return -- vbuz1_eq_vbuc1_then_la1 + // [2582] if(display_frame_char::mask#10==9) goto display_frame_char::@return -- vbum1_eq_vbuc1_then_la1 // UR corner. lda #9 - cmp.z mask + cmp mask beq __b4 // display_frame_char::@4 // case 0b0101: // return 0x40; - // [2584] if(display_frame_char::mask#10==5) goto display_frame_char::@return -- vbuz1_eq_vbuc1_then_la1 + // [2583] if(display_frame_char::mask#10==5) goto display_frame_char::@return -- vbum1_eq_vbuc1_then_la1 // UL corner. lda #5 - cmp.z mask + cmp mask beq __b5 // display_frame_char::@5 // case 0b1010: // return 0x5D; - // [2585] if(display_frame_char::mask#10==$a) goto display_frame_char::@return -- vbuz1_eq_vbuc1_then_la1 + // [2584] if(display_frame_char::mask#10==$a) goto display_frame_char::@return -- vbum1_eq_vbuc1_then_la1 // HL line. lda #$a - cmp.z mask + cmp mask beq __b6 // display_frame_char::@6 // case 0b1110: // return 0x6B; - // [2586] if(display_frame_char::mask#10==$e) goto display_frame_char::@return -- vbuz1_eq_vbuc1_then_la1 + // [2585] if(display_frame_char::mask#10==$e) goto display_frame_char::@return -- vbum1_eq_vbuc1_then_la1 // VL line. lda #$e - cmp.z mask + cmp mask beq __b7 // display_frame_char::@7 // case 0b1011: // return 0x73; - // [2587] if(display_frame_char::mask#10==$b) goto display_frame_char::@return -- vbuz1_eq_vbuc1_then_la1 + // [2586] if(display_frame_char::mask#10==$b) goto display_frame_char::@return -- vbum1_eq_vbuc1_then_la1 // VR junction. lda #$b - cmp.z mask + cmp mask beq __b8 // display_frame_char::@8 // case 0b0111: // return 0x72; - // [2588] if(display_frame_char::mask#10==7) goto display_frame_char::@return -- vbuz1_eq_vbuc1_then_la1 + // [2587] if(display_frame_char::mask#10==7) goto display_frame_char::@return -- vbum1_eq_vbuc1_then_la1 // VL junction. lda #7 - cmp.z mask + cmp mask beq __b9 // display_frame_char::@9 // case 0b1101: // return 0x71; - // [2589] if(display_frame_char::mask#10==$d) goto display_frame_char::@return -- vbuz1_eq_vbuc1_then_la1 + // [2588] if(display_frame_char::mask#10==$d) goto display_frame_char::@return -- vbum1_eq_vbuc1_then_la1 // HD junction. lda #$d - cmp.z mask + cmp mask beq __b10 // display_frame_char::@10 // case 0b1111: // return 0x5B; - // [2590] if(display_frame_char::mask#10==$f) goto display_frame_char::@11 -- vbuz1_eq_vbuc1_then_la1 + // [2589] if(display_frame_char::mask#10==$f) goto display_frame_char::@11 -- vbum1_eq_vbuc1_then_la1 // HU junction. lda #$f - cmp.z mask + cmp mask beq __b11 - // [2592] phi from display_frame_char::@10 to display_frame_char::@return [phi:display_frame_char::@10->display_frame_char::@return] - // [2592] phi display_frame_char::return#12 = $20 [phi:display_frame_char::@10->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi from display_frame_char::@10 to display_frame_char::@return [phi:display_frame_char::@10->display_frame_char::@return] + // [2591] phi display_frame_char::return#12 = $20 [phi:display_frame_char::@10->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$20 sta.z return rts - // [2591] phi from display_frame_char::@10 to display_frame_char::@11 [phi:display_frame_char::@10->display_frame_char::@11] + // [2590] phi from display_frame_char::@10 to display_frame_char::@11 [phi:display_frame_char::@10->display_frame_char::@11] // display_frame_char::@11 __b11: - // [2592] phi from display_frame_char::@11 to display_frame_char::@return [phi:display_frame_char::@11->display_frame_char::@return] - // [2592] phi display_frame_char::return#12 = $5b [phi:display_frame_char::@11->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi from display_frame_char::@11 to display_frame_char::@return [phi:display_frame_char::@11->display_frame_char::@return] + // [2591] phi display_frame_char::return#12 = $5b [phi:display_frame_char::@11->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$5b sta.z return rts - // [2592] phi from display_frame_char to display_frame_char::@return [phi:display_frame_char->display_frame_char::@return] + // [2591] phi from display_frame_char to display_frame_char::@return [phi:display_frame_char->display_frame_char::@return] __b1: - // [2592] phi display_frame_char::return#12 = $70 [phi:display_frame_char->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi display_frame_char::return#12 = $70 [phi:display_frame_char->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$70 sta.z return rts - // [2592] phi from display_frame_char::@1 to display_frame_char::@return [phi:display_frame_char::@1->display_frame_char::@return] + // [2591] phi from display_frame_char::@1 to display_frame_char::@return [phi:display_frame_char::@1->display_frame_char::@return] __b2: - // [2592] phi display_frame_char::return#12 = $6e [phi:display_frame_char::@1->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi display_frame_char::return#12 = $6e [phi:display_frame_char::@1->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$6e sta.z return rts - // [2592] phi from display_frame_char::@2 to display_frame_char::@return [phi:display_frame_char::@2->display_frame_char::@return] + // [2591] phi from display_frame_char::@2 to display_frame_char::@return [phi:display_frame_char::@2->display_frame_char::@return] __b3: - // [2592] phi display_frame_char::return#12 = $6d [phi:display_frame_char::@2->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi display_frame_char::return#12 = $6d [phi:display_frame_char::@2->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$6d sta.z return rts - // [2592] phi from display_frame_char::@3 to display_frame_char::@return [phi:display_frame_char::@3->display_frame_char::@return] + // [2591] phi from display_frame_char::@3 to display_frame_char::@return [phi:display_frame_char::@3->display_frame_char::@return] __b4: - // [2592] phi display_frame_char::return#12 = $7d [phi:display_frame_char::@3->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi display_frame_char::return#12 = $7d [phi:display_frame_char::@3->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$7d sta.z return rts - // [2592] phi from display_frame_char::@4 to display_frame_char::@return [phi:display_frame_char::@4->display_frame_char::@return] + // [2591] phi from display_frame_char::@4 to display_frame_char::@return [phi:display_frame_char::@4->display_frame_char::@return] __b5: - // [2592] phi display_frame_char::return#12 = $40 [phi:display_frame_char::@4->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi display_frame_char::return#12 = $40 [phi:display_frame_char::@4->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$40 sta.z return rts - // [2592] phi from display_frame_char::@5 to display_frame_char::@return [phi:display_frame_char::@5->display_frame_char::@return] + // [2591] phi from display_frame_char::@5 to display_frame_char::@return [phi:display_frame_char::@5->display_frame_char::@return] __b6: - // [2592] phi display_frame_char::return#12 = $5d [phi:display_frame_char::@5->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi display_frame_char::return#12 = $5d [phi:display_frame_char::@5->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$5d sta.z return rts - // [2592] phi from display_frame_char::@6 to display_frame_char::@return [phi:display_frame_char::@6->display_frame_char::@return] + // [2591] phi from display_frame_char::@6 to display_frame_char::@return [phi:display_frame_char::@6->display_frame_char::@return] __b7: - // [2592] phi display_frame_char::return#12 = $6b [phi:display_frame_char::@6->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi display_frame_char::return#12 = $6b [phi:display_frame_char::@6->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$6b sta.z return rts - // [2592] phi from display_frame_char::@7 to display_frame_char::@return [phi:display_frame_char::@7->display_frame_char::@return] + // [2591] phi from display_frame_char::@7 to display_frame_char::@return [phi:display_frame_char::@7->display_frame_char::@return] __b8: - // [2592] phi display_frame_char::return#12 = $73 [phi:display_frame_char::@7->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi display_frame_char::return#12 = $73 [phi:display_frame_char::@7->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$73 sta.z return rts - // [2592] phi from display_frame_char::@8 to display_frame_char::@return [phi:display_frame_char::@8->display_frame_char::@return] + // [2591] phi from display_frame_char::@8 to display_frame_char::@return [phi:display_frame_char::@8->display_frame_char::@return] __b9: - // [2592] phi display_frame_char::return#12 = $72 [phi:display_frame_char::@8->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi display_frame_char::return#12 = $72 [phi:display_frame_char::@8->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$72 sta.z return rts - // [2592] phi from display_frame_char::@9 to display_frame_char::@return [phi:display_frame_char::@9->display_frame_char::@return] + // [2591] phi from display_frame_char::@9 to display_frame_char::@return [phi:display_frame_char::@9->display_frame_char::@return] __b10: - // [2592] phi display_frame_char::return#12 = $71 [phi:display_frame_char::@9->display_frame_char::@return#0] -- vbuz1=vbuc1 + // [2591] phi display_frame_char::return#12 = $71 [phi:display_frame_char::@9->display_frame_char::@return#0] -- vbuz1=vbuc1 lda #$71 sta.z return // display_frame_char::@return // } - // [2593] return + // [2592] return rts + .segment Data + .label mask = fopen.fopen__4 } +.segment Code // display_chip_led /** * @brief Print the colored led of a chip figure. @@ -17185,93 +17322,93 @@ display_frame_char: { * @param tc Fore color * @param bc Back color */ -// void display_chip_led(__zp($36) char x, char y, __zp($5c) char w, __zp($2c) char tc, char bc) +// void display_chip_led(__zp($5c) char x, char y, __zp($d5) char w, __zp($c5) char tc, char bc) display_chip_led: { - .label x = $36 - .label w = $5c - .label tc = $2c + .label x = $5c + .label w = $d5 + .label tc = $c5 // textcolor(tc) - // [2595] textcolor::color#11 = display_chip_led::tc#3 -- vbuz1=vbuz2 + // [2594] textcolor::color#11 = display_chip_led::tc#3 -- vbuz1=vbuz2 lda.z tc sta.z textcolor.color - // [2596] call textcolor - // [744] phi from display_chip_led to textcolor [phi:display_chip_led->textcolor] - // [744] phi textcolor::color#18 = textcolor::color#11 [phi:display_chip_led->textcolor#0] -- register_copy + // [2595] call textcolor + // [738] phi from display_chip_led to textcolor [phi:display_chip_led->textcolor] + // [738] phi textcolor::color#18 = textcolor::color#11 [phi:display_chip_led->textcolor#0] -- register_copy jsr textcolor - // [2597] phi from display_chip_led to display_chip_led::@3 [phi:display_chip_led->display_chip_led::@3] + // [2596] phi from display_chip_led to display_chip_led::@3 [phi:display_chip_led->display_chip_led::@3] // display_chip_led::@3 // bgcolor(bc) - // [2598] call bgcolor - // [749] phi from display_chip_led::@3 to bgcolor [phi:display_chip_led::@3->bgcolor] - // [749] phi bgcolor::color#14 = BLUE [phi:display_chip_led::@3->bgcolor#0] -- vbuz1=vbuc1 + // [2597] call bgcolor + // [743] phi from display_chip_led::@3 to bgcolor [phi:display_chip_led::@3->bgcolor] + // [743] phi bgcolor::color#14 = BLUE [phi:display_chip_led::@3->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor - // [2599] phi from display_chip_led::@3 display_chip_led::@5 to display_chip_led::@1 [phi:display_chip_led::@3/display_chip_led::@5->display_chip_led::@1] - // [2599] phi display_chip_led::w#4 = display_chip_led::w#7 [phi:display_chip_led::@3/display_chip_led::@5->display_chip_led::@1#0] -- register_copy - // [2599] phi display_chip_led::x#4 = display_chip_led::x#7 [phi:display_chip_led::@3/display_chip_led::@5->display_chip_led::@1#1] -- register_copy + // [2598] phi from display_chip_led::@3 display_chip_led::@5 to display_chip_led::@1 [phi:display_chip_led::@3/display_chip_led::@5->display_chip_led::@1] + // [2598] phi display_chip_led::w#4 = display_chip_led::w#7 [phi:display_chip_led::@3/display_chip_led::@5->display_chip_led::@1#0] -- register_copy + // [2598] phi display_chip_led::x#4 = display_chip_led::x#7 [phi:display_chip_led::@3/display_chip_led::@5->display_chip_led::@1#1] -- register_copy // display_chip_led::@1 __b1: // cputcxy(x, y, 0x6F) - // [2600] cputcxy::x#9 = display_chip_led::x#4 -- vbuz1=vbuz2 + // [2599] cputcxy::x#9 = display_chip_led::x#4 -- vbuz1=vbuz2 lda.z x sta.z cputcxy.x - // [2601] call cputcxy - // [2040] phi from display_chip_led::@1 to cputcxy [phi:display_chip_led::@1->cputcxy] - // [2040] phi cputcxy::c#15 = $6f [phi:display_chip_led::@1->cputcxy#0] -- vbuz1=vbuc1 + // [2600] call cputcxy + // [2039] phi from display_chip_led::@1 to cputcxy [phi:display_chip_led::@1->cputcxy] + // [2039] phi cputcxy::c#15 = $6f [phi:display_chip_led::@1->cputcxy#0] -- vbuz1=vbuc1 lda #$6f sta.z cputcxy.c - // [2040] phi cputcxy::y#15 = 3 [phi:display_chip_led::@1->cputcxy#1] -- vbuz1=vbuc1 + // [2039] phi cputcxy::y#15 = 3 [phi:display_chip_led::@1->cputcxy#1] -- vbuz1=vbuc1 lda #3 sta.z cputcxy.y - // [2040] phi cputcxy::x#15 = cputcxy::x#9 [phi:display_chip_led::@1->cputcxy#2] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#9 [phi:display_chip_led::@1->cputcxy#2] -- register_copy jsr cputcxy // display_chip_led::@4 // cputcxy(x, y+1, 0x77) - // [2602] cputcxy::x#10 = display_chip_led::x#4 -- vbuz1=vbuz2 + // [2601] cputcxy::x#10 = display_chip_led::x#4 -- vbuz1=vbuz2 lda.z x sta.z cputcxy.x - // [2603] call cputcxy - // [2040] phi from display_chip_led::@4 to cputcxy [phi:display_chip_led::@4->cputcxy] - // [2040] phi cputcxy::c#15 = $77 [phi:display_chip_led::@4->cputcxy#0] -- vbuz1=vbuc1 + // [2602] call cputcxy + // [2039] phi from display_chip_led::@4 to cputcxy [phi:display_chip_led::@4->cputcxy] + // [2039] phi cputcxy::c#15 = $77 [phi:display_chip_led::@4->cputcxy#0] -- vbuz1=vbuc1 lda #$77 sta.z cputcxy.c - // [2040] phi cputcxy::y#15 = 3+1 [phi:display_chip_led::@4->cputcxy#1] -- vbuz1=vbuc1 + // [2039] phi cputcxy::y#15 = 3+1 [phi:display_chip_led::@4->cputcxy#1] -- vbuz1=vbuc1 lda #3+1 sta.z cputcxy.y - // [2040] phi cputcxy::x#15 = cputcxy::x#10 [phi:display_chip_led::@4->cputcxy#2] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#10 [phi:display_chip_led::@4->cputcxy#2] -- register_copy jsr cputcxy // display_chip_led::@5 // x++; - // [2604] display_chip_led::x#0 = ++ display_chip_led::x#4 -- vbuz1=_inc_vbuz1 + // [2603] display_chip_led::x#0 = ++ display_chip_led::x#4 -- vbuz1=_inc_vbuz1 inc.z x // while(--w) - // [2605] display_chip_led::w#0 = -- display_chip_led::w#4 -- vbuz1=_dec_vbuz1 + // [2604] display_chip_led::w#0 = -- display_chip_led::w#4 -- vbuz1=_dec_vbuz1 dec.z w - // [2606] if(0!=display_chip_led::w#0) goto display_chip_led::@1 -- 0_neq_vbuz1_then_la1 + // [2605] if(0!=display_chip_led::w#0) goto display_chip_led::@1 -- 0_neq_vbuz1_then_la1 lda.z w bne __b1 - // [2607] phi from display_chip_led::@5 to display_chip_led::@2 [phi:display_chip_led::@5->display_chip_led::@2] + // [2606] phi from display_chip_led::@5 to display_chip_led::@2 [phi:display_chip_led::@5->display_chip_led::@2] // display_chip_led::@2 // textcolor(WHITE) - // [2608] call textcolor - // [744] phi from display_chip_led::@2 to textcolor [phi:display_chip_led::@2->textcolor] - // [744] phi textcolor::color#18 = WHITE [phi:display_chip_led::@2->textcolor#0] -- vbuz1=vbuc1 + // [2607] call textcolor + // [738] phi from display_chip_led::@2 to textcolor [phi:display_chip_led::@2->textcolor] + // [738] phi textcolor::color#18 = WHITE [phi:display_chip_led::@2->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [2609] phi from display_chip_led::@2 to display_chip_led::@6 [phi:display_chip_led::@2->display_chip_led::@6] + // [2608] phi from display_chip_led::@2 to display_chip_led::@6 [phi:display_chip_led::@2->display_chip_led::@6] // display_chip_led::@6 // bgcolor(BLUE) - // [2610] call bgcolor - // [749] phi from display_chip_led::@6 to bgcolor [phi:display_chip_led::@6->bgcolor] - // [749] phi bgcolor::color#14 = BLUE [phi:display_chip_led::@6->bgcolor#0] -- vbuz1=vbuc1 + // [2609] call bgcolor + // [743] phi from display_chip_led::@6 to bgcolor [phi:display_chip_led::@6->bgcolor] + // [743] phi bgcolor::color#14 = BLUE [phi:display_chip_led::@6->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor // display_chip_led::@return // } - // [2611] return + // [2610] return rts } // display_chip_line @@ -17283,160 +17420,160 @@ display_chip_led: { * @param w Width * @param c Fore color */ -// void display_chip_line(__zp($2c) char x, __zp($f3) char y, __zp($6d) char w, __zp($e4) char c) +// void display_chip_line(__zp($c5) char x, __zp($ef) char y, __zp($d6) char w, __zp($d3) char c) display_chip_line: { - .label i = $69 - .label x = $2c - .label w = $6d - .label c = $e4 - .label y = $f3 + .label i = $c2 + .label x = $c5 + .label w = $d6 + .label c = $d3 + .label y = $ef // gotoxy(x, y) - // [2613] gotoxy::x#7 = display_chip_line::x#16 -- vbuz1=vbuz2 + // [2612] gotoxy::x#7 = display_chip_line::x#16 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [2614] gotoxy::y#7 = display_chip_line::y#16 -- vbuz1=vbuz2 + // [2613] gotoxy::y#7 = display_chip_line::y#16 -- vbuz1=vbuz2 lda.z y sta.z gotoxy.y - // [2615] call gotoxy - // [762] phi from display_chip_line to gotoxy [phi:display_chip_line->gotoxy] - // [762] phi gotoxy::y#30 = gotoxy::y#7 [phi:display_chip_line->gotoxy#0] -- register_copy - // [762] phi gotoxy::x#30 = gotoxy::x#7 [phi:display_chip_line->gotoxy#1] -- register_copy + // [2614] call gotoxy + // [756] phi from display_chip_line to gotoxy [phi:display_chip_line->gotoxy] + // [756] phi gotoxy::y#30 = gotoxy::y#7 [phi:display_chip_line->gotoxy#0] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#7 [phi:display_chip_line->gotoxy#1] -- register_copy jsr gotoxy - // [2616] phi from display_chip_line to display_chip_line::@4 [phi:display_chip_line->display_chip_line::@4] + // [2615] phi from display_chip_line to display_chip_line::@4 [phi:display_chip_line->display_chip_line::@4] // display_chip_line::@4 // textcolor(GREY) - // [2617] call textcolor - // [744] phi from display_chip_line::@4 to textcolor [phi:display_chip_line::@4->textcolor] - // [744] phi textcolor::color#18 = GREY [phi:display_chip_line::@4->textcolor#0] -- vbuz1=vbuc1 + // [2616] call textcolor + // [738] phi from display_chip_line::@4 to textcolor [phi:display_chip_line::@4->textcolor] + // [738] phi textcolor::color#18 = GREY [phi:display_chip_line::@4->textcolor#0] -- vbuz1=vbuc1 lda #GREY sta.z textcolor.color jsr textcolor - // [2618] phi from display_chip_line::@4 to display_chip_line::@5 [phi:display_chip_line::@4->display_chip_line::@5] + // [2617] phi from display_chip_line::@4 to display_chip_line::@5 [phi:display_chip_line::@4->display_chip_line::@5] // display_chip_line::@5 // bgcolor(BLUE) - // [2619] call bgcolor - // [749] phi from display_chip_line::@5 to bgcolor [phi:display_chip_line::@5->bgcolor] - // [749] phi bgcolor::color#14 = BLUE [phi:display_chip_line::@5->bgcolor#0] -- vbuz1=vbuc1 + // [2618] call bgcolor + // [743] phi from display_chip_line::@5 to bgcolor [phi:display_chip_line::@5->bgcolor] + // [743] phi bgcolor::color#14 = BLUE [phi:display_chip_line::@5->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor // display_chip_line::@6 // cputc(VERA_CHR_UR) - // [2620] stackpush(char) = $7c -- _stackpushbyte_=vbuc1 + // [2619] stackpush(char) = $7c -- _stackpushbyte_=vbuc1 lda #$7c pha - // [2621] callexecute cputc -- call_vprc1 + // [2620] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // textcolor(WHITE) - // [2623] call textcolor - // [744] phi from display_chip_line::@6 to textcolor [phi:display_chip_line::@6->textcolor] - // [744] phi textcolor::color#18 = WHITE [phi:display_chip_line::@6->textcolor#0] -- vbuz1=vbuc1 + // [2622] call textcolor + // [738] phi from display_chip_line::@6 to textcolor [phi:display_chip_line::@6->textcolor] + // [738] phi textcolor::color#18 = WHITE [phi:display_chip_line::@6->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [2624] phi from display_chip_line::@6 to display_chip_line::@7 [phi:display_chip_line::@6->display_chip_line::@7] + // [2623] phi from display_chip_line::@6 to display_chip_line::@7 [phi:display_chip_line::@6->display_chip_line::@7] // display_chip_line::@7 // bgcolor(BLACK) - // [2625] call bgcolor - // [749] phi from display_chip_line::@7 to bgcolor [phi:display_chip_line::@7->bgcolor] - // [749] phi bgcolor::color#14 = BLACK [phi:display_chip_line::@7->bgcolor#0] -- vbuz1=vbuc1 + // [2624] call bgcolor + // [743] phi from display_chip_line::@7 to bgcolor [phi:display_chip_line::@7->bgcolor] + // [743] phi bgcolor::color#14 = BLACK [phi:display_chip_line::@7->bgcolor#0] -- vbuz1=vbuc1 lda #BLACK sta.z bgcolor.color jsr bgcolor - // [2626] phi from display_chip_line::@7 to display_chip_line::@1 [phi:display_chip_line::@7->display_chip_line::@1] - // [2626] phi display_chip_line::i#2 = 0 [phi:display_chip_line::@7->display_chip_line::@1#0] -- vbuz1=vbuc1 + // [2625] phi from display_chip_line::@7 to display_chip_line::@1 [phi:display_chip_line::@7->display_chip_line::@1] + // [2625] phi display_chip_line::i#2 = 0 [phi:display_chip_line::@7->display_chip_line::@1#0] -- vbuz1=vbuc1 lda #0 sta.z i // display_chip_line::@1 __b1: // for(char i=0; idisplay_chip_line::@3] + // [2627] phi from display_chip_line::@1 to display_chip_line::@3 [phi:display_chip_line::@1->display_chip_line::@3] // display_chip_line::@3 // textcolor(GREY) - // [2629] call textcolor - // [744] phi from display_chip_line::@3 to textcolor [phi:display_chip_line::@3->textcolor] - // [744] phi textcolor::color#18 = GREY [phi:display_chip_line::@3->textcolor#0] -- vbuz1=vbuc1 + // [2628] call textcolor + // [738] phi from display_chip_line::@3 to textcolor [phi:display_chip_line::@3->textcolor] + // [738] phi textcolor::color#18 = GREY [phi:display_chip_line::@3->textcolor#0] -- vbuz1=vbuc1 lda #GREY sta.z textcolor.color jsr textcolor - // [2630] phi from display_chip_line::@3 to display_chip_line::@8 [phi:display_chip_line::@3->display_chip_line::@8] + // [2629] phi from display_chip_line::@3 to display_chip_line::@8 [phi:display_chip_line::@3->display_chip_line::@8] // display_chip_line::@8 // bgcolor(BLUE) - // [2631] call bgcolor - // [749] phi from display_chip_line::@8 to bgcolor [phi:display_chip_line::@8->bgcolor] - // [749] phi bgcolor::color#14 = BLUE [phi:display_chip_line::@8->bgcolor#0] -- vbuz1=vbuc1 + // [2630] call bgcolor + // [743] phi from display_chip_line::@8 to bgcolor [phi:display_chip_line::@8->bgcolor] + // [743] phi bgcolor::color#14 = BLUE [phi:display_chip_line::@8->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor // display_chip_line::@9 // cputc(VERA_CHR_UL) - // [2632] stackpush(char) = $7e -- _stackpushbyte_=vbuc1 + // [2631] stackpush(char) = $7e -- _stackpushbyte_=vbuc1 lda #$7e pha - // [2633] callexecute cputc -- call_vprc1 + // [2632] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // textcolor(WHITE) - // [2635] call textcolor - // [744] phi from display_chip_line::@9 to textcolor [phi:display_chip_line::@9->textcolor] - // [744] phi textcolor::color#18 = WHITE [phi:display_chip_line::@9->textcolor#0] -- vbuz1=vbuc1 + // [2634] call textcolor + // [738] phi from display_chip_line::@9 to textcolor [phi:display_chip_line::@9->textcolor] + // [738] phi textcolor::color#18 = WHITE [phi:display_chip_line::@9->textcolor#0] -- vbuz1=vbuc1 lda #WHITE sta.z textcolor.color jsr textcolor - // [2636] phi from display_chip_line::@9 to display_chip_line::@10 [phi:display_chip_line::@9->display_chip_line::@10] + // [2635] phi from display_chip_line::@9 to display_chip_line::@10 [phi:display_chip_line::@9->display_chip_line::@10] // display_chip_line::@10 // bgcolor(BLACK) - // [2637] call bgcolor - // [749] phi from display_chip_line::@10 to bgcolor [phi:display_chip_line::@10->bgcolor] - // [749] phi bgcolor::color#14 = BLACK [phi:display_chip_line::@10->bgcolor#0] -- vbuz1=vbuc1 + // [2636] call bgcolor + // [743] phi from display_chip_line::@10 to bgcolor [phi:display_chip_line::@10->bgcolor] + // [743] phi bgcolor::color#14 = BLACK [phi:display_chip_line::@10->bgcolor#0] -- vbuz1=vbuc1 lda #BLACK sta.z bgcolor.color jsr bgcolor // display_chip_line::@11 // cputcxy(x+2, y, c) - // [2638] cputcxy::x#8 = display_chip_line::x#16 + 2 -- vbuz1=vbuz2_plus_2 + // [2637] cputcxy::x#8 = display_chip_line::x#16 + 2 -- vbuz1=vbuz2_plus_2 lda.z x clc adc #2 sta.z cputcxy.x - // [2639] cputcxy::y#8 = display_chip_line::y#16 -- vbuz1=vbuz2 + // [2638] cputcxy::y#8 = display_chip_line::y#16 -- vbuz1=vbuz2 lda.z y sta.z cputcxy.y - // [2640] cputcxy::c#8 = display_chip_line::c#15 -- vbuz1=vbuz2 + // [2639] cputcxy::c#8 = display_chip_line::c#15 -- vbuz1=vbuz2 lda.z c sta.z cputcxy.c - // [2641] call cputcxy - // [2040] phi from display_chip_line::@11 to cputcxy [phi:display_chip_line::@11->cputcxy] - // [2040] phi cputcxy::c#15 = cputcxy::c#8 [phi:display_chip_line::@11->cputcxy#0] -- register_copy - // [2040] phi cputcxy::y#15 = cputcxy::y#8 [phi:display_chip_line::@11->cputcxy#1] -- register_copy - // [2040] phi cputcxy::x#15 = cputcxy::x#8 [phi:display_chip_line::@11->cputcxy#2] -- register_copy + // [2640] call cputcxy + // [2039] phi from display_chip_line::@11 to cputcxy [phi:display_chip_line::@11->cputcxy] + // [2039] phi cputcxy::c#15 = cputcxy::c#8 [phi:display_chip_line::@11->cputcxy#0] -- register_copy + // [2039] phi cputcxy::y#15 = cputcxy::y#8 [phi:display_chip_line::@11->cputcxy#1] -- register_copy + // [2039] phi cputcxy::x#15 = cputcxy::x#8 [phi:display_chip_line::@11->cputcxy#2] -- register_copy jsr cputcxy // display_chip_line::@return // } - // [2642] return + // [2641] return rts // display_chip_line::@2 __b2: // cputc(VERA_CHR_SPACE) - // [2643] stackpush(char) = $20 -- _stackpushbyte_=vbuc1 + // [2642] stackpush(char) = $20 -- _stackpushbyte_=vbuc1 lda #$20 pha - // [2644] callexecute cputc -- call_vprc1 + // [2643] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // for(char i=0; idisplay_chip_line::@1] - // [2626] phi display_chip_line::i#2 = display_chip_line::i#1 [phi:display_chip_line::@2->display_chip_line::@1#0] -- register_copy + // [2625] phi from display_chip_line::@2 to display_chip_line::@1 [phi:display_chip_line::@2->display_chip_line::@1] + // [2625] phi display_chip_line::i#2 = display_chip_line::i#1 [phi:display_chip_line::@2->display_chip_line::@1#0] -- register_copy jmp __b1 } // display_chip_end @@ -17447,185 +17584,122 @@ display_chip_line: { * @param y Start Y * @param w Width */ -// void display_chip_end(__zp($bc) char x, char y, __zp($5d) char w) +// void display_chip_end(__zp($df) char x, char y, __zp($2c) char w) display_chip_end: { - .label i = $bd - .label x = $bc - .label w = $5d + .label i = $36 + .label x = $df + .label w = $2c // gotoxy(x, y) - // [2647] gotoxy::x#8 = display_chip_end::x#0 -- vbuz1=vbuz2 + // [2646] gotoxy::x#8 = display_chip_end::x#0 -- vbuz1=vbuz2 lda.z x sta.z gotoxy.x - // [2648] call gotoxy - // [762] phi from display_chip_end to gotoxy [phi:display_chip_end->gotoxy] - // [762] phi gotoxy::y#30 = display_print_chip::y#21 [phi:display_chip_end->gotoxy#0] -- vbuz1=vbuc1 + // [2647] call gotoxy + // [756] phi from display_chip_end to gotoxy [phi:display_chip_end->gotoxy] + // [756] phi gotoxy::y#30 = display_print_chip::y#21 [phi:display_chip_end->gotoxy#0] -- vbuz1=vbuc1 lda #display_print_chip.y sta.z gotoxy.y - // [762] phi gotoxy::x#30 = gotoxy::x#8 [phi:display_chip_end->gotoxy#1] -- register_copy + // [756] phi gotoxy::x#30 = gotoxy::x#8 [phi:display_chip_end->gotoxy#1] -- register_copy jsr gotoxy - // [2649] phi from display_chip_end to display_chip_end::@4 [phi:display_chip_end->display_chip_end::@4] + // [2648] phi from display_chip_end to display_chip_end::@4 [phi:display_chip_end->display_chip_end::@4] // display_chip_end::@4 // textcolor(GREY) - // [2650] call textcolor - // [744] phi from display_chip_end::@4 to textcolor [phi:display_chip_end::@4->textcolor] - // [744] phi textcolor::color#18 = GREY [phi:display_chip_end::@4->textcolor#0] -- vbuz1=vbuc1 + // [2649] call textcolor + // [738] phi from display_chip_end::@4 to textcolor [phi:display_chip_end::@4->textcolor] + // [738] phi textcolor::color#18 = GREY [phi:display_chip_end::@4->textcolor#0] -- vbuz1=vbuc1 lda #GREY sta.z textcolor.color jsr textcolor - // [2651] phi from display_chip_end::@4 to display_chip_end::@5 [phi:display_chip_end::@4->display_chip_end::@5] + // [2650] phi from display_chip_end::@4 to display_chip_end::@5 [phi:display_chip_end::@4->display_chip_end::@5] // display_chip_end::@5 // bgcolor(BLUE) - // [2652] call bgcolor - // [749] phi from display_chip_end::@5 to bgcolor [phi:display_chip_end::@5->bgcolor] - // [749] phi bgcolor::color#14 = BLUE [phi:display_chip_end::@5->bgcolor#0] -- vbuz1=vbuc1 + // [2651] call bgcolor + // [743] phi from display_chip_end::@5 to bgcolor [phi:display_chip_end::@5->bgcolor] + // [743] phi bgcolor::color#14 = BLUE [phi:display_chip_end::@5->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor // display_chip_end::@6 // cputc(VERA_CHR_UR) - // [2653] stackpush(char) = $7c -- _stackpushbyte_=vbuc1 + // [2652] stackpush(char) = $7c -- _stackpushbyte_=vbuc1 lda #$7c pha - // [2654] callexecute cputc -- call_vprc1 + // [2653] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // textcolor(BLUE) - // [2656] call textcolor - // [744] phi from display_chip_end::@6 to textcolor [phi:display_chip_end::@6->textcolor] - // [744] phi textcolor::color#18 = BLUE [phi:display_chip_end::@6->textcolor#0] -- vbuz1=vbuc1 + // [2655] call textcolor + // [738] phi from display_chip_end::@6 to textcolor [phi:display_chip_end::@6->textcolor] + // [738] phi textcolor::color#18 = BLUE [phi:display_chip_end::@6->textcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z textcolor.color jsr textcolor - // [2657] phi from display_chip_end::@6 to display_chip_end::@7 [phi:display_chip_end::@6->display_chip_end::@7] + // [2656] phi from display_chip_end::@6 to display_chip_end::@7 [phi:display_chip_end::@6->display_chip_end::@7] // display_chip_end::@7 // bgcolor(BLACK) - // [2658] call bgcolor - // [749] phi from display_chip_end::@7 to bgcolor [phi:display_chip_end::@7->bgcolor] - // [749] phi bgcolor::color#14 = BLACK [phi:display_chip_end::@7->bgcolor#0] -- vbuz1=vbuc1 + // [2657] call bgcolor + // [743] phi from display_chip_end::@7 to bgcolor [phi:display_chip_end::@7->bgcolor] + // [743] phi bgcolor::color#14 = BLACK [phi:display_chip_end::@7->bgcolor#0] -- vbuz1=vbuc1 lda #BLACK sta.z bgcolor.color jsr bgcolor - // [2659] phi from display_chip_end::@7 to display_chip_end::@1 [phi:display_chip_end::@7->display_chip_end::@1] - // [2659] phi display_chip_end::i#2 = 0 [phi:display_chip_end::@7->display_chip_end::@1#0] -- vbuz1=vbuc1 + // [2658] phi from display_chip_end::@7 to display_chip_end::@1 [phi:display_chip_end::@7->display_chip_end::@1] + // [2658] phi display_chip_end::i#2 = 0 [phi:display_chip_end::@7->display_chip_end::@1#0] -- vbuz1=vbuc1 lda #0 sta.z i // display_chip_end::@1 __b1: // for(char i=0; idisplay_chip_end::@3] + // [2660] phi from display_chip_end::@1 to display_chip_end::@3 [phi:display_chip_end::@1->display_chip_end::@3] // display_chip_end::@3 // textcolor(GREY) - // [2662] call textcolor - // [744] phi from display_chip_end::@3 to textcolor [phi:display_chip_end::@3->textcolor] - // [744] phi textcolor::color#18 = GREY [phi:display_chip_end::@3->textcolor#0] -- vbuz1=vbuc1 + // [2661] call textcolor + // [738] phi from display_chip_end::@3 to textcolor [phi:display_chip_end::@3->textcolor] + // [738] phi textcolor::color#18 = GREY [phi:display_chip_end::@3->textcolor#0] -- vbuz1=vbuc1 lda #GREY sta.z textcolor.color jsr textcolor - // [2663] phi from display_chip_end::@3 to display_chip_end::@8 [phi:display_chip_end::@3->display_chip_end::@8] + // [2662] phi from display_chip_end::@3 to display_chip_end::@8 [phi:display_chip_end::@3->display_chip_end::@8] // display_chip_end::@8 // bgcolor(BLUE) - // [2664] call bgcolor - // [749] phi from display_chip_end::@8 to bgcolor [phi:display_chip_end::@8->bgcolor] - // [749] phi bgcolor::color#14 = BLUE [phi:display_chip_end::@8->bgcolor#0] -- vbuz1=vbuc1 + // [2663] call bgcolor + // [743] phi from display_chip_end::@8 to bgcolor [phi:display_chip_end::@8->bgcolor] + // [743] phi bgcolor::color#14 = BLUE [phi:display_chip_end::@8->bgcolor#0] -- vbuz1=vbuc1 lda #BLUE sta.z bgcolor.color jsr bgcolor // display_chip_end::@9 // cputc(VERA_CHR_UL) - // [2665] stackpush(char) = $7e -- _stackpushbyte_=vbuc1 + // [2664] stackpush(char) = $7e -- _stackpushbyte_=vbuc1 lda #$7e pha - // [2666] callexecute cputc -- call_vprc1 + // [2665] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // display_chip_end::@return // } - // [2668] return + // [2667] return rts // display_chip_end::@2 __b2: // cputc(VERA_CHR_HL) - // [2669] stackpush(char) = $62 -- _stackpushbyte_=vbuc1 + // [2668] stackpush(char) = $62 -- _stackpushbyte_=vbuc1 lda #$62 pha - // [2670] callexecute cputc -- call_vprc1 + // [2669] callexecute cputc -- call_vprc1 jsr cputc // sideeffect stackpullpadding(1) -- _stackpullpadding_1 pla // for(char i=0; idisplay_chip_end::@1] - // [2659] phi display_chip_end::i#2 = display_chip_end::i#1 [phi:display_chip_end::@2->display_chip_end::@1#0] -- register_copy - jmp __b1 -} - // utoa_append -// Used to convert a single digit of an unsigned number value to a string representation -// Counts a single digit up from '0' as long as the value is larger than sub. -// Each time the digit is increased sub is subtracted from value. -// - buffer : pointer to the char that receives the digit -// - value : The value where the digit will be derived from -// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased. -// (For decimal the subs used are 10000, 1000, 100, 10, 1) -// returns : the value reduced by sub * digit so that it is less than sub. -// __zp($2d) unsigned int utoa_append(__zp($76) char *buffer, __zp($2d) unsigned int value, __zp($44) unsigned int sub) -utoa_append: { - .label buffer = $76 - .label value = $2d - .label sub = $44 - .label return = $2d - .label digit = $36 - // [2674] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1] - // [2674] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuz1=vbuc1 - lda #0 - sta.z digit - // [2674] phi utoa_append::value#2 = utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy - // utoa_append::@1 - __b1: - // while (value >= sub) - // [2675] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1 - lda.z sub+1 - cmp.z value+1 - bne !+ - lda.z sub - cmp.z value - beq __b2 - !: - bcc __b2 - // utoa_append::@3 - // *buffer = DIGITS[digit] - // [2676] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 - ldy.z digit - lda DIGITS,y - ldy #0 - sta (buffer),y - // utoa_append::@return - // } - // [2677] return - rts - // utoa_append::@2 - __b2: - // digit++; - // [2678] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuz1=_inc_vbuz1 - inc.z digit - // value -= sub - // [2679] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 -- vwuz1=vwuz1_minus_vwuz2 - lda.z value - sec - sbc.z sub - sta.z value - lda.z value+1 - sbc.z sub+1 - sta.z value+1 - // [2674] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1] - // [2674] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy - // [2674] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy + // [2658] phi from display_chip_end::@2 to display_chip_end::@1 [phi:display_chip_end::@2->display_chip_end::@1] + // [2658] phi display_chip_end::i#2 = display_chip_end::i#1 [phi:display_chip_end::@2->display_chip_end::@1#0] -- register_copy jmp __b1 } // rom_write_byte @@ -17652,37 +17726,37 @@ rom_write_byte: { .label value = $5c // rom_write_byte::rom_bank1 // BYTE2(address) - // [2681] rom_write_byte::rom_bank1_$0 = byte2 rom_write_byte::address#4 -- vbuz1=_byte2_vduz2 + // [2673] rom_write_byte::rom_bank1_$0 = byte2 rom_write_byte::address#4 -- vbuz1=_byte2_vduz2 lda.z address+2 sta.z rom_bank1_rom_write_byte__0 // BYTE1(address) - // [2682] rom_write_byte::rom_bank1_$1 = byte1 rom_write_byte::address#4 -- vbuz1=_byte1_vduz2 + // [2674] rom_write_byte::rom_bank1_$1 = byte1 rom_write_byte::address#4 -- vbuz1=_byte1_vduz2 lda.z address+1 sta.z rom_bank1_rom_write_byte__1 // MAKEWORD(BYTE2(address),BYTE1(address)) - // [2683] rom_write_byte::rom_bank1_$2 = rom_write_byte::rom_bank1_$0 w= rom_write_byte::rom_bank1_$1 -- vwuz1=vbuz2_word_vbuz3 + // [2675] rom_write_byte::rom_bank1_$2 = rom_write_byte::rom_bank1_$0 w= rom_write_byte::rom_bank1_$1 -- vwuz1=vbuz2_word_vbuz3 lda.z rom_bank1_rom_write_byte__0 sta.z rom_bank1_rom_write_byte__2+1 lda.z rom_bank1_rom_write_byte__1 sta.z rom_bank1_rom_write_byte__2 // unsigned int bank_unshifted = MAKEWORD(BYTE2(address),BYTE1(address)) << 2 - // [2684] rom_write_byte::rom_bank1_bank_unshifted#0 = rom_write_byte::rom_bank1_$2 << 2 -- vwuz1=vwuz1_rol_2 + // [2676] rom_write_byte::rom_bank1_bank_unshifted#0 = rom_write_byte::rom_bank1_$2 << 2 -- vwuz1=vwuz1_rol_2 asl.z rom_bank1_bank_unshifted rol.z rom_bank1_bank_unshifted+1 asl.z rom_bank1_bank_unshifted rol.z rom_bank1_bank_unshifted+1 // unsigned char bank = BYTE1(bank_unshifted) - // [2685] rom_write_byte::rom_bank1_return#0 = byte1 rom_write_byte::rom_bank1_bank_unshifted#0 -- vbuz1=_byte1_vwuz2 + // [2677] rom_write_byte::rom_bank1_return#0 = byte1 rom_write_byte::rom_bank1_bank_unshifted#0 -- vbuz1=_byte1_vwuz2 lda.z rom_bank1_bank_unshifted+1 sta.z rom_bank1_return // rom_write_byte::rom_ptr1 // (unsigned int)(address) & ROM_PTR_MASK - // [2686] rom_write_byte::rom_ptr1_$2 = (unsigned int)rom_write_byte::address#4 -- vwuz1=_word_vduz2 + // [2678] rom_write_byte::rom_ptr1_$2 = (unsigned int)rom_write_byte::address#4 -- vwuz1=_word_vduz2 lda.z address sta.z rom_ptr1_rom_write_byte__2 lda.z address+1 sta.z rom_ptr1_rom_write_byte__2+1 - // [2687] rom_write_byte::rom_ptr1_$0 = rom_write_byte::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 + // [2679] rom_write_byte::rom_ptr1_$0 = rom_write_byte::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 lda.z rom_ptr1_rom_write_byte__0 and #<$3fff sta.z rom_ptr1_rom_write_byte__0 @@ -17690,7 +17764,7 @@ rom_write_byte: { and #>$3fff sta.z rom_ptr1_rom_write_byte__0+1 // ((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE - // [2688] rom_write_byte::rom_ptr1_return#0 = rom_write_byte::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 + // [2680] rom_write_byte::rom_ptr1_return#0 = rom_write_byte::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 lda.z rom_ptr1_return clc adc #<$c000 @@ -17700,18 +17774,18 @@ rom_write_byte: { sta.z rom_ptr1_return+1 // rom_write_byte::bank_set_brom1 // BROM = bank - // [2689] BROM = rom_write_byte::rom_bank1_return#0 -- vbuz1=vbuz2 + // [2681] BROM = rom_write_byte::rom_bank1_return#0 -- vbuz1=vbuz2 lda.z rom_bank1_return sta.z BROM // rom_write_byte::@1 // *ptr_rom = value - // [2690] *((char *)rom_write_byte::rom_ptr1_return#0) = rom_write_byte::value#10 -- _deref_pbuz1=vbuz2 + // [2682] *((char *)rom_write_byte::rom_ptr1_return#0) = rom_write_byte::value#10 -- _deref_pbuz1=vbuz2 lda.z value ldy #0 sta (rom_ptr1_return),y // rom_write_byte::@return // } - // [2691] return + // [2683] return rts } // cbm_k_setlfs @@ -17732,7 +17806,7 @@ cbm_k_setlfs: { jsr CBM_SETLFS // cbm_k_setlfs::@return // } - // [2693] return + // [2685] return rts .segment Data channel: .byte 0 @@ -17750,62 +17824,61 @@ cbm_k_setlfs: { * @param stream FILE* stream. * @return int Contains a non-zero value if there is an error. */ -// __mem() int ferror(__zp($64) struct $2 *stream) +// __mem() int ferror(__zp($d7) struct $2 *stream) ferror: { .label ferror__6 = $38 - .label ferror__15 = $6d + .label ferror__15 = $ef .label cbm_k_setnam1_ferror__0 = $55 - .label cbm_k_readst1_status = $fa - .label cbm_k_chrin2_ch = $fb - .label stream = $64 - .label sp = $2c - .label cbm_k_chrin1_return = $6d - .label ch = $6d + .label cbm_k_readst1_status = $fb + .label stream = $d7 + .label sp = $5d + .label cbm_k_chrin1_return = $ef + .label ch = $ef .label cbm_k_readst1_return = $38 .label st = $38 - .label errno_len = $e4 - .label cbm_k_chrin2_return = $6d - .label errno_parsed = $f3 + .label errno_len = $d6 + .label cbm_k_chrin2_return = $ef + .label errno_parsed = $d5 // unsigned char sp = (unsigned char)stream - // [2694] ferror::sp#0 = (char)ferror::stream#0 -- vbuz1=_byte_pssz2 + // [2686] ferror::sp#0 = (char)ferror::stream#0 -- vbuz1=_byte_pssz2 lda.z stream sta.z sp // cbm_k_setlfs(15, 8, 15) - // [2695] cbm_k_setlfs::channel = $f -- vbum1=vbuc1 + // [2687] cbm_k_setlfs::channel = $f -- vbum1=vbuc1 lda #$f sta cbm_k_setlfs.channel - // [2696] cbm_k_setlfs::device = 8 -- vbum1=vbuc1 + // [2688] cbm_k_setlfs::device = 8 -- vbum1=vbuc1 lda #8 sta cbm_k_setlfs.device - // [2697] cbm_k_setlfs::command = $f -- vbum1=vbuc1 + // [2689] cbm_k_setlfs::command = $f -- vbum1=vbuc1 lda #$f sta cbm_k_setlfs.command - // [2698] call cbm_k_setlfs + // [2690] call cbm_k_setlfs jsr cbm_k_setlfs // ferror::@11 // cbm_k_setnam("") - // [2699] ferror::cbm_k_setnam1_filename = info_text4 -- pbum1=pbuc1 + // [2691] ferror::cbm_k_setnam1_filename = info_text4 -- pbum1=pbuc1 lda #info_text4 sta cbm_k_setnam1_filename+1 // ferror::cbm_k_setnam1 // strlen(filename) - // [2700] strlen::str#5 = ferror::cbm_k_setnam1_filename -- pbuz1=pbum2 + // [2692] strlen::str#5 = ferror::cbm_k_setnam1_filename -- pbuz1=pbum2 lda cbm_k_setnam1_filename sta.z strlen.str lda cbm_k_setnam1_filename+1 sta.z strlen.str+1 - // [2701] call strlen - // [2377] phi from ferror::cbm_k_setnam1 to strlen [phi:ferror::cbm_k_setnam1->strlen] - // [2377] phi strlen::str#8 = strlen::str#5 [phi:ferror::cbm_k_setnam1->strlen#0] -- register_copy + // [2693] call strlen + // [2315] phi from ferror::cbm_k_setnam1 to strlen [phi:ferror::cbm_k_setnam1->strlen] + // [2315] phi strlen::str#8 = strlen::str#5 [phi:ferror::cbm_k_setnam1->strlen#0] -- register_copy jsr strlen // strlen(filename) - // [2702] strlen::return#12 = strlen::len#2 + // [2694] strlen::return#12 = strlen::len#2 // ferror::@12 - // [2703] ferror::cbm_k_setnam1_$0 = strlen::return#12 + // [2695] ferror::cbm_k_setnam1_$0 = strlen::return#12 // char filename_len = (char)strlen(filename) - // [2704] ferror::cbm_k_setnam1_filename_len = (char)ferror::cbm_k_setnam1_$0 -- vbum1=_byte_vwuz2 + // [2696] ferror::cbm_k_setnam1_filename_len = (char)ferror::cbm_k_setnam1_$0 -- vbum1=_byte_vwuz2 lda.z cbm_k_setnam1_ferror__0 sta cbm_k_setnam1_filename_len // asm @@ -17818,12 +17891,12 @@ ferror: { jsr CBM_OPEN // ferror::@6 // cbm_k_chkin(15) - // [2707] ferror::cbm_k_chkin1_channel = $f -- vbum1=vbuc1 + // [2699] ferror::cbm_k_chkin1_channel = $f -- vbum1=vbuc1 lda #$f sta cbm_k_chkin1_channel // ferror::cbm_k_chkin1 // char status - // [2708] ferror::cbm_k_chkin1_status = 0 -- vbum1=vbuc1 + // [2700] ferror::cbm_k_chkin1_status = 0 -- vbum1=vbuc1 lda #0 sta cbm_k_chkin1_status // asm @@ -17833,7 +17906,7 @@ ferror: { sta cbm_k_chkin1_status // ferror::cbm_k_chrin1 // char ch - // [2710] ferror::cbm_k_chrin1_ch = 0 -- vbum1=vbuc1 + // [2702] ferror::cbm_k_chrin1_ch = 0 -- vbum1=vbuc1 lda #0 sta cbm_k_chrin1_ch // asm @@ -17841,26 +17914,26 @@ ferror: { jsr CBM_CHRIN sta cbm_k_chrin1_ch // return ch; - // [2712] ferror::cbm_k_chrin1_return#0 = ferror::cbm_k_chrin1_ch -- vbuz1=vbum2 + // [2704] ferror::cbm_k_chrin1_return#0 = ferror::cbm_k_chrin1_ch -- vbuz1=vbum2 sta.z cbm_k_chrin1_return // ferror::cbm_k_chrin1_@return // } - // [2713] ferror::cbm_k_chrin1_return#1 = ferror::cbm_k_chrin1_return#0 + // [2705] ferror::cbm_k_chrin1_return#1 = ferror::cbm_k_chrin1_return#0 // ferror::@7 // char ch = cbm_k_chrin() - // [2714] ferror::ch#0 = ferror::cbm_k_chrin1_return#1 - // [2715] phi from ferror::@7 to ferror::cbm_k_readst1 [phi:ferror::@7->ferror::cbm_k_readst1] - // [2715] phi __errno#18 = __errno#318 [phi:ferror::@7->ferror::cbm_k_readst1#0] -- register_copy - // [2715] phi ferror::errno_len#10 = 0 [phi:ferror::@7->ferror::cbm_k_readst1#1] -- vbuz1=vbuc1 + // [2706] ferror::ch#0 = ferror::cbm_k_chrin1_return#1 + // [2707] phi from ferror::@7 to ferror::cbm_k_readst1 [phi:ferror::@7->ferror::cbm_k_readst1] + // [2707] phi __errno#18 = __errno#318 [phi:ferror::@7->ferror::cbm_k_readst1#0] -- register_copy + // [2707] phi ferror::errno_len#10 = 0 [phi:ferror::@7->ferror::cbm_k_readst1#1] -- vbuz1=vbuc1 lda #0 sta.z errno_len - // [2715] phi ferror::ch#10 = ferror::ch#0 [phi:ferror::@7->ferror::cbm_k_readst1#2] -- register_copy - // [2715] phi ferror::errno_parsed#2 = 0 [phi:ferror::@7->ferror::cbm_k_readst1#3] -- vbuz1=vbuc1 + // [2707] phi ferror::ch#10 = ferror::ch#0 [phi:ferror::@7->ferror::cbm_k_readst1#2] -- register_copy + // [2707] phi ferror::errno_parsed#2 = 0 [phi:ferror::@7->ferror::cbm_k_readst1#3] -- vbuz1=vbuc1 sta.z errno_parsed // ferror::cbm_k_readst1 cbm_k_readst1: // char status - // [2716] ferror::cbm_k_readst1_status = 0 -- vbuz1=vbuc1 + // [2708] ferror::cbm_k_readst1_status = 0 -- vbuz1=vbuc1 lda #0 sta.z cbm_k_readst1_status // asm @@ -17868,27 +17941,27 @@ ferror: { jsr CBM_READST sta cbm_k_readst1_status // return status; - // [2718] ferror::cbm_k_readst1_return#0 = ferror::cbm_k_readst1_status -- vbuz1=vbuz2 + // [2710] ferror::cbm_k_readst1_return#0 = ferror::cbm_k_readst1_status -- vbuz1=vbuz2 sta.z cbm_k_readst1_return // ferror::cbm_k_readst1_@return // } - // [2719] ferror::cbm_k_readst1_return#1 = ferror::cbm_k_readst1_return#0 + // [2711] ferror::cbm_k_readst1_return#1 = ferror::cbm_k_readst1_return#0 // ferror::@8 // cbm_k_readst() - // [2720] ferror::$6 = ferror::cbm_k_readst1_return#1 + // [2712] ferror::$6 = ferror::cbm_k_readst1_return#1 // st = cbm_k_readst() - // [2721] ferror::st#1 = ferror::$6 + // [2713] ferror::st#1 = ferror::$6 // while (!(st = cbm_k_readst())) - // [2722] if(0==ferror::st#1) goto ferror::@1 -- 0_eq_vbuz1_then_la1 + // [2714] if(0==ferror::st#1) goto ferror::@1 -- 0_eq_vbuz1_then_la1 lda.z st beq __b1 // ferror::@2 // __status = st - // [2723] ((char *)&__stdio_file+$46)[ferror::sp#0] = ferror::st#1 -- pbuc1_derefidx_vbuz1=vbuz2 + // [2715] ((char *)&__stdio_file+$46)[ferror::sp#0] = ferror::st#1 -- pbuc1_derefidx_vbuz1=vbuz2 ldy.z sp sta __stdio_file+$46,y // cbm_k_close(15) - // [2724] ferror::cbm_k_close1_channel = $f -- vbum1=vbuc1 + // [2716] ferror::cbm_k_close1_channel = $f -- vbum1=vbuc1 lda #$f sta cbm_k_close1_channel // ferror::cbm_k_close1 @@ -17897,33 +17970,33 @@ ferror: { jsr CBM_CLOSE // ferror::@9 // return __errno; - // [2726] ferror::return#1 = __errno#18 -- vwsm1=vwsz2 + // [2718] ferror::return#1 = __errno#18 -- vwsm1=vwsz2 lda.z __errno sta return lda.z __errno+1 sta return+1 // ferror::@return // } - // [2727] return + // [2719] return rts // ferror::@1 __b1: // if (!errno_parsed) - // [2728] if(0!=ferror::errno_parsed#2) goto ferror::@3 -- 0_neq_vbuz1_then_la1 + // [2720] if(0!=ferror::errno_parsed#2) goto ferror::@3 -- 0_neq_vbuz1_then_la1 lda.z errno_parsed bne __b3 // ferror::@4 // if (ch == ',') - // [2729] if(ferror::ch#10!=',') goto ferror::@3 -- vbuz1_neq_vbuc1_then_la1 + // [2721] if(ferror::ch#10!=',') goto ferror::@3 -- vbuz1_neq_vbuc1_then_la1 lda #',' cmp.z ch bne __b3 // ferror::@5 // errno_parsed++; - // [2730] ferror::errno_parsed#1 = ++ ferror::errno_parsed#2 -- vbuz1=_inc_vbuz1 + // [2722] ferror::errno_parsed#1 = ++ ferror::errno_parsed#2 -- vbuz1=_inc_vbuz1 inc.z errno_parsed // strncpy(temp, __errno_error, errno_len+1) - // [2731] strncpy::n#0 = ferror::errno_len#10 + 1 -- vwuz1=vbuz2_plus_1 + // [2723] strncpy::n#0 = ferror::errno_len#10 + 1 -- vwuz1=vbuz2_plus_1 lda.z errno_len clc adc #1 @@ -17931,78 +18004,78 @@ ferror: { lda #0 adc #0 sta.z strncpy.n+1 - // [2732] call strncpy - // [2509] phi from ferror::@5 to strncpy [phi:ferror::@5->strncpy] - // [2509] phi strncpy::dst#8 = ferror::temp [phi:ferror::@5->strncpy#0] -- pbuz1=pbuc1 + // [2724] call strncpy + // [2478] phi from ferror::@5 to strncpy [phi:ferror::@5->strncpy] + // [2478] phi strncpy::dst#8 = ferror::temp [phi:ferror::@5->strncpy#0] -- pbuz1=pbuc1 lda #temp sta.z strncpy.dst+1 - // [2509] phi strncpy::src#6 = __errno_error [phi:ferror::@5->strncpy#1] -- pbuz1=pbuc1 + // [2478] phi strncpy::src#6 = __errno_error [phi:ferror::@5->strncpy#1] -- pbuz1=pbuc1 lda #<__errno_error sta.z strncpy.src lda #>__errno_error sta.z strncpy.src+1 - // [2509] phi strncpy::n#3 = strncpy::n#0 [phi:ferror::@5->strncpy#2] -- register_copy + // [2478] phi strncpy::n#3 = strncpy::n#0 [phi:ferror::@5->strncpy#2] -- register_copy jsr strncpy - // [2733] phi from ferror::@5 to ferror::@13 [phi:ferror::@5->ferror::@13] + // [2725] phi from ferror::@5 to ferror::@13 [phi:ferror::@5->ferror::@13] // ferror::@13 // atoi(temp) - // [2734] call atoi - // [2746] phi from ferror::@13 to atoi [phi:ferror::@13->atoi] - // [2746] phi atoi::str#2 = ferror::temp [phi:ferror::@13->atoi#0] -- pbuz1=pbuc1 + // [2726] call atoi + // [2738] phi from ferror::@13 to atoi [phi:ferror::@13->atoi] + // [2738] phi atoi::str#2 = ferror::temp [phi:ferror::@13->atoi#0] -- pbuz1=pbuc1 lda #temp sta.z atoi.str+1 jsr atoi // atoi(temp) - // [2735] atoi::return#4 = atoi::return#2 + // [2727] atoi::return#4 = atoi::return#2 // ferror::@14 // __errno = atoi(temp) - // [2736] __errno#2 = atoi::return#4 -- vwsz1=vwsz2 + // [2728] __errno#2 = atoi::return#4 -- vwsz1=vwsz2 lda.z atoi.return sta.z __errno lda.z atoi.return+1 sta.z __errno+1 - // [2737] phi from ferror::@1 ferror::@14 ferror::@4 to ferror::@3 [phi:ferror::@1/ferror::@14/ferror::@4->ferror::@3] - // [2737] phi __errno#105 = __errno#18 [phi:ferror::@1/ferror::@14/ferror::@4->ferror::@3#0] -- register_copy - // [2737] phi ferror::errno_parsed#11 = ferror::errno_parsed#2 [phi:ferror::@1/ferror::@14/ferror::@4->ferror::@3#1] -- register_copy + // [2729] phi from ferror::@1 ferror::@14 ferror::@4 to ferror::@3 [phi:ferror::@1/ferror::@14/ferror::@4->ferror::@3] + // [2729] phi __errno#105 = __errno#18 [phi:ferror::@1/ferror::@14/ferror::@4->ferror::@3#0] -- register_copy + // [2729] phi ferror::errno_parsed#11 = ferror::errno_parsed#2 [phi:ferror::@1/ferror::@14/ferror::@4->ferror::@3#1] -- register_copy // ferror::@3 __b3: // __errno_error[errno_len] = ch - // [2738] __errno_error[ferror::errno_len#10] = ferror::ch#10 -- pbuc1_derefidx_vbuz1=vbuz2 + // [2730] __errno_error[ferror::errno_len#10] = ferror::ch#10 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z ch ldy.z errno_len sta __errno_error,y // errno_len++; - // [2739] ferror::errno_len#1 = ++ ferror::errno_len#10 -- vbuz1=_inc_vbuz1 + // [2731] ferror::errno_len#1 = ++ ferror::errno_len#10 -- vbuz1=_inc_vbuz1 inc.z errno_len // ferror::cbm_k_chrin2 // char ch - // [2740] ferror::cbm_k_chrin2_ch = 0 -- vbuz1=vbuc1 + // [2732] ferror::cbm_k_chrin2_ch = 0 -- vbum1=vbuc1 lda #0 - sta.z cbm_k_chrin2_ch + sta cbm_k_chrin2_ch // asm // asm { jsrCBM_CHRIN stach } jsr CBM_CHRIN sta cbm_k_chrin2_ch // return ch; - // [2742] ferror::cbm_k_chrin2_return#0 = ferror::cbm_k_chrin2_ch -- vbuz1=vbuz2 + // [2734] ferror::cbm_k_chrin2_return#0 = ferror::cbm_k_chrin2_ch -- vbuz1=vbum2 sta.z cbm_k_chrin2_return // ferror::cbm_k_chrin2_@return // } - // [2743] ferror::cbm_k_chrin2_return#1 = ferror::cbm_k_chrin2_return#0 + // [2735] ferror::cbm_k_chrin2_return#1 = ferror::cbm_k_chrin2_return#0 // ferror::@10 // cbm_k_chrin() - // [2744] ferror::$15 = ferror::cbm_k_chrin2_return#1 + // [2736] ferror::$15 = ferror::cbm_k_chrin2_return#1 // ch = cbm_k_chrin() - // [2745] ferror::ch#1 = ferror::$15 - // [2715] phi from ferror::@10 to ferror::cbm_k_readst1 [phi:ferror::@10->ferror::cbm_k_readst1] - // [2715] phi __errno#18 = __errno#105 [phi:ferror::@10->ferror::cbm_k_readst1#0] -- register_copy - // [2715] phi ferror::errno_len#10 = ferror::errno_len#1 [phi:ferror::@10->ferror::cbm_k_readst1#1] -- register_copy - // [2715] phi ferror::ch#10 = ferror::ch#1 [phi:ferror::@10->ferror::cbm_k_readst1#2] -- register_copy - // [2715] phi ferror::errno_parsed#2 = ferror::errno_parsed#11 [phi:ferror::@10->ferror::cbm_k_readst1#3] -- register_copy + // [2737] ferror::ch#1 = ferror::$15 + // [2707] phi from ferror::@10 to ferror::cbm_k_readst1 [phi:ferror::@10->ferror::cbm_k_readst1] + // [2707] phi __errno#18 = __errno#105 [phi:ferror::@10->ferror::cbm_k_readst1#0] -- register_copy + // [2707] phi ferror::errno_len#10 = ferror::errno_len#1 [phi:ferror::@10->ferror::cbm_k_readst1#1] -- register_copy + // [2707] phi ferror::ch#10 = ferror::ch#1 [phi:ferror::@10->ferror::cbm_k_readst1#2] -- register_copy + // [2707] phi ferror::errno_parsed#2 = ferror::errno_parsed#11 [phi:ferror::@10->ferror::cbm_k_readst1#3] -- register_copy jmp cbm_k_readst1 .segment Data temp: .fill 4, 0 @@ -18012,65 +18085,66 @@ ferror: { cbm_k_chkin1_status: .byte 0 cbm_k_chrin1_ch: .byte 0 cbm_k_close1_channel: .byte 0 + cbm_k_chrin2_ch: .byte 0 return: .word 0 } .segment Code // atoi // Converts the string argument str to an integer. -// __zp($ca) int atoi(__zp($d9) const char *str) +// __zp($64) int atoi(__zp($db) const char *str) atoi: { - .label atoi__6 = $ca - .label atoi__7 = $ca - .label res = $ca + .label atoi__6 = $64 + .label atoi__7 = $64 + .label res = $64 // Initialize sign as positive - .label i = $69 - .label return = $ca - .label str = $d9 + .label i = $d3 + .label return = $64 + .label str = $db // Initialize result - .label negative = $bd + .label negative = $c2 .label atoi__10 = $4d - .label atoi__11 = $ca + .label atoi__11 = $64 // if (str[i] == '-') - // [2747] if(*atoi::str#2!='-') goto atoi::@3 -- _deref_pbuz1_neq_vbuc1_then_la1 + // [2739] if(*atoi::str#2!='-') goto atoi::@3 -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'-' bne __b2 - // [2748] phi from atoi to atoi::@2 [phi:atoi->atoi::@2] + // [2740] phi from atoi to atoi::@2 [phi:atoi->atoi::@2] // atoi::@2 - // [2749] phi from atoi::@2 to atoi::@3 [phi:atoi::@2->atoi::@3] - // [2749] phi atoi::negative#2 = 1 [phi:atoi::@2->atoi::@3#0] -- vbuz1=vbuc1 + // [2741] phi from atoi::@2 to atoi::@3 [phi:atoi::@2->atoi::@3] + // [2741] phi atoi::negative#2 = 1 [phi:atoi::@2->atoi::@3#0] -- vbuz1=vbuc1 lda #1 sta.z negative - // [2749] phi atoi::res#2 = 0 [phi:atoi::@2->atoi::@3#1] -- vwsz1=vwsc1 + // [2741] phi atoi::res#2 = 0 [phi:atoi::@2->atoi::@3#1] -- vwsz1=vwsc1 tya sta.z res sta.z res+1 - // [2749] phi atoi::i#4 = 1 [phi:atoi::@2->atoi::@3#2] -- vbuz1=vbuc1 + // [2741] phi atoi::i#4 = 1 [phi:atoi::@2->atoi::@3#2] -- vbuz1=vbuc1 lda #1 sta.z i jmp __b3 // Iterate through all digits and update the result - // [2749] phi from atoi to atoi::@3 [phi:atoi->atoi::@3] + // [2741] phi from atoi to atoi::@3 [phi:atoi->atoi::@3] __b2: - // [2749] phi atoi::negative#2 = 0 [phi:atoi->atoi::@3#0] -- vbuz1=vbuc1 + // [2741] phi atoi::negative#2 = 0 [phi:atoi->atoi::@3#0] -- vbuz1=vbuc1 lda #0 sta.z negative - // [2749] phi atoi::res#2 = 0 [phi:atoi->atoi::@3#1] -- vwsz1=vwsc1 + // [2741] phi atoi::res#2 = 0 [phi:atoi->atoi::@3#1] -- vwsz1=vwsc1 sta.z res sta.z res+1 - // [2749] phi atoi::i#4 = 0 [phi:atoi->atoi::@3#2] -- vbuz1=vbuc1 + // [2741] phi atoi::i#4 = 0 [phi:atoi->atoi::@3#2] -- vbuz1=vbuc1 sta.z i // atoi::@3 __b3: // for (; str[i]>='0' && str[i]<='9'; ++i) - // [2750] if(atoi::str#2[atoi::i#4]<'0') goto atoi::@5 -- pbuz1_derefidx_vbuz2_lt_vbuc1_then_la1 + // [2742] if(atoi::str#2[atoi::i#4]<'0') goto atoi::@5 -- pbuz1_derefidx_vbuz2_lt_vbuc1_then_la1 ldy.z i lda (str),y cmp #'0' bcc __b5 // atoi::@6 - // [2751] if(atoi::str#2[atoi::i#4]<='9') goto atoi::@4 -- pbuz1_derefidx_vbuz2_le_vbuc1_then_la1 + // [2743] if(atoi::str#2[atoi::i#4]<='9') goto atoi::@4 -- pbuz1_derefidx_vbuz2_le_vbuc1_then_la1 lda (str),y cmp #'9' bcc __b4 @@ -18078,17 +18152,17 @@ atoi: { // atoi::@5 __b5: // if(negative) - // [2752] if(0!=atoi::negative#2) goto atoi::@1 -- 0_neq_vbuz1_then_la1 + // [2744] if(0!=atoi::negative#2) goto atoi::@1 -- 0_neq_vbuz1_then_la1 // Return result with sign lda.z negative bne __b1 - // [2754] phi from atoi::@1 atoi::@5 to atoi::@return [phi:atoi::@1/atoi::@5->atoi::@return] - // [2754] phi atoi::return#2 = atoi::return#0 [phi:atoi::@1/atoi::@5->atoi::@return#0] -- register_copy + // [2746] phi from atoi::@1 atoi::@5 to atoi::@return [phi:atoi::@1/atoi::@5->atoi::@return] + // [2746] phi atoi::return#2 = atoi::return#0 [phi:atoi::@1/atoi::@5->atoi::@return#0] -- register_copy rts // atoi::@1 __b1: // return -res; - // [2753] atoi::return#0 = - atoi::res#2 -- vwsz1=_neg_vwsz1 + // [2745] atoi::return#0 = - atoi::res#2 -- vwsz1=_neg_vwsz1 lda #0 sec sbc.z return @@ -18098,12 +18172,12 @@ atoi: { sta.z return+1 // atoi::@return // } - // [2755] return + // [2747] return rts // atoi::@4 __b4: // res * 10 - // [2756] atoi::$10 = atoi::res#2 << 2 -- vwsz1=vwsz2_rol_2 + // [2748] atoi::$10 = atoi::res#2 << 2 -- vwsz1=vwsz2_rol_2 lda.z res asl sta.z atoi__10 @@ -18112,7 +18186,7 @@ atoi: { sta.z atoi__10+1 asl.z atoi__10 rol.z atoi__10+1 - // [2757] atoi::$11 = atoi::$10 + atoi::res#2 -- vwsz1=vwsz2_plus_vwsz1 + // [2749] atoi::$11 = atoi::$10 + atoi::res#2 -- vwsz1=vwsz2_plus_vwsz1 clc lda.z atoi__11 adc.z atoi__10 @@ -18120,11 +18194,11 @@ atoi: { lda.z atoi__11+1 adc.z atoi__10+1 sta.z atoi__11+1 - // [2758] atoi::$6 = atoi::$11 << 1 -- vwsz1=vwsz1_rol_1 + // [2750] atoi::$6 = atoi::$11 << 1 -- vwsz1=vwsz1_rol_1 asl.z atoi__6 rol.z atoi__6+1 // res * 10 + str[i] - // [2759] atoi::$7 = atoi::$6 + atoi::str#2[atoi::i#4] -- vwsz1=vwsz1_plus_pbuz2_derefidx_vbuz3 + // [2751] atoi::$7 = atoi::$6 + atoi::str#2[atoi::i#4] -- vwsz1=vwsz1_plus_pbuz2_derefidx_vbuz3 ldy.z i lda.z atoi__7 clc @@ -18134,7 +18208,7 @@ atoi: { inc.z atoi__7+1 !: // res = res * 10 + str[i] - '0' - // [2760] atoi::res#1 = atoi::$7 - '0' -- vwsz1=vwsz1_minus_vbuc1 + // [2752] atoi::res#1 = atoi::$7 - '0' -- vwsz1=vwsz1_minus_vbuc1 lda.z res sec sbc #'0' @@ -18143,12 +18217,12 @@ atoi: { dec.z res+1 !: // for (; str[i]>='0' && str[i]<='9'; ++i) - // [2761] atoi::i#2 = ++ atoi::i#4 -- vbuz1=_inc_vbuz1 + // [2753] atoi::i#2 = ++ atoi::i#4 -- vbuz1=_inc_vbuz1 inc.z i - // [2749] phi from atoi::@4 to atoi::@3 [phi:atoi::@4->atoi::@3] - // [2749] phi atoi::negative#2 = atoi::negative#2 [phi:atoi::@4->atoi::@3#0] -- register_copy - // [2749] phi atoi::res#2 = atoi::res#1 [phi:atoi::@4->atoi::@3#1] -- register_copy - // [2749] phi atoi::i#4 = atoi::i#2 [phi:atoi::@4->atoi::@3#2] -- register_copy + // [2741] phi from atoi::@4 to atoi::@3 [phi:atoi::@4->atoi::@3] + // [2741] phi atoi::negative#2 = atoi::negative#2 [phi:atoi::@4->atoi::@3#0] -- register_copy + // [2741] phi atoi::res#2 = atoi::res#1 [phi:atoi::@4->atoi::@3#1] -- register_copy + // [2741] phi atoi::i#4 = atoi::i#2 [phi:atoi::@4->atoi::@3#2] -- register_copy jmp __b3 } // cx16_k_macptr @@ -18160,14 +18234,14 @@ atoi: { * @return y the size of bytes read * @return if carry is set there is an error */ -// __zp($a9) unsigned int cx16_k_macptr(__zp($d1) volatile char bytes, __zp($cc) void * volatile buffer) +// __zp($7c) unsigned int cx16_k_macptr(__zp($d0) volatile char bytes, __zp($cb) void * volatile buffer) cx16_k_macptr: { - .label bytes = $d1 - .label buffer = $cc + .label bytes = $d0 + .label buffer = $cb .label bytes_read = $b8 - .label return = $a9 + .label return = $7c // unsigned int bytes_read - // [2762] cx16_k_macptr::bytes_read = 0 -- vwuz1=vwuc1 + // [2754] cx16_k_macptr::bytes_read = 0 -- vwuz1=vwuc1 lda #<0 sta.z bytes_read sta.z bytes_read+1 @@ -18186,15 +18260,15 @@ cx16_k_macptr: { sta bytes_read+1 !: // return bytes_read; - // [2764] cx16_k_macptr::return#0 = cx16_k_macptr::bytes_read -- vwuz1=vwuz2 + // [2756] cx16_k_macptr::return#0 = cx16_k_macptr::bytes_read -- vwuz1=vwuz2 lda.z bytes_read sta.z return lda.z bytes_read+1 sta.z return+1 // cx16_k_macptr::@return // } - // [2765] cx16_k_macptr::return#1 = cx16_k_macptr::return#0 - // [2766] return + // [2757] cx16_k_macptr::return#1 = cx16_k_macptr::return#0 + // [2758] return rts } // uctoa_append @@ -18206,50 +18280,50 @@ cx16_k_macptr: { // - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased. // (For decimal the subs used are 10000, 1000, 100, 10, 1) // returns : the value reduced by sub * digit so that it is less than sub. -// __zp($2f) char uctoa_append(__zp($74) char *buffer, __zp($2f) char value, __zp($43) char sub) +// __zp($2f) char uctoa_append(__zp($74) char *buffer, __zp($2f) char value, __zp($45) char sub) uctoa_append: { .label buffer = $74 .label value = $2f - .label sub = $43 + .label sub = $45 .label return = $2f - .label digit = $35 - // [2768] phi from uctoa_append to uctoa_append::@1 [phi:uctoa_append->uctoa_append::@1] - // [2768] phi uctoa_append::digit#2 = 0 [phi:uctoa_append->uctoa_append::@1#0] -- vbuz1=vbuc1 + .label digit = $36 + // [2760] phi from uctoa_append to uctoa_append::@1 [phi:uctoa_append->uctoa_append::@1] + // [2760] phi uctoa_append::digit#2 = 0 [phi:uctoa_append->uctoa_append::@1#0] -- vbuz1=vbuc1 lda #0 sta.z digit - // [2768] phi uctoa_append::value#2 = uctoa_append::value#0 [phi:uctoa_append->uctoa_append::@1#1] -- register_copy + // [2760] phi uctoa_append::value#2 = uctoa_append::value#0 [phi:uctoa_append->uctoa_append::@1#1] -- register_copy // uctoa_append::@1 __b1: // while (value >= sub) - // [2769] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2 -- vbuz1_ge_vbuz2_then_la1 + // [2761] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z value cmp.z sub bcs __b2 // uctoa_append::@3 // *buffer = DIGITS[digit] - // [2770] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + // [2762] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy.z digit lda DIGITS,y ldy #0 sta (buffer),y // uctoa_append::@return // } - // [2771] return + // [2763] return rts // uctoa_append::@2 __b2: // digit++; - // [2772] uctoa_append::digit#1 = ++ uctoa_append::digit#2 -- vbuz1=_inc_vbuz1 + // [2764] uctoa_append::digit#1 = ++ uctoa_append::digit#2 -- vbuz1=_inc_vbuz1 inc.z digit // value -= sub - // [2773] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 -- vbuz1=vbuz1_minus_vbuz2 + // [2765] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 -- vbuz1=vbuz1_minus_vbuz2 lda.z value sec sbc.z sub sta.z value - // [2768] phi from uctoa_append::@2 to uctoa_append::@1 [phi:uctoa_append::@2->uctoa_append::@1] - // [2768] phi uctoa_append::digit#2 = uctoa_append::digit#1 [phi:uctoa_append::@2->uctoa_append::@1#0] -- register_copy - // [2768] phi uctoa_append::value#2 = uctoa_append::value#1 [phi:uctoa_append::@2->uctoa_append::@1#1] -- register_copy + // [2760] phi from uctoa_append::@2 to uctoa_append::@1 [phi:uctoa_append::@2->uctoa_append::@1] + // [2760] phi uctoa_append::digit#2 = uctoa_append::digit#1 [phi:uctoa_append::@2->uctoa_append::@1#0] -- register_copy + // [2760] phi uctoa_append::value#2 = uctoa_append::value#1 [phi:uctoa_append::@2->uctoa_append::@1#1] -- register_copy jmp __b1 } // rom_byte_compare @@ -18262,33 +18336,33 @@ uctoa_append: { * @param address The 22 bit ROM address. * @param value The byte value to be written. */ -// __zp($35) char rom_byte_compare(__zp($79) char *ptr_rom, __zp($78) char value) +// __zp($35) char rom_byte_compare(__zp($76) char *ptr_rom, __zp($66) char value) rom_byte_compare: { .label return = $35 - .label ptr_rom = $79 - .label value = $78 + .label ptr_rom = $76 + .label value = $66 // if (*ptr_rom != value) - // [2774] if(*rom_byte_compare::ptr_rom#0==rom_byte_compare::value#0) goto rom_byte_compare::@1 -- _deref_pbuz1_eq_vbuz2_then_la1 + // [2766] if(*rom_byte_compare::ptr_rom#0==rom_byte_compare::value#0) goto rom_byte_compare::@1 -- _deref_pbuz1_eq_vbuz2_then_la1 lda.z value ldy #0 cmp (ptr_rom),y beq __b2 - // [2775] phi from rom_byte_compare to rom_byte_compare::@2 [phi:rom_byte_compare->rom_byte_compare::@2] + // [2767] phi from rom_byte_compare to rom_byte_compare::@2 [phi:rom_byte_compare->rom_byte_compare::@2] // rom_byte_compare::@2 - // [2776] phi from rom_byte_compare::@2 to rom_byte_compare::@1 [phi:rom_byte_compare::@2->rom_byte_compare::@1] - // [2776] phi rom_byte_compare::return#0 = 0 [phi:rom_byte_compare::@2->rom_byte_compare::@1#0] -- vbuz1=vbuc1 + // [2768] phi from rom_byte_compare::@2 to rom_byte_compare::@1 [phi:rom_byte_compare::@2->rom_byte_compare::@1] + // [2768] phi rom_byte_compare::return#0 = 0 [phi:rom_byte_compare::@2->rom_byte_compare::@1#0] -- vbuz1=vbuc1 tya sta.z return rts - // [2776] phi from rom_byte_compare to rom_byte_compare::@1 [phi:rom_byte_compare->rom_byte_compare::@1] + // [2768] phi from rom_byte_compare to rom_byte_compare::@1 [phi:rom_byte_compare->rom_byte_compare::@1] __b2: - // [2776] phi rom_byte_compare::return#0 = 1 [phi:rom_byte_compare->rom_byte_compare::@1#0] -- vbuz1=vbuc1 + // [2768] phi rom_byte_compare::return#0 = 1 [phi:rom_byte_compare->rom_byte_compare::@1#0] -- vbuz1=vbuc1 lda #1 sta.z return // rom_byte_compare::@1 // rom_byte_compare::@return // } - // [2777] return + // [2769] return rts } // ultoa_append @@ -18300,22 +18374,22 @@ rom_byte_compare: { // - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased. // (For decimal the subs used are 10000, 1000, 100, 10, 1) // returns : the value reduced by sub * digit so that it is less than sub. -// __zp($30) unsigned long ultoa_append(__zp($4f) char *buffer, __zp($30) unsigned long value, __zp($3f) unsigned long sub) +// __zp($30) unsigned long ultoa_append(__zp($3f) char *buffer, __zp($30) unsigned long value, __zp($41) unsigned long sub) ultoa_append: { - .label buffer = $4f + .label buffer = $3f .label value = $30 - .label sub = $3f + .label sub = $41 .label return = $30 - .label digit = $37 - // [2779] phi from ultoa_append to ultoa_append::@1 [phi:ultoa_append->ultoa_append::@1] - // [2779] phi ultoa_append::digit#2 = 0 [phi:ultoa_append->ultoa_append::@1#0] -- vbuz1=vbuc1 + .label digit = $35 + // [2771] phi from ultoa_append to ultoa_append::@1 [phi:ultoa_append->ultoa_append::@1] + // [2771] phi ultoa_append::digit#2 = 0 [phi:ultoa_append->ultoa_append::@1#0] -- vbuz1=vbuc1 lda #0 sta.z digit - // [2779] phi ultoa_append::value#2 = ultoa_append::value#0 [phi:ultoa_append->ultoa_append::@1#1] -- register_copy + // [2771] phi ultoa_append::value#2 = ultoa_append::value#0 [phi:ultoa_append->ultoa_append::@1#1] -- register_copy // ultoa_append::@1 __b1: // while (value >= sub) - // [2780] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 -- vduz1_ge_vduz2_then_la1 + // [2772] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 -- vduz1_ge_vduz2_then_la1 lda.z value+3 cmp.z sub+3 bcc !+ @@ -18334,22 +18408,22 @@ ultoa_append: { !: // ultoa_append::@3 // *buffer = DIGITS[digit] - // [2781] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + // [2773] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy.z digit lda DIGITS,y ldy #0 sta (buffer),y // ultoa_append::@return // } - // [2782] return + // [2774] return rts // ultoa_append::@2 __b2: // digit++; - // [2783] ultoa_append::digit#1 = ++ ultoa_append::digit#2 -- vbuz1=_inc_vbuz1 + // [2775] ultoa_append::digit#1 = ++ ultoa_append::digit#2 -- vbuz1=_inc_vbuz1 inc.z digit // value -= sub - // [2784] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 -- vduz1=vduz1_minus_vduz2 + // [2776] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 -- vduz1=vduz1_minus_vduz2 lda.z value sec sbc.z sub @@ -18363,9 +18437,9 @@ ultoa_append: { lda.z value+3 sbc.z sub+3 sta.z value+3 - // [2779] phi from ultoa_append::@2 to ultoa_append::@1 [phi:ultoa_append::@2->ultoa_append::@1] - // [2779] phi ultoa_append::digit#2 = ultoa_append::digit#1 [phi:ultoa_append::@2->ultoa_append::@1#0] -- register_copy - // [2779] phi ultoa_append::value#2 = ultoa_append::value#1 [phi:ultoa_append::@2->ultoa_append::@1#1] -- register_copy + // [2771] phi from ultoa_append::@2 to ultoa_append::@1 [phi:ultoa_append::@2->ultoa_append::@1] + // [2771] phi ultoa_append::digit#2 = ultoa_append::digit#1 [phi:ultoa_append::@2->ultoa_append::@1#0] -- register_copy + // [2771] phi ultoa_append::value#2 = ultoa_append::value#1 [phi:ultoa_append::@2->ultoa_append::@1#1] -- register_copy jmp __b1 } // rom_wait @@ -18392,32 +18466,32 @@ rom_wait: { // rom_wait::@1 __b1: // test1 = *((brom_ptr_t)ptr_rom) - // [2786] rom_wait::test1#1 = *rom_wait::ptr_rom#3 -- vbuz1=_deref_pbuz2 + // [2778] rom_wait::test1#1 = *rom_wait::ptr_rom#3 -- vbuz1=_deref_pbuz2 ldy #0 lda (ptr_rom),y sta.z test1 // test2 = *((brom_ptr_t)ptr_rom) - // [2787] rom_wait::test2#1 = *rom_wait::ptr_rom#3 -- vbuz1=_deref_pbuz2 + // [2779] rom_wait::test2#1 = *rom_wait::ptr_rom#3 -- vbuz1=_deref_pbuz2 lda (ptr_rom),y sta.z test2 // test1 & 0x40 - // [2788] rom_wait::$0 = rom_wait::test1#1 & $40 -- vbuz1=vbuz1_band_vbuc1 + // [2780] rom_wait::$0 = rom_wait::test1#1 & $40 -- vbuz1=vbuz1_band_vbuc1 lda #$40 and.z rom_wait__0 sta.z rom_wait__0 // test2 & 0x40 - // [2789] rom_wait::$1 = rom_wait::test2#1 & $40 -- vbuz1=vbuz1_band_vbuc1 + // [2781] rom_wait::$1 = rom_wait::test2#1 & $40 -- vbuz1=vbuz1_band_vbuc1 lda #$40 and.z rom_wait__1 sta.z rom_wait__1 // while ((test1 & 0x40) != (test2 & 0x40)) - // [2790] if(rom_wait::$0!=rom_wait::$1) goto rom_wait::@1 -- vbuz1_neq_vbuz2_then_la1 + // [2782] if(rom_wait::$0!=rom_wait::$1) goto rom_wait::@1 -- vbuz1_neq_vbuz2_then_la1 lda.z rom_wait__0 cmp.z rom_wait__1 bne __b1 // rom_wait::@return // } - // [2791] return + // [2783] return rts } // rom_byte_program @@ -18437,12 +18511,12 @@ rom_byte_program: { .label value = $5c // rom_byte_program::rom_ptr1 // (unsigned int)(address) & ROM_PTR_MASK - // [2793] rom_byte_program::rom_ptr1_$2 = (unsigned int)rom_byte_program::address#0 -- vwuz1=_word_vduz2 + // [2785] rom_byte_program::rom_ptr1_$2 = (unsigned int)rom_byte_program::address#0 -- vwuz1=_word_vduz2 lda.z address sta.z rom_ptr1_rom_byte_program__2 lda.z address+1 sta.z rom_ptr1_rom_byte_program__2+1 - // [2794] rom_byte_program::rom_ptr1_$0 = rom_byte_program::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 + // [2786] rom_byte_program::rom_ptr1_$0 = rom_byte_program::rom_ptr1_$2 & $3fff -- vwuz1=vwuz1_band_vwuc1 lda.z rom_ptr1_rom_byte_program__0 and #<$3fff sta.z rom_ptr1_rom_byte_program__0 @@ -18450,7 +18524,7 @@ rom_byte_program: { and #>$3fff sta.z rom_ptr1_rom_byte_program__0+1 // ((unsigned int)(address) & ROM_PTR_MASK) + ROM_BASE - // [2795] rom_byte_program::rom_ptr1_return#0 = rom_byte_program::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 + // [2787] rom_byte_program::rom_ptr1_return#0 = rom_byte_program::rom_ptr1_$0 + $c000 -- vwuz1=vwuz1_plus_vwuc1 lda.z rom_ptr1_return clc adc #<$c000 @@ -18460,28 +18534,91 @@ rom_byte_program: { sta.z rom_ptr1_return+1 // rom_byte_program::@1 // rom_write_byte(address, value) - // [2796] rom_write_byte::address#3 = rom_byte_program::address#0 - // [2797] rom_write_byte::value#3 = rom_byte_program::value#0 - // [2798] call rom_write_byte - // [2680] phi from rom_byte_program::@1 to rom_write_byte [phi:rom_byte_program::@1->rom_write_byte] - // [2680] phi rom_write_byte::value#10 = rom_write_byte::value#3 [phi:rom_byte_program::@1->rom_write_byte#0] -- register_copy - // [2680] phi rom_write_byte::address#4 = rom_write_byte::address#3 [phi:rom_byte_program::@1->rom_write_byte#1] -- register_copy + // [2788] rom_write_byte::address#3 = rom_byte_program::address#0 + // [2789] rom_write_byte::value#3 = rom_byte_program::value#0 + // [2790] call rom_write_byte + // [2672] phi from rom_byte_program::@1 to rom_write_byte [phi:rom_byte_program::@1->rom_write_byte] + // [2672] phi rom_write_byte::value#10 = rom_write_byte::value#3 [phi:rom_byte_program::@1->rom_write_byte#0] -- register_copy + // [2672] phi rom_write_byte::address#4 = rom_write_byte::address#3 [phi:rom_byte_program::@1->rom_write_byte#1] -- register_copy jsr rom_write_byte // rom_byte_program::@2 // rom_wait(ptr_rom) - // [2799] rom_wait::ptr_rom#1 = (char *)rom_byte_program::rom_ptr1_return#0 -- pbuz1=pbuz2 + // [2791] rom_wait::ptr_rom#1 = (char *)rom_byte_program::rom_ptr1_return#0 -- pbuz1=pbuz2 lda.z rom_ptr1_return sta.z rom_wait.ptr_rom lda.z rom_ptr1_return+1 sta.z rom_wait.ptr_rom+1 - // [2800] call rom_wait - // [2785] phi from rom_byte_program::@2 to rom_wait [phi:rom_byte_program::@2->rom_wait] - // [2785] phi rom_wait::ptr_rom#3 = rom_wait::ptr_rom#1 [phi:rom_byte_program::@2->rom_wait#0] -- register_copy + // [2792] call rom_wait + // [2777] phi from rom_byte_program::@2 to rom_wait [phi:rom_byte_program::@2->rom_wait] + // [2777] phi rom_wait::ptr_rom#3 = rom_wait::ptr_rom#1 [phi:rom_byte_program::@2->rom_wait#0] -- register_copy jsr rom_wait // rom_byte_program::@return // } - // [2801] return + // [2793] return + rts +} + // utoa_append +// Used to convert a single digit of an unsigned number value to a string representation +// Counts a single digit up from '0' as long as the value is larger than sub. +// Each time the digit is increased sub is subtracted from value. +// - buffer : pointer to the char that receives the digit +// - value : The value where the digit will be derived from +// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased. +// (For decimal the subs used are 10000, 1000, 100, 10, 1) +// returns : the value reduced by sub * digit so that it is less than sub. +// __zp($2d) unsigned int utoa_append(__zp($4f) char *buffer, __zp($2d) unsigned int value, __zp($3f) unsigned int sub) +utoa_append: { + .label buffer = $4f + .label value = $2d + .label sub = $3f + .label return = $2d + .label digit = $37 + // [2795] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1] + // [2795] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuz1=vbuc1 + lda #0 + sta.z digit + // [2795] phi utoa_append::value#2 = utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy + // utoa_append::@1 + __b1: + // while (value >= sub) + // [2796] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1 + lda.z sub+1 + cmp.z value+1 + bne !+ + lda.z sub + cmp.z value + beq __b2 + !: + bcc __b2 + // utoa_append::@3 + // *buffer = DIGITS[digit] + // [2797] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + ldy.z digit + lda DIGITS,y + ldy #0 + sta (buffer),y + // utoa_append::@return + // } + // [2798] return rts + // utoa_append::@2 + __b2: + // digit++; + // [2799] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuz1=_inc_vbuz1 + inc.z digit + // value -= sub + // [2800] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 -- vwuz1=vwuz1_minus_vwuz2 + lda.z value + sec + sbc.z sub + sta.z value + lda.z value+1 + sbc.z sub+1 + sta.z value+1 + // [2795] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1] + // [2795] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy + // [2795] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy + jmp __b1 } // memcpy8_vram_vram /** @@ -18512,83 +18649,83 @@ memcpy8_vram_vram: { .label soffset_vram = $2a .label num8_1 = $22 // *VERA_CTRL &= ~VERA_ADDRSEL - // [2802] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 + // [2801] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_band_vbuc2 lda #VERA_ADDRSEL^$ff and VERA_CTRL sta VERA_CTRL // BYTE0(soffset_vram) - // [2803] memcpy8_vram_vram::$0 = byte0 memcpy8_vram_vram::soffset_vram#0 -- vbuz1=_byte0_vwuz2 + // [2802] memcpy8_vram_vram::$0 = byte0 memcpy8_vram_vram::soffset_vram#0 -- vbuz1=_byte0_vwuz2 lda.z soffset_vram sta.z memcpy8_vram_vram__0 // *VERA_ADDRX_L = BYTE0(soffset_vram) - // [2804] *VERA_ADDRX_L = memcpy8_vram_vram::$0 -- _deref_pbuc1=vbuz1 + // [2803] *VERA_ADDRX_L = memcpy8_vram_vram::$0 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_L // BYTE1(soffset_vram) - // [2805] memcpy8_vram_vram::$1 = byte1 memcpy8_vram_vram::soffset_vram#0 -- vbuz1=_byte1_vwuz2 + // [2804] memcpy8_vram_vram::$1 = byte1 memcpy8_vram_vram::soffset_vram#0 -- vbuz1=_byte1_vwuz2 lda.z soffset_vram+1 sta.z memcpy8_vram_vram__1 // *VERA_ADDRX_M = BYTE1(soffset_vram) - // [2806] *VERA_ADDRX_M = memcpy8_vram_vram::$1 -- _deref_pbuc1=vbuz1 + // [2805] *VERA_ADDRX_M = memcpy8_vram_vram::$1 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_M // sbank_vram | VERA_INC_1 - // [2807] memcpy8_vram_vram::$2 = memcpy8_vram_vram::sbank_vram#0 | VERA_INC_1 -- vbuz1=vbuz1_bor_vbuc1 + // [2806] memcpy8_vram_vram::$2 = memcpy8_vram_vram::sbank_vram#0 | VERA_INC_1 -- vbuz1=vbuz1_bor_vbuc1 lda #VERA_INC_1 ora.z memcpy8_vram_vram__2 sta.z memcpy8_vram_vram__2 // *VERA_ADDRX_H = sbank_vram | VERA_INC_1 - // [2808] *VERA_ADDRX_H = memcpy8_vram_vram::$2 -- _deref_pbuc1=vbuz1 + // [2807] *VERA_ADDRX_H = memcpy8_vram_vram::$2 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_H // *VERA_CTRL |= VERA_ADDRSEL - // [2809] *VERA_CTRL = *VERA_CTRL | VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 + // [2808] *VERA_CTRL = *VERA_CTRL | VERA_ADDRSEL -- _deref_pbuc1=_deref_pbuc1_bor_vbuc2 lda #VERA_ADDRSEL ora VERA_CTRL sta VERA_CTRL // BYTE0(doffset_vram) - // [2810] memcpy8_vram_vram::$3 = byte0 memcpy8_vram_vram::doffset_vram#0 -- vbuz1=_byte0_vwuz2 + // [2809] memcpy8_vram_vram::$3 = byte0 memcpy8_vram_vram::doffset_vram#0 -- vbuz1=_byte0_vwuz2 lda.z doffset_vram sta.z memcpy8_vram_vram__3 // *VERA_ADDRX_L = BYTE0(doffset_vram) - // [2811] *VERA_ADDRX_L = memcpy8_vram_vram::$3 -- _deref_pbuc1=vbuz1 + // [2810] *VERA_ADDRX_L = memcpy8_vram_vram::$3 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_L // BYTE1(doffset_vram) - // [2812] memcpy8_vram_vram::$4 = byte1 memcpy8_vram_vram::doffset_vram#0 -- vbuz1=_byte1_vwuz2 + // [2811] memcpy8_vram_vram::$4 = byte1 memcpy8_vram_vram::doffset_vram#0 -- vbuz1=_byte1_vwuz2 lda.z doffset_vram+1 sta.z memcpy8_vram_vram__4 // *VERA_ADDRX_M = BYTE1(doffset_vram) - // [2813] *VERA_ADDRX_M = memcpy8_vram_vram::$4 -- _deref_pbuc1=vbuz1 + // [2812] *VERA_ADDRX_M = memcpy8_vram_vram::$4 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_M // dbank_vram | VERA_INC_1 - // [2814] memcpy8_vram_vram::$5 = memcpy8_vram_vram::dbank_vram#0 | VERA_INC_1 -- vbuz1=vbuz1_bor_vbuc1 + // [2813] memcpy8_vram_vram::$5 = memcpy8_vram_vram::dbank_vram#0 | VERA_INC_1 -- vbuz1=vbuz1_bor_vbuc1 lda #VERA_INC_1 ora.z memcpy8_vram_vram__5 sta.z memcpy8_vram_vram__5 // *VERA_ADDRX_H = dbank_vram | VERA_INC_1 - // [2815] *VERA_ADDRX_H = memcpy8_vram_vram::$5 -- _deref_pbuc1=vbuz1 + // [2814] *VERA_ADDRX_H = memcpy8_vram_vram::$5 -- _deref_pbuc1=vbuz1 sta VERA_ADDRX_H - // [2816] phi from memcpy8_vram_vram memcpy8_vram_vram::@2 to memcpy8_vram_vram::@1 [phi:memcpy8_vram_vram/memcpy8_vram_vram::@2->memcpy8_vram_vram::@1] + // [2815] phi from memcpy8_vram_vram memcpy8_vram_vram::@2 to memcpy8_vram_vram::@1 [phi:memcpy8_vram_vram/memcpy8_vram_vram::@2->memcpy8_vram_vram::@1] __b1: - // [2816] phi memcpy8_vram_vram::num8#2 = memcpy8_vram_vram::num8#1 [phi:memcpy8_vram_vram/memcpy8_vram_vram::@2->memcpy8_vram_vram::@1#0] -- register_copy + // [2815] phi memcpy8_vram_vram::num8#2 = memcpy8_vram_vram::num8#1 [phi:memcpy8_vram_vram/memcpy8_vram_vram::@2->memcpy8_vram_vram::@1#0] -- register_copy // the size is only a byte, this is the fastest loop! // memcpy8_vram_vram::@1 // while (num8--) - // [2817] memcpy8_vram_vram::num8#0 = -- memcpy8_vram_vram::num8#2 -- vbuz1=_dec_vbuz2 + // [2816] memcpy8_vram_vram::num8#0 = -- memcpy8_vram_vram::num8#2 -- vbuz1=_dec_vbuz2 ldy.z num8_1 dey sty.z num8 - // [2818] if(0!=memcpy8_vram_vram::num8#2) goto memcpy8_vram_vram::@2 -- 0_neq_vbuz1_then_la1 + // [2817] if(0!=memcpy8_vram_vram::num8#2) goto memcpy8_vram_vram::@2 -- 0_neq_vbuz1_then_la1 lda.z num8_1 bne __b2 // memcpy8_vram_vram::@return // } - // [2819] return + // [2818] return rts // memcpy8_vram_vram::@2 __b2: // *VERA_DATA1 = *VERA_DATA0 - // [2820] *VERA_DATA1 = *VERA_DATA0 -- _deref_pbuc1=_deref_pbuc2 + // [2819] *VERA_DATA1 = *VERA_DATA0 -- _deref_pbuc1=_deref_pbuc2 lda VERA_DATA0 sta VERA_DATA1 - // [2821] memcpy8_vram_vram::num8#6 = memcpy8_vram_vram::num8#0 -- vbuz1=vbuz2 + // [2820] memcpy8_vram_vram::num8#6 = memcpy8_vram_vram::num8#0 -- vbuz1=vbuz2 lda.z num8 sta.z num8_1 jmp __b1 @@ -18801,7 +18938,7 @@ memcpy8_vram_vram: { .byte 0 s4: .text " ..." .byte 0 - s12: .text "Reading " + s11: .text "Reading " .byte 0 info_text4: .text "" .byte 0 @@ -18833,3 +18970,5 @@ memcpy8_vram_vram: { smc_file_major: .byte 0 smc_file_minor: .byte 0 smc_file_size_1: .word 0 + // Globals (to save zeropage and code overhead with parameter passing.) + smc_bootloader_1: .word 0 diff --git a/target/src/cx16-update.klog b/target/src/cx16-update.klog index ca28315..3c8b06d 100644 --- a/target/src/cx16-update.klog +++ b/target/src/cx16-update.klog @@ -15,10 +15,10 @@ Basic-segment: $0801-$080c Basic Code-segment: - $080d-$4d8a Code + $080d-$4efd Code Data-segment: - $4d8b-$6733 Data + $4efe-$68af Data Writing Vice symbol file: cx16-update.vs Writing Symbol file: cx16-update.sym diff --git a/target/src/cx16-update.prg b/target/src/cx16-update.prg index e18654d51094816a642b649dfebcc363a2b88a11..43f5c1fc8924583b4d6d56ca90feb32743a73f69 100644 GIT binary patch literal 24753 zcmeHvd3;nwzVGQI9nvA4j#;1sq6Zn-OhUpMagab*wF%qla3Db&Oze(=$|8&C73W%B z?~DiI)vIJgVI+kd$Uy-G!zKc8j83rK7o1_yG|P;!z3Pm2=03UKU!Bt%1f6;BzQ5iJ zpRRMN>Q`02`qi&~Th+mq)-^3%dUkN}@DfRqbcsoN3bW~w<_&0-0d0LizB^4G?eOi{ zpKN1acFYU}lRK1vp#<7y1cGVC%s|`pKsdSH=Cg`2%%Wfly84oT+2jp8_(M}=;KB17 zq{n{f@KW>2fKMLNQ@61b^3t`=& zSFPtmwLa^O!+xYqulSpP>u;69SE1v!1O69tJ9hayTK&N5&FIr7pX=#KaS+75OG6Np zZ-pS4#B8$Ta=Gquc}Fk(dRC}UWktG+ozs)pY59|0`dwC0R;*|{n-8d4mv ziAiA`F)x~7qFZ3IqYUVlZ}uM z^pVf>(I2)-vP21}vsN+IDy>~#O!iF82LPx`Yh+ttYzRzF3Mc8d$u>5EkHEw~>57Uo z>_6By@_+R)s#WdzfH7CqHV2I71J2E0RZnrgens2n0QySJ52ou<+woG%$^Fs-2{io%D?b}lO*N_NIfJ=rTLZub z_|X(qP(f=@j0TgSw{{Z*C8DI7L_tHNW=+Koq)U>DvVPWD{hEe;G*0hDAB@(dpo z?!wOiD3})qq-pVeX=@ZiQ^IM+8U-|cC=YDXrU!yK;FPv4fnZlKOWRf=cU7M8N|mA3q7$}l^OaU-g3~si)E(=0#lVa2>VW;sJQEig~ z^2(xz$Z*@^#?~IE4qjA@7tIcSa3Q;0;oH&bW0&zbwZ?P1^^BYF6Y&$){++tnp%^>N zZgx>OI~C&zYWK9u_;>5M(|qdx%M`l0T`O3x{~7BvQ>+usGtHvVZTvR04Q1+KYwc3Z zwR=N*SutK#f+_Ot{e1Guew}TDJoKoDZ2(9%2&;A$vNN(t(%Bh#UB77d&M2_8HPB-X zwnMFK^gH^p;#r=le{7+UVWJS$UQ&#gl;H5r#vb(}-N|3}^DNH%X{2BJNu;~~$S6l& zQapdnjMBIZ(U@eqNn;?OJDPSVvuoy9l)j7K6;1=+>{L8gW_IjQJXx{ENz|AqWH#0t zK$@9?G@ie?^z^0|@=Pue(^i`+vX!A9!8^CO59?JALfsjK8rA!=N035lNZ0qMW>q;?uV>d zgbuv9#%Aiki*hCj$sXzD{rFyv^Y_u>I3Tqgy^FR*(a*PSAsOU%>Zwgz;&AWa9pS=w z-aTLdFohoo_M#UzIPesks?Uf>j?4QW-J*ED%)c**(oU)oc|B6|cO0fYI)ChP=+xUgsGv2vK^O{vG<95$O~2 z+=+SmF;6>5$jkdtVd)!Knd`I`d%5-a8} zvl70G4d%Pq5MFFAu@ANn!6FFK}G82QOnS&5nVyYPpSg~O!ti;%+u))R)3L9d{qx8fnkl^@{DWpexH%Gnv zqEW$0u#3-F=17w;M~r~c6mS}(AJ1gzOR;-rh~1l@;xxVk$YbV51Bpz^<2X z8fwf@omFbkgJBnbkMNZV&0DSJmX5?g3DwP3b-LO6h1EMz?Z@D0(Q5s5P{LB& zgQ2NsKvVw^uc^TTBUl*aU&~*X@-XaE2mcyrvgbhJ&?Bv(ZI<>P35#h4OhsGN8rBs< zhnT3()W=0>L%l$K4AMt}#I$K`Ch0qL#dA0pd;j^^-Y0hYH|SZwY*sv5vpSwvJnOO` z7&pdXSRJnu5RHnb%Gt3|@pzmN!M}-vSi+YGi02efp|j&RisuTaP9olP!DO3tkWwcGSi8y~Rt^)73OTTT_G5+`p=o#Lg%;3C#veX#Se4Qd4M>ID1+l zakfs0+k#OcG0{Ru?Q1-(K!C1;jqtxIKxuUCmkRnJ0lH2h0s3napug-~fI_WxB0#sf zAyEgM*Pc;~kaxgn?ODY*?HwR#>lNb+JvS)EGm7(B#kpQ_ZXlgi?#2LU(@c%A<^4t=tLTKG$@|0y2gzeU8sfs&_XSVLPunO z!f1jiFYgbw>1?RFXyYH7v87WI`n9A2`c2^9Yph)s^%$a#6x^x=$SV`~qvxu8y^nk0 zT7|vcv{q@JJ%@#$>5j-RU)!-(@w}I=dz+q8KIvZ-Ozn6|@jMHMlG)(l!f;@(y6fJ+ z+E>*{*6JS=t8c76A9Xa*w&9g3Dv9`-RC2ItZ8{6Ab=L-1fCtc%_3o~l2Bx6?_H)ts z??vVh%?GO>I-B8V!GW#57Q@Hs{3J_5Ez9qW&}4m3$O4=1xd1DKH;*U>Y4fBw(>#lX zI<{Ou;{ik;Jgd_a8lD2-r$P`$G}6-)yNE>? z-m|JZ@7Dw9CzW)z7^%B?v_UUnG6 z*0V2+q3hX6`SWXidbsegpMAkk*uOw1>#*OayQttKKSA~(JHb!dPq34sLedVQTGDnY z+HR#(4xeAMTX|%cVj$nF7`qki6~)IVQ3NX4WArrkAr8hTAv(qjoO=jpRwQ1CVKYvq@nyBh^X!Mr?WdZH^1cv z2*3d&e=*XBm5dL_^}J60*>!r7Q-s#^uG)b0(ahu8z*r_nyC#-7Mm|EawufBFy^6L^ zG4?2%_BJZ={PRACW+Ut!4H0&}q-$EBG*W z1jD`!sQ2Zeqe8<%=R9L5ycd!uj?(vQcdNRhEmI*AmjKh_^88UgRK6;&yIy}iTA7AQ zhgFH7ir3iag>{GVg4mS`_T&l7l|lp9lN-J1Y~kkSvMRK09#e(B<-OOVG~87$b}!uM zWqY;v5S8(=0LED?cO8v)ckM#9Fr6LObKSMa@d!poPG(DhQpZNG=Qme?OrXLkkP3vj z)p$hFHUyd;F=aYU<}%PPC9(!)BKQRo!DehE(qXzOfFs$MhUZgYV5jm51iyRoDQrHc zm|{F;`2sV33X6ZMx%eg(Za1m$IYl>r6KI0=fMye`mVGf5{u;$Fv(Zbie-{-#RW>~PotniPUTi+sE&=;DR&d(0vmihLWS z?ej5+eeLGQrijdAQ$kaMNui3+e5AK{zM&v{zE|tv-PYaP5i5Gd81PLUH^^{3;H1#HC>87g{SMtGi61#^FLApw>XWQlLNAqGfiXk#74cMjrt@s(w_6i zw@Qj@MF9hewe$9t5m;>A4(jrDcCPV`?KiQ)H;@#`-;WNpds_PFPr{|}!w)Zq%J7Pa zxlf;GF)4gSOZ&?)z3{K>7yv($yOi;d*be?N+sSu`y}1*6)6aKk52}2p##H@#b`Xa$ zuR-d60%SgwZDYC5J}*2@m*Lc*B+S0naJn)VtE4^e)mLbny~guicF@@DWv|8cla|mv z=#=}E6Tge5zRnEN$6|ZT#|rs8%N(WPQY40UfjPPsEvx`swTitwSN-WWzmB$vvSwWG zm|r2N9B1-wjKb3_3u%_7nVfQIym++D#Sv@-Mv{U(MUW(~0|zUb5?dodT%5mj(TgU@ zyV3$~3|Z>~l`(4VJP_KAb1f89tC%VZ=BjQUuJy4n|GIV_``WYYXZq^Gjb3nAxGQwy zWb!tk0DTCQ;`k>`&w{Vu8Q53P#uJcGgO4cTR8i~$kTyMlWJUn1G&7(n0lp9C#(Y0c zj)h!hEv7`}EkQ76%OrV8-+)K$yWl1X=Sn^Jd^Vlm!e+<~^L&sV3jN|_3?PU zSCkPj@A;rcqCPhbLB0T*a=fJ}Eevp&t9$idXj^DzTM;MqZi7JF;x)E<*EM=uHs(6DZ zHPIA{wJ^?7bp9Mg=i}j>mxAY0!4#={nlM_XVkzMACbYCnt12u7b}zJ@58F7{Ro|{1 z^6FmgFm@aaR*j-y+CHz|94+QY5O|lb7$4!C&cxu6C>@O@D)3&aV)RR%D$qGngzDlP z8C^yW%c%V^YHvz?a6bPSoDYu1{JI!l;1QmW4H)%5WElGrGuSqy?;v9JF8JwDMQitJ zA!4o5l$`M*xYe?%{^!Ab#JXDUsUH%|Lg=eyW&J?(+3sywQQw>P%ntO=c3MLJf*v{* z|8b`&f5*Jz#Bw_~ znV8NpbO! zoqL4PlQ8H(4Eh=t0Qwv&Knh)gB2KatIrc4|hh2*;;XFqY@1cQwTkGmzJ~zM^ia}=OCQ}MxZ*d4ps)WU?8kc z9q|wr2+uPx)C_8E@NLw38-KU;VDK{j4$$b@@hBM@@8}ya#=EU+!^xhSfm9=2A~g{A zk1D9ZcH*;`&Q-RB&t_Zs9MsTyd6KM4``Z4wydx^b_w_W({)+Ox$6~@jl$n1Gc;Z1D^D(f!?-L|&vudL4r zX7Md;`zq_xaYaCH+gl0q4afbg!+1c&PWXiiYfA^Awtz}oL8B%%M@%D$y(^Cz&p*Qo z^yJ4d^}G&TC#X*_34jQn(VB$0-#&;>7eu&ykUmNn21+L;yfzQT?0-s|ZC%6|jDcY-*#BP1c#$1NI0LQ$~CB-!n?vtCjT``fX4gmEthchx;Mm-3N(x8F&{U zY!+HD6&QIRM=@;Hh~qe46b`6OzKa1p+90)$R(!M zWdS)i`b7Z_Tb@-=fWwycl*eJq272PKg_(T%pvkA=P75Zs0d1*@_*7I8pIYVMQ-Gzp z7e20lG#CI96msBMWx)L;2i7YCB$5Lg=y{+La>BW<(z(CVd7v_w))66S+-dP~QZ6S* zxtt{Ba*C9TY2I9LTC7KzDRSr`RxNViZLOLouNb&K=VhO;Pl22^fKby05@OmlgqBuN zDQ}-(QRXn!f-*;_zE09w2m;U7D~Z69h`{0=WyG|)KZ*nTX5XPP`!iayzn~fW9<+j& zhV^`nT7S#GZ+pG6eg;I?U)owK>nB5m{kiQ(Wqlb$*mrG*E9*yeJm=+~*gp*;Snq93 zc`@13R06HzuKff$2{ftw6if%Q0HKp!PzKLaUeCH>3kFjYFqoWx!Sn=7L1kwG;^7$T z;JtrjyJJ>`G^?N7?xe~si2~{r6Lm_6I)jNi7j5~7oFR>FwHi=~Rs$>1>Y7TlDyaOs zc_B`6(AFBy55hQjjTQ0lAVB{N@%a}B&+pl8dC)|$^-#Y9^*d2N3-v1MXQMtrX-tO` zH3Lr6w=qWGAH%mC!#{#lzYgU`h(X>)(3`@y{2(cSgZwopfY;poJ7m7&e@5od{4aR_ z3;!PJ_n~h+*9?v|?QKSWKY@Yqsi((K{kIk|5Mdar-Jt4^YB#ESiRK|WGezBYgW7bX zYIxLjQ&jRgrl`ggm3_s(3NPzy$-j?MmVbp6PmI5rVWNxOXN+5+!q=HfLrzn*>FTx$ zwP~tqOjFlQ7o$$6nmMXgrTX;MY`eHQx2RN4XLKtl+2brV@4iL?jD_~1@TAVr+W_=t z2?cZ!YT``nVx3?grr%>V>NEr+vjgbrUUnZ_#+Ku)4JP){2(q}y(Q-Z654hOTG79zs z0O}y>;ithDscTKIpD)snI>R*$!@^CVv%ER99jbn0J6wb}yw*7?5+WE*0L%yt0t~oh zT&;?W$*s8NI{q9x7di*pRjT@GZI;TytaG zROD)xv1Rp1q2;{JU3)LP7q9nqMwR!YD|i7_;zLSSfIYI^e;;kbM`4d%Z;6#3X>lsn z;$F14&uS5Wih98qe~Y&0gum$&8m8n6!!FuP z!DLVVuuF_QFgEgbOU5V1MbR!8yC4dEF_~W9?#U(^g~2(gYbhp4A*yi8SwvkzVG!+W z&zGgbLjajJdEvygcB$_H9|`bXbP1m?O!etqFo1+z^Wj8a(9RxApy=z%*)z1gt|~-U4VTo{J_Ce{12Tu@#a?a@lgC(s(!B! zy0DAsfE8PkjLXbP(WsFzaJ{xjHLh8&EhZj##m~POIBs(ILSUa5UrEhNm2T$KXaklv`}rH zuWASV&9|u9Ykp&qI(cqd*CocQemH;>I+;sfpCEctimy+M1O6W50Ljr$ zPmVsOz{3lE=>{lai5{1#gymB8sPN%}d$BsZ{B)>~0bBhvAkOdkZKdst*j#>BY5Po8 z$``>HlX_6K?rtCkPk zfb-$E@k&>JeEc|q+e_GoO?RvK7HXMF-$HHwfxQRtuVmYeZsTsX&c?jPGPO=(l@Vyb zcmb1Y!fhT`*sI5?qRp?S%8G~Oz@GE2RX%_qn zf`3{yRucTW82r-&zb*#vu;8C2jF%eg2;;jW*Z||Dz&PE)cqu^s$nOTkpW-0?2#Br% zBJ@X4`NFCUQ3Yxh$g6Jj@mE3AG!PX*We^qFke(eQEN%o$$7#5EfZ(nRGB4<(u*yV2 zW4qHyuh*AY{FpaHQLxI6yGi>kQ$6opkLy!70YLaVz^YTL^*ncNHS&vrLo)k-78RlH z0DBuHq3GJK7$C7Rd?nJc{GI`&temgH`#3irQ%7;Gu}D>34kFCvb;^K!Nyq#HmV3V&PK3t4&N?{eS9_>&Q-W#!-XCHQR+v1Kc*kTw98clwGjCO z3*kZ{(PF@8dUs=3BFsTnX)ITnO)%C%pDw#=VW43m^o5$wSRY`+*+;sBem`ZF>ob=-4kn?o=_TQ1>j6~JV1+qn9>7k=~-fUL}ktr#|uv1Z0;N^=woYv(KCVO zr_3+g)(3iE`arR9cyj|4*>N7*K)I(W*AvMR)nX{^pVV#ls!jK)^8WMa>8XJBh>G4dO+~NT8ddJ)kq@57{O?!g-RF_A z_xO7PEqS2Fcv^L?Q^VP2!_}&M7?A8E_OY*HeZWT~=mqT}rtQXLu~m*?s#vMdIv!U% zS{WAU7~89lYuOtft$UDOtCu4kBHphO<(E-OFbMAtgFYSb)Q>S=8)C0d(QD`!*!(lu zIfd6?sV*4JvuzAH`5$hk`TaAj1NNWW{#lh@KhORX?|;R_*k8rGJ|uEK18O3)D={CN z=i{HiF#nX?5z3O=kLA6roF8pXs?Q83d(MyLZMcG9zOW!1)VJWE{!U&q1ub5uo?mBs z`QAqAS%3A~X9DaHS`8k{@1xrq{9dG#b#osqb|0Ttdmo$U<_D31ONz{E?67{Y<#5o+ z50;)4e(G5n$H{G_?e~($(0(5~+W4V~GUPZ#B^#o z?_h@nfgU3B>0i`s4-tj%g51Mm@gG*%VSc#r5T+6tvGEX*^k2=D*M2F$eyOqrd_e*j z_SPXVuDQ2T4~guoz)>&>@bI!qFv4`OFl5-^f%))};XL59i1|0|dGnzKupbuG=QR#$ z-mk)P_Jw>v8}*wX^Z6S6P;BG*qF`4(sAc?%cBtv;Yk61P-7#9;!NOwgcd%RK_onb+;Z$?wL(4$O<)Ix&cZLk4+dPkq#~Pm& zYkXR)@oBNfr#oNcod~YZhQpc84tV-a&_A-WX=e6UR<^5|by-;oLs)bHvP)RqrUP$2 zw2;@eEUd@n8Fp&3xy(-zW%3tOtbT25iRXz427+p%D5!Ql9|fw8 z;@5+!cqghN1FBvRkO2}~0U$h9BK8Kwd=H{;$gOho70}5m_)4TJ`8{ZK4_}3J6@`9q z3yQj@mZF_#g{opvB^Oor_)F;IxBO+KZ}45{x0Ub4`^!EkEl9WG*TkD3{pe!W zRy^rq))ojxx|pRSZ}YkNZv`H22s~Qr2#+_BuEH6XxQ+D^EP$6`0qkP4@j2BTFhe11 zfEz19F9p*>F9%aYyRiJbLxo6-LORN}plmC0O`h2kfdIZ4=lff35ku~4nQ!vbXm&eT zX*8h9`0eD=hNj|uT4*2A{hrSzf|Wvol|q7*LV}e-owJh7{CF8=?5m!|lW?z5e9Me$ zULyM!WL12qlWJx^v9ek0Rj^VGwpcB2T+9NSUVZbS+j*encCb<*``lusnotce0?6ja zYJ6mu-LZN5J~sLdBxQUt_@%6+2&5d{QW)-n%cr;>J_%PKrs4|3GpS3bnZ;YNIG2IS-Z4};IG|HI%8@*;sq6?M^PJyZ0%T9j~weh1RA`a-0W^!r3w zCepbgyn?iOag_SL4;NmM z+(pS9lq{s=K1#|cnM=v-lq{iSF(r$T@Rs;M2(IEB!Kbe8LxTxNn6k@}O%d5p_3OBg z68u!RuDY53^8|G<3E^aMERqr5n|`kuOSHfddcc2F0WLbk54C()KO8rT(7$cTkFy4d>tnbtwS9QPkglara_VW`_`}yD1ZI7!> zPmujghO$e0k_@J&)NM}+^XVzdtySf>&m(1DVU{0?yH|fB)9`Nybd-kOjdNj9p=AS^ zQT#vPqVjLxpZc(j*XacJSKHwj^VLs2-CCuO!{ZX8GsyOp}2DcqmD31>(qUac2 zO$(U)2Smg-{426L)zF8);MW3!UjqZr8V{M>t%X5+g3k`EWi^mdHuj!p5Lv8;D9he! zd=C)C^=U}2tLK8GP3hTUR`X)g>$M?kpjTKk4{my^@po={-1&!Id9WGx*3L63 zeTCi2o7sJ284ee=Q##xWVPGxwg-}x3KAsKo?4H7J-5|ZQES$2I4WsM(NF+AQ(zvpv zaov{2%@P_ny>Xb?(P&?27%whuAA{5FlJ>DU-yYmvjuY-7?c;DC_RJIzXcQ~OuRt%m zx|Ee7Eno$_w51^Ug%6x{6FBQ;eiJzBCVn$G3-82P$bhqMhT{v9YZSj3-=#vA0<95o zf;^)>y>Wzz##CQu1TQRYAC2&MQF|FH^4wn$m9hgNULj?#Vf}=Zwf_uK_p0@}&HPja zLb$&vga??_SF@{8-FVf*5B7oB#Vw0I>$RV)=Y7~!p3@chKW~2OuiWKy+A>q@*|J(P zT%M3&%Sn^HxsD7+Zhmj6k6fPS$dYH~+H&)9Wc(@lS#~_i^RlyxdrOt$XN*BUC)bvd zVNWTLr`||?p?%TV$rYj_dXaNoE;+-N-347)bt9$nG<$MaM`jmUBAn#@MFV8a*(Udw z2gr73R&GA^Bu#K+*a4B_=wX-b+1V}&yF8OVj+~r4^f{Rxa(72=8V%iBDkr+nm^wv{ z2P+UInXX(p#hz>N-&N4B9)`(=5yi~>2+C8r9$$VP!9n{c7_z**4Ck(1dk zS59_0vuwEztUz>bR2$bCRCjf!#H5L+)M(z&T)eS_@FbL|cH!xgdtsH!+7aE!&=xBPY4A z!qcYC8b4#ujPWzaD{@j^ZZ1(4d`&IH@+G-!*}&6m5eICtb($^5q zU}a>d-e@ko)rhbYOOYI*R1}#BKqN2Q-dn~}XPYy1+VTM{CuKX5yAqCyt*c$O$*C?Z zKUO3+&5MpDDS-+l5dhIAoGjNaZn#;>gU$%UI7y zvyCKAm^N{Y=p;T7y%b5Q#U;fysbp{|-Uj1s@UY={8(J(4D;X@2V3vxDi!J8tIdj^W z^6|YAb}NbJ86Y5W8c-0@Ai{AZ9>H-@`DoQ&2tP7@LYRzXNfml#QirIYnq|*4Wv?Lm z%yG0}DHjnHnk>fk*!os(B@<6z=|wt8imFi%si)LSj*~+|u9|`? zUSMIjc7}+x^DRbzl9f%l6e&n`WIMZ)N};(DInAw{LW<-fJZT!;pi3@=sUSNjEs@}m zr#^&XIGo^Tl8hJr|*mEmzKP zB?A*sAf8X7?^lk#|9qLWT9Ry1Qnc`Y?xnb7@Q|UyhL0${)|Ql*zrId7`JH|BlWV22u`X%DLpIDplFlScQVpsx z7y6@C=;z{xsQn*Ird4~Z=TzTPy`Xw&^*`arY)$o()$6LI3|n$aa!QK53lUEIJy(6A zdZ)kl+*xz~W$uBwU(X$IQ}s;^H|_Mle^bWI*WJA8=AHf>Hy^wCGT#{AQr{-uhrX0~ z*UXzc@6mZX{d?wxkq)1K`~02$t@Hmh|H@m`TOPe-r+-7u$2B|sZ{3nwQ(9AtH#47C zdt+^if2aRnYIoG0sNL!BcI!^R_turS?zr`XTd91gzs4WI>Hk0fXDLwO%Ct)}yE?L@ zah72o^$jAbEv9-b+bk*yt$d2<14!dZi%7HV8L*v6EC~T7%tFg*fuzdlEh}UiL56q9 zwmBi%U{pk^)9ex%@WL{Nh>F=m!mJb$JW>oDC)?dwwoJ0_h5pQTq;#co3|nF`WfAhp3HoGjm)yRBwS4QK+!{BM1o0VBwj_p$QpvrkOhuZlQvAax`tZ zuI&7%wLpVdEg*(1-4;<6(4!YLvy20QTS7D85K%3fjLDQ;StPS<88W$i!YoM`NDxYR zgYiR+fl7!rL|?-EFo#NY<-sIPB!Vo-2`FU4Ip{|I44MifUyOoG=X96l@tHZWkNj|L@Izmji0+%#hb8_uj(1%dbc#@}^Z93BEHCL9>a&xnCMh+U3 zDqJ7(xw2gug?Tyl?4mAkNAr@39Iip`lHrBI6d{!C;@^VP2!djr%fz{TPjm|*IWLJiGh0UL3Pj;j_Fh^l`!z3$&rAph( zGFU6(oM7QinpO@10|ZE0F$<0H7uk>n_AW)jhXt=$tsF3s5lh`$ zo5F&Ry8p6VNl?OE5N^K3P zcm`ns^U*Xk9VzfH%|%Vg6Mm>kAFG9sd!m7CzM9+X0#H#EWt`6UiRlPidj(?fg1`oB z!kA3V$;Ym6!eE9)NbQLKDU4z>0|xNdBQd2SY0O1sGP#&`dkRRCNM>@qi06wWFXCU> zxp|q`AsP9WcN(dM#Lc8Z61OyP0&GhP_xtw{Kh!x7IFtx?T7E~qfx|pzHc_8x08_z@<4TKTq z0#QOAIFZye{h@5(UP8cFCOk-tK!!akI?ad>wNG|sXOoMLE`-DioM!39Sjush@2b|bpt;`uqVTv5z5>2w;&5C;6lq0-3bEU zD4C-BAtx^@3;Zh(NJe}YTR1{Lp#-H%kk6YH<4DVRiSQmpZ?YXZT@jPDC)=QCOe7*a zN|BLh5XqDfFfE7xh?)p*7utm)HkSX6kWb15)`~=ZVIM@cZX|vg*)-Te5oBU(N9Kst z&Wa+--3AvGkBpJXG_!1Zxh^L*MlvFo(5aDt6xkRTHZQT7M>nkmAwG4=G|zZtyl1vN zZt~3XsTCFD%ayn>#FnDjngK2|iqsnol}K5kD>c;$8_L~X6lLx1$_6zBNM-@Z6p2d_ z=fwPSG1W|0wv!Mqii?I>GB8SXDBP$-90oNY4T26sHuYJ2adR1-)Qu@ZB^OCOHVA>go^# z6}(N7OyM@RXaxKB5v*^devB9C%eY5(@sIQbevSWygUvpT&r20a>+TDp{Qno-cwWeX>IbB4ziB%mN+II8**y*!U965HrauhRCY zdWm+w%C2D;U~-FDQW`CpVwIFdOA1?z$t}Ftn9{;`7={bXKydOurqk4S0Q! z=@a=fJ(Vxle_$c`0>ikx2uOffm?VEsPvg^B57U*!Y+~wWv^|Qp$3R4)1_-3@LT}4K zk_1T-*3Tr#wDGDj-XzQ$ZergC{bP*PfUz?8OqMyGEf|ltWx#28t@1wpd!~*z&iS>X7ULbi=4mmC zTAZF1fEaFlbhoDkowd2cX}Z!~WWF0E_iIyp%#&|S@oB{^M(O>$nAPMPg+8sM#VCvA zN?VL#B4P;oAFrz;&Vg%gLB5$>>c;$81Vl zFg_5XIW=J3TE1%Jn&g`Xy#qp%S;@c7zQ{LPeQ2sL@Amk@!$BO{UyjKB zdXv9}Ob=_AKvQv8*bi5YiLu-W74#`mjUtmiU*;g|Q3*cHqR;aL9?67JU91|#7DEzr ziE0d2AuUJHJX4w4`Uwn@s=xY!u;mA`SOcsG+#C5n|(a#LUw^F zZbqY@xx_{JFcwfBKXd7SHASy(*9!OO|Ab*NdUvHt1ZlchqRj5XV8lExO*j-=I9Xmb2dt1ieM!Mo}BK>b)G0O1@)vLs4oI*5i zwBS9XfPn63pRYE)-(XStSK?QFsoV3!AJ6H9-;*9pBP)~0}dm=P!?WJ+eN2|K6do*>RfO)9ij>|Fv9&$E8&zya3xfPXww|KRQ1$-q8MGg7cIwIPGh+DjC&iO} zh4CC5G60w)LgA70G7NmUjlT&(nxZ3Z;_(@(_fObrFap+(0!SMDX){&4@{icYNrQ1$ z2?!X%Qh>7;Lu(s#K1l9}B#%n)2&caZXfhUFh|`Thur`?wazJgEihi^|`_Ym1h2NN| zYUlm!!_S8>e$u9@9x;$#P0z;^HlcjNyZkR^G2U@tIxU32Rc+=qyIy6 zRSETCeHNw}!ZhuWkZBWT8TCBbM?D{G(kkma4mD|2^&O8jY1Q=|9ZgzIJv%W)Ji<%F zqr6lcxWR19)gc04g`{9W|@9&~aKTj_~zgNqO&!zxgFRv0Gs3p zHX2h0pi{0AIbkl~1)KQrf@?km#U&c9jVbblOC8ZjQO{@-e|h zSR=P;85?EN*q91)p~X3s)ZwSZYqwwol5BbztfW=YX(>{t0f^5trnd0;taz$%*6)1V zA1=eQt3RA#yp2a+mR@hQFts3cS8J7|nI-~CW}zg6UQ?qbt1+pSlH>HJEhYQi0ZR6~ zU;j1l1f}LYnA3nyDW_e=E_S&D6X{VBD;PAqNgHZQJRpF&#U+Ekh4m zo&Ifq6C%IM}gW)%c zo1|1LQN1B&Z?WnPI3Yoc;vha0A4&+1>MeKn7OCC>r%n>uvNcTO!JGn2M(;1urO{>8 zR#?g<)l@D4%y>m?#tM(w8r1fm({)d*=dW&i6Xw6d5;qMKtk&sQZ9UooCvr7R0I$SM z9%?%e1|YY!=c^t28@uYUJYB;`Zsl8YYXVtYXz!tqpx6rHd!^c`U(_n zifU}5XQ65osLsi%bBgLLBwg_0uy%~P#kc!l6I$#()CBn5k2L{$cSn=H8-!d2x+~!K z+xYA3>6t=V3@%iRozGZi{my5kLBE+RfIbcAH}s!bhP$&oj%a@mg+_v&rcQ`z0y2OG zvFT}riqU(#Kde`7egcf9I70>6yg;3+~o^JmfN1!*YF%o&8aN4Q+SNZ$e4L zWuteb`8j=2adegu)7}(nTX&&MbY5ZfP?&gpA$KqqqA(|sfAQ}Nm9MkJ8ye^FaEGBLW zLB$l~<5aKVFsAR}7mR6p_}lD%ln3>`qPh^jAkNw^AP`g+3hFK@cw3w$lZu}eZ`;rE zw`GN*Ek?DXRjFFFTF(0VzhA9>uSzwLuT_m|RjW~hVll;U61^V`H>wat5{nUA5_R3x zp#ueckyvC#m(sX5xo&Tr`}S2KzNBMy2#7BgOSBasu~b_b3L4cRzR3G0c#de?i+I$$ zP#XW*zK&HPfB+mY>|3*fkP7kPtS4r%=V$2&P8pcehiCz&@79|WUO1Kg#z9`jf z7%56cU)ckTvQd;buqY2jV+IzDK~es|qI?uh8CWz0MWq9aN>Ma(V9`tz%^O%W4@K4- zGcchM1LrsbMWY86jYd)Fz#?;jXrbz`g%(pZ@gPhMik$2Ro062ZAv{+pV<$mz4*c?w z3_6M;ep-0=8|)`@g6y$5?CClB$SeDZwG|(r>91we%h&=@iF4vyR|&$UKw$^g>m%_| zS4Eq>=bU%@D6xY-k72`rQrYu!dUo`DXuRr{+S5-tQxpJX4; z38L~QHe;T?I$D{EN{3ac@abYYY$}Yl7F$xqhP)9og_dTQ#)#=@{JDJ{M;g(z<2Q}y znAOh{)BDo&5_j`-{(-hZ71Q}M7@>uUdEz-Ld@hYYspq(xpTuKrbjU;=0xmt%y>E>I zdBg|WH385F6u42mr%h2r(ng2!zkXvCBrulcN~d1h9NJ zn#(8W!{0HdvrW9KO>EiwE=@;LJ?qNpPzZ$Ri|M=z$iHhk{}gQ_R!9_AN)%TBMcCWX zDH0(}6vaEhaGS+oGGP0CD;VqHzwUE@2t{BoPf&QmE>Q%_-z>7BD0si}a1evockR3P zsLb4ZwC89zq32jn5b1T^OB87SnX3I<-M>d|zhAxY=PEn$B}zO$R}rg4;t5hP*NoRj z^v`9H7&4hnDuAc|M${$_cIMS!O@kq*_iHCYNL~*C$CDxLR7kAAIfYn>lL|Q({+u}r z@m$yz6wfVY@376@7ub!<6f`&%Vz19Lj)fo@EVS8!^GSnD@$nK~iW!yRH&smSQrhyu zLq!=j<~89AQHs0+j8lRqc9POQ#kc$WO}qCuxF%{`OdK>>0 zo3cQZ@PH`g4Wf)UimAMb{dfVG%WN)6+^sgM20Q?e0t9Is&{qx6CkLQ7tue)y#&1LF zZoZA*s84b?-^j^CrPC4&1rr}cjaUtlO_3=BXJ&QRqwoMuk0W2;Al`(0JJi>pE12cp z+w|vlA8gds-G>_W-|Rj@Z@+1zG1K@v`vCI8rrkek+P$l3_wFVbTcFJT#$Mn8$|#5d z(CkVvyHvyhXm(S*nPbsqN3_eQ2X?v5>=OO{s7X&nw|Lv#`X!7rlVQ!_F`0E%bTa zIpnfVf^8643AAhauCRg*tduSNLn}lS=Wp{fWK`ooPirl=SjT8qOl#@#B3xgyIIV zo*xz)__J|+qz-5scCy@RVtLstIGEL$2hQvoUa!fnxEhs+&J86ejMb%Y?_|{Y2Bh1wY}mJ zYA<<@jn{V;;UH(SuWtx8K^^%DV0Q?n&f;*Yo(Z<`2J-bRJoTOV#k{yLSr!IiPV@~I zLB2{{$5*p|trqpXP@F5jP{_}9DVcOudQN;49tqok!X^9i#Vr8+I$sTQ;0CP!c6Oi| zMaxjMoL1%|bVi^Ma#sS<`npw2v5U1OC&V(Q2_pYXygCH~7Ts7-qOQfiwpPDb5=xQkXG8%;1Vx%Q5~55a)G% zi4IxL`(@n6ekptwAn36ejv}x@&+xl${7b)g%LKh2tlAG&-4M2m^)!L?;e;a_j;#0I ziWX8vS4$a9vf0$WTTJa+t&fVXB4!-~Ee7gF({K}8pc|_#-DnMsBg|r-{*PJ-&8gI< zmHGA;``Sx}VlCt$QkjAOqkYXs4v@Cp2kmXzEK|X+=Dq?k=%_PNVX4kYHfFCR_h8_^ z%YcZr**l}-AWjH64v{Ssv2Mw5NFHcG#ab9&qv-Q?iay7~JFf;W-UKToi?^hSg0QrB z>#~-XiLwUEfNcjY6a;4v(PwIleY#Jp!)Aef`4Rs}tMcg!qJ_qJKXw)SQB8zh29r%o zqBJ!A><89g_%ZfXW9EoRMJXORPmV|kYJZa2n_?K;E}FsZ;9|@!#kc{FzU#5^qMib7 zDyTs1A$|bqOAxj%gOxl!ZHrI4k+^CrCEI+68+G2(HaDDyFjD8;ZBxUUh$?m7)ixQO zZt->A*)|qK@QoONUvG)x%X%18D90TZ{2ddI2~muRi1m#=M69>^5V79oL&Q2J&IbhD zW8z%g3DtcU6!+aw+xJ|(MNFtezQkD>5n*mx8H368mmu3;{x8b*0K$9CKGA^aUdSgJ z3ly!zCz|ls>_ed68S*(>e9p}fQ@!W?gqI>-f>wN)KT9GiEdbJ!ZdITc6D*yI-722I zUd2{$ZYTNnwE}UVYbP|wL*RzoUYrIGS7WRoxd2DjaT?^Mt=L5`iI=xxAH6IBZpsEk z17#ZoMM4?{1)7?$9#jXe!J?oRyn}^lCHBGE;JFQ^(?ityA#s3O9}q8h9S&b3UIHRR zdU1+P%y&P=c)4p=U!r$e0oBNtNDbt>$A=1RB@y5ciU!^;8o42w_OC14sDF8 z`sQ{V+ZfgL%?1u`jGFr9{W!YODbDOeJj^`r8OZ;13eHdRQ~VMBDBcd@cSu*Xlz@Jl zmI{JuBUQ1#yQaQvWH?V4-PQGN+2Ksl-d$DSmWKNR4|Z49lQlI`_R|2NK&?8n!8Z7ka^Q1;c z_ioTKC4eDX6M&psJlLv$7VWJGpoW2WL+nSoUz`LWKPgV3;uN4k>m0Pkkj~zbm@oR! z??(qzwJSW-ta8Q5L2Lpmzp#q0(i1MMhQfZt-MorFA|7pC%^wv9(fdJh2f) z66*33v#V{=e~z{wLdFdHzq#drx zenY^r0O0|&;0@@2H=;j_Z8J@_UEP%luDq+n;>x>9aB+j5!+|=q@L%AV`(W`78-@Oe zMGrMeK`DCXstv19V9-R=Qp~5s@PVxoDB|3UkrCmvHL~XZ`$D{u*%89`XS* z?SKz>X%EBwQng?D*yM#4Vd@BP5M~MC-KuCy32!{T^+eyrL|=J9Fk(m9qbQ(n{wW&s z&(M;8j%NH1AQe9hvOz1L^~d55-QN1P)eu~tcQ37PtApVBtb0j)TLlEyr`>h+Z8Lkv zsNz-oYkg_Bc+iz}09WNopl#gEuR<4rB+ajZ=Rg%8)ZznS@Z9Y4-db$IU}_Qulanx* zo`m_OZ!oct5knoU_n+D1Q6|0GCMT6`E(}qngs4(VR4F5>T(Qw3QiTi(tJOoq0tbi% z9wrv}<=@W&aq@z8RJAw^_&&3~*{-Nh%Z&GQj=~y!u`zoSiuX#TxL!8(o27LP}E$r9-Mf;s!FV$Xx7p}eR z-yin3|ITl`->ri!^*vF_ichf81A}Uo{d9%6#kjBd;m*8D zL%!zMPWbn~;%|S|Z@lKe?}Qxn1l64NYj695`c4Fu>Bi02nYdjU7If?8sTt;_&Pdd- z$nHT@A-2(@Cffv{2OAqMr-hnz>~sZ6-q%PHn81SuJsAHL0CfHUzn$NKx8pFOUyLA$ zdkLNM$x6UIh0b}f5&-Za&UayC!PWS%E3K_brY8o&@%vF6(Hb)P?MN6RPRCt=FM^0? z{YZ#F(vFt_5jg$0E_==|uh@QLhTgvn7QV+vc2|}5hF{;Qy-6me_7;)%jDPjsDot9KS?e9J3hjsss-#cXbRc_#20s^MM z65%Vh)n&2juL>j`3442|Ua?ogiQf08US;G1v5}v*M0X+x6ruKIWB)P=ePs~q$n)NJ zrh-azk0yB+1^Xz(-P?WMkElscFX(p3`;(a3<`TZHO1!OYvxCedRCqbw7iJ=|k4UF^Jdd#Wz>jlsNebL$1g)A7fb`dw0}LQBz^X3&_tNBg7Sn6gLv6Rr9Dkhm~;a)C|z zy~sI|&;7>deyuuWEC}JO*{BHN+!?e!iv#1%vj-5_ zI-92b!M_h5GVERzGHTV`t3z&Nwl0+5wd&SI)S~CCchxL3>7ExlFoHf#SQ^6mWmzS3 za8oA_%!2GYi% z$ABwBG$2mM#pd!0+xaWv=JE>{dAZmQd+H(ubJ$`%*}jACU@tC4;q&4m50espr7HpU z(+}r}?ZY|l26t{o?xs27OkA_XNV7AsX60Q8ZH?mMaDIchq4VapTjV%5SmUHe8qhd5 zM8|1M?b$B2cW!PQI{?~oC3J8Afc;8#iq8Si&yW5=K7>v~ROx4$9QVdIN+rl0kbIrun*e-OlN1pe!wcplNV zurz>$DgkK26~d2St0(XoY*`(SUc-2$t1&_GB!bT&zP0@?etetrS3iB5^YEAaJitF; zZFO$rFaA~=uQC4WZ&i401R5|kfJruCL=8Z06}5o)MjXVgfJm_*ZUw|9@eM#U$3biY zM5+a`snw<_0nyy5XtqEErd|>{zhMgizTY2(|B`0WADcy*1^*>x zp^Xg~{g{R}F4q58>VI6U{~;2-cWeMk*RFD@TV2~Htr}eBD ziE-Y(3a3G4sNdbX7Ivz?RptJHB*#XlbJ+Uez~X!Bd+M>^{@%Zkp8KocyLFy;2IB|> zo1ft`l4t0-?&cZDw*ZGkzLu63f$3*p-L(J>YnAo1&gp&mdL~kjo{Ds)o`AFhSM`4z z!VyJxNIOpFs4wCc&3Aac9^iDd;A!vN`TDKvFAi4rhzn zP7e&Fn$DuW6kLSZ>|HV+=VG_wTY_AmG}FfNK-%L24EhjeM(U;OE6w_&DczeRBN-KmCNCw<5T= z33bh4Q$au8nhO@tJNY-rv>ryLmD{jqH{mu$P-ima4%VQr(Sk;P3x5SGM>}(qL$+}2 z#QQ60`~xW4S9XtT**&IZ_t+M35)m+Q3K1~e>W~qKF)AW0?J2Z{Qmrl2RR}t7sJyI@ zh`*r{-dA|oz?$~a>h3o~y`$CM6xwkJuB8OZFOncYl^LYML%Fe(8-jXwYXbi@VgG@<^-V|&JtPH&@ugo&AaS52 z28@INUu7f)EI!hb0{asJ?TG>QR6lwe)uLqw(7TosK(AVEfSp>x4)haz4Vx;SJPvLnY-4k%aVoRE`%U3_ShEhot5V6nAqzmdhI!h9e0Yo zuv8pHeC4u1y+5g>=*KJjXqpZL#rPlhI|A%TKmQ}%|AhJRKk*O52PV);Ikw1EPqZv-1%JC zDGrxkl#cvGhSToj*w7i+pH3vg3vwBf2{HnFi`deBO@MgQ8WTC9s>|d7EmHz!1`zD19ta4A zK*Pv3%fRZ(f;U6Q!7@Onp8LTTh-;IrFO@;hDy->h@2+apszU9&p$${qzL@={dUKEJ zeWd!vRSHnc3b6D2Ncol^ZmbToz#isDz*s~F6qkiAL8-sg84?hl4 z+!P)niaVfKV?JrtN3a<)Ds6fUzV4A9_oAvgaz%3_-*X_UNOBd*`$2W?U=|NJw-@8 zJr5y0;I-F+#yyh8J(9*flEyuQ(|8tQzYXx2arM}Hf33dG%BGsxYpm=LGyA`hMXVVo zFwaDE5Rl!$TYmA((Qn@LhAq=J%4N~*+; z@OUw`vkIT6ju2&?m2H_&zonfOZK+t2lFkKKk{0j&THI4uA+E!hr+d6szc#+Z>s)9c z_&1M&fAhsWP<5V|531swsEQ1zIv*ef3cnLTc-(~;A(Z6Zh!P@qk6YXc{dlLi3+Y|r zZZx`E+=KKUgsAAc6m?H6WjomlRVA{DUGxUUBk1IacogYx#6k4?f;fctE*$oQ^ZA3k z9jSreez6}yh;DEhc+w57cE~5X!Sx{WwxC-ak$C(@;_*T&;n9Wk9vrO6Yg>;%8$Swd ze2_Qd>!l_zLlF8nd0EdR;k2Gd!^u4dvHXWj()2utvUZdiDBJISX(156*B0Vf=W03R z(au#SKb_#Wft5}G>UD7&`Q|-u;{7f2?wz-O5iTeX=L?gm{WLKR-e6l2xp-pQa6U&& zOXG8s=NR~!J%8_9+&t#9aPgSWrh;qt&Y^dVm6-;{YZWyxrw+UJuc22JTgv<3ttM#;3_twjIPIhX}`w$(%whDBoJ9g zU5wuYlXQD$Vc$}H8`27WE7BVMZlu+E1=1>g9nwmD3(^YxW~2-B9Z2WvHzA#;uR&@D z4R+w>HzkRbBvX=3iGvb5C25poP%?y)6iS?wBzNxUTc{@@t<}?!*60qT)w&&N6*lY+ zjGlqCLLY*3fu4eNzV1XiPj?};W7DZYeGMhsDcMHJR!Z)sq=J%llx(5oW=eKYauX6! z7$4@qEt%)_uW=Q#ke)APzkzI$%=XMUf-588Q@V9U%>0iKsEfr221|0M$M>e+Wd;Q; za6}sL|0aM`t)dks_Y4py?t-{}&mh2}kW8cJ(R&!?Bt^tw8A`aGR_}9l@TeAphF2e% zFvS1Z5FHu1ymMXK&_PEI>Ko0TpYqOKf+jQK?ELh$G+b1X-odTGo*AO3{6Y;Pik=I# z+~eK61af^1WVcVO;VW^6WJU6d2`lM`+py~(*O#GgxmX4Xv`j3A1j0K>AY>qcmWy@V zCe~tuEer0?2^iUdc9?IE_Xou$aHb1(ot_G_4sX(`(`RYJ1A0gs5io|6MK~gA5snP( zA0B8QK^7sIelBekss7P{{iCEIFq(2>0_??pq+8LYM|< z$;ccKeegxa@8O6B#V6r8dSU0*@bsQf#Cf_0x=L3tgVp*_oN5Me{yrXe3Iq5aWyK;C zoy4nY%<(?lS^mA)y7&C<@qwQ6814%oz`x*Iy-Syp8QE17&ICI>wTomBURu5HF9p<7 zl;y2^TLDqhmWp&%TW(*rcq&Yx_VNoyaXDPMaEu=dilb>D_R2S#nTH_xOn<+UJz&= zFUPM?ugEXw=!FtuL`;W}=QZZp69fUKQl%Gv_6I-lpGdhfV@`qp?zSKNmfzel@v zj~LI#d2d;U|A6Ih{Z+f1PFqHjJ&QGz&R`4EZP}@;KF5*n$jKY4jAzxUj!dTJ*m82S z8UB2EnRYy?bF;EMY_&bzZp*f_`phI-j-AzIB)gO%R)jy9&`abkRuESx0iuagmywg@ zO3F>lakw&=$Kz3GK=V&2@!+4b+{LO~uAFq24fu{#)MeGIJ|oL+OH8#Tq}#_Tu}U^n zVUCQUwsc3*ScVGk?4gRkc6B8RvvX|e>Gq^TwqhxDh)z6Jb<1UM^ulsnE|zY~NW_M=hStBPy02ww)8@l z;bO^>EwWJH$Rb>*J#d!va%5*r%wdTxXQnO3fn|u!jcVgsgX*qf)VR@=%d){?>1>!S zBM0B%r=&v|_iH6UlL1>QkCU?ExTl8WLGRT7v5?_*vX|xj8H0y%t9cNn`Ix%u+&-ROr5qo zK(mA_N8%8|(PtZCXEv7X!t!H9a#9`HEITm^OY32kV94y$Trj_DSO&`k*JMd~U`v7HZkRBhfBf6vWMV7;!jO$(|#t{+1jbq@LE4{!Gaw-!6wD z!NEvQA!U_5pCcm=qEAXXg)LmUs8V(ipU56ON^(hQiA^ajE5}CgFrqq?>R%>XflCB^pR9KAPvFWYcY>*_v?pS!RU(PTR9jhys%~sglqWL7k zOeCb*i*A@A2z68RO`1|*ZUWL5lg6T)#JWd`hc`2j3Ph5KHdBz1e*-|Rp(7(x3*cx9 zS96zLF*lzJveK3Xd1HxelcNi^pzBOR1=GDffTd zhFK`edx?s&3DuYj{ZT9QbLB(U{x>GCHJxrc+jOz%9)kA z#H1v93K35JO;84!v+Hc@XNAhwU$_28 z>wmNU&+7{}tljY44G(X4XG3mqR;VI)E7B)}zeien-Hz+Tb#GmlyKz=%!u9K~pA}lQ z@p~Je-uOW@|Ksa_cl~#pXN8=b$~T2J%?jOz-|0>Lo64KlG*kKG&F?oyaQgqx|6U3# zcV*ZWb%-NVsj*D*s8tCrQEusYM>9CqfEJ*<-4MNLafuu?w z%Y0-ML58Pf*_;qDEut)-M=xt;83z)#0nMZm(#oMD#Do)YRiiaK$DRp&2o;Sd`M6o8AB|pfn39^4 zlbJocxHwrlJ>+d=xzdYrv+Y@)6gZ-}2_A>5*j+lKNSY#~G8q`go{rWDE_hrH@Cmdb zSOhf|4@$lyM+eI-Cmi92LM1nwlq#$R3L02#U0LW1q)c?B%U4+Ynf63SvIBFJ7B@_? zBG{?4%`9_ud7S$z{YcZwL0o_UX)9);G5#VOvXFc%a#u~jLS|3#NbeQAX0?id4rm3Z z7l>Hu-r5uveAMx0%ui6#T#ydF#pMXDF=N2$D`jFEF`w`Rwjm#6AF_*i3&On#-A+fgmAEhN&$#wxlX?*Oi2o%L9=|es~7b zXb6ljmxvPjz=@=$=?`T|=MnGIApkXGqU>MS9Fhg`h-lN>m`5fiz1u#-cScGG>O?BF@EsVpfs(ng_8;#D^ja zM<~;KM4K^ZZuS74$#JFF0gzRwV4ZA3U5+FKAF{J$ybb&e!JY_rMk;U9--0ZpPzx$fm&#iXanP zJ2FSCc2*FX4K4GO%#M-BG_!2EIW8wQMj~RC(5aD76xkS;H!roCM>nkkA--bSN^h;N z*4xNx>eT8L%a_+y`{KrsTZ(3DhPKT3(O5L}Maqg?$;np0kPUNDe07*B3)GY#8HFHI zBqBwe6Z6aER5M&zPD0!h7YDOsV3g=qEX<60Su22`qXRL|I7F>hG-nzo%AJ;~S7cPw vlx~QtL>4lx11Z(gh?iv`3~E3rh7LpIg<>#J`Q)KTw4|csz|s4E^Y1?ZeMltJ