diff --git a/Firmware/BlankDriveWithFirmware.po b/Firmware/BlankDriveWithFirmware.po index 0c054e8..e8d7dc6 100644 Binary files a/Firmware/BlankDriveWithFirmware.po and b/Firmware/BlankDriveWithFirmware.po differ 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 7ba125a..8de6ac9 100644 Binary files a/Firmware/Firmware.bin and b/Firmware/Firmware.bin differ 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 #