mirror of
https://github.com/A2osX/A2osX.git
synced 2024-10-24 09:27:45 +00:00
Kernel version 0.8 : More API cleanup/reorg, fixed bug in READDIRYA crashing reading second block
This commit is contained in:
parent
79488f88fa
commit
0c91cddf37
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -215,21 +215,21 @@ EXP.Compute dec
|
|||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.Compute.EOR
|
EXP.OP.EOR
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.Compute.ORA
|
EXP.OP.ORA
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.Compute.AND
|
EXP.OP.AND
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.Compute.LOW
|
EXP.OP.LOW
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.Compute.EQU
|
EXP.OP.EQU
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.Compute.GRT
|
EXP.OP.GRT
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.Compute.ADD ldx #0 ARG-ACC->ACC
|
EXP.OP.ADD ldx #0 ARG-ACC->ACC
|
||||||
ldy #4
|
ldy #4
|
||||||
|
|
||||||
clc
|
clc
|
||||||
@ -246,7 +246,7 @@ EXP.Compute.ADD ldx #0 ARG-ACC->ACC
|
|||||||
lda #ERR.VAL.TOO.BIG
|
lda #ERR.VAL.TOO.BIG
|
||||||
.8 rts
|
.8 rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.Compute.SUB ldx #0 ARG-ACC->ACC
|
EXP.OP.SUB ldx #0 ARG-ACC->ACC
|
||||||
ldy #4
|
ldy #4
|
||||||
|
|
||||||
sec
|
sec
|
||||||
@ -267,9 +267,9 @@ EXP.Compute.SUB ldx #0 ARG-ACC->ACC
|
|||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.Compute.MUL
|
EXP.OP.MUL
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.Compute.DIV
|
EXP.OP.DIV
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
|
@ -5,7 +5,7 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
FIO.Init ldy #S.PS.hCMD
|
FIO.Init ldy #S.PS.hCMDLINE
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
>SYSCALL SYS.GetMemPtrA
|
>SYSCALL SYS.GetMemPtrA
|
||||||
bcs .99
|
bcs .99
|
||||||
@ -299,7 +299,7 @@ FIO.LOAD.ASM.T ldy #ASM.T.hMem
|
|||||||
>PUSHBI 6 S.FILEINFO.TYPE.BIN
|
>PUSHBI 6 S.FILEINFO.TYPE.BIN
|
||||||
>PUSHBI SYS.FOPEN.R
|
>PUSHBI SYS.FOPEN.R
|
||||||
>PUSHW L.ASM.T.FILENAME
|
>PUSHW L.ASM.T.FILENAME
|
||||||
>SYSCALL SYS.LoadFileYA
|
>SYSCALL SYS.LoadFile
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
txa
|
txa
|
||||||
|
@ -72,8 +72,7 @@ CS.START cld
|
|||||||
.DA CS.DOEVENT
|
.DA CS.DOEVENT
|
||||||
.DA CS.QUIT
|
.DA CS.QUIT
|
||||||
L.LIBSTR .DA LIBSTR
|
L.LIBSTR .DA LIBSTR
|
||||||
L.MSG.HELP1 .DA MSG.HELP1
|
L.MSG.HELP .DA MSG.HELP
|
||||||
L.MSG.HELP2 .DA MSG.HELP2
|
|
||||||
L.MSG.SRCLINE .DA MSG.SRCLINE
|
L.MSG.SRCLINE .DA MSG.SRCLINE
|
||||||
L.MSG.ERROR .DA MSG.ERROR
|
L.MSG.ERROR .DA MSG.ERROR
|
||||||
L.MSG.SYMBOLS .DA MSG.SYMBOLS
|
L.MSG.SYMBOLS .DA MSG.SYMBOLS
|
||||||
@ -139,29 +138,30 @@ J.LI .DA DIR.LI.CON
|
|||||||
.DA DIR.LI.XOFF
|
.DA DIR.LI.XOFF
|
||||||
.DA DIR.LI.ON
|
.DA DIR.LI.ON
|
||||||
.DA DIR.LI.OFF
|
.DA DIR.LI.OFF
|
||||||
J.EXP.OP .DA EXP.Compute.EOR ^!|&<=>+-*/
|
J.EXP.OP .DA EXP.OP.EOR ^!|&<=>+-*/
|
||||||
.DA EXP.Compute.ORA
|
.DA EXP.OP.ORA
|
||||||
.DA EXP.Compute.ORA
|
.DA EXP.OP.ORA
|
||||||
.DA EXP.Compute.AND
|
.DA EXP.OP.AND
|
||||||
.DA EXP.Compute.LOW
|
.DA EXP.OP.LOW
|
||||||
.DA EXP.Compute.EQU
|
.DA EXP.OP.EQU
|
||||||
.DA EXP.Compute.GRT
|
.DA EXP.OP.GRT
|
||||||
.DA EXP.Compute.ADD
|
.DA EXP.OP.ADD
|
||||||
.DA EXP.Compute.SUB
|
.DA EXP.OP.SUB
|
||||||
.DA EXP.Compute.MUL
|
.DA EXP.OP.MUL
|
||||||
.DA EXP.Compute.DIV
|
.DA EXP.OP.DIV
|
||||||
.DA 0
|
.DA 0
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
CS.INIT >LDYA L.LIBSTR
|
CS.INIT >LDYA L.LIBSTR
|
||||||
>SYSCALL SYS.LoadLibYA
|
>SYSCALL SYS.LoadLibYA
|
||||||
sta hLIBSTR
|
sta hLIBSTR
|
||||||
|
|
||||||
ldy #S.PS.hARGS
|
>SYSCALL SYS.GetArgC
|
||||||
lda (pPs),y
|
cmp #1
|
||||||
beq .99
|
beq .99 No arg, new file....
|
||||||
|
|
||||||
>SYSCALL SYS.GetMemPtrA
|
lda #1
|
||||||
>SYSCALL SYS.NewPStrYA
|
>SYSCALL SYS.GetArgA
|
||||||
|
>SYSCALL SYS.GetFullPathYA
|
||||||
|
|
||||||
txa
|
txa
|
||||||
ldy #SRC.hFILENAME
|
ldy #SRC.hFILENAME
|
||||||
@ -183,9 +183,7 @@ CS.INIT >LDYA L.LIBSTR
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.99 >PUSHW L.MSG.HELP1
|
.99 >PUSHW L.MSG.HELP
|
||||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
|
||||||
>PUSHW L.MSG.HELP2
|
|
||||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||||
lda #ERR.INV.ARGS
|
lda #ERR.INV.ARGS
|
||||||
sec
|
sec
|
||||||
@ -327,7 +325,7 @@ CS.QUIT jsr FIO.FileClose
|
|||||||
.INB BIN/ASM.S.SYM
|
.INB BIN/ASM.S.SYM
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
SRC.DIR.MAXLEN .EQ 5 (DUMMY)
|
SRC.DIR.MAXLEN .EQ 5
|
||||||
T.DIRECTIVES .HS 02
|
T.DIRECTIVES .HS 02
|
||||||
.AS "AC"
|
.AS "AC"
|
||||||
.HS 02
|
.HS 02
|
||||||
@ -425,8 +423,7 @@ T.LI .HS 03
|
|||||||
.HS 00
|
.HS 00
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
LIBSTR >PSTRING "libstr.o"
|
LIBSTR >PSTRING "libstr.o"
|
||||||
MSG.HELP1 >CSTRING "A2osX-Macro Assembler (S-C MASM 3.0 Based)\n"
|
MSG.HELP >CSTRING "A2osX-Macro Assembler (S-C MASM 3.0 Based)\nUsage : ASM <src file> [type TXT ($04) or S-C/BAS ($FA)]\n"
|
||||||
MSG.HELP2 >CSTRING "Usage : ASM <src file> [type TXT ($04) or S-C/BAS ($FA)]\n"
|
|
||||||
MSG.PASS >CSTRING "Pass:#%d\n"
|
MSG.PASS >CSTRING "Pass:#%d\n"
|
||||||
MSG.SRC.FILE >CSTRING "Reading SRC File:%S\n"
|
MSG.SRC.FILE >CSTRING "Reading SRC File:%S\n"
|
||||||
MSG.OBJ.FILE >CSTRING "Writing OBJ File:%S, Type=%02x\n"
|
MSG.OBJ.FILE >CSTRING "Writing OBJ File:%S, Type=%02x\n"
|
||||||
|
239
BIN/LS.S.txt
239
BIN/LS.S.txt
@ -66,9 +66,9 @@ CS.INIT >LDYA L.LIBSTR
|
|||||||
>SYSCALL SYS.GetFullPathYA
|
>SYSCALL SYS.GetFullPathYA
|
||||||
stx hFullPath
|
stx hFullPath
|
||||||
|
|
||||||
.2 >SYSCALL SYS.ListDirInitYA
|
.2 >SYSCALL SYS.OPENDIRYA
|
||||||
bcs .99
|
bcs .99
|
||||||
ldy #hS.LISTDIR
|
ldy #hDIR
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
jsr .99
|
jsr .99
|
||||||
@ -99,206 +99,43 @@ CS.RUN ldy #bCANCEL
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.2 ldy #hS.LISTDIR
|
.2 ldy #hDIR
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
>SYSCALL SYS.ListDirNextA
|
>SYSCALL SYS.READDIRA
|
||||||
bcc .3
|
bcs .9
|
||||||
|
|
||||||
jmp Push.Footer
|
phx Save hDIRENT
|
||||||
|
|
||||||
.3 pha
|
|
||||||
>SYSCALL SYS.GetMemPtrA
|
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
lda (ZPPtr1)
|
|
||||||
pha
|
|
||||||
|
|
||||||
and #$0F
|
.3 lda (ZPPtr1)
|
||||||
sta (ZPPtr1) Adjust Filename len
|
|
||||||
|
|
||||||
pla
|
beq .8
|
||||||
and #$F0
|
|
||||||
cmp #$F0 Volume ($F) HEADER ?
|
|
||||||
bne .31
|
|
||||||
|
|
||||||
pla
|
>LDYA ZPPtr1
|
||||||
ldy #hVOLHEADER
|
>SYSCALL SYS.PStrOutYA
|
||||||
sta (pData),y
|
|
||||||
>PUSHW ZPPtr1
|
lda ZPPtr1
|
||||||
>PUSHW L.MSG.VOL.HEADER
|
sec
|
||||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
adc (ZPPtr1)
|
||||||
|
sta ZPPtr1
|
||||||
|
bcc .4
|
||||||
|
inc ZPPtr1+1
|
||||||
|
|
||||||
|
.4 lda #13
|
||||||
|
>SYSCALL SYS.COutA
|
||||||
|
|
||||||
|
.7 lda ZPPtr1
|
||||||
clc
|
clc
|
||||||
rts
|
adc #S.STAT
|
||||||
|
sta ZPPtr1
|
||||||
|
bcc .3
|
||||||
|
inc ZPPtr1+1
|
||||||
|
bcs .3 Always
|
||||||
|
|
||||||
.31 cmp #$E0 Dir ($E) HEADER ?
|
.8 pla
|
||||||
bne .4
|
|
||||||
|
|
||||||
pla
|
|
||||||
ldy #hDIRHEADER
|
|
||||||
sta (pData),y
|
|
||||||
|
|
||||||
>PUSHW ZPPtr1
|
|
||||||
>PUSHW L.MSG.DIR.HEADER
|
|
||||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.4 cmp #$D0 Directory ?
|
|
||||||
bne .5
|
|
||||||
|
|
||||||
jsr Push.Dates
|
|
||||||
jsr Push.Dir
|
|
||||||
>PUSHW L.MSG.DIR
|
|
||||||
bra .8
|
|
||||||
|
|
||||||
.5 cmp #$C0 Volume Name ?
|
|
||||||
bne .6
|
|
||||||
|
|
||||||
>PUSHW ZPPtr1
|
|
||||||
>PUSHW L.MSG.VOL
|
|
||||||
bra .8
|
|
||||||
|
|
||||||
.6 jsr Push.Dates File
|
|
||||||
jsr Push.File
|
|
||||||
>PUSHW L.MSG.FILE
|
|
||||||
|
|
||||||
.8 >LIBCALL hLIBSTR,LIBSTR.PRINTF
|
|
||||||
|
|
||||||
.9 pla
|
|
||||||
>SYSCALL SYS.FreeMemA
|
>SYSCALL SYS.FreeMemA
|
||||||
clc
|
clc
|
||||||
rts
|
.9 rts
|
||||||
*--------------------------------------
|
|
||||||
Push.Dir ldy #$1E get access mask
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
>PUSHW ZPPtr1
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
Push.File >PUSHBI 0 4th byte of file len=0
|
|
||||||
ldy #$17 get file len (3 bytes)
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
dey
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
dey
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
|
|
||||||
ldy #$1E get access mask
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
|
|
||||||
ldy #$20 get aux type
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
dey
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
|
|
||||||
ldy #$10 get filetype
|
|
||||||
|
|
||||||
lda L.PRODOS.FT.TXT
|
|
||||||
sta ZPPtr2
|
|
||||||
lda L.PRODOS.FT.TXT+1
|
|
||||||
sta ZPPtr2+1
|
|
||||||
ldx #0
|
|
||||||
|
|
||||||
.1 lda (ZPPtr1),y
|
|
||||||
cmp PRODOS.FT.ID,x
|
|
||||||
beq .3
|
|
||||||
lda ZPPtr2
|
|
||||||
clc
|
|
||||||
adc #4
|
|
||||||
sta ZPPtr2
|
|
||||||
bcc .2
|
|
||||||
inc ZPPtr2+1
|
|
||||||
.2 inx
|
|
||||||
cpx PRODOS.FT.COUNT
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
tax
|
|
||||||
lda HEXDIGIT,x
|
|
||||||
sta PRODOS.FT.DFLT+2
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
and #$0F
|
|
||||||
tax
|
|
||||||
lda HEXDIGIT,x
|
|
||||||
sta PRODOS.FT.DFLT+3
|
|
||||||
|
|
||||||
.3 >PUSHW ZPPtr2
|
|
||||||
>PUSHW ZPPtr1
|
|
||||||
>LIBCALL hLIBSTR,LIBSTR.LCASEP
|
|
||||||
>PUSHW ZPPtr1
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
Push.Dates ldy #$24 get modification time
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
dey
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
ldy #$22
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
dey
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
ldy #$1B get creation time
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
dey
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
ldy #$19
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
dey
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
Push.Footer ldy #hVOLHEADER
|
|
||||||
lda (pData),y
|
|
||||||
beq .20
|
|
||||||
|
|
||||||
>SYSCALL SYS.GetMemPtrA
|
|
||||||
>STYA ZPPtr1
|
|
||||||
|
|
||||||
ldy #$22 file_count
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
dey
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
|
|
||||||
>PUSHW L.MSG.VOL.END
|
|
||||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
|
||||||
|
|
||||||
.20 ldy #hDIRHEADER
|
|
||||||
lda (pData),y
|
|
||||||
beq .21
|
|
||||||
|
|
||||||
>SYSCALL SYS.GetMemPtrA
|
|
||||||
>STYA ZPPtr1
|
|
||||||
|
|
||||||
ldy #$22 file_count
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
dey
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
>PUSHA
|
|
||||||
|
|
||||||
>PUSHW L.MSG.DIR.END
|
|
||||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
|
||||||
|
|
||||||
.21 sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
|
CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
|
||||||
lda (pEvent),y
|
lda (pEvent),y
|
||||||
@ -338,22 +175,10 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.QUIT ldy #hVOLHEADER
|
CS.QUIT ldy #hDIR
|
||||||
lda (pData),y
|
|
||||||
beq .1
|
|
||||||
|
|
||||||
>SYSCALL SYS.FreeMemA
|
|
||||||
|
|
||||||
.1 ldy #hDIRHEADER
|
|
||||||
lda (pData),y
|
|
||||||
beq .2
|
|
||||||
|
|
||||||
>SYSCALL SYS.FreeMemA
|
|
||||||
|
|
||||||
.2 ldy #hS.LISTDIR
|
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
|
|
||||||
>SYSCALL SYS.ListDirCloseA
|
>SYSCALL SYS.CLOSEDIRA
|
||||||
|
|
||||||
ldy #hDIRPATH
|
ldy #hDIRPATH
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
@ -395,7 +220,7 @@ hFullPath .BS 1
|
|||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
hDIRPATH .BS 1
|
hDIRPATH .BS 1
|
||||||
hS.LISTDIR .BS 1
|
hDIR .BS 1
|
||||||
hVOLHEADER .BS 1
|
hVOLHEADER .BS 1
|
||||||
hDIRHEADER .BS 1
|
hDIRHEADER .BS 1
|
||||||
bSTOP .BS 1
|
bSTOP .BS 1
|
||||||
|
@ -445,34 +445,16 @@ S.EVT.DATAW2 .EQ 6
|
|||||||
*
|
*
|
||||||
S.EVT .EQ 8
|
S.EVT .EQ 8
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.LISTDIR STRUCT (Obsolete)
|
S.TIME.CENTURY .EQ 0 19,20,21....
|
||||||
*--------------------------------------
|
S.TIME.YEAR .EQ 1 0.99
|
||||||
S.LISTDIR.hONLINE .EQ 0
|
S.TIME.MONTH .EQ 2 1..12
|
||||||
S.LISTDIR.ONLINEPTR .EQ 1
|
S.TIME.DAY .EQ 3 1..31
|
||||||
S.LISTDIR.REFNUM .EQ 2 ref_num file
|
S.TIME.HOUR .EQ 4 0..23
|
||||||
S.LISTDIR.hIOBUF .EQ 3 hMem to ProDOS IO buffer
|
S.TIME.MINUTE .EQ 5 0..59
|
||||||
S.LISTDIR.hREADBUF .EQ 4 hMem to 512 Read Buffer
|
S.TIME.SECOND .EQ 6 0..61
|
||||||
S.LISTDIR.EL .EQ 5 entry_length
|
S.TIME.WDAY .EQ 7 1..7
|
||||||
S.LISTDIR.EIB .EQ 6 ENTRY_INDEX in block
|
|
||||||
S.LISTDIR.EPB .EQ 7 entry_per_block
|
|
||||||
S.LISTDIR.BLKPTR .EQ 8 entry PTR in block
|
|
||||||
S.LISTDIR.FI .EQ 10 FILE_INDEX in DIR
|
|
||||||
S.LISTDIR.FC .EQ 12 file_count
|
|
||||||
S.LISTDIR.hPATH .EQ 14 Base path for file filtering
|
|
||||||
S.LISTDIR.hPATTERN .EQ 15 Pattern for file filtering
|
|
||||||
*
|
*
|
||||||
S.LISTDIR.SIZE .EQ 16
|
S.TIME .EQ 8
|
||||||
*--------------------------------------
|
|
||||||
S.Time.CENTURY .EQ 0 19,20,21....
|
|
||||||
S.Time.YEAR .EQ 1 0.99
|
|
||||||
S.Time.MONTH .EQ 2 1..12
|
|
||||||
S.Time.DAY .EQ 3 1..31
|
|
||||||
S.Time.HOUR .EQ 4 0..23
|
|
||||||
S.Time.MINUTE .EQ 5 0..59
|
|
||||||
S.Time.SECOND .EQ 6 0..61
|
|
||||||
S.Time.WDAY .EQ 7 1..7
|
|
||||||
*
|
|
||||||
S.Time .EQ 8
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.STAT
|
* S.STAT
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -12,7 +12,7 @@ AUTO 6
|
|||||||
* CC : Y,A = PTR to S.DIR
|
* CC : Y,A = PTR to S.DIR
|
||||||
* CS : A = EC
|
* CS : A = EC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.OPENDIRYA jsr S.PFTCHECKPATHYA
|
K.OPENDIRYA jsr K.PFTCheckPathYA
|
||||||
>STYA ZPQuickPtr2
|
>STYA ZPQuickPtr2
|
||||||
>STYA MLICALL.PARAMS+1 For MLIOPEN
|
>STYA MLICALL.PARAMS+1 For MLIOPEN
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ hDIR .BS 1
|
|||||||
* CC : X = hDIREND, Y,A = PTR to S.DIRENT
|
* CC : X = hDIREND, Y,A = PTR to S.DIRENT
|
||||||
* CS : A = EC, A = 0 : no more entry
|
* CS : A = EC, A = 0 : no more entry
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.READDIRA jsr S.PFTCHECKDIRA
|
K.READDIRA jsr K.PFTCheckDirA
|
||||||
jsr K.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
@ -267,10 +267,12 @@ K.READDIRA.DIR ldy #S.DIR.PRODOS.REF
|
|||||||
.99 rts
|
.99 rts
|
||||||
|
|
||||||
.2 ldy #S.DIR.PRODOS.EL+3
|
.2 ldy #S.DIR.PRODOS.EL+3
|
||||||
|
ldx #3
|
||||||
|
|
||||||
.3 lda(ZPQuickPtr1),y get this session parameters from S.DIR
|
.3 lda (ZPQuickPtr1),y get this session parameters from S.DIR
|
||||||
sta EntryLength-S.DIR.PRODOS.EL,y
|
sta EntryLength,x
|
||||||
dey
|
dey
|
||||||
|
dex
|
||||||
bpl .3
|
bpl .3
|
||||||
|
|
||||||
.4 ldx EntryCount
|
.4 ldx EntryCount
|
||||||
@ -336,10 +338,13 @@ K.READDIRA.DIR ldy #S.DIR.PRODOS.REF
|
|||||||
* lda #0 S.MEM.F.INIT0 already did this
|
* lda #0 S.MEM.F.INIT0 already did this
|
||||||
* sta (ZPQuickPtr4) Ending 0
|
* sta (ZPQuickPtr4) Ending 0
|
||||||
|
|
||||||
|
ldx #3
|
||||||
ldy #S.DIR.PRODOS.EL+3
|
ldy #S.DIR.PRODOS.EL+3
|
||||||
.8 lda EntryLength-S.DIR.PRODOS.EL,y Store back this session prameters to S.DIR
|
|
||||||
|
.8 lda EntryLength,x Store back this session prameters to S.DIR
|
||||||
sta (ZPQuickPtr1),y
|
sta (ZPQuickPtr1),y
|
||||||
dey
|
dey
|
||||||
|
dex
|
||||||
bpl .8
|
bpl .8
|
||||||
|
|
||||||
jsr .98 Discard READBUFFER
|
jsr .98 Discard READBUFFER
|
||||||
@ -383,7 +388,7 @@ K.READDIRA.ADD and #$F0
|
|||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
jsr K.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
lda #'.'
|
lda #'.' filename="1."
|
||||||
jsr K.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
|
|
||||||
ldy #$25 total_blocks
|
ldy #$25 total_blocks
|
||||||
@ -398,35 +403,27 @@ K.READDIRA.ADD and #$F0
|
|||||||
txa
|
txa
|
||||||
sta (ZPQuickPtr4),y
|
sta (ZPQuickPtr4),y
|
||||||
|
|
||||||
|
bra .80
|
||||||
|
|
||||||
.10 cmp #$E0 directory header ?
|
.10 cmp #$E0 directory header ?
|
||||||
bne .20
|
bne .20
|
||||||
|
|
||||||
lda #2
|
lda #2
|
||||||
jsr K.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
lda #'.'
|
lda #'.' filename="2.."
|
||||||
jsr K.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
jsr K.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
|
|
||||||
|
bra .80
|
||||||
|
|
||||||
|
|
||||||
.20 cmp #$D0 directory ?
|
.20 cmp #$D0 directory ?
|
||||||
bne .30
|
bne .30
|
||||||
|
jsr K.READDIRA.AddFNToBuf
|
||||||
|
|
||||||
lda (ZPQuickPtr3)
|
bra .80
|
||||||
and #$0F get filename len
|
|
||||||
tax
|
|
||||||
jsr K.READDIRA.AddToBuf
|
|
||||||
ldy #1
|
|
||||||
|
|
||||||
.21 lda (ZPQuickPtr3),y
|
.30 jsr K.READDIRA.AddFNToBuf
|
||||||
jsr K.READDIRA.AddToBuf
|
|
||||||
iny
|
|
||||||
dex
|
|
||||||
bne .21
|
|
||||||
|
|
||||||
|
|
||||||
.30
|
|
||||||
|
|
||||||
.80 lda ZPQuickPtr4
|
.80 lda ZPQuickPtr4
|
||||||
clc
|
clc
|
||||||
@ -444,6 +441,21 @@ K.READDIRA.AddBufSize
|
|||||||
inc BufSize+1
|
inc BufSize+1
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
K.READDIRA.AddFNToBuf
|
||||||
|
lda (ZPQuickPtr3)
|
||||||
|
and #$0F get filename len
|
||||||
|
tax
|
||||||
|
jsr K.READDIRA.AddToBuf
|
||||||
|
|
||||||
|
ldy #1
|
||||||
|
|
||||||
|
.1 lda (ZPQuickPtr3),y
|
||||||
|
jsr K.READDIRA.AddToBuf
|
||||||
|
iny
|
||||||
|
dex
|
||||||
|
bne .1
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
K.READDIRA.AddToBuf
|
K.READDIRA.AddToBuf
|
||||||
sta (ZPQuickPtr4)
|
sta (ZPQuickPtr4)
|
||||||
inc ZPQuickPtr4
|
inc ZPQuickPtr4
|
||||||
@ -467,8 +479,8 @@ K.READDIRA.hDIR .BS 1
|
|||||||
* In :
|
* In :
|
||||||
* A = hDIR
|
* A = hDIR
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.CLOSEDIRA jsr S.PFTCHECKDIRA
|
K.CLOSEDIRA jsr K.PFTCheckDirA
|
||||||
sta hDIR
|
pha
|
||||||
jsr K.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
@ -483,12 +495,12 @@ K.CLOSEDIRA.1 ldy #S.DIR.PRODOS.REF
|
|||||||
beq .2
|
beq .2
|
||||||
jsr K.FreeMemA
|
jsr K.FreeMemA
|
||||||
|
|
||||||
.2 lda hDIR
|
.2 pla
|
||||||
jsr K.FreeMemA
|
jsr K.FreeMemA
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.MKDIRYA jsr S.PFTCHECKPATHYA
|
K.MKDIRYA jsr K.PFTCheckPathYA
|
||||||
>STYA MLICALL.PARAMS+1
|
>STYA MLICALL.PARAMS+1
|
||||||
lda #S.FILEINFO.ACCESS.FULL
|
lda #S.FILEINFO.ACCESS.FULL
|
||||||
sta MLICALL.PARAMS+S.FILEINFO.ACCESS
|
sta MLICALL.PARAMS+S.FILEINFO.ACCESS
|
||||||
|
@ -7,7 +7,7 @@ AUTO 6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* For All SYS.xxxx calls, X = #SYSCall
|
* For All SYS.xxxx calls, X = #SYSCall
|
||||||
* Must be kept in X before calling
|
* Must be kept in X before calling
|
||||||
* S.PFTCheckXYZ
|
* K.PFTCheck*
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* K.FOPEN
|
* K.FOPEN
|
||||||
* In :
|
* In :
|
||||||
@ -24,7 +24,7 @@ AUTO 6
|
|||||||
* CC : A = hFILE
|
* CC : A = hFILE
|
||||||
* CS : A = EC
|
* CS : A = EC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.FOPEN jsr S.PFTCHECKPATHSTK
|
K.FOPEN jsr K.PFTCheckPathSTK
|
||||||
>PULLW MLICALL.PARAMS+1
|
>PULLW MLICALL.PARAMS+1
|
||||||
>PULLB K.FOPEN.MODE
|
>PULLB K.FOPEN.MODE
|
||||||
>PULLB K.FOPEN.TYPE
|
>PULLB K.FOPEN.TYPE
|
||||||
@ -114,7 +114,7 @@ hFILE .BS 1
|
|||||||
* In :
|
* In :
|
||||||
* A = hFILE
|
* A = hFILE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.FCLOSEA jsr S.PFTCHECKFILEA
|
K.FCLOSEA jsr K.PFTCheckFileA
|
||||||
sta hFILE
|
sta hFILE
|
||||||
jsr K.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
@ -142,7 +142,7 @@ K.FCLOSEA.1 ldy #S.FILE.PRODOS.REF
|
|||||||
* Out :
|
* Out :
|
||||||
* Y,A = Bytes Read
|
* Y,A = Bytes Read
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.FREAD jsr S.PFTCHECKFILESTK
|
K.FREAD jsr K.PFTCheckFileSTK
|
||||||
>PULLA
|
>PULLA
|
||||||
jsr FIL.SetupPrt1A
|
jsr FIL.SetupPrt1A
|
||||||
>PULLW MLICALL.PARAMS+4
|
>PULLW MLICALL.PARAMS+4
|
||||||
@ -160,7 +160,7 @@ K.FREAD jsr S.PFTCHECKFILESTK
|
|||||||
* Out :
|
* Out :
|
||||||
* Y,A = Bytes Written
|
* Y,A = Bytes Written
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.FWRITE jsr S.PFTCHECKFILESTK
|
K.FWRITE jsr K.PFTCheckFileSTK
|
||||||
>PULLA
|
>PULLA
|
||||||
jsr FIL.SetupPrt1A
|
jsr FIL.SetupPrt1A
|
||||||
>PULLW MLICALL.PARAMS+4
|
>PULLW MLICALL.PARAMS+4
|
||||||
@ -174,7 +174,7 @@ K.FWRITE jsr S.PFTCHECKFILESTK
|
|||||||
* In :
|
* In :
|
||||||
* A = hFILE
|
* A = hFILE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.FFLUSHA jsr S.PFTCHECKFILEA
|
K.FFLUSHA jsr K.PFTCheckFileA
|
||||||
jsr FIL.SetupPrt1A
|
jsr FIL.SetupPrt1A
|
||||||
>MLICALL MLIFLUSH
|
>MLICALL MLIFLUSH
|
||||||
rts
|
rts
|
||||||
@ -186,27 +186,35 @@ K.FFLUSHA jsr S.PFTCHECKFILEA
|
|||||||
* PULLW = OffsetLo
|
* PULLW = OffsetLo
|
||||||
* PULLW = OffsetHi
|
* PULLW = OffsetHi
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.FSEEK jsr S.PFTCHECKFILESTK
|
K.FSEEK jsr K.PFTCheckFileSTK
|
||||||
>PULLA
|
>PULLA
|
||||||
jsr FIL.SetupPrt1A
|
jsr FIL.SetupPrt1A
|
||||||
>PULLB K.FSEEK.FROM
|
>PULLB K.FSEEK.FROM
|
||||||
>PULLW K.FSEEK.OFFSET
|
>PULLW K.FSEEK.OFFSET
|
||||||
>PULLW K.FSEEK.OFFSET+2
|
>PULLW K.FSEEK.OFFSET+2
|
||||||
|
|
||||||
lda K.FSEEK.FROM
|
lda K.FSEEK.FROM
|
||||||
beq .3 cmp #SYS.FSEEK.SET
|
|
||||||
|
|
||||||
cmp #SYS.FSEEK.CUR
|
* cmp #SYS.FSEEK.SET =0
|
||||||
|
|
||||||
bne .1
|
bne .1
|
||||||
>MLICALL MLIGETMARK
|
stz MLICALL.PARAMS+2
|
||||||
bcs .9
|
stz MLICALL.PARAMS+3
|
||||||
bcc .2
|
stz MLICALL.PARAMS+4
|
||||||
|
bra .8
|
||||||
|
|
||||||
.1 cmp #SYS.FSEEK.END
|
.1 cmp #SYS.FSEEK.CUR
|
||||||
bne .3
|
bne .2
|
||||||
|
>MLICALL MLIGETMARK
|
||||||
|
bcc .8
|
||||||
|
rts
|
||||||
|
|
||||||
|
.2 cmp #SYS.FSEEK.END
|
||||||
|
bne .98
|
||||||
>MLICALL MLIGETEOF
|
>MLICALL MLIGETEOF
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.2 lda MLICALL.PARAMS+2
|
.8 lda MLICALL.PARAMS+2
|
||||||
adc K.FSEEK.OFFSET
|
adc K.FSEEK.OFFSET
|
||||||
sta MLICALL.PARAMS+2
|
sta MLICALL.PARAMS+2
|
||||||
lda MLICALL.PARAMS+3
|
lda MLICALL.PARAMS+3
|
||||||
@ -217,11 +225,12 @@ K.FSEEK jsr S.PFTCHECKFILESTK
|
|||||||
sta MLICALL.PARAMS+4
|
sta MLICALL.PARAMS+4
|
||||||
bcs .99 Offset out of range!
|
bcs .99 Offset out of range!
|
||||||
|
|
||||||
|
>MLICALL MLISETMARK
|
||||||
.3 >MLICALL MLISETMARK
|
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
|
.98 lda #SYSMGR.ERRSYN
|
||||||
|
.HS 2C bit abs
|
||||||
.99 lda #SYSMGR.ERRFTB
|
.99 lda #SYSMGR.ERRFTB
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@ -235,7 +244,7 @@ K.FSEEK.OFFSET .BS 4
|
|||||||
* Out :
|
* Out :
|
||||||
* Y,A,X = Offset
|
* Y,A,X = Offset
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.FTELLA jsr S.PFTCHECKFILEA
|
K.FTELLA jsr K.PFTCheckFileA
|
||||||
K.FTELLA.1 jsr FIL.SetupPrt1A
|
K.FTELLA.1 jsr FIL.SetupPrt1A
|
||||||
>MLICALL MLIGETMARK
|
>MLICALL MLIGETMARK
|
||||||
bcs .9
|
bcs .9
|
||||||
@ -252,7 +261,7 @@ K.FTELLA.1 jsr FIL.SetupPrt1A
|
|||||||
* A !=0 NOT EOF
|
* A !=0 NOT EOF
|
||||||
* CS :
|
* CS :
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.FEOFA jsr S.PFTCHECKFILEA
|
K.FEOFA jsr K.PFTCheckFileA
|
||||||
jsr FIL.SetupPrt1A
|
jsr FIL.SetupPrt1A
|
||||||
jsr K.FTELLA.1
|
jsr K.FTELLA.1
|
||||||
bcs .9
|
bcs .9
|
||||||
@ -277,7 +286,7 @@ K.FEOFA.MARK .BS 3
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* K.REMOVEYA
|
* K.REMOVEYA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.REMOVEYA jsr S.PFTCHECKPATHYA
|
K.REMOVEYA jsr K.PFTCheckPathYA
|
||||||
>STYA MLICALL.PARAMS+1
|
>STYA MLICALL.PARAMS+1
|
||||||
>MLICALL MLIDESTROY
|
>MLICALL MLIDESTROY
|
||||||
rts
|
rts
|
||||||
@ -287,7 +296,7 @@ K.REMOVEYA jsr S.PFTCHECKPATHYA
|
|||||||
* PULLW = Old Name
|
* PULLW = Old Name
|
||||||
* PULLW = New Name
|
* PULLW = New Name
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.RENAME jsr S.PFTCHECKPATHYA
|
K.RENAME jsr K.PFTCheckPathSTK
|
||||||
>PULLW MLICALL.PARAMS+1
|
>PULLW MLICALL.PARAMS+1
|
||||||
>PULLW MLICALL.PARAMS+3
|
>PULLW MLICALL.PARAMS+3
|
||||||
>MLICALL MLIRENAME
|
>MLICALL MLIRENAME
|
||||||
@ -298,7 +307,7 @@ K.RENAME jsr S.PFTCHECKPATHYA
|
|||||||
* PULLB = hFILE
|
* PULLB = hFILE
|
||||||
* PULLW = PTR to S.STAT buffer
|
* PULLW = PTR to S.STAT buffer
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.STAT jsr S.PFTCHECKFILEA
|
K.STAT jsr K.PFTCheckFileA
|
||||||
>PULLA
|
>PULLA
|
||||||
jsr FIL.SetupPrt1A
|
jsr FIL.SetupPrt1A
|
||||||
>PULLW ZPQuickPtr2
|
>PULLW ZPQuickPtr2
|
||||||
@ -316,7 +325,7 @@ K.STAT jsr S.PFTCHECKFILEA
|
|||||||
* PULLW = PTR to Filename
|
* PULLW = PTR to Filename
|
||||||
* PULLW = PTR to S.STAT buffer
|
* PULLW = PTR to S.STAT buffer
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.FSTAT jsr S.PFTCHECKPATHYA
|
K.FSTAT jsr K.PFTCheckPathSTK
|
||||||
>PULLW MLICALL.PARAMS+1
|
>PULLW MLICALL.PARAMS+1
|
||||||
>PULLW ZPQuickPtr2
|
>PULLW ZPQuickPtr2
|
||||||
>MLICALL MLIGETFILEINFO
|
>MLICALL MLIGETFILEINFO
|
||||||
|
@ -143,8 +143,7 @@ K.GetFullPathYA >STYA ZPQuickPtr3 Ptr1 & 2 used by StrCpy
|
|||||||
* Y,A = File Length
|
* Y,A = File Length
|
||||||
* X = hMem of Loaded File
|
* X = hMem of Loaded File
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.LoadFile >DEBUG
|
K.LoadFile jsr K.FOPEN
|
||||||
jsr K.FOPEN
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sta K.LoadFile.hFile
|
sta K.LoadFile.hFile
|
||||||
@ -201,65 +200,6 @@ K.LoadFile.Seek >PUSHWI 0
|
|||||||
>PUSHB K.LoadFile.hFile
|
>PUSHB K.LoadFile.hFile
|
||||||
jmp K.FSEEK
|
jmp K.FSEEK
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* K.LoadFileYA
|
|
||||||
* in :
|
|
||||||
* Y,A = FilePath (PSTRING)
|
|
||||||
* out :
|
|
||||||
* Y,A = File Length
|
|
||||||
* X = hMem of Loaded File
|
|
||||||
*--------------------------------------
|
|
||||||
K.LoadFileYA jsr K.MLIOpenYA
|
|
||||||
bcc .10
|
|
||||||
rts
|
|
||||||
|
|
||||||
.10 sta K.LoadFile.hRef save ref_num
|
|
||||||
stx K.LoadFile.hBuf save Prodos Buffer for freemem
|
|
||||||
jsr K.MLIGetEOFA
|
|
||||||
bcs .98
|
|
||||||
|
|
||||||
phx Larger than 64k?
|
|
||||||
plx
|
|
||||||
beq .1 File too big!!!!
|
|
||||||
lda #SYSMGR.ERRFTB
|
|
||||||
bra .98
|
|
||||||
|
|
||||||
.1 >STYA K.LoadFile.Len save Length
|
|
||||||
>PUSHYA Push Length for K.GetMem
|
|
||||||
>PUSHBI 0
|
|
||||||
jsr K.GetMem
|
|
||||||
bcs .98
|
|
||||||
|
|
||||||
>STYA K.LoadFile.Mem
|
|
||||||
|
|
||||||
stx K.LoadFile.hMem save Segment hMem
|
|
||||||
>PUSHW K.LoadFile.Len Push Length for K.MLIRead
|
|
||||||
>PUSHW K.LoadFile.Mem Push PTR
|
|
||||||
>PUSHB K.LoadFile.hRef Push ref_num
|
|
||||||
jsr K.MLIRead
|
|
||||||
bcs .97
|
|
||||||
|
|
||||||
jsr .98 Close File....
|
|
||||||
|
|
||||||
>LDYA K.LoadFile.Len Return File Length...
|
|
||||||
ldx K.LoadFile.hMem ...and hMem to Caller
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.97 pha
|
|
||||||
lda K.LoadFile.hMem
|
|
||||||
jsr K.FreeMemA freemem because of failed load
|
|
||||||
pla
|
|
||||||
|
|
||||||
.98 pha
|
|
||||||
lda K.LoadFile.hRef
|
|
||||||
jsr K.MLICloseA
|
|
||||||
lda K.LoadFile.hBuf
|
|
||||||
jsr K.FreeMemA ProDOS IO Buffer
|
|
||||||
pla
|
|
||||||
|
|
||||||
.99 sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
* PULLW = SrcPtr
|
* PULLW = SrcPtr
|
||||||
* PULLW = SrcLen
|
* PULLW = SrcLen
|
||||||
* PULLW = PATH (Handled by....
|
* PULLW = PATH (Handled by....
|
||||||
|
@ -9,13 +9,13 @@ AUTO 6
|
|||||||
* PULLW/Y,A = PATH (PSTR)
|
* PULLW/Y,A = PATH (PSTR)
|
||||||
* Out :
|
* Out :
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PFTCHECKPATHSTK
|
K.PFTCheckPathSTK
|
||||||
lda (pStack) read PTR.LO on top of stack
|
lda (pStack) read PTR.LO on top of stack
|
||||||
pha
|
pha
|
||||||
ldy #1
|
ldy #1
|
||||||
lda (pStack),y read PTR.HI on top of stack
|
lda (pStack),y read PTR.HI on top of stack
|
||||||
ply
|
ply
|
||||||
S.PFTCHECKPATHYA
|
K.PFTCheckPathYA
|
||||||
stx S.PFT.SYSCALL save #SYSCALL
|
stx S.PFT.SYSCALL save #SYSCALL
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
@ -67,10 +67,10 @@ S.PFTCHECKPATHYA
|
|||||||
* PULLB/A = hFILE/hDIR
|
* PULLB/A = hFILE/hDIR
|
||||||
* Out :
|
* Out :
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PFTCHECKFILESTK
|
K.PFTCheckFileSTK
|
||||||
lda (pStack) read hFILE on top of stack
|
lda (pStack) read hFILE on top of stack
|
||||||
S.PFTCHECKFILEA
|
K.PFTCheckFileA
|
||||||
S.PFTCHECKDIRA stx S.PFT.SYSCALL save #SYSCALL
|
K.PFTCheckDirA stx S.PFT.SYSCALL save #SYSCALL
|
||||||
sta S.PFT.hFILE
|
sta S.PFT.hFILE
|
||||||
jsr K.GetMemPtrA X = unmidified
|
jsr K.GetMemPtrA X = unmidified
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
@ -79,7 +79,7 @@ A2osX.D001.END .EQ *
|
|||||||
A2osX.D002 .EQ *
|
A2osX.D002 .EQ *
|
||||||
.PH $D000
|
.PH $D000
|
||||||
.INB SYS/KERNEL.S.REL
|
.INB SYS/KERNEL.S.REL
|
||||||
.INB SYS/KERNEL.S.Time
|
.INB SYS/KERNEL.S.TIME
|
||||||
.EP
|
.EP
|
||||||
A2osX.D002.END .EQ *
|
A2osX.D002.END .EQ *
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user