First hack at *DESTROY <obj-list>
This commit is contained in:
parent
d3f32a8743
commit
0d7350cbe1
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
|
@ -303,13 +303,16 @@ FSCCOMMAND ASC 'CHDIR'
|
|||
DW FSCDRIVE-1 ; Select drive, LPTR=>params
|
||||
ASC 'FREE'
|
||||
DB $80
|
||||
DW FSCFREE-1 ; FREE (<drive)>, LPTR=>params
|
||||
DW FSCFREE-1 ; FREE <drive>, LPTR=>params
|
||||
ASC 'ACCESS'
|
||||
DB $80
|
||||
DW FSCACCESS-1 ; ACCESS <obj> <access), LPTR=>params
|
||||
DW FSCACCESS-1 ; ACCESS <objlist> <access>, LPTR=>params
|
||||
ASC 'TITLE'
|
||||
DB $80
|
||||
DW FSCTITLE-1 ; TITLE (<drive>) <title>, LPTR=>params
|
||||
ASC 'DESTROY'
|
||||
DB $80
|
||||
DW FSCDESTROY-1 ; DESTROY <objlist>, LPTR=>params
|
||||
*
|
||||
DB $FF ; Terminator
|
||||
|
||||
|
@ -342,12 +345,17 @@ FSCHND
|
|||
CMP #$0C
|
||||
BEQ FSCREN ; A=12 - *RENAME
|
||||
|
||||
* Performs OSFSC *OPT function
|
||||
FSOPT RTS ; No FS options for now
|
||||
|
||||
FSCDRIVE JMP DRIVE
|
||||
|
||||
FSCFREE JMP FREE
|
||||
|
||||
FSCACCESS JMP ACCESS
|
||||
|
||||
FSCDESTROY JMP DESTROY
|
||||
|
||||
FSCTITLE
|
||||
|
||||
FSCUKN PHA
|
||||
|
@ -394,9 +402,6 @@ FSCREN JMP RENAME
|
|||
|
||||
FSCCHDIR JMP CHDIR
|
||||
|
||||
* Performs OSFSC *OPT function
|
||||
FSOPT RTS ; No FS options for now
|
||||
|
||||
* Performs OSFSC Read EOF function
|
||||
* File ref number is in X
|
||||
CHKEOF >>> WRTMAIN
|
||||
|
@ -664,12 +669,12 @@ FREERET
|
|||
|
||||
ACCESS JSR PARSLPTR ; Copy filename->MOSFILE
|
||||
CMP #$00 ; Filename length
|
||||
BEQ :ACCSYN
|
||||
BEQ :SYNTAX
|
||||
JSR PARSLPTR2 ; Copy Arg2->MOSFILE2
|
||||
>>> XF2MAIN,SETPERM
|
||||
:ACCSYN BRK
|
||||
:SYNTAX BRK
|
||||
DB $DC
|
||||
ASC 'Syntax: ACCESS <pathname> <L|R|W>'
|
||||
ASC 'Syntax: ACCESS <obj-list> <L|R|W>'
|
||||
BRK
|
||||
|
||||
ACCRET >>> ENTAUX
|
||||
|
@ -677,6 +682,20 @@ ACCRET >>> ENTAUX
|
|||
LDA #$00
|
||||
RTS
|
||||
|
||||
DESTROY JSR PARSLPTR ; Copy filename->MOSFILE
|
||||
CMP #$00 ; Filename length
|
||||
BEQ :SYNTAX
|
||||
>>> XF2MAIN,MULTIDEL
|
||||
:SYNTAX BRK
|
||||
DB $DC
|
||||
ASC 'Syntax: DESTROY <obj-list>'
|
||||
BRK
|
||||
|
||||
DESTRET >>> ENTAUX
|
||||
JSR CHKERROR
|
||||
LDA #$00
|
||||
RTS
|
||||
|
||||
* Parse filename pointed to by XY
|
||||
* Write filename to MOSFILE in main memory
|
||||
* Returns length in A
|
||||
|
|
|
@ -25,7 +25,7 @@ DELFILE >>> ENTMAIN
|
|||
JSR UPDFB ; Update FILEBLK
|
||||
JSR COPYFB ; Copy back to aux mem
|
||||
PHA ; Save object type
|
||||
JSR DESTROY
|
||||
JSR DODELETE
|
||||
BCC :DELETED
|
||||
PLX ; Drop object
|
||||
JSR CHKNOTFND
|
||||
|
@ -33,7 +33,7 @@ DELFILE >>> ENTMAIN
|
|||
:DELETED PLA ; Get object back
|
||||
:EXIT >>> XF2AUX,OSFILERET
|
||||
|
||||
DESTROY LDA #<MOSFILE ; Attempt to destroy file
|
||||
DODELETE LDA #<MOSFILE ; Attempt to destroy file
|
||||
STA DESTPL+1
|
||||
LDA #>MOSFILE
|
||||
STA DESTPL+2
|
||||
|
@ -104,7 +104,7 @@ OFILE >>> ENTMAIN
|
|||
PHA
|
||||
CMP #$80 ; Write mode
|
||||
BNE :S0
|
||||
JSR DESTROY
|
||||
JSR DODELETE
|
||||
LDA #$01 ; Storage type - file
|
||||
STA CREATEPL+7
|
||||
LDA #$06 ; Filetype BIN
|
||||
|
@ -796,6 +796,32 @@ SETPERM >>> ENTMAIN
|
|||
:WFLAG DB $00 ; 'W' attribute
|
||||
:RFLAG DB $00 ; 'R' attribute
|
||||
|
||||
* Multi file delete, for *DESTROY
|
||||
* Filename in MOSFILE
|
||||
MULTIDEL >>> ENTMAIN
|
||||
JSR PREPATH ; Preprocess pathname
|
||||
BCS :SYNERR
|
||||
JSR WILDCARD ; Handle any wildcards
|
||||
BCS :NONE
|
||||
BRA :MAINLOOP
|
||||
:SYNERR LDA #$40 ; Invalid pathname syn
|
||||
BRA :EXIT
|
||||
:NONE JSR CLSDIR
|
||||
LDA #$40 ; TODO PROPER ERROR CODE
|
||||
BRA :EXIT
|
||||
:MAINLOOP JSR DODELETE
|
||||
BCS :DELERR
|
||||
JSR WILDNEXT
|
||||
BCS :NOMORE
|
||||
BRA :MAINLOOP
|
||||
:EXIT >>> XF2AUX,DESTRET
|
||||
:DELERR JSR CLSDIR
|
||||
LDA #$40 ; TODO PROPER ERROR CODE
|
||||
BRA :EXIT
|
||||
:NOMORE JSR CLSDIR
|
||||
LDA #$00
|
||||
BRA :EXIT
|
||||
|
||||
* Read mainmem from auxmem
|
||||
MACHRD LDA $C081
|
||||
LDA $C081
|
||||
|
|
Loading…
Reference in New Issue