mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-19 07:30:41 +00:00
Kernel 0.93
This commit is contained in:
parent
f0995a1c3c
commit
f57cb61132
@ -615,6 +615,14 @@ A=hSList
|
|||||||
none.
|
none.
|
||||||
(X,Y unmodified)
|
(X,Y unmodified)
|
||||||
|
|
||||||
|
# GetStkObjPtr
|
||||||
|
|
||||||
|
## ASM
|
||||||
|
`lda hStkObj`
|
||||||
|
`>SYSCALL GetStkObjPtr`
|
||||||
|
|
||||||
|
## RETURN VALUE
|
||||||
|
|
||||||
# LoadStkObj
|
# LoadStkObj
|
||||||
Load a file in AUX memory (Stock Objects)
|
Load a file in AUX memory (Stock Objects)
|
||||||
PUSHW = AUXTYPE (Handled by....
|
PUSHW = AUXTYPE (Handled by....
|
||||||
@ -626,15 +634,12 @@ Load a file in AUX memory (Stock Objects)
|
|||||||
Y,A = File Length
|
Y,A = File Length
|
||||||
X = hMem of Loaded Object in AUX mem
|
X = hMem of Loaded Object in AUX mem
|
||||||
|
|
||||||
# GetStkObjData
|
# GetMemStat
|
||||||
|
**In:**
|
||||||
## ASM
|
Y,A = Ptr to 24 bytes buffer
|
||||||
`PUSHW DataLen`
|
|
||||||
`PUSHW DataPtr`
|
|
||||||
`lda hStkObj`
|
|
||||||
`>SYSCALL GetStkObjData`
|
|
||||||
|
|
||||||
## RETURN VALUE
|
## RETURN VALUE
|
||||||
|
Buffer filled with memory stats
|
||||||
|
|
||||||
# ExecL
|
# ExecL
|
||||||
|
|
||||||
@ -710,13 +715,6 @@ A = Child PSID
|
|||||||
|
|
||||||
## RETURN VALUE
|
## RETURN VALUE
|
||||||
|
|
||||||
# GetMemStat
|
|
||||||
**In:**
|
|
||||||
Y,A = Ptr to 24 bytes buffer
|
|
||||||
|
|
||||||
## RETURN VALUE
|
|
||||||
Buffer filled with memory stats
|
|
||||||
|
|
||||||
# Stat
|
# Stat
|
||||||
Return information about a file
|
Return information about a file
|
||||||
|
|
||||||
|
Binary file not shown.
@ -295,9 +295,9 @@ SYS.GetMemPtr .EQ $E4
|
|||||||
SYS.FreeMem .EQ $E6
|
SYS.FreeMem .EQ $E6
|
||||||
|
|
||||||
SYS.NewStkObj .EQ $E8
|
SYS.NewStkObj .EQ $E8
|
||||||
SYS.FreeStkObj .EQ $EA
|
SYS.LoadStkObj .EQ $EA
|
||||||
SYS.LoadStkObj .EQ $EC
|
SYS.GetStkObjPtr .EQ $EC
|
||||||
SYS.GetStkObjData .EQ $EE
|
SYS.FreeStkObj .EQ $EE
|
||||||
|
|
||||||
SYS.SListGetData .EQ $F0
|
SYS.SListGetData .EQ $F0
|
||||||
SYS.SListAddData .EQ $F2
|
SYS.SListAddData .EQ $F2
|
||||||
|
@ -431,7 +431,13 @@ SKT.GetDataFromSktIn
|
|||||||
|
|
||||||
ldy #S.SOCKET.SQ.hInMem
|
ldy #S.SOCKET.SQ.hInMem
|
||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
|
|
||||||
|
.DO AUXPIPE=1
|
||||||
|
>SYSCALL2 GetStkObjPtr
|
||||||
|
.ELSE
|
||||||
>SYSCALL2 GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
|
.FIN
|
||||||
|
|
||||||
sty ZPTmpPtr1
|
sty ZPTmpPtr1
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
@ -445,7 +451,11 @@ SKT.GetDataFromSktIn
|
|||||||
lda ZPDataInLen+1
|
lda ZPDataInLen+1
|
||||||
eor #$FF
|
eor #$FF
|
||||||
pha
|
pha
|
||||||
|
|
||||||
|
.DO AUXPIPE=1
|
||||||
|
jsr SKT.SetupZPCode
|
||||||
|
.FIN
|
||||||
|
|
||||||
ldy SKT.Cache+S.SOCKET.TCP.INTAIL
|
ldy SKT.Cache+S.SOCKET.TCP.INTAIL
|
||||||
|
|
||||||
.1 inx Check if room left in dest buffer
|
.1 inx Check if room left in dest buffer
|
||||||
@ -456,7 +466,12 @@ SKT.GetDataFromSktIn
|
|||||||
|
|
||||||
pha
|
pha
|
||||||
|
|
||||||
.2 lda (ZPTmpPtr1),y
|
.2 .DO AUXPIPE=1
|
||||||
|
jsr ZPCode
|
||||||
|
.ELSE
|
||||||
|
lda (ZPTmpPtr1),y
|
||||||
|
.FIN
|
||||||
|
|
||||||
sta (ZPDataInPtr)
|
sta (ZPDataInPtr)
|
||||||
inc ZPDataInPtr
|
inc ZPDataInPtr
|
||||||
bne .3
|
bne .3
|
||||||
@ -510,7 +525,13 @@ SKT.AddDataToSktIn
|
|||||||
|
|
||||||
ldy #S.SOCKET.SQ.hInMem
|
ldy #S.SOCKET.SQ.hInMem
|
||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
|
|
||||||
|
.DO AUXPIPE=1
|
||||||
|
>SYSCALL2 GetStkObjPtr
|
||||||
|
.ELSE
|
||||||
>SYSCALL2 GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
|
.FIN
|
||||||
|
|
||||||
sty ZPTmpPtr1
|
sty ZPTmpPtr1
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
@ -618,7 +639,13 @@ SKT.Write jsr SKT.PullhFDDataInPtrLen
|
|||||||
SKT.AddDataToSktOut
|
SKT.AddDataToSktOut
|
||||||
ldy #S.SOCKET.SQ.hOutMem
|
ldy #S.SOCKET.SQ.hOutMem
|
||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
|
|
||||||
|
.DO AUXPIPE=1
|
||||||
|
>SYSCALL2 GetStkObjPtr
|
||||||
|
.ELSE
|
||||||
>SYSCALL2 GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
|
.FIN
|
||||||
|
|
||||||
sty ZPTmpPtr1
|
sty ZPTmpPtr1
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
@ -700,7 +727,12 @@ SKT.GetDataFromSktOut
|
|||||||
ldy #S.SOCKET.SQ.hOutMem
|
ldy #S.SOCKET.SQ.hOutMem
|
||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
|
|
||||||
|
.DO AUXPIPE=1
|
||||||
|
>SYSCALL2 GetStkObjPtr
|
||||||
|
.ELSE
|
||||||
>SYSCALL2 GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
|
.FIN
|
||||||
|
|
||||||
sty ZPTmpPtr1
|
sty ZPTmpPtr1
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
@ -715,6 +747,10 @@ SKT.GetDataFromSktOut
|
|||||||
eor #$FF
|
eor #$FF
|
||||||
pha
|
pha
|
||||||
|
|
||||||
|
.DO AUXPIPE=1
|
||||||
|
jsr SKT.SetupZPCode
|
||||||
|
.FIN
|
||||||
|
|
||||||
ldy SKT.Cache+S.SOCKET.TCP.OUTTAILSENT
|
ldy SKT.Cache+S.SOCKET.TCP.OUTTAILSENT
|
||||||
|
|
||||||
.1 inx
|
.1 inx
|
||||||
@ -725,7 +761,11 @@ SKT.GetDataFromSktOut
|
|||||||
|
|
||||||
pha
|
pha
|
||||||
|
|
||||||
.2 lda (ZPTmpPtr1),y
|
.2 .DO AUXPIPE=1
|
||||||
|
jsr ZPCode
|
||||||
|
.ELSE
|
||||||
|
lda (ZPTmpPtr1),y
|
||||||
|
.FIN
|
||||||
sta (ZPDataOutPtr)
|
sta (ZPDataOutPtr)
|
||||||
inc ZPDataOutPtr
|
inc ZPDataOutPtr
|
||||||
bne .3
|
bne .3
|
||||||
@ -1321,6 +1361,16 @@ SKT.CopyDataInToOut
|
|||||||
pla
|
pla
|
||||||
sta ZPDataInPtr+1
|
sta ZPDataInPtr+1
|
||||||
rts
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
.DO AUXPIPE=1
|
||||||
|
SKT.SetupZPCode ldy #ZP.CODE.Len-1
|
||||||
|
|
||||||
|
.1 lda ZP.CODE,y
|
||||||
|
sta ZPCode,y
|
||||||
|
dey
|
||||||
|
bpl .1
|
||||||
|
rts
|
||||||
|
.FIN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/LIB/LIBTCPIP.S.SKT
|
SAVE USR/SRC/LIB/LIBTCPIP.S.SKT
|
||||||
|
@ -29,8 +29,11 @@ IPDEBUG .EQ 0
|
|||||||
.EM
|
.EM
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB INC/MACROS.I
|
.INB INC/MACROS.I
|
||||||
|
.DO AUXPIPE=1
|
||||||
|
.INB INC/IO.I
|
||||||
|
.FIN
|
||||||
.INB INC/A2OSX.I
|
.INB INC/A2OSX.I
|
||||||
.INB INC/MLI.I
|
* .INB INC/MLI.I
|
||||||
.INB INC/MLI.E.I
|
.INB INC/MLI.E.I
|
||||||
.INB INC/NIC.I
|
.INB INC/NIC.I
|
||||||
.INB INC/ETH.I
|
.INB INC/ETH.I
|
||||||
@ -49,13 +52,15 @@ ZPFrameOutLen .EQ ZPLIB+10
|
|||||||
ZPDataOutPtr .EQ ZPLIB+12
|
ZPDataOutPtr .EQ ZPLIB+12
|
||||||
ZPDataOutLen .EQ ZPLIB+14
|
ZPDataOutLen .EQ ZPLIB+14
|
||||||
|
|
||||||
ZPPtrIP .EQ ZPLIB+16
|
ZPTmpPtr1 .EQ ZPLIB+16
|
||||||
ZPPtrMAC .EQ ZPLIB+18
|
ZPPtrSKT .EQ ZPLIB+18
|
||||||
ZPPtrDNS .EQ ZPLIB+20
|
|
||||||
ZPPtrSKT .EQ ZPLIB+22
|
|
||||||
|
|
||||||
ZPCachePtr .EQ ZPLIB+24
|
ZPCode .EQ ZPLIB+20 12 bytes
|
||||||
ZPTmpPtr1 .EQ ZPLIB+26
|
|
||||||
|
ZPPtrIP .EQ ZPLIB+20
|
||||||
|
ZPPtrMAC .EQ ZPLIB+22
|
||||||
|
ZPPtrDNS .EQ ZPLIB+24
|
||||||
|
ZPCachePtr .EQ ZPLIB+26
|
||||||
|
|
||||||
IP.CHECKSUM .EQ ZPLIB+28
|
IP.CHECKSUM .EQ ZPLIB+28
|
||||||
IP.CHECKSUM.TMP .EQ ZPLIB+30
|
IP.CHECKSUM.TMP .EQ ZPLIB+30
|
||||||
@ -357,6 +362,14 @@ SKT.Dump ldy #S.SOCKET.REM.PORT+1
|
|||||||
.INB USR/SRC/LIB/LIBTCPIP.S.TCP
|
.INB USR/SRC/LIB/LIBTCPIP.S.TCP
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
|
*--------------------------------------
|
||||||
|
.DO AUXPIPE=1
|
||||||
|
ZP.CODE sta SETREADAUX
|
||||||
|
lda (ZPTmpPtr1),y
|
||||||
|
sta CLRREADAUX
|
||||||
|
rts
|
||||||
|
ZP.CODE.Len .EQ *-ZP.CODE
|
||||||
|
.FIN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||||
.BS 1
|
.BS 1
|
||||||
|
@ -1,72 +0,0 @@
|
|||||||
NEW
|
|
||||||
PREFIX
|
|
||||||
AUTO 4,1
|
|
||||||
*/--------------------------------------
|
|
||||||
* # NewFIFO
|
|
||||||
* ## C
|
|
||||||
* `int getpwuid(short int uid, S.PW* passwd );`
|
|
||||||
* ## ASM
|
|
||||||
* `>PUSHW passwd`
|
|
||||||
* `>LDYA size`
|
|
||||||
* `>SYSCALL getpwuid`
|
|
||||||
* ## RETURN VALUE
|
|
||||||
* A = hFIFO
|
|
||||||
*\--------------------------------------
|
|
||||||
FIFO.New
|
|
||||||
*/--------------------------------------
|
|
||||||
* # GetPWName
|
|
||||||
* ## C
|
|
||||||
* `int getpwname(const char* name, S.PW* passwd );`
|
|
||||||
* ## ASM
|
|
||||||
* `>PUSHW passwd`
|
|
||||||
* `>LDYA name`
|
|
||||||
* `>SYSCALL getpwname`
|
|
||||||
* ## RETURN VALUE
|
|
||||||
*\--------------------------------------
|
|
||||||
FIFO.Free
|
|
||||||
*/--------------------------------------
|
|
||||||
* # PutPW
|
|
||||||
* ## C
|
|
||||||
* `int putpw( S.PW* passwd );`
|
|
||||||
* ## ASM
|
|
||||||
* `>LDYA passwd`
|
|
||||||
* `>SYSCALL putpw`
|
|
||||||
* ## RETURN VALUE
|
|
||||||
|
|
||||||
*\--------------------------------------
|
|
||||||
FIFO.Get
|
|
||||||
*/--------------------------------------
|
|
||||||
* # PutPW
|
|
||||||
* ## C
|
|
||||||
* `int putpw( S.PW* passwd );`
|
|
||||||
* ## ASM
|
|
||||||
* `>LDYA passwd`
|
|
||||||
* `>SYSCALL putpw`
|
|
||||||
* ## RETURN VALUE
|
|
||||||
*\--------------------------------------
|
|
||||||
FIFO.Put
|
|
||||||
*/--------------------------------------
|
|
||||||
* # PutPW
|
|
||||||
* ## C
|
|
||||||
* `int putpw( S.PW* passwd );`
|
|
||||||
* ## ASM
|
|
||||||
* `>LDYA passwd`
|
|
||||||
* `>SYSCALL putpw`
|
|
||||||
* ## RETURN VALUE
|
|
||||||
*\--------------------------------------
|
|
||||||
FIFO.GetUsed
|
|
||||||
*/--------------------------------------
|
|
||||||
* # PutPW
|
|
||||||
* ## C
|
|
||||||
* `int putpw( S.PW* passwd );`
|
|
||||||
* ## ASM
|
|
||||||
* `>LDYA passwd`
|
|
||||||
* `>SYSCALL putpw`
|
|
||||||
* ## RETURN VALUE
|
|
||||||
*\--------------------------------------
|
|
||||||
FIFO.GetFree
|
|
||||||
*--------------------------------------
|
|
||||||
MAN
|
|
||||||
SAVE USR/SRC/SYS/KERNEL.S.FIFO
|
|
||||||
LOAD USR/SRC/SYS/KERNEL.S
|
|
||||||
ASM
|
|
@ -288,7 +288,8 @@ IO.CLOSE.PIPE ldy #S.FD.PIPE.S
|
|||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
.DO AUXPIPE=1
|
.DO AUXPIPE=1
|
||||||
jsr K.FreeStkObj
|
ldx #SYS.FreeStkObj
|
||||||
|
jsr K.SYSCALL2.AUX
|
||||||
.ELSE
|
.ELSE
|
||||||
jsr K.FreeMem
|
jsr K.FreeMem
|
||||||
.FIN
|
.FIN
|
||||||
@ -503,12 +504,12 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1
|
|||||||
|
|
||||||
ldy #S.FD.PIPE.hMem
|
ldy #S.FD.PIPE.hMem
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
|
|
||||||
.DO AUXPIPE=1
|
.DO AUXPIPE=1
|
||||||
sta SETREADAUX
|
ldx #SYS.GetStkObjPtr
|
||||||
.FIN
|
jsr K.SYSCALL2.AUX
|
||||||
|
.ELSE
|
||||||
jsr K.GetMemPtr
|
jsr K.GetMemPtr
|
||||||
.DO AUXPIPE=1
|
|
||||||
sta CLRREADAUX
|
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
sty .2+1
|
sty .2+1
|
||||||
@ -648,11 +649,10 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S
|
|||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
|
|
||||||
.DO AUXPIPE=1
|
.DO AUXPIPE=1
|
||||||
sta SETREADAUX
|
ldx #SYS.GetStkObjPtr
|
||||||
.FIN
|
jsr K.SYSCALL2.AUX
|
||||||
|
.ELSE
|
||||||
jsr K.GetMemPtr get src buf
|
jsr K.GetMemPtr get src buf
|
||||||
.DO AUXPIPE=1
|
|
||||||
sta CLRREADAUX
|
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
sty .3+1
|
sty .3+1
|
||||||
|
@ -140,10 +140,10 @@ K.SYSCALL .DA K.GetMemStat $00
|
|||||||
.DA K.GetMemPtr
|
.DA K.GetMemPtr
|
||||||
.DA K.FreeMem
|
.DA K.FreeMem
|
||||||
|
|
||||||
.DA K.NewStkObj
|
.DA K.GetMem K.NewStkObj
|
||||||
.DA K.FreeStkObj
|
|
||||||
.DA K.LoadStkObj
|
.DA K.LoadStkObj
|
||||||
.DA K.GetStkObjData
|
.DA K.GetMemPtr K.GetStkObjPtr
|
||||||
|
.DA K.FreeMem K.FreeStkObj
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA K.SListGetData $F0
|
.DA K.SListGetData $F0
|
||||||
.DA K.SListAddData
|
.DA K.SListAddData
|
||||||
@ -398,26 +398,50 @@ K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00
|
|||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
.DA #$80
|
.DA #$80
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA 0 $E0 : MemMgr at $E000
|
.DA #0 $E0 : MemMgr at $E000
|
||||||
.DA 0
|
.DA #$80
|
||||||
.DA 0
|
.DA #0
|
||||||
.DA 0
|
.DA #$80
|
||||||
.DA 0
|
.DA #0
|
||||||
.DA 0
|
.DA #$80
|
||||||
.DA 0
|
.DA #0
|
||||||
.DA 0
|
.DA #$80
|
||||||
|
.DA #$40 NewStkObj
|
||||||
|
.DA #$80
|
||||||
|
.DA #0
|
||||||
|
.DA #$80
|
||||||
|
.DA #$40 GetStkObjPtr
|
||||||
|
.DA #$80
|
||||||
|
.DA #$40 FreeStkObj
|
||||||
|
.DA #$80
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA 0 $F0
|
.DA #0 $F0 : SLIST
|
||||||
.DA 0
|
.DA #$80
|
||||||
.DA 0
|
.DA #0
|
||||||
.DA 0
|
.DA #$80
|
||||||
.DA 0
|
.DA #0
|
||||||
.DA 0
|
.DA #$80
|
||||||
.DA 0
|
.DA #0
|
||||||
.DA 0
|
.DA #$80
|
||||||
|
.DA #0
|
||||||
|
.DA #$80
|
||||||
|
.DA #0
|
||||||
|
.DA #$80
|
||||||
|
.DA #0
|
||||||
|
.DA #$80
|
||||||
|
.DA #0
|
||||||
|
.DA #$80
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.SYSCALL2 bit K.SYSCALL.BANK,x Get Target BNK
|
K.SYSCALL2 bit K.SYSCALL.BANK,x Get Target BNK
|
||||||
bpl K.SYSCALL.JMP 0, E000, no BNK change
|
bpl K.SYSCALL.JMP 0, E000, no BNK change
|
||||||
|
bvc K.SYSCALL2.BANK
|
||||||
|
|
||||||
|
K.SYSCALL2.AUX sta SETREADAUX AUX Mem API
|
||||||
|
sta SETWRITEAUX
|
||||||
|
jsr K.SYSCALL.JMP
|
||||||
|
sta CLRREADAUX
|
||||||
|
sta CLRWRITEAUX
|
||||||
|
rts
|
||||||
|
|
||||||
K.SYSCALL2.BANK sta .7+1
|
K.SYSCALL2.BANK sta .7+1
|
||||||
lda $D000 #RRAMWRAMBNK1 or #RRAMWRAMBNK2
|
lda $D000 #RRAMWRAMBNK1 or #RRAMWRAMBNK2
|
||||||
|
@ -405,7 +405,6 @@ K.SListGetData pha
|
|||||||
>PULLW ZPMemMgrSize
|
>PULLW ZPMemMgrSize
|
||||||
pla
|
pla
|
||||||
bra K.SListFree
|
bra K.SListFree
|
||||||
pla
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # SListAddData
|
* # SListAddData
|
||||||
* ## ASM
|
* ## ASM
|
||||||
@ -505,25 +504,6 @@ K.SListFree sta SETREADAUX
|
|||||||
* CS :
|
* CS :
|
||||||
* A = EC
|
* A = EC
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.NewStkObj ldx #SYS.GetMem
|
|
||||||
.HS 2C BIT ABS
|
|
||||||
*/--------------------------------------
|
|
||||||
* # FreeStkObj
|
|
||||||
* A = hMem To Free (AUX Memory)
|
|
||||||
* ## RETURN VALUE
|
|
||||||
* none.
|
|
||||||
* (X,Y unmodified)
|
|
||||||
*\--------------------------------------
|
|
||||||
K.FreeStkObj ldx #SYS.FreeMem
|
|
||||||
|
|
||||||
sta SETREADAUX
|
|
||||||
sta SETWRITEAUX
|
|
||||||
|
|
||||||
jsr K.SYSCALL.JMP
|
|
||||||
|
|
||||||
sta CLRREADAUX
|
|
||||||
sta CLRWRITEAUX
|
|
||||||
rts
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # LoadStkObj
|
* # LoadStkObj
|
||||||
* Load a file in AUX memory (Stock Objects)
|
* Load a file in AUX memory (Stock Objects)
|
||||||
@ -548,7 +528,9 @@ K.LoadStkObj ldx #SYS.LoadTxtFile To get ending \0
|
|||||||
inc +1 for ending 0
|
inc +1 for ending 0
|
||||||
.1 >STYA A2L Save LEN temporarly
|
.1 >STYA A2L Save LEN temporarly
|
||||||
|
|
||||||
jsr K.NewStkObj
|
ldx #SYS.NewStkObj
|
||||||
|
jsr K.SYSCALL2.AUX
|
||||||
|
|
||||||
bcs .9
|
bcs .9
|
||||||
stx .80+1
|
stx .80+1
|
||||||
>STYA A4L Save Destination Address in AUX
|
>STYA A4L Save Destination Address in AUX
|
||||||
@ -585,29 +567,19 @@ K.LoadStkObj ldx #SYS.LoadTxtFile To get ending \0
|
|||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # GetStkObjData
|
* # GetStkObjPtr
|
||||||
* ## ASM
|
* ## ASM
|
||||||
* `PUSHW DataLen`
|
|
||||||
* `PUSHW DataPtr`
|
|
||||||
* `lda hStkObj`
|
* `lda hStkObj`
|
||||||
* `>SYSCALL GetStkObjData`
|
* `>SYSCALL GetStkObjPtr`
|
||||||
* ## RETURN VALUE
|
* ## RETURN VALUE
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.GetStkObjData sta SETREADAUX
|
*/--------------------------------------
|
||||||
jsr K.GetMemPtr
|
* # FreeStkObj
|
||||||
>STYA ZPMemMgrTmp1
|
* A = hMem To Free (AUX Memory)
|
||||||
|
* ## RETURN VALUE
|
||||||
>PULLW ZPSListDataLen
|
* none.
|
||||||
>PULLW ZPSListDataPtr
|
* (X,Y unmodified)
|
||||||
|
*\--------------------------------------
|
||||||
lda (ZPMemMgrTmp1),y
|
|
||||||
pha
|
|
||||||
iny
|
|
||||||
lda (ZPMemMgrTmp1),y
|
|
||||||
ply
|
|
||||||
|
|
||||||
sta CLRREADAUX
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* in Y,A = buf size
|
* in Y,A = buf size
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -721,7 +693,7 @@ MEM.SetDataByte.1
|
|||||||
inc ZPSListDataPtr+1
|
inc ZPSListDataPtr+1
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MEM.TXTPTR.GetY sta CLRREADAUX
|
MEM.TXTPTR.GetY sta SETREADAUX
|
||||||
lda (TXTPTR),y
|
lda (TXTPTR),y
|
||||||
sta SETREADAUX
|
sta SETREADAUX
|
||||||
rts
|
rts
|
||||||
|
@ -378,7 +378,8 @@ K.MkNod.I ldx #2
|
|||||||
K.Pipe sta .1+1 SIZE HI
|
K.Pipe sta .1+1 SIZE HI
|
||||||
|
|
||||||
.DO AUXPIPE=1
|
.DO AUXPIPE=1
|
||||||
jsr K.NewStkObj Buffer in AUX mem
|
ldx #SYS.NewStkObj
|
||||||
|
jsr K.SYSCALL2.AUX Buffer in AUX mem
|
||||||
.ELSE
|
.ELSE
|
||||||
jsr K.GetMem
|
jsr K.GetMem
|
||||||
.FIN
|
.FIN
|
||||||
@ -414,7 +415,8 @@ K.Pipe sta .1+1 SIZE HI
|
|||||||
.9 pha save error code
|
.9 pha save error code
|
||||||
lda .8+1 get back PIPE buffer
|
lda .8+1 get back PIPE buffer
|
||||||
.DO AUXPIPE=1
|
.DO AUXPIPE=1
|
||||||
jsr K.FreeStkObj
|
ldx #SYS.FreeStkObj
|
||||||
|
jsr K.SYSCALL2.AUX
|
||||||
.ELSE
|
.ELSE
|
||||||
jsr K.FreeMem
|
jsr K.FreeMem
|
||||||
.FIN
|
.FIN
|
||||||
|
Loading…
x
Reference in New Issue
Block a user