AppleIIAsm-Collection/source/disk20_minidisk_A/T.BINSAVE.SUB.MIN
nathanriggs 82d0e74c1a 0.3.1 updates
some minor bugfixes, directory shuffling, added demo and utility disks
2019-01-26 21:02:17 -05:00

70 lines
1.6 KiB
Plaintext

BINSAVE
PLA
STA RETADR
PLA
STA RETADR+1
PLA
STA ADDR2 ; CMD STRING ADDR
PLA
STA ADDR2+1
LDA #1
STA $AAB6 ; DOS LANG FLAG
STA $75+1 ; NOT IN DIRECT MODE
STA $33 ; NOT IN DIRECT MODE
LDA ERRCTRL
CMP #1
BEQ :CHKERR0
JMP :ERREND
:CHKERR0
LDA #$FF ; TURN ON LOCAL ERR HANDLING
STA $D8
LDA #<:CHKERR
STA $9D5A ; DOS ERROR HANDLING ADDR
LDA #>:CHKERR
STA $9D5B
JMP :ERREND
:CHKERR
LDY #0
STY $D8 ; RESUME NORMAL ERROR CTRL
_ERR :E_SID;:E_MSG;:E_DUMP;ADDR2;#2
BRK
:ERREND
LDA #$8D
JSR FCOUT
LDA #$84 ; CTRL-D
JSR FCOUT
LDA #$C2 ; B
JSR FCOUT
LDA #$D3 ; S
JSR FCOUT
LDA #$C1 ; A
JSR FCOUT
LDA #$D6 ; V
JSR FCOUT
LDA #$C5 ; E
JSR FCOUT
LDA #$A0 ; [SPACE]
JSR FCOUT
LDY #0
LDA (ADDR2),Y
STA :SLEN
LDY #1
:LP
LDA (ADDR2),Y
JSR FCOUT
INY
CPY :SLEN
BCC :LP
BEQ :LP
LDA #$8D
JSR FCOUT
LDA RETADR+1
PHA
LDA RETADR
PHA
RTS
:SLEN DS 1
:E_SID ASC "BINSAVE (BSAV MACRO)",00
:E_DUMP ASC "DUMPING STRING ADDRESS...",00
:E_MSG ASC "INPUT/OUTPUT ERROR!!!",00