From 0e746972713692adaf55b3280aac961c6b4ae266 Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Sat, 24 Dec 2022 01:06:40 -0500 Subject: [PATCH] Fix #223. Also CLREOL (sorta) works in SHR mode. --- applecorn.po | Bin 819200 -> 819200 bytes auxmem.hostfs.s | 53 ++++++++++++++++-------------------------------- auxmem.shr.s | 42 ++++++++++++++++++++++++++++++-------- 3 files changed, 51 insertions(+), 44 deletions(-) diff --git a/applecorn.po b/applecorn.po index afe52c38da9333aceb341bf97702ef187fd37689..cb3c3fb2863d9acb04068a08312089fe1c839eec 100644 GIT binary patch delta 10732 zcma(%3s@6Z){_|?VGxb)h_9>F7OW3^r&cSd*kB|007Z&8i9zGD?soqz%fJ0I?VA4n z)}gW09krn8Y-t(luwiX$(WS;$C8#*IZtHJ-peP_Ohlfb9n*ZF1QEK~t-zJ%vd(S=R z+;h)8_ndQYhGi$P>;(7fAl=%<#I7+R8iK7N5H9@XjiCR2BS-@m2^R$yt_Q;v0#_(p zTDZavz7a&9d$0E>OVLZDjHH+&+;bL0969-{g)^Zb^l%a|VtBd_JP*$0>E|@$%kBJYyXene z=ylgUBj!bKZ+R-}bvI^$`zLQt`7S$3B0Rd02`qZhHo_M(0Gjoj&VzyX6IgFgB@{h4 zxOg|cOGBDk_{Kf7Rnx*R`jCDN9>+eUS7{VJI+q@+X+D^mOGju%4Z6w*AtI4?3I^3F zvS{8VH1(=LK(zVJXC3K{u|Hd9?CX zCQbCY2>#o$z%QFg%PqYk5VUq|>6IwBYAb`}7Nb;pWlZzs|NhqY8;#KB(m*T!Z8qQe zH~Lw7{o4W-!TjWvRJ&ohiG2jRURz1LDYxIy8SY0hg{3pEa?O_+BBjuGDb465ltD&x{ubEERjii< zPxQjuKc<6+W(gZGeBl%L6H7sptNCpo(?bXBt9Nx%XR)|t_YrD~uH%vU3H*tV=}DU7 zyzWzaKm?%cZP}g7rL-*JeHFwT^673QaG9G=Ki4O;((98c)6Hw9``5gLtlyd?Y~kO^ zr-$e#S-v2+$(AoP+!V_fU~m?{3B8V6`-YM#>SnbP;*(*DSKxA=Zn!hmq_LpgKcNQ? zIDgC4(=VuJ_t#wntx^fJkCB;A=zeQ&-JCtg*IG5(I45BdekLtg=5ts1D|6x(Cof7` z<}==!vnXLnyl>>qxr^fCeQ`IF6Ov8wzPE4ru2%+KpL+dSxc+>-QvLi{Em^9(5$=AD zWAAu2AEgURizrzw=_$4b%1wUJOm zZ(J7%Mrd-8rYk;CV_4rtCWPqM!pCt8>>&SGmQaf)e95mSJPdpTC=&g?o&Wq(`q?4D zt{Z51y8-pQq0c|D<~hfS{F7j)C%-9^zsnLn;5$C06YQBcMjVR?G5KzoYJ9F?0woe? zNtO6KxMNp;lu(5-s*vx-h^m-y7Y*eykIvb_xQ3zsyy4Qr4TvyCMwNd7p1=#x7(Eo- zyHVB!Lfb~cC%OlKyFiWJ1>yj^n-mc$^x5X2+c$6rUFiTMP6J7{bfGE~cX#O5Xu$Jc zG!^>ARA#?>vs6MfuCM*r;axOzU$Zr@TaH!&iDPC)s}AQW7UUDRHFoJh~?1IoVe1o#}DmL&dd zk)99+-~lcoOSr|Cigfg_3%3g7bHwGvf7`5IbE<;94sW@xIp$`*H^Gx7?8Gt;;TsF-L7_kcT4}?OiF&9+ zgPvr+$H|SO{LY|`fAuqZihWnP zy1m+1>Z~?uV=JqV*0xkXsP0{Jw00O=<7#Hq%&$qW*;w;maOKo|So2BEmo=wrF4x?y zd05lCc3ADC+AnM7)-J2vSj*PFUwah3AFKDHwO`gAJ-By2-J-E?ubUOOIAOLgzkYUH zvIA-<38p!0b>nPsQd_(YvrS2h<9$^PbK*_$$?@-a8|I|UU%)0b#;3;5W*0War~c3O zx`f2JNn5wqnUdn>ytTMt{wsdUqy@?Eo~&DxlDK($-JfL%{(&FT~i+y+MeeYD;H`fS+i}?>I#VB-mS@b=88mmT3l1 zlunV9!(D_Bgl@}9qevM6$rf!#{hRqEZux*jMkk14*gkXhzxfN*~l-=TLBo z#-(PEQFeda{E3o(2etV&X4y#UC%D0MbDUZ6@9GOvxy>wvVm4Tk@`7N(r77k&n;D7hDGFiJbf zH-9GcekN;p3K&+)|QJMx*sj=m(!$@1>P{g{aCm!l%1~A{%+{Kj_)y`X;{n0eUEzQN@ot zK=<#PQC0g*t=y=0_7g|>2MIBWfAs)8mIRV_5721P#wMdk7>%}Uea9M&Q&V;^%~%MY z7Vv}{{HX)Tx$`FE%KYvQqhj0`{)Fqx?ge zb9dj}vWwn}J#79)>vpBg6YOk<(8fR}IoEAF6wbUK3( zuegG?D@=ap$M>^@Svblrdn)-sr}@{vq-~KexSA_Nl^}7Js~J)sSb}f2i?66<{_dCb zi+!!ldF$|A6#cGMIG&S3f=sB8k3UGKY3g{_L3&R7&gQ~hF(EF(NxB9yl^TI?>yW8M z7+s)fg|X2+6jB)FBJ@m_F!8tKkZh!^L+yO@SC9_=s|Eeg0-gac%cAdF@XCC~AMnbwN^B{)t=pHV}Jz1Uc-$N+&8uY2bEC8!6+h8Nhmsyf%NF#eAR;U zjB>VtDcab&|Fu?WQ>!vmZ7T(#p-Gi>_oD%nRcvZyVXHzA(q>YL5_~zEN&jE~VGQgd z%jIUlzkPf(JOJcwCYcczVl<3V8tIAFDN#0oxbi)}se~S?`GI$q(BlVZw{`8ZDZ8!0 zMuJBa+uVcDKK^P69p4>>p54~zM@zTx;}6l3Nn<;2J4COg@uar7gD;`4_{)drf#iZF z{-;CqGcWGGiw{lwB<&Wcl+ zvRY4fxdE&8Qg)UQjO}0*|JTFdmqothFg*bt4TtGP-QI5BswN$f`M$@``zM{Kd5hou zPkIhKuKtrA@jRhyqD1>wWx==fOn#ejS0NmIz`|+o)ZT1Uo(1+|f!>l+w?T zBj)pqO6l45^n0DQ)b%6@+q5CLIq|90fYV5r*;pam)qy>IpAM6@BO-p$qNGLB5aH4k zKTtxzy_L!B4C;7z?*V*YuG@EK^PR-z_nIRrXI<-kt>NmntFy13sze>X{!T+35H(D2 zPj5H1*O_ALaT$JZx0~Ky$j{4DD z>Y(re6)O-1IH0n*Def;+R?)j2_z7=fRonwr7)IyuV~^1Hd$~=AO(#v~O;=5grk_mO z`TghfFM8-VM$(BnVTrlniO~I9WZo>Qwt*#`ZRMr2DDODAL;BI|m@ZxBfAG-A4o70R zNA$AQIW@|uVSpqe5wzF%pq9P+2-EDC0n;{}>y~(?TcV;ZE1nL`Y%9unfUewUA4=EE z+!f0)u4x*a$e>9Zm_0>rdEjSHMYeQA zWS|8ZxG+5f^~n$kt{v;_o>`3JI&kSHGn_RZyK4?~AmR?Ho^bLJC{>cq40K{8SDVxoXh7r&_a9O73TK#9o8%?s z-?0RA$=yx@Tra6ilxq2h$7sEMw^^Y}_n3EsU6irS+u|rdM|DZ=8EDlC_ju`c5*J6Y z2auil{{{q2;#~GReq^wh@PlB#Gs4rxp1~(R+)EbjI@Zig3wOheT35Q~fvy19ih*{3 zwqcbWZ83|X+zg9&oQuWBwVoLkfzFv>aSw*Q-n%PvE-yfPR=Raum3iAuj9*r1c9Se= zV5D1SF5FUdc|qPRTbvg$?mb z(&>f-LVDK&zuYj7G}*F~kfvC6YNV-_o#Y>=T&+iX3;*DxBOrwDw}+aFLXrb03o%M1 z$f>%1?i4KIkQCFOlTpYL)3udwN7q&w!N#1Cg|^B>xrcz4f0%TJiq?Xt$y>pMj5rVS zFTlX!V}KC+LT@pGYcz{JRP*di0f*EL^J9ddQV+E=rd-#7eIHnNw)EN>Rf=jKHB`G!6|L2umRj z4;wTVenT0oql#p&Nrw4n3?Ox58O1fHNN1@=FU7T_NEK9LIVEeQb5!GL3jT{3&0vYZ zscDpO=Rg=LDaM)pE9L3&xt}lcQ2UQkc+FK}*?z>bIa0dHru7eYv8eGT0-Gd;>x~T` zte*tyms(Q1q`NyVHKzbDqQ6B+FhIGnp9M?UlG51U0ut(_G71I-z%r^(@=`Fc{uVyX z3meCDtD7=yNnyY*YOtC^xH@xAy?I-M*%WStVL-@*{$8@E-V$6TtjuqgNV6=QhvH69 z(rgQNl;TcOxyPv7Z>ZekRPHHCinVxSqbV(ShN9sU+S(_&rGre0%a<9dMUU%%9OQKA}FQrBa1n)QV9VIv-c1q66Qie zwbCk-xH8xvFf}UYNAor{@9>M}Hx7Nk;@wZJOuuz>nYjR>@Dw8Si~}K9hx`m2l&MDb zqCYmB4J>6z6?QB7V1@gd^a|tkfrI{Fg|jWdvuo%4qSJKLRB-b{VF`$1-TG_~0nYx+ zQkb>zc-AIhSMg1ZB|zLYfb+$t!32PKqMzW&G`ojMb1dE-@(?NB0i;r2W%pEMyon(}JoU?5<7!1~u3 z#Lz}4Q+{qH-HylNf4vM1+7aN_9Sd>!*Fqq`8u0I6y@E#mJ7_5C-@xL#SJ0C+dHkFT z+R$%2{6V+_J--7IqJR=|W77HeE9mD!C#FN{JSm;`RM1hARRsh_*EBU9{=hLnd+7`5 zj@h-fxI7(~X9&dpDe1-2x6dj&Gc}zbe2yMv`fXA_x}Vg~hTYeNzx1eg$83=Ro|Drb zas1#MYzOoBFVE4l<9<$;G?aImJh_qrXBV_wf;e@1e4#|bBL<=6Xwjn|_6=!}bXYO| zI2l9PdEgcJX)-;^4p>?Y!dN=Miu7ak##kk2!*XQJKzo)W$8tR!IvJRvk_@F+d1*-o z9Cn75S8C)omdYu~VAQ{oDm7~#zXKr6B%^y2Mn-Za8R9tZP)6S23<%s|r8CLALmB04 zD^rABmW!{F>3)4nG6bRl>U61w+I=WP&5%p@?&s+dHmpV}i zZV(mj6$V`hm70ON6H@JI9nJW}rg^=ByVY>-gt_);ioZZoA1|uEmg#C}6 z@w?3GP6GtBqAaXSU1=7~f*eu~y|7fdoo&EmS|IB}&;V2RTi8z_8yJ^50fS%yK+QC& zUa@{`m_cxq^FG69jnX_u3G?UWx$_uX6jSsH!=npye_bil>DJa(M#yb~PoD$O zmoLy0CJ!=e^QX(?H#5GO9_7^IJ$G~uZnwDrLXNh0`tIH4Eo_?s@&y;MeYzgT>+-=U z_@WE+;P7Q;rE{xsmk}W||NRBJN>g(1(7)&v8WMH^1Am~W+MmQ8k#L9M=o2AoAjTVo zo?Nh}^lK`w2_GDCK^_|e5$(hb3#0DNpnM$mXf$lpF#K(ZD>Zl{|Uo07*cl0jCq_HuCglcRBNYuskKvMEFUbK zIrM;z9H`+v-N+#R?uBr@y|g^j5nK9QrXvoljUZm%lJ^h%B&_g(w+zyZ|2zdps(oeB zMeMqA+^XoHo_ETMj%3=l$7V}X< zE&%%CSmUN1_5km^<5rbh0k8yym$rrl6@G=DUj;7{;Ns}@tDaPV7#I~4$3`pLV>=n` zrbt8SDeHsdRvo2Z)7M2n##YEA_zY|M7BbKPtoMGH8TCX+W7MX>=&e<7_*P{1AN{C- ztNn?jk6QhWkvOV#X@r9{Zu08fDXRqvF{|8kbdR%>SIbn>l-1?Brl!fOr75ccpakKw z(Td4WVWADH01Mu~BAPZ@^wKv}vkQwhGh zFOyw{8dl@Z78XSJkpBaP*xWCplvTT;6?qwcPSfck6MT_4T{VinyuW3#ec&c)@;=Sn z`&s7Rzh~|}n29rrlvQaedfvWFTi$`pY!pAzR<7Fv9sMmcCLAT$oFV8hHuMt!8)1>9 ztn&YM0Y3W!QdY6w1_LI%#1XOgaAul|fSvY8TQ>8_WxB~OQh5h6nM<|s`AQE8+}i1- zV&K#j&JzYFDwJvLTGPG_MqCcEnO<0HGkw0n-*9EE$@8fA^IFrx4Oc(SRPbqSip{`4 zZv|+T4VG$bv>isni02%!qSX-xOIDX3t6vl0h|P~%Lpb8>Tj0$35qjxonc$l=$^b}? zqZwCFaqN}9XDSon;4&7~*&hBqlW_(6VMATy6Ih5J*2_gbhCNiZ2QCx(XXR$UGMSt{ z>-29P$OH`*pounruR*J9r3ZPgJba)%d5s%-)q;V$x)sM}Bd8BxTw%qr1)#6wHH?c6 z6y3qhLr|JJWtc0sV+{;!QcUkFhcjh}cDwX%9?m?wV~x8%tM3YOhXT+^LPEA8vJ3UmRxoMUTO0e3DNVo66AstCznQGF{5azpyYp5?&}H! z1dwdp5B$?VaGemForWJCR}g-n+nG6;xRlmao@}V8@;vVs2)~XLkO^KFx`?K( zUZ>yCXI&vfNYgzr_ZcJVyY67&nQ#NyV+faO5jS$n@SY=fiG^>j2p?gO*@)(E1igp` zAr!@I6#GDxL5>Zgo$G!=T5925#prQq7RH!XfIJ(r(ZdZk<`O7v$YZ5F*sygPU0AaA zHDFL%vUVdpI+`|!g51O07-0ssI2 delta 10451 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 RDMAIN LDA (FSPTR1),Y + >>> RDAUX PHA AND #$1F JSR PRDECSLH ; Day INY + >>> RDMAIN LDA (FSPTR1),Y + >>> RDAUX ASL A PLA ROL A @@ -578,7 +582,9 @@ PRDATETIME JSR PRSPACE ROL A AND #$0F JSR PRDECSLH ; Month + >>> RDMAIN LDA (FSPTR1),Y + >>> RDAUX PHA CMP #80 LDA #$19 @@ -591,12 +597,16 @@ PRDATETIME JSR PRSPACE JSR PRSPACE INY INY + >>> RDMAIN LDA (FSPTR1),Y + >>> RDAUX JSR PRDEC ; Hour LDA #$3A JSR OSWRCH DEY + >>> RDMAIN LDA (FSPTR1),Y ; Minute + >>> RDAUX PRDEC TAX LDA #$99 SED @@ -613,10 +623,14 @@ PRDECSLH JSR PRDEC * Print object access string PRACCESS LDX #$04 ; Offset to 'D' char LDY #$00 + >>> RDMAIN LDA (FSPTR1),Y + >>> RDAUX CMP #$D0 ; CS=Directory LDY #$1E + >>> RDMAIN LDA (FSPTR1),Y ; Permission byte + >>> RDAUX LDY #$0C ; Char counter EOR #$C0 * AND #$E3 ; Keep LLB---WR @@ -635,47 +649,14 @@ PRACCESS LDX #$04 ; Offset to 'D' char BPL :PRACCLP ; Loop for all chars JMP PRSPACES ; Pad -* LDX #$04 ; Offset to chars -* LDY #$1E -* LDA (FSPTR1),Y -* PHA -* LDY #$00 ; Chars printed -* LDA (FSPTR1),Y -* CMP #$D0 -* JSR :PRACCCHR ; 'D' -* PLA -* CPY #$01 ; Has 'D' been printed? -* PHP -* PHA -* EOR #$C0 -* CMP #$40 -* JSR :PRACCCHR ; 'L' -* PLA -* PLP -* BCS :PRACCDONE ; Dir, skip 'WR' -* ROR A -* PHP -* ROR A -* JSR :PRACCCHR ; 'W' -* PLP -* JSR :PRACCCHR ; 'R' -*:PRACCDONE LDA #$20 -*:PRACCLP JSR :PRSPACE -* CPY #$04 -* BCC :PRACCLP -*:PRSKIP RTS -*:PRACCCHR DEX -* BCC :PRSKIP -* LDA ACCESSCHRS,X -*:PRSPACE INY -* JMP OSWRCH - ACCESSCHRS ASC 'RWBLD' ACCESSBITS DB $01,$02,$20,$C0,$00 * Print object addresses PRADDR LDX #3 -PRADDRLP LDA (FSPTR1),Y +PRADDRLP >>> RDMAIN + LDA (FSPTR1),Y + >>> RDAUX PRADDR0 JSR OUTHEX DEY DEX diff --git a/auxmem.shr.s b/auxmem.shr.s index cc74d95..ebdbd3a 100644 --- a/auxmem.shr.s +++ b/auxmem.shr.s @@ -109,13 +109,7 @@ SHRPRCHAR SEC JSR SHRCHAR320 BRA :S2 :S1 JSR SHRCHAR640 -:S2 LDA VDUADDR+0 ; Add 160 to VDUADDR - CLC - ADC #160 - STA VDUADDR+0 - LDA VDUADDR+1 - ADC #$00 - STA VDUADDR+1 +:S2 JSR SHRNEXTROW ; Add 160 to VDUADDR INY ; Next row of font CPY #$08 ; Last row? BNE :L1 @@ -200,6 +194,17 @@ SHRCHARADDR LDA #$20 ; MSB starts at $20 * (VDUADDR)=>character address, X=preserved +* Advance VDUADDR to the next row of pixels +SHRNEXTROW LDA VDUADDR+0 ; Add 160 to VDUADDR + CLC + ADC #160 + STA VDUADDR+0 + LDA VDUADDR+1 + ADC #$00 + STA VDUADDR+1 + RTS + + * Forwards scroll one line SHRSCR1LINE RTS @@ -211,8 +216,29 @@ SHRRSCR1LINE * Clear from current location to EOL -SHRCLREOL +* TODO: This is only for 640 mode at present +SHRCLREOL JSR SHRCHARADDR + STZ VDUADDR+0 ; Addr of start of line + LDA #$08 ; Eight rows + STA :CTR +:L0 LDA VDUTEXTX + TAX + ASL ; 2 bytes / char + TAY + LDA #$00 +:L1 CPX TXTWINRGT + BCS :S1 + STA [VDUADDR],Y + INY + STA [VDUADDR],Y + INY + INX + BRA :L1 +:S1 JSR SHRNEXTROW + DEC :CTR + BNE :L0 RTS +:CTR DB $00 * VDU16 (CLG) clears the whole SHR screen right now