mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2024-09-27 16:55:31 +00:00
Further code cleanup.
This commit is contained in:
parent
d801dfff58
commit
db3bb4e6fd
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
16
applecorn.s
16
applecorn.s
@ -68,13 +68,6 @@ AUXMOS1 EQU $2000 ; Temp staging area in Aux
|
|||||||
EAUXMOS1 EQU $3000 ; End of staging area
|
EAUXMOS1 EQU $3000 ; End of staging area
|
||||||
AUXMOS EQU $D000 ; Final location in aux LC
|
AUXMOS EQU $D000 ; Final location in aux LC
|
||||||
|
|
||||||
* Macro for calls from main memory to aux memory
|
|
||||||
XFAUX MAC
|
|
||||||
SEC ; Use aux memory
|
|
||||||
BIT $FF58 ; Set V: use alt ZP and LC
|
|
||||||
JMP XFER
|
|
||||||
EOM
|
|
||||||
|
|
||||||
* Macro for calls from aux memory to main memory
|
* Macro for calls from aux memory to main memory
|
||||||
XFMAIN MAC
|
XFMAIN MAC
|
||||||
CLC ; Use main memory
|
CLC ; Use main memory
|
||||||
@ -82,9 +75,9 @@ XFMAIN MAC
|
|||||||
JMP XFER
|
JMP XFER
|
||||||
EOM
|
EOM
|
||||||
|
|
||||||
* Macro to load addr into STRTL/STRTH
|
* Called by code running in main mem to invoke a
|
||||||
* Called by code running in main mem
|
* routine in aux memory
|
||||||
XFADDR MAC
|
XF2AUX MAC
|
||||||
PHA
|
PHA
|
||||||
LDA $C08B ; R/W LC RAM, bank 1
|
LDA $C08B ; R/W LC RAM, bank 1
|
||||||
LDA $C08B
|
LDA $C08B
|
||||||
@ -93,6 +86,9 @@ XFADDR MAC
|
|||||||
LDA #>]1
|
LDA #>]1
|
||||||
STA STRTH
|
STA STRTH
|
||||||
PLA
|
PLA
|
||||||
|
SEC ; Use aux memory
|
||||||
|
BIT $FF58 ; Set V: use alt ZP and LC
|
||||||
|
JMP XFER
|
||||||
EOM
|
EOM
|
||||||
|
|
||||||
* Macro to backup STRTL/STRTH then load XFADDR
|
* Macro to backup STRTL/STRTH then load XFADDR
|
||||||
|
3
loader.s
3
loader.s
@ -106,8 +106,7 @@ START STZ :BLOCKS
|
|||||||
|
|
||||||
TSX ; Save SP at $0100
|
TSX ; Save SP at $0100
|
||||||
STX $0100
|
STX $0100
|
||||||
>>> XFADDR,AUXMOS1
|
>>> XF2AUX,AUXMOS1
|
||||||
>>> XFAUX
|
|
||||||
|
|
||||||
:BLOCKS DB 0 ; Counter for blocks read
|
:BLOCKS DB 0 ; Counter for blocks read
|
||||||
|
|
||||||
|
33
mainmem.s
33
mainmem.s
@ -71,8 +71,7 @@ DISCONN LDA $BF98
|
|||||||
* XFER to AUXMOS ($C000) in aux, AuxZP on, LC on
|
* XFER to AUXMOS ($C000) in aux, AuxZP on, LC on
|
||||||
RESET TSX
|
RESET TSX
|
||||||
STX $0100
|
STX $0100
|
||||||
>>> XFADDR,AUXMOS
|
>>> XF2AUX,AUXMOS
|
||||||
>>> XFAUX
|
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
* Copy 512 bytes from BLKBUF to AUXBLK in aux LC
|
* Copy 512 bytes from BLKBUF to AUXBLK in aux LC
|
||||||
@ -188,8 +187,7 @@ OFILE >>> ENTMAIN
|
|||||||
STA FILEREFS,X ; Record the ref number
|
STA FILEREFS,X ; Record the ref number
|
||||||
BRA FINDEXIT
|
BRA FINDEXIT
|
||||||
:NOTFND LDA #$00
|
:NOTFND LDA #$00
|
||||||
FINDEXIT >>> XFADDR,OSFINDRET
|
FINDEXIT >>> XF2AUX,OSFINDRET
|
||||||
>>> XFAUX
|
|
||||||
BUFIDX DB $00
|
BUFIDX DB $00
|
||||||
|
|
||||||
* ProDOS file handling for MOS OSFIND CLOSE call
|
* ProDOS file handling for MOS OSFIND CLOSE call
|
||||||
@ -231,8 +229,7 @@ FILEGET >>> ENTMAIN
|
|||||||
BRA :EXIT
|
BRA :EXIT
|
||||||
:NOERR LDX #$00
|
:NOERR LDX #$00
|
||||||
LDA BLKBUF
|
LDA BLKBUF
|
||||||
:EXIT >>> XFADDR,OSBGETRET
|
:EXIT >>> XF2AUX,OSBGETRET
|
||||||
>>> XFAUX
|
|
||||||
|
|
||||||
* ProDOS file handling for MOS OSBPUT call
|
* ProDOS file handling for MOS OSBPUT call
|
||||||
* Enters with char to write in A
|
* Enters with char to write in A
|
||||||
@ -246,8 +243,7 @@ FILEPUT >>> ENTMAIN
|
|||||||
LDA #$00
|
LDA #$00
|
||||||
STA WRITEPL+5
|
STA WRITEPL+5
|
||||||
JSR WRTFILE
|
JSR WRTFILE
|
||||||
>>> XFADDR,OSBPUTRET
|
>>> XF2AUX,OSBPUTRET
|
||||||
>>> XFAUX
|
|
||||||
|
|
||||||
* ProDOS file handling for OSBYTE $7F EOF
|
* ProDOS file handling for OSBYTE $7F EOF
|
||||||
* Returns EOF status in A ($FF for EOF, $00 otherwise)
|
* Returns EOF status in A ($FF for EOF, $00 otherwise)
|
||||||
@ -286,8 +282,7 @@ FILEEOF >>> ENTMAIN
|
|||||||
:ISEOF LDA #$FF
|
:ISEOF LDA #$FF
|
||||||
BRA :EXIT
|
BRA :EXIT
|
||||||
:NOTEOF LDA #$00
|
:NOTEOF LDA #$00
|
||||||
:EXIT >>> XFADDR,CHKEOFRET
|
:EXIT >>> XF2AUX,CHKEOFRET
|
||||||
>>> XFAUX
|
|
||||||
:REMAIN DS 3 ; Remaining bytes
|
:REMAIN DS 3 ; Remaining bytes
|
||||||
|
|
||||||
* ProDOS file handling for OSARGS flush commands
|
* ProDOS file handling for OSARGS flush commands
|
||||||
@ -297,8 +292,7 @@ FLUSH >>> ENTMAIN
|
|||||||
JSR MLI
|
JSR MLI
|
||||||
DB FLSHCMD
|
DB FLSHCMD
|
||||||
DW FLSHPL
|
DW FLSHPL
|
||||||
>>> XFADDR,OSARGSRET
|
>>> XF2AUX,OSARGSRET
|
||||||
>>> XFAUX
|
|
||||||
|
|
||||||
* ProDOS file handling for MOS OSFILE LOAD call
|
* ProDOS file handling for MOS OSFILE LOAD call
|
||||||
* Return A=0 if successful
|
* Return A=0 if successful
|
||||||
@ -351,8 +345,7 @@ LOADFILE >>> ENTMAIN
|
|||||||
:EOF2 LDA OPENPL+5 ; File ref num
|
:EOF2 LDA OPENPL+5 ; File ref num
|
||||||
STA CLSPL+1
|
STA CLSPL+1
|
||||||
JSR CLSFILE
|
JSR CLSFILE
|
||||||
:EXIT >>> XFADDR,OSFILERET
|
:EXIT >>> XF2AUX,OSFILERET
|
||||||
>>> XFAUX
|
|
||||||
:BLOCKS DB $00
|
:BLOCKS DB $00
|
||||||
|
|
||||||
* ProDOS file handling for MOS OSFILE SAVE call
|
* ProDOS file handling for MOS OSFILE SAVE call
|
||||||
@ -490,8 +483,7 @@ SAVEFILE >>> ENTMAIN
|
|||||||
LDA #$00 ; Success!
|
LDA #$00 ; Success!
|
||||||
BCC :EXIT ; If close OK
|
BCC :EXIT ; If close OK
|
||||||
LDA #$02 ; Write error
|
LDA #$02 ; Write error
|
||||||
:EXIT >>> XFADDR,OSFILERET
|
:EXIT >>> XF2AUX,OSFILERET
|
||||||
>>> XFAUX
|
|
||||||
:LEN DW $0000
|
:LEN DW $0000
|
||||||
:BLOCKS DB $00
|
:BLOCKS DB $00
|
||||||
|
|
||||||
@ -527,14 +519,12 @@ CATREENTRY
|
|||||||
BEQ :EOF
|
BEQ :EOF
|
||||||
BRA :READERR
|
BRA :READERR
|
||||||
:S1 JSR COPYAUXBLK
|
:S1 JSR COPYAUXBLK
|
||||||
>>> XFADDR,PRONEBLK
|
>>> XF2AUX,PRONEBLK
|
||||||
>>> XFAUX
|
|
||||||
:READERR
|
:READERR
|
||||||
:EOF LDA OPENPL+5 ; File ref num
|
:EOF LDA OPENPL+5 ; File ref num
|
||||||
STA CLSPL+1
|
STA CLSPL+1
|
||||||
JSR CLSFILE
|
JSR CLSFILE
|
||||||
CATEXIT >>> XFADDR,STARCATRET
|
CATEXIT >>> XF2AUX,STARCATRET
|
||||||
>>> XFAUX
|
|
||||||
|
|
||||||
* PRONEBLK call returns here ...
|
* PRONEBLK call returns here ...
|
||||||
CATALOGRET
|
CATALOGRET
|
||||||
@ -548,8 +538,7 @@ SETPFX >>> ENTMAIN
|
|||||||
DW SPFXPL
|
DW SPFXPL
|
||||||
BCC :S1
|
BCC :S1
|
||||||
JSR BELL ; Beep on error
|
JSR BELL ; Beep on error
|
||||||
:S1 >>> XFADDR,STARDIRRET
|
:S1 >>> XF2AUX,STARDIRRET
|
||||||
>>> XFAUX
|
|
||||||
|
|
||||||
* Create disk file
|
* Create disk file
|
||||||
CRTFILE JSR MLI
|
CRTFILE JSR MLI
|
||||||
|
Loading…
Reference in New Issue
Block a user