mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2025-02-08 15:30:41 +00:00
Added OSARGS call to support EXT# in BASIC (file length)
This commit is contained in:
parent
6daa528396
commit
a5a61f82d0
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
11
auxmem.s
11
auxmem.s
@ -398,22 +398,29 @@ ARGSHND PHA
|
||||
STA $C004 ; Write main memory
|
||||
STZ MOSFILE ; Zero means flush all
|
||||
STA $C005 ; Write aux memory
|
||||
BRA :FLUSH
|
||||
BRA :IFLUSH
|
||||
:HASFILE STA $C004 ; Write main memory
|
||||
STY MOSFILE ; File ref num
|
||||
STX MOSFILE+1 ; Pointer to ZP control block
|
||||
STA $C005 ; Write aux memory
|
||||
CMP #$00 ; Y!=0,A=0 => read seq ptr
|
||||
BNE :S3
|
||||
STA $C004 ; Write main
|
||||
STZ MOSFILE+2 ; 0 means get pos
|
||||
STA $C005 ; Write aux
|
||||
>>> XF2MAIN,TELL
|
||||
:IEXIT BRA :EXIT
|
||||
:IFLUSH BRA :FLUSH
|
||||
:S3 CMP #$01 ; Y!=0,A=1 => write seq ptr
|
||||
BNE :S4
|
||||
>>> XF2MAIN,SEEK
|
||||
BRA :EXIT
|
||||
:S4 CMP #$02 ; Y!=0,A=2 => read file len
|
||||
BNE :S5
|
||||
>>> XF2MAIN,STAT
|
||||
STA $C004 ; Write main
|
||||
STA MOSFILE+2 ; Non-zero means get len
|
||||
STA $C005 ; Write aux
|
||||
>>> XF2MAIN,TELL
|
||||
:S5 CMP #$FF ; Y!=0,A=FF => flush file
|
||||
BNE :EXIT
|
||||
:FLUSH >>> XF2MAIN,FLUSH
|
||||
|
15
mainmem.s
15
mainmem.s
@ -294,24 +294,27 @@ FLUSH >>> ENTMAIN
|
||||
DW FLSHPL
|
||||
>>> XF2AUX,OSARGSRET
|
||||
|
||||
* ProDOS file handling for OSARGS get len command
|
||||
STAT >>> ENTMAIN
|
||||
LDA MOSFILE ; File ref number
|
||||
>>> XF2AUX,OSARGSRET
|
||||
|
||||
* ProDOS file handling for OSARGS set ptr command
|
||||
SEEK >>> ENTMAIN
|
||||
LDA MOSFILE ; File ref number
|
||||
>>> XF2AUX,OSARGSRET
|
||||
|
||||
* ProDOS file handling for OSARGS get ptr command
|
||||
* and for OSARGs get length command
|
||||
TELL >>> ENTMAIN
|
||||
LDA MOSFILE ; File ref number
|
||||
STA GMARKPL+1
|
||||
LDA MOSFILE+2 ; Mode (0=pos, otherwise len)
|
||||
CMP #$00
|
||||
BEQ :POS
|
||||
JSR MLI
|
||||
DB GEOFCMD
|
||||
DW GMARKPL ; MARK parms same as EOF parms
|
||||
BRA :S1
|
||||
:POS JSR MLI
|
||||
DB GMARKCMD
|
||||
DW GMARKPL
|
||||
LDX MOSFILE+1 ; Pointer to ZP control block
|
||||
:S1 LDX MOSFILE+1 ; Pointer to ZP control block
|
||||
BCS :ERR
|
||||
LDA $C08B ; R/W LC RAM, bank 1
|
||||
LDA $C08B
|
||||
|
Loading…
x
Reference in New Issue
Block a user