From 7999707853de999dcc475d8e0a2e38d9842e070c Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Fri, 9 Dec 2022 23:14:35 -0500 Subject: [PATCH] WIP: Started work on *KEY. --- applecorn.po | Bin 819200 -> 819200 bytes auxmem.chario.s | 61 +++++++++++++++++++++++++++++++++++++++++------- auxmem.init.s | 17 ++++++++++++++ mame_applecorn | 4 ++-- 4 files changed, 72 insertions(+), 10 deletions(-) diff --git a/applecorn.po b/applecorn.po index eb0c744cefc85ea63854ad88db789c3d56eef807..56e0da08c609041b596170a409077808d119f02b 100644 GIT binary patch delta 10979 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 IBck delta 11189 zcma)i3qTWB*6?J8M;JxoJ5X(}m2JUlMe8HFXhFqJY7`WdhYXAl+E}Z#?bcGiZIf=L z+s`^|+Ny&VY&sRo@HrUT`k*Z}K57ZR2Go_}0}vnaK^%dq#jg3!O+cyJ{l72CWbQrp zoO91P_uO;ty)#zpXsdO!?*U^I`w0tWiJ**1ip~B+z^p!!e z63Uw-5qXm(CGXkt*pDVxDZgHtbm`fcwu1X-=SEst|X zTlujy$k2w|9(3>o>QRF(du5(fX(0g+0Kwj#NfshCsCaD?~XU4ro5z61Zi{YKo2tM$}< zQd?I0Rjp9_ZSAd_eNT)&k#%C(iJ>R+PuOdB*3LNf)+yVmZ%)lR^<{0C0X@dD{&-%C{4I$Rj~mdn+U0R%uQ*bg5~$=U=4dKJYZ_Ur z7d79Pl9eT7Q7P#NC@3lcJ9#+N?}UUDhKcmXOhG@Yj!7|pcJ)=pLosHw<5yR2RqwPvqBXR@}KS(B#V&fWP zTq*kbxNu-2JuFbI!^O6Z^m9S))a2DxScJGuGzuxJSynX?(`pYHckpfcDq0!xNj{=Ug2UQB5O?2FZSv9;uR!*6k3kx zD7>?o9v$>mos~i#3OhH`LwnAx2Tw9uV<_+<;o@fczrybw*XHs8&f;2rdus7<-jT`& zI-|_F;%cG%bGn~^L^?2>^P!X#kojMwmTe;QzxE;Jis$|hIFp34pV5y^EUN+jmD_8e z1MnrjJXPLA@?Cru=C@E{YQBg1HeaJDBQ*NmrhfZ##q$`PBJ>vNeoq&kJzaS2w6uqB zIL(!5G@H^mj**DQ0ELt^KIwQFgj$D%&lLv>qwI9J#jFeSHAP$aZ9a+pdhq|_uZUEo zlVo7D(d#f^P%hd=nv0yIyD`9alS56XL>iy=X6MKKs$RHqn$eqXmZ18VaDh5 zBO3O9NBPBv664eAAs)~Z?!4zZzaZEU(RW-0>cCu4@=;N_;xSwZ?}PEqp2k9+JB?)o z0mh5;`p3sK!?-_>jc)q4vG~~s_KgLJ3WR_!XcT_SZSUz5rMz|H->46CcRF3CmoVuI zdQ8wrOft(y5{e3%_2yL_Tzy8acn>#+hdMPjTDs>nsR0GR@P{wxsPN(ETwX9~$T<@_ z2X@!5$raoEOuRrb!NKkz_;PlKhX0D)0p7##;6l01h!8^Ly z8`Kcpkl8Q;uFo3+ec#W0rN|~%sAE9hzW1H0_tK@6$0wX)Dr?U%#rwAG-Rk7j0gZu< ze$D`guDE&9kcRXp8vOrx&D^uc+I}PEmU_WxFZeaZ6X*HT0#iXVy5$ym`#JRFWwi`l zb4&M_d=I(y1_|);)+*N!$FCotIybbue{}URv+-_B2wLATQKd{o1ElVD5^AVWxL!;@ z5j_iLn0?3QovwT>j%}!ZB9Zaj~9(;RtF(-GoEnI2{GS-`>c>? zTKJzY=^z8zRFK7$56S?AKJZ{Ot0*Q_gCYI3j6XTmplw-u1d{)Z zynWj%?S6>Oe%{oh^?lds>byfp_KI)$Fcwz@xt^$g;*eNn*P>ai;@^B&XyMDREL!?H zBGAIO{*nXt7hcQB2_@cmJ!f$!mO-7c*j3)@3RNE+P!-)E2Arjvl;Fy+ra)Jot6Fz6 z=0dT{=*$&+3z-uAs4zjI2L%HW*k}cYjIrEu>(M^1NT46Rj{d%>SfruwymmLnDOcB+ z3Y&eve8LA@!-2>C8^M%6B8cxKkfytk?bpagoq-X5*ye%}ixmGoy{0dLi=C+zZ@=m2h7T*T)y^7aSM%T&TIw1lP?A_b!B748QpF z#b+;?E-tvZ^5W`?0@S68-(Re`*nIJqi;l#H5rD2f63WoweG1c}~Kt_?Zc7-ItT&=Ow(m z?MiY|Vxq~KcP%B|l9XVba+SC*L*lfA4+gmtrZS1%uq)HkyaV0SD+(y`Otb##ss0(Vp3JjVazwuFOfC$q#ZTn-WvKP1jQ5lM>bra;MC*4RU*DCMJ95 zT$yf!=w`aYBqpa!Pxel~;(h

dPWwCqBOvBk(e|Y+F6-{XpZ}*& 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 diff --git a/auxmem.chario.s b/auxmem.chario.s index fba1410..bc36bef 100644 --- a/auxmem.chario.s +++ b/auxmem.chario.s @@ -36,13 +36,13 @@ * Hardware locations -KBDDATA EQU $C000 ; Read Keyboard data -KBDACK EQU $C010 ; Acknowledge keyboard data -KBDAPPLFT EQU $C061 ; Left Apple key -KBDAPPRGT EQU $C062 ; Right Apple key -IOVBLNK EQU $C019 ; VBLNK pulse +KBDDATA EQU $C000 ; Read Keyboard data +KBDACK EQU $C010 ; Acknowledge keyboard data +KBDAPPLFT EQU $C061 ; Left Apple key +KBDAPPRGT EQU $C062 ; Right Apple key +IOVBLNK EQU $C019 ; VBLNK pulse -FLASHER EQU BYTEVARBASE+176 ; VSync counter for flashing cursor +FLASHER EQU BYTEVARBASE+176 ; VSync counter for flashing cursor FXEXEC EQU BYTEVARBASE+198 FXSPOOL EQU BYTEVARBASE+199 @@ -60,6 +60,9 @@ FX2VAR EQU BYTEVARBASE+$B1 FX3VAR EQU BYTEVARBASE+$EC FX4VAR EQU BYTEVARBASE+$ED +KEYBUF EQU $400 ; *KEY buffer from $400-$7FF + ; Beware of the screen holes! +KEYBUFFREE EQU KEYBUF + $20 ; Free space word * *KEY * --------------------------- @@ -75,8 +78,50 @@ ERRKEYUSED BRK DB $FA ASC 'Key in use' BRK -STARKEY1 JSR SKIPCOMMA -* nothing yet +STARKEY1 ASL A ; Key num * 2 + PHA ; Preserve for later + JSR SKIPCOMMA + LDA KEYBUFFREE+0 ; Free space LS byte + STA OSTEXT+0 + PLX ; Recover key num * 2 + PHX + STA KEYBUF,X ; Store LS byte start address + LDA KEYBUFFREE+1 ; Free space MS byte + STA OSTEXT+1 + PLX ; Recover key num * 2 + STA KEYBUF+1,X ; Store MS byte start address +:L1 LDA (OSLPTR),Y ; Read char from input + CMP #$0D ; Carriage return? + BEQ :S1 + STA (OSTEXT) ; Store in buffer + JSR INCKEYPTR ; Advance dest pointer + INY + BRA :L1 +:S1 LDA OSTEXT+0 + STA KEYBUF + $20 ; Free space LS byte + LDA OSTEXT+1 + STA KEYBUF + $21 ; Free space LS byte + RTS + +* Increment OSTEXT, skipping over screen holes +* Screen holes are $478-$47F, $4F8-$4FF +* $578-$57F, $5F8-$5FF +* $678-$67F, $6F8-$6FF +* $778-$77F, $7F8-$7FF +INCKEYPTR LDA OSTEXT+0 ; Least significant byte + INC A + STA OSTEXT+0 + AND #$F8 + CMP #$78 ; If $78 to $7F + BEQ :HOLE78 + CMP #$F8 ; If $F8 to $FF + BEQ :HOLEF8 + RTS +:HOLE78 LDA #$80 + STA OSTEXT+0 + RTS +:HOLEF8 STZ OSTEXT+0 + INC OSTEXT+1 RTS diff --git a/auxmem.init.s b/auxmem.init.s index 19efe1b..38b45fd 100644 --- a/auxmem.init.s +++ b/auxmem.init.s @@ -99,6 +99,23 @@ MOSHIGH SEI ; Ensure IRQs disabled STZ $0300,X INX BNE :SCLR +:KCLR STZ $0400,X ; Clear *KEY buffer (avoid scrn holes) + STZ $0500,X + STZ $0600,X + STZ $0700,X + STZ $0480,X + STZ $0580,X + STZ $0680,X + STZ $0780,X + INX + CPX #$78 + BNE :KCLR + + LDA #KEYBUFFREE + STA KEYBUFFREE+1 + STY FXRESET ; Set ResetType STA FXLANG ; Current language diff --git a/mame_applecorn b/mame_applecorn index 05ac8af..a21de9b 100755 --- a/mame_applecorn +++ b/mame_applecorn @@ -1,2 +1,2 @@ -mame -w apple2ee -debug -sl5 mouse -sl7 cffa2 -harddisk1 ~/Personal/Development/Applecorn/applecorn.po -#mame -w apple2gs -debug -sl7 cffa2 -harddisk1 ~/Personal/Development/Applecorn/applecorn.po -harddisk2 tests/JGHMusic2.po +#mame -w apple2ee -debug -sl5 mouse -sl7 cffa2 -harddisk1 ~/Personal/Development/Applecorn/applecorn.po +mame -w apple2gs -debug -sl7 cffa2 -harddisk1 ~/Personal/Development/Applecorn/applecorn.po -harddisk2 tests/JGHMusic2.po