From 13bfa3022725b36d201c33b9512637673ef36d4c Mon Sep 17 00:00:00 2001 From: Florian Reitz Date: Sun, 17 Dec 2017 20:39:59 +0100 Subject: [PATCH] ProDOS functions moved to separate file Debug functions removed --- AppleIISd.bin | Bin 2048 -> 2048 bytes AppleIISd.vcxproj | 1 + AppleIISd.vcxproj.filters | 3 + src/AppleIISd.inc | 3 +- src/AppleIISd.s | 386 +++----------------------------------- src/ProDOS.s | 205 ++++++++++++++++++++ 6 files changed, 241 insertions(+), 357 deletions(-) create mode 100644 src/ProDOS.s diff --git a/AppleIISd.bin b/AppleIISd.bin index f47849fb9937d5c11f941b78600b1207c59e7630..7fd67506259b4d507a13624229f075c668604caf 100644 GIT binary patch delta 398 zcmZn=Xb_m7B`kLG0|#fr%mDTi0-tpf4;Zj2m`=1+mx(^LlCjlknRc7=O0HJd6qgit zAm2^r|9OSzQxhAE8BHf{QQ+}C)xZzrH*hH&IW_TtSG{ek!^)GbjtaRa6&g>TWW12N z(i0&v3nUV@#CGQo)|0C)c&!XYNHv~ZnTX6g$@t;HNrnq*E29yjK^Cy8$)cgl@;>th;-pTw-(ZY_WHl!nqM*ziZnPN8! IvYciH0BI<&i~s-t delta 379 zcmZn=Xb_m7C4B4T2M*4LnE~u41U~B|9xz~4_%P8{U54T0O2$^FW!i1dE4f--Q(RKq zfqXZe|K}ALPEKqvX8bU5ivrK56Ak=8egl_6=E;c{i&7m$h?z`A0C`!xWK))`2eTD+~xy5J5TsLIDw>Nr7D{8$3W%G zKxHf0K@xHZt3P}L%BZgtMpi%hHKVrdN(O~LrzSA1)L!&|!T$t>u2VqEH2(oDTN$Wu zVsaL9wD6x(8`6=*BY@&Jm}3PL6dVf*a#CZXgHsgB4D}2qt1+1{rcO>|vSPD8 + {9EA7EC3D-1771-420F-932F-231A35ED1200} diff --git a/AppleIISd.vcxproj.filters b/AppleIISd.vcxproj.filters index 9a84f19..5c8a181 100644 --- a/AppleIISd.vcxproj.filters +++ b/AppleIISd.vcxproj.filters @@ -16,6 +16,9 @@ src + + src + diff --git a/src/AppleIISd.inc b/src/AppleIISd.inc index 47a9012..1492ace 100644 --- a/src/AppleIISd.inc +++ b/src/AppleIISd.inc @@ -1,7 +1,8 @@ ;******************************* ; ; Apple][Sd Firmware -; Version 1.0 +; Version 1.1 +; Defines ; ; (c) Florian Reitz, 2017 ; diff --git a/src/AppleIISd.s b/src/AppleIISd.s index 9fc3ce3..9e3c3a2 100644 --- a/src/AppleIISd.s +++ b/src/AppleIISd.s @@ -11,19 +11,42 @@ ; ;******************************* -.import COMMAND -.import SDCMD -.import GETBLOCK -.import CARDDET -.import WRPROT .import GETR1 .import GETR3 +.import SDCMD +.import CARDDET +.import STATUS +.import READ +.import WRITE .include "AppleIISd.inc" -.define DEBUG 0 -; signature bytes +;******************************* +; +; Signature bytes +; +; 65535 blocks +; Removable media +; Non-interruptable +; 2 drives +; Read, write and status allowed +; +;******************************* + + .segment "SLOTID" + .dbyt $FFFF ; 65535 blocks + .byt $97 ; Status bits + .byt DRIVER - STA $BF11,X -@INSOUT: RTS - - ;******************************* ; ; Boot from SD card ; ;******************************* - .else ;@BOOT: CMP #0 ; BNE @NEXTSLOT ; init not successful @BOOT: LDA #$01 @@ -167,7 +131,6 @@ JSR READ ; call driver LDX SLOT16 JMP $801 ; goto bootloader - .endif ;******************************* @@ -187,15 +150,6 @@ DRIVER: CLD PHA LDA CMDHI PHA - - .if DEBUG - LDA #$04 - STA SLOT - LDA #$C4 - STA CURSLOT - LDA #$40 - - .else PHP SEI LDA #$60 ; opcode for RTS @@ -211,7 +165,6 @@ DRIVER: CLD ASL A ASL A ASL A - .endif STA SLOT16 ; $s0 TAX ; X holds now SLOT16 @@ -231,10 +184,6 @@ DRIVER: CLD BEQ @READ CMP #2 BEQ @WRITE - .if DEBUG - CMP #$FF - BEQ @TEST - .endif LDA #1 ; unknown command SEC BRA @RESTZP @@ -245,10 +194,6 @@ DRIVER: CLD BRA @RESTZP @WRITE: JSR WRITE BRA @RESTZP - .if DEBUG -@TEST: JSR TEST ; do device test - BRA @RESTZP - .endif @INIT: JSR INIT BCC @CMD ; init ok @@ -267,23 +212,6 @@ DRIVER: CLD RTS -;******************************* -; -; Signature bytes -; -; 65535 blocks -; Removable media -; Non-interruptable -; 2 drives -; Read, write and status allowed -; -;******************************* - - .segment "SLOTID" - .dbyt $FFFF ; 65535 blocks - .byt $97 ; Status bits - .byt