mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-13 04:37:54 +00:00
Kernel 0.92
This commit is contained in:
parent
9ec26b7120
commit
dce5b027b7
Binary file not shown.
@ -15,8 +15,7 @@ AUTO 4,1
|
||||
* A = EC
|
||||
*\--------------------------------------
|
||||
K.OpenDir jsr PFT.CheckPathYA
|
||||
>STYA ZPPtr2
|
||||
jsr STDIO.SetMLIPathYA For GETFILEINFO,MLIOPEN
|
||||
bcs .99
|
||||
|
||||
>LDYAI S.FD.DIR
|
||||
jsr K.GetMem0
|
||||
@ -87,7 +86,7 @@ K.ReadDir.EPB .BS 1
|
||||
K.ReadDir.EC .BS 2
|
||||
*--------------------------------------
|
||||
K.ReadDir jsr PFT.CheckNodeA
|
||||
jsr STDIO.GetHFile
|
||||
bcs K.ReadDir.RTS
|
||||
|
||||
ldy #S.FD.DIR.REF
|
||||
lda (pFD),y
|
||||
@ -97,7 +96,7 @@ K.ReadDir jsr PFT.CheckNodeA
|
||||
K.ReadDir.NoMore
|
||||
lda #0
|
||||
sec CS,A=0 no more entry
|
||||
rts
|
||||
K.ReadDir.RTS rts
|
||||
*--------------------------------------
|
||||
K.ReadDir.ROOT
|
||||
ldy #S.FD.DIR.FC did we already returned something ?
|
||||
|
@ -31,7 +31,7 @@ K.LoadTxtFile pha
|
||||
*\--------------------------------------
|
||||
K.LoadFile clc
|
||||
ror FIO.bTXT
|
||||
|
||||
>DEBUG
|
||||
jsr K.FOpen
|
||||
bcc .12
|
||||
rts
|
||||
@ -41,7 +41,6 @@ K.LoadFile clc
|
||||
pha
|
||||
>PUSHWI K.S.Stat
|
||||
pla
|
||||
|
||||
jsr K.FStat
|
||||
bcs .11
|
||||
|
||||
@ -124,7 +123,8 @@ FIO.Mem .BS 2
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.ChTyp jsr PFT.CheckPathYA
|
||||
jsr STDIO.SetMLIPathYA
|
||||
bcs .99
|
||||
|
||||
>PULLB .1+1
|
||||
>MLICALL MLIGETFILEINFO
|
||||
bcs .9
|
||||
@ -133,6 +133,8 @@ K.ChTyp jsr PFT.CheckPathYA
|
||||
sta K.MLI.PARAMS+S.FI.T
|
||||
>MLICALL MLISETFILEINFO
|
||||
.9 rts
|
||||
|
||||
.99 >RET 1 discard filetype
|
||||
*/--------------------------------------
|
||||
* # ChMod
|
||||
* **In:**
|
||||
|
@ -18,19 +18,14 @@ K.Open.FLAGS .BS 1
|
||||
K.Open.TYPE .BS 1
|
||||
K.Open.AUXTYPE .BS 2
|
||||
*--------------------------------------
|
||||
K.Open pha
|
||||
>PULLB K.Open.FLAGS
|
||||
K.Open >PULLB K.Open.FLAGS
|
||||
|
||||
lda #S.FI.T.TXT
|
||||
sta K.Open.TYPE
|
||||
stz K.Open.AUXTYPE
|
||||
stz K.Open.AUXTYPE+1
|
||||
|
||||
pla
|
||||
|
||||
IO.Open.I jsr STDIO.SetMLIPathYA
|
||||
|
||||
ldx #5 $/DEV/
|
||||
IO.Open.I ldx #5 $/DEV/
|
||||
cpx K.MLI.PATH
|
||||
bcs IO.OPEN.REG
|
||||
|
||||
|
@ -23,79 +23,119 @@ K.PFTRemove
|
||||
* Y,A = PATH (C-String)
|
||||
* Out :
|
||||
*--------------------------------------
|
||||
PFT.CheckPathYA >STYA ZPPtr1
|
||||
PFT.CheckPathYA stx .71+1 Save SYSCALL #
|
||||
jsr K.realpath.I realpath in K.Buf256
|
||||
bcs .9
|
||||
|
||||
>LDYAI Flt.Table
|
||||
>STYA ZPPtr2
|
||||
>STYA ZPPtr1
|
||||
|
||||
.1 lda (ZPPtr2) Get Filter char....
|
||||
beq .9 End Of Table, Exit
|
||||
.1 lda (ZPPtr1) Get Filter char....
|
||||
beq PFT.YAToMLIPATH
|
||||
|
||||
ldy #0
|
||||
|
||||
.2 lda (ZPPtr2),y
|
||||
.2 lda (ZPPtr1),y
|
||||
beq .3 end of filter string....
|
||||
|
||||
lda (ZPPtr1),y
|
||||
lda K.Buf256,y
|
||||
beq .8
|
||||
cmp (ZPPtr2),y
|
||||
cmp (ZPPtr1),y
|
||||
bne .8
|
||||
iny
|
||||
bne .2
|
||||
|
||||
.3 lda (ZPPtr1),y
|
||||
.3 lda K.Buf256,y
|
||||
cmp #'/'
|
||||
bne .8
|
||||
|
||||
ldy #S.PFT.HANDLER
|
||||
lda (ZPPtr2),y get hLib
|
||||
lda (ZPPtr1),y get hLib
|
||||
jsr K.GetMemPtr
|
||||
>STYA .7+1
|
||||
>STYA .72+1
|
||||
|
||||
pla discard JSR return @
|
||||
pla
|
||||
|
||||
>LDYA ZPPtr1 restore passed params
|
||||
.7 jmp $ffff X unmodified
|
||||
>LDYAI K.Buf256 pass full path to handler
|
||||
.71 ldx #$ff SELF MODIFIED SYSCALL #
|
||||
.72 jmp $ffff
|
||||
|
||||
.9 rts
|
||||
|
||||
.8 lda ZPPtr2
|
||||
.8 lda ZPPtr1
|
||||
clc
|
||||
adc (ZPPtr2) Add STR len
|
||||
adc (ZPPtr1) Add STR len
|
||||
adc #S.PFT
|
||||
sta ZPPtr2
|
||||
sta ZPPtr1
|
||||
bcc .1
|
||||
>LDYAI K.Buf256
|
||||
*--------------------------------------
|
||||
PFT.YAToMLIPATH >STYA .1+1
|
||||
|
||||
.9 >LDYA ZPPtr1 restore passed params
|
||||
ldx #0 no filter, prodos path
|
||||
|
||||
.1 lda $ffff,x SELF MODIFIED
|
||||
beq .2
|
||||
|
||||
inx
|
||||
sta K.MLI.PATH,x
|
||||
cpx #MLI.MAXPATH
|
||||
bne .1
|
||||
|
||||
.2 stx K.MLI.PATH
|
||||
inx
|
||||
stz K.MLI.PATH,x Make ending 0 for /dev/xxx path
|
||||
|
||||
>LDYAI K.MLI.PATH
|
||||
>STYA K.MLI.PARAMS+1
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
* PFT.CheckNodeA
|
||||
* In :
|
||||
* PULLB/A = hFILE/hDIR
|
||||
* A = hFILE
|
||||
* Out :
|
||||
*--------------------------------------
|
||||
PFT.CheckNodeA rts
|
||||
PFT.CheckNodeA stx .80+1 Save SYSCALL #
|
||||
sta .81+1 Save hFILE
|
||||
|
||||
sta .9+1 save hFILE
|
||||
|
||||
jsr K.GetMemPtr X = unmodified
|
||||
>STYA ZPPtr1
|
||||
tax
|
||||
lda Nod.Table.hFD,x
|
||||
beq .9
|
||||
|
||||
jsr K.GetMemPtr
|
||||
>STYA pFD
|
||||
|
||||
ldy #S.FD.HANDLER
|
||||
lda (ZPPtr1),y
|
||||
beq .9 Handler is 0, back to kernel....
|
||||
|
||||
lda (pFD),y
|
||||
beq .8 Handler is 0, back to kernel....
|
||||
|
||||
jsr K.GetMemPtr
|
||||
>STYA .1+1
|
||||
|
||||
pla discard JSR return @
|
||||
pla
|
||||
|
||||
lda .9+1 restore passed hFILE
|
||||
ldx .80+1 restore SYSCALL #
|
||||
lda .81+1 restore passed hFILE
|
||||
|
||||
.1 jmp $ffff
|
||||
|
||||
.8 lda (pFD) #S.FD.T
|
||||
bne .80
|
||||
|
||||
.9 lda #$ff Self Modified
|
||||
ldy #S.FD.REG.REF
|
||||
lda (pFD),y
|
||||
sta K.MLI.PARAMS+1
|
||||
|
||||
.80 ldx #$ff SELF MODIFIED
|
||||
.81 lda #$ff SELF MODIFIED
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 lda #E.INVH
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
@ -14,17 +14,24 @@ AUTO 4,1
|
||||
* ## RETURN VALUE
|
||||
*--------------------------------------
|
||||
K.FStat jsr PFT.CheckNodeA
|
||||
jsr STDIO.GetHFile
|
||||
bcs .9
|
||||
bcs K.FStat.9
|
||||
|
||||
tax
|
||||
lda Nod.Table.hPath,x
|
||||
jsr K.GetMemPtr
|
||||
jsr K.Stat.I
|
||||
|
||||
jsr PFT.YAToMLIPATH
|
||||
|
||||
jsr K.Stat.I
|
||||
bcs K.Stat.9
|
||||
|
||||
jsr STDIO.GetHFileREG.I
|
||||
bcs K.Stat.BLK2SIZE
|
||||
lda (pFD) #S.FD.T
|
||||
bne K.Stat.BLK2SIZE
|
||||
|
||||
ldy #S.FD.REG.REF
|
||||
lda (pFD),y
|
||||
sta K.MLI.PARAMS+1
|
||||
|
||||
>MLICALL MLIGETEOF
|
||||
bcs K.Stat.BLK2SIZE
|
||||
|
||||
@ -43,7 +50,7 @@ K.FStat jsr PFT.CheckNodeA
|
||||
* clc
|
||||
rts
|
||||
|
||||
.9 >RET 2 discard statbuf
|
||||
K.FStat.9 >RET 2 discard statbuf
|
||||
*/--------------------------------------
|
||||
* # Stat
|
||||
* Return information about a file
|
||||
@ -57,6 +64,8 @@ K.FStat jsr PFT.CheckNodeA
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.Stat jsr PFT.CheckPathYA
|
||||
bcs K.FStat.9 go discard statbuf
|
||||
|
||||
jsr K.Stat.I
|
||||
bcs K.Stat.9
|
||||
K.Stat.BLK2SIZE
|
||||
@ -85,9 +94,7 @@ K.Stat.BLK2SIZE
|
||||
* clc
|
||||
K.Stat.9 rts
|
||||
|
||||
K.Stat.I jsr STDIO.SetMLIPathYA
|
||||
|
||||
>PULLW ZPPtr1
|
||||
K.Stat.I >PULLW ZPPtr1 Get StatBuf
|
||||
|
||||
>MLICALL MLIGETFILEINFO
|
||||
bcs .9
|
||||
@ -140,13 +147,9 @@ K.Stat.DST .DA #S.STAT.P.TYPE
|
||||
* CS : error
|
||||
* A = EC
|
||||
*\-------------------------------------
|
||||
K.MKDir jsr K.realpath.I
|
||||
K.MKDir jsr PFT.CheckPathYA
|
||||
bcs K.MKDir.RTS
|
||||
|
||||
>LDYAI K.Buf256
|
||||
jsr PFT.CheckPathYA
|
||||
jsr STDIO.SetMLIPathYA
|
||||
|
||||
lda #S.FI.A.FULL
|
||||
sta K.MLI.PARAMS+S.FI.A
|
||||
lda #S.FI.T.DIR
|
||||
|
@ -12,6 +12,22 @@ K.PrintF.PadL .EQ FAC+4
|
||||
K.PrintF.PadC .EQ FAC+5
|
||||
BCDBUF .EQ ARG
|
||||
*/--------------------------------------
|
||||
* # PutChar
|
||||
* Print A (char) to StdOut
|
||||
* ## C
|
||||
* `int putchar ( int character );`
|
||||
* ## ASM
|
||||
* **In:**
|
||||
* `lda caracter`
|
||||
* `>SYSCALL putchar`
|
||||
* ## RETURN VALUE
|
||||
* CC = success
|
||||
*\--------------------------------------
|
||||
K.PutChar >PUSHA
|
||||
|
||||
ldy #S.PS.hStdOut
|
||||
lda (pPs),y
|
||||
*/--------------------------------------
|
||||
* # FPutC
|
||||
* Print A (char) to hFILE
|
||||
* ## C
|
||||
@ -24,36 +40,19 @@ BCDBUF .EQ ARG
|
||||
* ## RETURN VALUE
|
||||
* CC = success
|
||||
*\--------------------------------------
|
||||
K.FPutC pha
|
||||
>PULLB K.IOBuf
|
||||
pla
|
||||
bra K.PutChar.1
|
||||
*/--------------------------------------
|
||||
* # PutChar
|
||||
* Print A (char) to StdOut
|
||||
* ## C
|
||||
* `int putchar ( int character );`
|
||||
* ## ASM
|
||||
* **In:**
|
||||
* `lda caracter`
|
||||
* `>SYSCALL putchar`
|
||||
* ## RETURN VALUE
|
||||
* CC = success
|
||||
*\--------------------------------------
|
||||
K.PutChar sta K.IOBuf
|
||||
|
||||
ldy #S.PS.hStdOut
|
||||
lda (pPs),y
|
||||
K.FPutC jsr PFT.CheckNodeA
|
||||
bcs K.FPutC.9
|
||||
|
||||
K.PutChar.1 jsr STDIO.GetHFile
|
||||
bcs K.PutS.RTS
|
||||
>PULLB K.IOBuf
|
||||
|
||||
ldy #1
|
||||
K.PutChar.Y lda #0
|
||||
|
||||
K.FPutC.Y lda #0
|
||||
|
||||
>PUSHYA
|
||||
>PUSHWI K.IOBuf
|
||||
jmp IO.Write.I
|
||||
K.FPutC.9 >RET 1
|
||||
*/--------------------------------------
|
||||
* # PutS
|
||||
* Write Str to StdOut, appends '\r\n'
|
||||
@ -70,6 +69,7 @@ K.PutS >PUSHYA
|
||||
|
||||
ldy #S.PS.hStdOut
|
||||
lda (pPs),y
|
||||
|
||||
jsr K.FPutS
|
||||
bcs K.PutS.RTS
|
||||
|
||||
@ -79,7 +79,7 @@ K.PutS >PUSHYA
|
||||
sta K.IOBuf+1
|
||||
|
||||
ldy #2
|
||||
bra K.PutChar.Y
|
||||
bra K.FPutC.Y
|
||||
|
||||
K.PutS.RTS rts
|
||||
*/--------------------------------------
|
||||
@ -95,8 +95,8 @@ K.PutS.RTS rts
|
||||
* ## RETURN VALUE
|
||||
* CC = success
|
||||
*\--------------------------------------
|
||||
K.FPutS jsr STDIO.GetHFile
|
||||
bcs K.PutS.RTS
|
||||
K.FPutS jsr PFT.CheckNodeA
|
||||
bcs .9
|
||||
|
||||
>PULLYA Get String
|
||||
>STYA ZPPtr2 Save Buffer
|
||||
@ -104,13 +104,14 @@ K.FPutS jsr STDIO.GetHFile
|
||||
>PUSHYA push len
|
||||
>PUSHW ZPPtr2 push buffer
|
||||
jmp IO.Write.I
|
||||
.9 >RET 2
|
||||
*/--------------------------------------
|
||||
* # PrintF/SPrintF/FPrintF
|
||||
* Prints C-Style String
|
||||
* ## C
|
||||
* `int printf ( const char * format, ... );`
|
||||
* `int sprintf ( char * str, const char * format, ... );`
|
||||
* `int fprintf ( hFILE stream, const char * format, ... );`
|
||||
* `int sprintf ( char * str, const char * format, ... );`
|
||||
* ## ASM
|
||||
* **In:**
|
||||
* PrintF : (example is for printing Y,A as integer : format="%I", 2 bytes)
|
||||
@ -182,8 +183,7 @@ K.PrintF >STYA ZPPtr1 format
|
||||
ldy #S.PS.hStdOut
|
||||
lda (pPs),y
|
||||
|
||||
K.PrintF.0 jsr STDIO.GetHFile
|
||||
bcs K.PutS.RTS
|
||||
K.PrintF.0 sta PrintF.Flush.DEV+1
|
||||
|
||||
>LDYAI K.IOBuf
|
||||
>STYA pIOBuf
|
||||
@ -666,7 +666,12 @@ PrintF.COut phy
|
||||
*--------------------------------------
|
||||
PrintF.Flush >PUSHW PrintF.Cnt
|
||||
>PUSHWI K.IOBuf
|
||||
PrintF.Flush.DEV
|
||||
lda #$ff SELF MODIFIED
|
||||
jsr PFT.CheckNodeA
|
||||
bcs .9
|
||||
jmp IO.Write.I
|
||||
.9 >RET 4
|
||||
*--------------------------------------
|
||||
PrintF.Cnt .BS 2
|
||||
*/--------------------------------------
|
||||
@ -687,7 +692,8 @@ PrintF.Cnt .BS 2
|
||||
* Y,A: s
|
||||
* CC = success
|
||||
*\--------------------------------------
|
||||
K.FGetS pha save hFILE
|
||||
K.FGetS jsr PFT.CheckNodeA
|
||||
bcs .90
|
||||
|
||||
>PULLW ZPPtr1 s
|
||||
|
||||
@ -701,10 +707,6 @@ K.FGetS pha save hFILE
|
||||
eor #$ff
|
||||
sta ZPPtr2+1 !n
|
||||
|
||||
pla
|
||||
jsr STDIO.GetHFile
|
||||
bcs .99
|
||||
|
||||
jsr K.GetC.I
|
||||
bcs .9
|
||||
|
||||
@ -732,6 +734,8 @@ K.FGetS pha save hFILE
|
||||
sta (ZPPtr1)
|
||||
pla
|
||||
.99 rts
|
||||
|
||||
.90 >RET 4
|
||||
*/--------------------------------------
|
||||
* # GetChar
|
||||
* Get char from StdIn
|
||||
@ -759,7 +763,7 @@ K.GetChar ldy #S.PS.hStdIn
|
||||
* CC = success
|
||||
* A = char
|
||||
*\--------------------------------------
|
||||
K.GetC jsr STDIO.GetHFile
|
||||
K.GetC jsr PFT.CheckNodeA
|
||||
bcs K.GetC.9
|
||||
|
||||
K.GetC.I >PUSHWI 1
|
||||
@ -970,36 +974,33 @@ K.SScanF.Fwd tya Y=char count parsed
|
||||
* CC : A = hFILE
|
||||
* CS : A = EC
|
||||
*\--------------------------------------
|
||||
K.FOpen jsr K.realpath.I
|
||||
bcc .1
|
||||
|
||||
>RET 4
|
||||
|
||||
.1 >LDYAI K.Buf256
|
||||
jsr PFT.CheckPathYA
|
||||
K.FOpen jsr PFT.CheckPathYA
|
||||
|
||||
bcs .99
|
||||
|
||||
>PULLB K.Open.FLAGS
|
||||
>PULLB K.Open.TYPE
|
||||
>PULLW K.Open.AUXTYPE
|
||||
|
||||
>LDYAI K.Buf256
|
||||
jsr IO.Open.I
|
||||
bcs K.FOpen.RTS
|
||||
bcs .9
|
||||
|
||||
sta .2+1 save hFD
|
||||
sta .1+1 save hFD
|
||||
tax
|
||||
|
||||
>LDYAI K.Buf256
|
||||
|
||||
jsr STDIO.NewHFileYAX
|
||||
bcc K.FOpen.RTS
|
||||
bcc .9
|
||||
|
||||
pha save MLI error
|
||||
.2 lda #$ff SELF MODIFIED
|
||||
.1 lda #$ff SELF MODIFIED
|
||||
jsr K.Close
|
||||
pla get back MLI error
|
||||
sec
|
||||
K.FOpen.RTS rts
|
||||
.9 rts
|
||||
|
||||
.99 >RET 4
|
||||
*/--------------------------------------
|
||||
* # FClose
|
||||
* Close a file
|
||||
@ -1042,8 +1043,7 @@ K.FClose.RTS rts
|
||||
* Y,A = Bytes Read
|
||||
*\--------------------------------------
|
||||
K.FRead jsr PFT.CheckNodeA
|
||||
jsr STDIO.GetHFile
|
||||
bcs K.FClose.RTS
|
||||
bcs K.Write.9
|
||||
|
||||
jmp IO.Read.I
|
||||
*/--------------------------------------
|
||||
@ -1061,10 +1061,10 @@ K.FRead jsr PFT.CheckNodeA
|
||||
* Y,A = Bytes Written
|
||||
*\--------------------------------------
|
||||
K.FWrite jsr PFT.CheckNodeA
|
||||
jsr STDIO.GetHFile
|
||||
bcs K.FClose.RTS
|
||||
bcs K.Write.9
|
||||
|
||||
jmp IO.Write.I
|
||||
K.Write.9 >RET 4
|
||||
*/--------------------------------------
|
||||
* # FFlush
|
||||
* ## C
|
||||
@ -1075,7 +1075,6 @@ K.FWrite jsr PFT.CheckNodeA
|
||||
* `>SYSCALL fflush`
|
||||
*\--------------------------------------
|
||||
K.FFlush jsr PFT.CheckNodeA
|
||||
jsr STDIO.GetHFileREG
|
||||
bcs .9
|
||||
>MLICALL MLIFLUSH
|
||||
.9 rts
|
||||
@ -1092,10 +1091,11 @@ K.FFlush jsr PFT.CheckNodeA
|
||||
* `>SYSCALL fseek`
|
||||
*\-------------------------------------
|
||||
K.FSeek jsr PFT.CheckNodeA
|
||||
jsr STDIO.GetHFileREG
|
||||
bcs .9
|
||||
bcc .11
|
||||
|
||||
>RET 6
|
||||
|
||||
>PULLA whence
|
||||
.11 >PULLA whence
|
||||
tax
|
||||
>PULLW ZPPtr1 offset LW
|
||||
>PULLW ZPPtr2 offset HW
|
||||
@ -1167,7 +1167,6 @@ K.FSeek jsr PFT.CheckNodeA
|
||||
* CS :
|
||||
*\--------------------------------------
|
||||
K.FEOF jsr PFT.CheckNodeA
|
||||
jsr STDIO.GetHFileREG
|
||||
bcs .9
|
||||
|
||||
>MLICALL MLIGETMARK
|
||||
@ -1208,7 +1207,7 @@ K.FEOF.MARK .BS 3
|
||||
* On stack (long)
|
||||
*\--------------------------------------
|
||||
K.FTell jsr PFT.CheckNodeA
|
||||
jsr STDIO.GetHFileREG
|
||||
bcs .9
|
||||
>MLICALL MLIGETMARK
|
||||
bcs .9
|
||||
|
||||
@ -1235,9 +1234,10 @@ K.FTell jsr PFT.CheckNodeA
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.Remove jsr PFT.CheckPathYA
|
||||
jsr STDIO.SetMLIPathYA
|
||||
bcs .9
|
||||
|
||||
>MLICALL MLIDESTROY
|
||||
rts
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* # Rename
|
||||
* Rename a file
|
||||
@ -1251,7 +1251,8 @@ K.Remove jsr PFT.CheckPathYA
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.Rename jsr PFT.CheckPathYA
|
||||
jsr STDIO.SetMLIPathYA
|
||||
bcs .9
|
||||
|
||||
>PULLW .1+1
|
||||
|
||||
ldy #0
|
||||
@ -1269,6 +1270,8 @@ K.Rename jsr PFT.CheckPathYA
|
||||
|
||||
>MLICALL MLIRENAME
|
||||
rts
|
||||
|
||||
.9 >RET 2
|
||||
*--------------------------------------
|
||||
* Y,A = filepath
|
||||
* X = hFD
|
||||
@ -1307,51 +1310,6 @@ STDIO.NewHFileYAX
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
STDIO.GetHFileREG
|
||||
jsr STDIO.GetHFile
|
||||
bcs STDIO.GetHFileREG.9
|
||||
STDIO.GetHFileREG.I
|
||||
lda (pFD) #S.FD.T
|
||||
bne STDIO.GetHFile.9
|
||||
|
||||
ldy #S.FD.REG.REF
|
||||
lda (pFD),y
|
||||
sta K.MLI.PARAMS+1
|
||||
STDIO.GetHFileREG.9
|
||||
rts
|
||||
*--------------------------------------
|
||||
STDIO.GetHFile tay
|
||||
lda Nod.Table.hFD,y
|
||||
beq STDIO.GetHFile.9
|
||||
jsr K.GetMemPtr
|
||||
>STYA pFD
|
||||
rts
|
||||
|
||||
STDIO.GetHFile.9
|
||||
lda #E.INVH
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
STDIO.SetMLIPathYA
|
||||
>STYA .1+1
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda $ffff,x Self Modified
|
||||
beq .8
|
||||
inx
|
||||
sta K.MLI.PATH,x
|
||||
cpx #MLI.MAXPATH
|
||||
bne .1
|
||||
|
||||
.8 stx K.MLI.PATH
|
||||
inx
|
||||
stz K.MLI.PATH,x Make ending 0 for /dev/xxx path
|
||||
|
||||
>LDYAI K.MLI.PATH
|
||||
>STYA K.MLI.PARAMS+1
|
||||
rts
|
||||
*--------------------------------------
|
||||
STDIO.SetIOBUF >LDYAI 1024 get a ProDOS IOBUF
|
||||
ldx #S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
||||
|
Loading…
x
Reference in New Issue
Block a user