From d6691c6567fc3554cc8668a4592f10217fdbdce6 Mon Sep 17 00:00:00 2001 From: Terence Boldt Date: Wed, 2 Nov 2022 18:10:17 -0400 Subject: [PATCH] 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