diff --git a/applecorn.s b/applecorn.s index 6f71099..1b4800f 100644 --- a/applecorn.s +++ b/applecorn.s @@ -43,6 +43,16 @@ A2IRQV EQU $3FE * ProDOS Global Page equates * MLI entry point MLI EQU $BF00 +* Device Addresses +DEVADR01 EQU $BF10 +DEVADR32 EQU $BF26 +* Device List +DEVNUM EQU $BF30 +DEVCNT EQU $BF31 +DEVLST EQU $BF32 +* Date & time +PRODOSDATE EQU $BF90 +PRODOSTIME EQU $BF92 * Machine ID byte MACHID EQU $BF98 * Versioning bytes diff --git a/mainmem.init.s b/mainmem.init.s index 6ea06df..efaab4e 100644 --- a/mainmem.init.s +++ b/mainmem.init.s @@ -26,7 +26,7 @@ SETPRFX LDA #GPFXCMD DW GSPFXPL LDX DRVBUF1 ; was $0300 BNE RTSINST - LDA $BF30 + LDA DEVNUM STA ONLNPL+1 ; Device number JSR MLI DB ONLNCMD @@ -59,36 +59,36 @@ DISCONN LDA MACHID AND #$30 CMP #$30 BNE :S1 - LDA $BF26 - CMP $BF10 + LDA DEVADR32 + CMP DEVADR01 BNE :S2 - LDA $BF27 - CMP $BF11 + LDA DEVADR32+1 + CMP DEVADR01+1 BEQ :S1 -:S2 LDY $BF31 -:L1 LDA $BF32,Y +:S2 LDY DEVCNT +:L1 LDA DEVLST,Y AND #$F3 CMP #$B3 BEQ :S3 DEY BPL :L1 BMI :S1 -:S3 LDA $BF32,Y +:S3 LDA DEVLST,Y STA DRVBUF2+1 ; was $0302 -:L2 LDA $BF33,Y - STA $BF32,Y +:L2 LDA DEVLST+1,Y + STA DEVLST,Y BEQ :S4 INY BNE :L2 -:S4 LDA $BF26 +:S4 LDA DEVADR32 STA DRVBUF1 ; was $0300 - LDA $BF27 + LDA DEVADR32+1 STA DRVBUF2 ; was $0301 - LDA $BF10 - STA $BF26 - LDA $BF11 - STA $BF27 - DEC $BF31 + LDA DEVADR01 + STA DEVADR32 + LDA DEVADR01+1 + STA DEVADR32+1 + DEC DEVCNT :S1 RTS * Reset handler - invoked on Ctrl-Reset diff --git a/mainmem.misc.s b/mainmem.misc.s index 2a49cc3..0f64219 100644 --- a/mainmem.misc.s +++ b/mainmem.misc.s @@ -133,13 +133,13 @@ CRTFILE JSR MLI ; GET_TIME STA CREATEPL+2 LDA #$C3 ; Open permissions STA CREATEPL+3 - LDA $BF90 ; Current date + LDA PRODOSDATE ; Current date STA CREATEPL+8 - LDA $BF91 + LDA PRODOSDATE+1 STA CREATEPL+9 - LDA $BF92 ; Current time + LDA PRODOSTIME ; Current time STA CREATEPL+10 - LDA $BF93 + LDA PRODOSTIME+1 STA CREATEPL+11 JSR MLI DB CREATCMD