mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-18 00:30:40 +00:00
Kernel 0.9.2
This commit is contained in:
parent
082f899a56
commit
62efb2d2e0
@ -558,18 +558,21 @@ Prints C-Style String
|
|||||||
**In:**
|
**In:**
|
||||||
PrintF : (example is for printing Y,A as integer : format="Y,A= %I", 2 bytes)
|
PrintF : (example is for printing Y,A as integer : format="Y,A= %I", 2 bytes)
|
||||||
`>PUSHYA`
|
`>PUSHYA`
|
||||||
`>PUSHBI 2`
|
`...`
|
||||||
|
`>PUSHBI bytecount`
|
||||||
`>LDYAI format`
|
`>LDYAI format`
|
||||||
`>SYSCALL printf`
|
`>SYSCALL printf`
|
||||||
SPrintF :
|
SPrintF :
|
||||||
`>PUSHYA`
|
`>PUSHYA`
|
||||||
`>PUSHBI 2`
|
`...`
|
||||||
|
`>PUSHBI bytecount`
|
||||||
`>PUSHWI format`
|
`>PUSHWI format`
|
||||||
`>LDYAI str`
|
`>LDYAI str`
|
||||||
`>SYSCALL sprintf`
|
`>SYSCALL sprintf`
|
||||||
FPrintF :
|
FPrintF :
|
||||||
`>PUSHYA`
|
`>PUSHYA`
|
||||||
`>PUSHBI 2`
|
`...`
|
||||||
|
`>PUSHBI bytecount`
|
||||||
`>PUSHWI format`
|
`>PUSHWI format`
|
||||||
`lda hFILE`
|
`lda hFILE`
|
||||||
`>SYSCALL fprintf`
|
`>SYSCALL fprintf`
|
||||||
@ -635,12 +638,11 @@ Get char from Node
|
|||||||
Read formatted data from string
|
Read formatted data from string
|
||||||
|
|
||||||
## C
|
## C
|
||||||
`int sscanf ( const char * s, const char * format, ...);`
|
`int sscanf ( const char * s, const char * format, ... );`
|
||||||
|
|
||||||
## ASM
|
## ASM
|
||||||
**In:**
|
**In:**
|
||||||
`>PUSHBI Argument Byte count`
|
`>PUSHBI Argument Byte count`
|
||||||
`>PUSHWI format`
|
|
||||||
+ %i : short int
|
+ %i : short int
|
||||||
+ %d : byte
|
+ %d : byte
|
||||||
+ %I : int
|
+ %I : int
|
||||||
@ -650,6 +652,10 @@ Read formatted data from string
|
|||||||
+ %h : HEX byte
|
+ %h : HEX byte
|
||||||
+ %H : HEX word
|
+ %H : HEX word
|
||||||
|
|
||||||
|
`>PUSHW ptr`
|
||||||
|
`...`
|
||||||
|
`>PUSHBI bytecount`
|
||||||
|
`>PUSHWI format`
|
||||||
`>LDYA s`
|
`>LDYA s`
|
||||||
**Out:**
|
**Out:**
|
||||||
Y,A = Number of arguments filled.
|
Y,A = Number of arguments filled.
|
||||||
|
@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
# GetProDOSCatSize
|
# GetProDOSCatSize
|
||||||
Compute space needed for ProDOS Catalog
|
Compute space needed for ProDOS Catalog
|
||||||
|
|
||||||
|
## C
|
||||||
|
int getprodoscatsize (short int options, short int catsize, int devsize );
|
||||||
|
|
||||||
|
## ASM
|
||||||
**In:**
|
**In:**
|
||||||
PUSHW = DevSize (in 512b blocks)
|
PUSHW = DevSize (in 512b blocks)
|
||||||
PUSHB = Catalog Size (in blocks)
|
PUSHB = Catalog Size (in blocks)
|
||||||
|
@ -60,13 +60,13 @@
|
|||||||
YA = PTR to new S.SOCKET
|
YA = PTR to new S.SOCKET
|
||||||
X = hSocket
|
X = hSocket
|
||||||
|
|
||||||
# SKT.CloseA
|
# SKT.Close
|
||||||
Close socket
|
Close socket
|
||||||
**In:**
|
**In:**
|
||||||
A = hSocket
|
A = hSocket
|
||||||
**Out:**
|
**Out:**
|
||||||
|
|
||||||
# SKT.GetA
|
# SKT.Get
|
||||||
Get Ptr to socket
|
Get Ptr to socket
|
||||||
**In:**
|
**In:**
|
||||||
A = hSocket
|
A = hSocket
|
||||||
@ -79,14 +79,14 @@
|
|||||||
**Out:**
|
**Out:**
|
||||||
Y,A = pS.SOCKET
|
Y,A = pS.SOCKET
|
||||||
|
|
||||||
# SKT.AcceptA
|
# SKT.Accept
|
||||||
Check for an incoming connection
|
Check for an incoming connection
|
||||||
**In:**
|
**In:**
|
||||||
A = hListeningSocket
|
A = hListeningSocket
|
||||||
**Out:**
|
**Out:**
|
||||||
A = hSocket
|
A = hSocket
|
||||||
|
|
||||||
# SKT.MkNodA
|
# SKT.MkNod
|
||||||
Create a new file from TCP socket
|
Create a new file from TCP socket
|
||||||
**In:**
|
**In:**
|
||||||
A = hSocket
|
A = hSocket
|
||||||
@ -101,7 +101,7 @@
|
|||||||
PUSHW = len
|
PUSHW = len
|
||||||
**Out:**
|
**Out:**
|
||||||
|
|
||||||
# SKT.ReadA (DGRAM,RAW)
|
# SKT.ReadFrame (DGRAM,RAW)
|
||||||
**In:**
|
**In:**
|
||||||
A = hSocket
|
A = hSocket
|
||||||
**Out:**
|
**Out:**
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -128,25 +128,20 @@ CS.RUN >SYSCALL GetChar
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.11 ldy #MEM.COUNT
|
.11 >PUSHB.G MEM.COUNT
|
||||||
>PUSHB (pData),y
|
>PUSHB.G USED.COUNT
|
||||||
ldy #USED.COUNT
|
|
||||||
>PUSHB (pData),y
|
|
||||||
>LDYA L.MSG2
|
>LDYA L.MSG2
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
|
||||||
>LDYA.G MemStat+S.MSTAT.MH
|
>PUSHW.G MemStat+S.MSTAT.MH
|
||||||
>PUSHYA
|
|
||||||
>LDYA L.MSG3
|
>LDYA L.MSG3
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
|
||||||
>LDYA.G MemStat+S.MSTAT.MF
|
>PUSHW.G MemStat+S.MSTAT.MF
|
||||||
>PUSHYA
|
|
||||||
>LDYA L.MSG4
|
>LDYA L.MSG4
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
|
||||||
>LDYA.G MemStat+S.MSTAT.ML
|
>PUSHW.G MemStat+S.MSTAT.ML
|
||||||
>PUSHYA
|
|
||||||
>LDYA L.MSG5
|
>LDYA L.MSG5
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
|
||||||
|
@ -300,7 +300,7 @@ CS.QUIT ldy #hFrame
|
|||||||
|
|
||||||
.1 ldy #hSocket
|
.1 ldy #hSocket
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
>DEBUG
|
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Close
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Close
|
||||||
|
|
||||||
lda hLIBTCPIP
|
lda hLIBTCPIP
|
||||||
|
@ -409,11 +409,17 @@ READ >STYA ZPIOCTL
|
|||||||
>STYA ZPBufPtr
|
>STYA ZPBufPtr
|
||||||
stx .8+1
|
stx .8+1
|
||||||
|
|
||||||
|
ldy #S.IOCTL.BYTECNT
|
||||||
|
|
||||||
lda Size
|
lda Size
|
||||||
|
sta (ZPIOCTL),y
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta Counter
|
sta Counter
|
||||||
ldy #1
|
|
||||||
|
iny
|
||||||
|
|
||||||
lda Size+1
|
lda Size+1
|
||||||
|
sta (ZPIOCTL),y
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta Counter+1
|
sta Counter+1
|
||||||
|
|
||||||
|
@ -210,8 +210,7 @@ FRM.SendIP ldx #3 Copy SRC.IP even if IP offload
|
|||||||
jsr IP.SetDestMAC
|
jsr IP.SetDestMAC
|
||||||
bcs FRM.Queue
|
bcs FRM.Queue
|
||||||
|
|
||||||
.6 >LDYA ZPFrameOutPtr
|
.6 jsr FRM.Send.Out
|
||||||
jsr FRM.Send.Out
|
|
||||||
|
|
||||||
bcs FRM.Queue
|
bcs FRM.Queue
|
||||||
|
|
||||||
@ -253,7 +252,8 @@ FRM.Queue ldy hFrameOut no hFrame, cannot queue for retry
|
|||||||
FRM.Retry ldx FRM.QUEUE.Tail
|
FRM.Retry ldx FRM.QUEUE.Tail
|
||||||
|
|
||||||
.10 cpx FRM.QUEUE.Head
|
.10 cpx FRM.QUEUE.Head
|
||||||
beq .8 Queue is empty, exit....
|
beq .8 Queue is empty, exit...
|
||||||
|
|
||||||
lda FRM.QUEUE.hMem,x
|
lda FRM.QUEUE.hMem,x
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ZPFrameOutPtr
|
>STYA ZPFrameOutPtr
|
||||||
@ -293,7 +293,9 @@ FRM.Retry ldx FRM.QUEUE.Tail
|
|||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FRM.Send.Out >LDYA ZPDataOutPtr
|
FRM.Send.Out >DEBUG
|
||||||
|
|
||||||
|
>LDYA ZPDataOutPtr
|
||||||
>STYA IOCTL+S.IOCTL.BUFPTR
|
>STYA IOCTL+S.IOCTL.BUFPTR
|
||||||
>LDYA ZPDataOutLen
|
>LDYA ZPDataOutLen
|
||||||
>STYA IOCTL+S.IOCTL.BYTECNT
|
>STYA IOCTL+S.IOCTL.BYTECNT
|
||||||
@ -302,7 +304,7 @@ FRM.Send.IOCTL >PUSHW L.IOCTL
|
|||||||
>PUSHBI IOCTL.WRITE
|
>PUSHBI IOCTL.WRITE
|
||||||
lda IPCFG+S.IPCFG.HDEV
|
lda IPCFG+S.IPCFG.HDEV
|
||||||
|
|
||||||
>SYSCALL IOCTL try sending again to DRV
|
>SYSCALL IOCTL
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
@ -110,18 +110,21 @@ K.FPutS.I jsr IO.SELECT
|
|||||||
* **In:**
|
* **In:**
|
||||||
* PrintF : (example is for printing Y,A as integer : format="Y,A= %I", 2 bytes)
|
* PrintF : (example is for printing Y,A as integer : format="Y,A= %I", 2 bytes)
|
||||||
* `>PUSHYA`
|
* `>PUSHYA`
|
||||||
* `>PUSHBI 2`
|
* `...`
|
||||||
|
* `>PUSHBI bytecount`
|
||||||
* `>LDYAI format`
|
* `>LDYAI format`
|
||||||
* `>SYSCALL printf`
|
* `>SYSCALL printf`
|
||||||
* SPrintF :
|
* SPrintF :
|
||||||
* `>PUSHYA`
|
* `>PUSHYA`
|
||||||
* `>PUSHBI 2`
|
* `...`
|
||||||
|
* `>PUSHBI bytecount`
|
||||||
* `>PUSHWI format`
|
* `>PUSHWI format`
|
||||||
* `>LDYAI str`
|
* `>LDYAI str`
|
||||||
* `>SYSCALL sprintf`
|
* `>SYSCALL sprintf`
|
||||||
* FPrintF :
|
* FPrintF :
|
||||||
* `>PUSHYA`
|
* `>PUSHYA`
|
||||||
* `>PUSHBI 2`
|
* `...`
|
||||||
|
* `>PUSHBI bytecount`
|
||||||
* `>PUSHWI format`
|
* `>PUSHWI format`
|
||||||
* `lda hFILE`
|
* `lda hFILE`
|
||||||
* `>SYSCALL fprintf`
|
* `>SYSCALL fprintf`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user