From d6691c6567fc3554cc8668a4592f10217fdbdce6 Mon Sep 17 00:00:00 2001 From: Terence Boldt Date: Wed, 2 Nov 2022 18:10:17 -0400 Subject: [PATCH 1/2] Add ESC to skip boot to next slot --- Firmware/BlankDriveWithFirmware.po | Bin 1048576 -> 1048576 bytes Firmware/Firmware.asm | 29 ++- Firmware/Firmware.bin | Bin 512 -> 512 bytes Firmware/Firmware.lst | 351 +++++++++++++++-------------- Firmware/GamesWithFirmware.po | Bin 1048576 -> 1048576 bytes 5 files changed, 197 insertions(+), 183 deletions(-) diff --git a/Firmware/BlankDriveWithFirmware.po b/Firmware/BlankDriveWithFirmware.po index 0c054e8619cd3e21c68e1410abe88ef331e5dbb4..e8d7dc6d736d6f42cb71bdd807d033b35451f631 100644 GIT binary patch delta 146 zcmZo@aA;_7*ucT8wU*()$=Mf}eRln7acOaDaX-=Gq!96c*Iow3R#z?{Xmwt2exu6= zwwa8RHJCLx7yR1Ez~FJ>!q3S`%(I!8?Iy9vuq5dk@;586v@5VM0x=U1GXpV*&kDqB fK+F!r96-zo#9Tnk4a7V^%nQVP+Z9;&AN&RY$z&`y delta 146 zcmZo@aA;_7*ucT8(BjhK*5ZDm#YrLJ|E|3ZjIFL*K+x*E;M_)+4{S4;CL1wp2rd2P zvGljc(mx(c|9UL_=dtv^$K+(@*~|>gCX-lXSl;O9ayBclv@5VM0x=U1GXpV*&kDqB fK+F!r96-zo#9Tnk4a7V^%nQVP+Z9;&AN&RY>Ax*t diff --git a/Firmware/Firmware.asm b/Firmware/Firmware.asm index fced17d..599e679 100644 --- a/Firmware/Firmware.asm +++ b/Firmware/Firmware.asm @@ -22,6 +22,11 @@ highLatch = $FF knownRts = $FF58 +;autostart ROM next card + sloop = $FABA + keyboard = $C000 + clearKeyboard = $C010 + .org $C700 ;code is relocatable ; but set to $c700 for @@ -33,7 +38,14 @@ cpx #$03 ; cpx #$3C ;this one for older II's +;check for ESC key and if so, jump to next slot in autostart + lda keyboard + cmp #$9B + bne start + jmp sloop + ;zero out block numbers and buffer address +start: sty buflo sty blklo sty blkhi @@ -90,18 +102,13 @@ getstat: rts readblk: - lda ioAddressLo - pha - lda ioAddressHi - pha - lda tempY - pha - lda blockHalfCounter - pha - lda lowLatch - pha - lda highLatch +saveVars: + ldy #ioAddressLo +varLoop: + lda $00,y pha + iny + bne varLoop lda blkhi ;get hi block asl a ;shift up to top 3 bits diff --git a/Firmware/Firmware.bin b/Firmware/Firmware.bin index 7ba125af871b3bd76b836decb83cecb426d8809d..8de6ac905195917ef887f2a1700bb234f28ab99d 100644 GIT binary patch delta 71 zcmZo*X<*sF!Kk&C;lRn+7npr^{c3S(acglu(c+{K@qgD|2F6xbE+A-iUT}V+%LlfZ bjFUAOH8>ai+R4D+apJ#k8y$p=4u3SLS>b&6GMwbt4GnpnEF=_}c{pGRr bx5v^y9!vjvEdA%P^uNdCWX9Rd49q3~%}gAx diff --git a/Firmware/Firmware.lst b/Firmware/Firmware.lst index 414c2ca..1e42fff 100644 --- a/Firmware/Firmware.lst +++ b/Firmware/Firmware.lst @@ -26,6 +26,11 @@ Current file: Firmware.asm 000000r 1 highLatch = $FF 000000r 1 knownRts = $FF58 000000r 1 +000000r 1 ;autostart ROM next card +000000r 1 sloop = $FABA +000000r 1 keyboard = $C000 +000000r 1 clearKeyboard = $C010 +000000r 1 000000r 1 .org $C700 00C700 1 ;code is relocatable 00C700 1 ; but set to $c700 for @@ -37,185 +42,187 @@ Current file: Firmware.asm 00C704 1 E0 03 cpx #$03 ; 00C706 1 E0 3C cpx #$3C ;this one for older II's 00C708 1 -00C708 1 ;zero out block numbers and buffer address -00C708 1 84 44 sty buflo -00C70A 1 84 46 sty blklo -00C70C 1 84 47 sty blkhi -00C70E 1 C8 iny ;set command = 1 for read block -00C70F 1 84 42 sty command -00C711 1 20 58 FF jsr knownRts ;jump to known RTS to get our address from the stack -00C714 1 BA tsx -00C715 1 BD 00 01 lda $0100,x ;this for example would be $C7 in slot 7 -00C718 1 85 45 sta bufhi ;keep the slot here -00C71A 1 0A asl -00C71B 1 0A asl -00C71C 1 0A asl -00C71D 1 0A asl -00C71E 1 85 43 sta unit -00C720 1 -00C720 1 ;display copyright message -00C720 1 A0 CE ldy #!q3S`%(I!8?V4EHSQy(_nA%vF+gN~X);1QlHWv0a7LGO+ Y&NddVHWuzS7M?a1-ZmD#Wi0%E0Nx%avj6}9 delta 121 zcmZo@aA;_7*ucT8(BjhK*5ZDm#YrLJ|E|3ZjIFL*K+x*E;M_)+4{S4;CL1wp2rd2P zvGljc(mx(c|9UL_=dtv^$K+(@*~|>gCQU4DER1a|Ol>U8Z7e`GYa0t&8w-0I3r8CZ YXB!Jw8w+t<8 From 950338d29a88f0cdcfc6bc6fdb7d452f6bcea315 Mon Sep 17 00:00:00 2001 From: Terence Boldt Date: Sun, 6 Nov 2022 05:48:15 -0500 Subject: [PATCH 2/2] Add boot slot 1 - 7 in startup menu --- Firmware/BlankDriveWithFirmware.po | Bin 1048576 -> 1048576 bytes Firmware/GamesWithFirmware.po | Bin 1048576 -> 1048576 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Firmware/BlankDriveWithFirmware.po b/Firmware/BlankDriveWithFirmware.po index e8d7dc6d736d6f42cb71bdd807d033b35451f631..43ff912733c078f95767215e9931aa1c71ec9767 100644 GIT binary patch delta 79 zcmZo@aA;_7*dW8glBz4h(X7DIuE4?w#7scU48$NlD-g2*F*^`*05K;Ja{)0o5c2>r OFA(!>S770P@EZWNei1SN delta 79 zcmZo@aA;_7*dW8glB8?M->ksWuE4?w#7scU48$NlD-g2*F*^`*05K;Ja{)0o5c2>r OFA(!>S770P@EZWW6cJMZ diff --git a/Firmware/GamesWithFirmware.po b/Firmware/GamesWithFirmware.po index 59750824acac9fd700c247f41f0ad8b91ed2d459..108ce683b4fbbf95803526f0e8ac9830d7e27dd2 100755 GIT binary patch delta 1273 zcmZXRU2GIp6vxj@7h89}R!BqR3*)t#-3Ny423jqN;qLZ!ckJxUGCLcWMngmzHBlSs z8b9N1S^DuLB%^^RpVSZyq^1u_Nlc8DP*K=MLB%Q{T2Vw4i}-=Sxzko#c=+es`#a~J zbM85n%DPHr-N;KJVe9Dj(5dI6yTS)xtbL5+w)FJ%=`H$7y-hFm>YI9dOM2;%2TOY2 zW4$E;hx{ii3Flb&AiS5RS=J2a!xNCV9IrMV4M1#SI!fXs22IjOu!nn&)LK5_cCyws zKK4U&b&TZP+sRsv+IO~BphfaWD$B(l$)BhsgctqGm8SA`X$to6e6_@yaUQf=Y83)7 z89&VVkwokGTZwoa_DMU0!JNxF&0=#j(HesfrPqZ1VlDoDVhtRX_6kGu&SDIvq<4j_ zMK~+X2!pK1QnN2ENmu@Ru|#eVhuHGKhYw_VsfZ7j%6E!8;cnS~v;PipqwG)iHtJx8)x>a4d(w z2l7w+>=shYuoy${arrEg6t!)~PEyM-O43IUDTx>>!JkqD}UnMayppd7Hpe0`mypCqO56~JSW!qTKSuUypf|R4(@>q z%0Ec#EOnWI4Oz_HK%harjL^l&Fc+s4SOQJzzew{m>3B5F2&_{5k!oW+sb1ySqd_Rn zj6hC>P?dPh!>JIsUls7S%5|~?wx~7#wr$JmhSf=Kg;)I*+Zww^)lchr>$C&wbvU6OMZS1P7u93P@Y}}1JxSW!x8+y}WzjopV3Wv3m0bHZ@ymUoF_e>d5y&kwvr0M5eEYurcDF9B9-YkDNi*{4V-OLxZmf oRdIMo92QU_sty%GEkWIcsz)`TZbpSs5=urXDD@q2SiAD{HS;ik5dZ)H delta 1301 zcmZvaYiJZ#6vxkut1+3E4+0S^u9pzAsAE}7KS(9sY;JbP%+AD_S=;w4 z?T6j$YLcRuz##F1AU?h*_yEDz2SF&sQqc8Md5?oEfQPLy4O3sD+pm2jyn2i__-SnY$*PlMIu zQxbx)GB?~AURo|(o1UkbuM+OTF~2fg^F#ltG}OAiofWAjp^xiovRH$btgH@y6oL)H zVXiZo`|x781~v=Fx$eniG6dU%vs@+#8Q~?@#gZ(Nuh=b&|6j3Bn9XH$+X3ABjMytS2xFjZ#^vtNqOkwmCrm_{Ad zb+t}+S_o_xfA_KN=uBO2>J0?;ihp>BX}V@a)g>*=!iGo1KRp;Tn{=(gVHSZi;$I#y z4Qdd$EV_%c<*5PjZ)EkFVX7<|wFx{IUwFVWbpoT}Fs`Fir%BDLnIpZ#I7Y2{HAWpZ zP9u#37E1qk&_8p9G=l532_uTL#S(@?pjLW?sF7OKVU3i4CB4R2H|v>dC5)8e4Yo;o zgDkEYn%5K$YM1`?fUP#sh!4J(MiCfsYB3e((V5juV81km(4scp4j;$=5;!6Kht#HZ zrbDBQz>m_nAIIa(s;)(2PJ?OUTz90mh*P#h{aSo80z(o6vczGIrQu5qOB_ZkEHh4^ zRL+%TgE%&=$FuBaJQC?5`DzhbBVQ{**UHyRyn7ck*tkr-fz)%68Ix^;!61As-$Xv? zXx`9W?!fl))Is@Hk?!Z@+tXmLH_1TlwS*Qp00NL zc9f?qWnlVETb27h%-im}{;l!=5&i_~6z6v;4-rmr{($mmV%LQGx@Y}q<+lks#rdC= z#|X9e-grP6L|Oo0L>ZbWFYrGw=LzCT|0_;y>Dt4&eI0FCzNee-;ZQtk1}cD>iJFBf XLCr>$qRLPLN<>L0`3&EqjCZ^Py;yyQ