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