mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-20 15:29:07 +00:00
Kernel 0.94
This commit is contained in:
parent
eb9443dce4
commit
b8e761fdbb
Binary file not shown.
@ -21,17 +21,20 @@ ZS.START
|
|||||||
ZPIPCfgPtr .BS 2
|
ZPIPCfgPtr .BS 2
|
||||||
ZPHostPtr .BS 2
|
ZPHostPtr .BS 2
|
||||||
ZPPtr .BS 2
|
ZPPtr .BS 2
|
||||||
ZPReqBufPtr .BS 2
|
|
||||||
|
|
||||||
|
hReqBuf .BS 1
|
||||||
|
ZPReqBufPtr .BS 2
|
||||||
ZPReqBufLen .BS 2
|
ZPReqBufLen .BS 2
|
||||||
|
|
||||||
|
hEncodedBuf .BS 1
|
||||||
ZPEncodedBufPtr .BS 2
|
ZPEncodedBufPtr .BS 2
|
||||||
ZPEncodedBufLen .BS 2
|
ZPEncodedBufLen .BS 2
|
||||||
|
|
||||||
ZPRespBufPtr .BS 2
|
ZPRespBufPtr .BS 2
|
||||||
|
ZPRespBufLen .BS 2
|
||||||
|
|
||||||
ArgIndex .BS 1
|
ArgIndex .BS 1
|
||||||
hSocket .BS 1
|
hSocket .BS 1
|
||||||
hReqBuf .BS 1
|
|
||||||
hEncodedBuf .BS 1
|
|
||||||
|
|
||||||
hSendBuf .BS 1
|
hSendBuf .BS 1
|
||||||
ZPSendBufPtr .BS 2
|
ZPSendBufPtr .BS 2
|
||||||
@ -136,13 +139,13 @@ CS.RUN.IPOK ldy #S.IPCFG.IP+3
|
|||||||
CS.RUN.ESYN lda #E.SYN
|
CS.RUN.ESYN lda #E.SYN
|
||||||
sec
|
sec
|
||||||
CS.RUN.RTS rts
|
CS.RUN.RTS rts
|
||||||
|
*--------------------------------------
|
||||||
CS.RUN.HOSTOK inc ArgIndex
|
CS.RUN.HOSTOK inc ArgIndex
|
||||||
lda ArgIndex
|
lda ArgIndex
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
bcc .10
|
bcc .10
|
||||||
|
|
||||||
jmp CS.RUN.PORTOK
|
.8 jmp CS.RUN.ARGSOK
|
||||||
|
|
||||||
.10 >STYA ZPPtr
|
.10 >STYA ZPPtr
|
||||||
lda (ZPPtr)
|
lda (ZPPtr)
|
||||||
@ -154,6 +157,7 @@ CS.RUN.HOSTOK inc ArgIndex
|
|||||||
bcs CS.RUN.RTS
|
bcs CS.RUN.RTS
|
||||||
|
|
||||||
>STYA SA.REMOTE+S.SOCKADDR.PORT
|
>STYA SA.REMOTE+S.SOCKADDR.PORT
|
||||||
|
|
||||||
inc ArgIndex
|
inc ArgIndex
|
||||||
lda ArgIndex
|
lda ArgIndex
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
@ -176,6 +180,9 @@ CS.RUN.HOSTOK inc ArgIndex
|
|||||||
.11 cmp #'U'
|
.11 cmp #'U'
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
|
bit bURI
|
||||||
|
bmi CS.RUN.ESYN
|
||||||
|
|
||||||
inc ArgIndex
|
inc ArgIndex
|
||||||
lda ArgIndex
|
lda ArgIndex
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
@ -185,11 +192,16 @@ CS.RUN.HOSTOK inc ArgIndex
|
|||||||
>STYA ZPReqBufPtr
|
>STYA ZPReqBufPtr
|
||||||
>SYSCALL StrLen
|
>SYSCALL StrLen
|
||||||
>STYA ZPReqBufLen
|
>STYA ZPReqBufLen
|
||||||
.8 bra CS.RUN.PORTOK
|
sec
|
||||||
|
ror bURI
|
||||||
|
bra CS.RUN.HOSTOK
|
||||||
|
|
||||||
.2 cmp #'F'
|
.2 cmp #'F'
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
|
bit bURI
|
||||||
|
bmi CS.RUN.ESYN
|
||||||
|
|
||||||
inc ArgIndex
|
inc ArgIndex
|
||||||
lda ArgIndex
|
lda ArgIndex
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
@ -209,7 +221,7 @@ CS.RUN.HOSTOK inc ArgIndex
|
|||||||
|
|
||||||
sec
|
sec
|
||||||
ror bURI
|
ror bURI
|
||||||
bra CS.RUN.PORTOK
|
jmp CS.RUN.HOSTOK
|
||||||
|
|
||||||
.3 cmp #'O'
|
.3 cmp #'O'
|
||||||
bcs .9
|
bcs .9
|
||||||
@ -220,8 +232,9 @@ CS.RUN.HOSTOK inc ArgIndex
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPFileName
|
>STYA ZPFileName
|
||||||
|
jmp CS.RUN.HOSTOK
|
||||||
CS.RUN.PORTOK >PUSHW L.MSG.CONNECT
|
*--------------------------------------
|
||||||
|
CS.RUN.ARGSOK >PUSHW L.MSG.CONNECT
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
.1 >PUSHB SA.REMOTE+S.SOCKADDR.ADDR,x
|
.1 >PUSHB SA.REMOTE+S.SOCKADDR.ADDR,x
|
||||||
@ -459,9 +472,6 @@ CS.RUN.RESPONSE jsr Init.TimeOut
|
|||||||
|
|
||||||
.1 >SLEEP
|
.1 >SLEEP
|
||||||
|
|
||||||
lda #'?'
|
|
||||||
>SYSCALL putchar
|
|
||||||
|
|
||||||
lda hSocket
|
lda hSocket
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||||
bcc .2
|
bcc .2
|
||||||
@ -474,25 +484,74 @@ CS.RUN.RESPONSE jsr Init.TimeOut
|
|||||||
|
|
||||||
bra .80
|
bra .80
|
||||||
|
|
||||||
.2 lda #'!'
|
.2 >SYSCALL GetMemPtr
|
||||||
>SYSCALL putchar
|
|
||||||
|
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
>STYA ZPRespBufPtr
|
>STYA ZPRespBufPtr
|
||||||
|
|
||||||
>PUSHW ZPRespBufPtr
|
ldy #S.IP.TOTAL.LENGTH+1
|
||||||
|
lda (ZPRespBufPtr),y
|
||||||
|
sec
|
||||||
|
sbc #S.TCP-S.IP
|
||||||
|
sta ZPRespBufLen
|
||||||
|
|
||||||
lda hFile
|
dey
|
||||||
bne .3
|
|
||||||
|
|
||||||
ldy #S.PS.hStdOut
|
lda (ZPRespBufPtr),y
|
||||||
lda (pPS),y
|
sbc /S.TCP-S.IP
|
||||||
.3 >SYSCALL FWrite
|
sta ZPRespBufLen+1
|
||||||
bcs .9
|
|
||||||
|
lda ZPRespBufPtr
|
||||||
|
clc
|
||||||
|
adc #S.TCP
|
||||||
|
sta ZPRespBufPtr
|
||||||
|
bcc .3
|
||||||
|
|
||||||
|
inc ZPRespBufPtr+1
|
||||||
|
|
||||||
|
.3 bit bResponse
|
||||||
|
bmi .6
|
||||||
|
|
||||||
|
.30 ldx #0
|
||||||
|
|
||||||
|
.4 dex
|
||||||
|
|
||||||
|
lda (ZPRespBufPtr)
|
||||||
|
inc ZPRespBufPtr
|
||||||
|
bne .5
|
||||||
|
|
||||||
|
inc ZPRespBufPtr+1
|
||||||
|
|
||||||
|
.5 cmp #C.LF
|
||||||
|
bne .4
|
||||||
|
|
||||||
|
txa
|
||||||
|
* sec
|
||||||
|
adc ZPRespBufLen
|
||||||
|
sta ZPRespBufLen
|
||||||
|
|
||||||
|
lda ZPRespBufLen+1
|
||||||
|
adc #$ff
|
||||||
|
sta ZPRespBufLen+1
|
||||||
|
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
bne .30
|
||||||
|
|
||||||
sec
|
sec
|
||||||
ror bResponse
|
ror bResponse
|
||||||
bra CS.RUN.RESPONSE
|
|
||||||
|
.6 >PUSHW ZPRespBufLen
|
||||||
|
>PUSHW ZPRespBufPtr
|
||||||
|
|
||||||
|
lda hFile
|
||||||
|
bne .7
|
||||||
|
|
||||||
|
ldy #S.PS.hStdOut
|
||||||
|
lda (pPS),y
|
||||||
|
|
||||||
|
.7 >SYSCALL FWrite
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jmp CS.RUN.RESPONSE
|
||||||
|
|
||||||
.8 cmp #MLI.E.IO SKT Close ?
|
.8 cmp #MLI.E.IO SKT Close ?
|
||||||
bne .9
|
bne .9
|
||||||
@ -504,8 +563,8 @@ CS.RUN.RESPONSE jsr Init.TimeOut
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.99 lda #MLI.E.IO
|
.99 lda #MLI.E.IO
|
||||||
.9 sec
|
sec
|
||||||
rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT lda (pEvent)
|
CS.DOEVENT lda (pEvent)
|
||||||
bpl .9 is it a TIMER event?
|
bpl .9 is it a TIMER event?
|
||||||
|
@ -36,29 +36,26 @@ DHCP.RUN >PUSHBI 0 no protocol
|
|||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Socket
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Socket
|
||||||
bcc .1
|
bcc .1
|
||||||
.9 jmp DHCP.RUN.KO
|
.9 jmp DHCP.RUN.KO
|
||||||
.1 >STA.G hSocket
|
.1 sta hSocket
|
||||||
pha
|
pha
|
||||||
>PUSHW L.SA.LOCAL
|
>PUSHW L.SA.LOCAL
|
||||||
pla
|
pla
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
|
||||||
bcs .9
|
bcs .9
|
||||||
>PUSHWI S.SOCKET.O.BROADCAST
|
>PUSHWI S.SOCKET.O.BROADCAST
|
||||||
>LDA.G hSocket
|
lda hSocket
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.setsockopt
|
>LIBCALL hLIBTCPIP,LIBTCPIP.setsockopt
|
||||||
>PUSHW L.SA.REMOTE
|
>PUSHW L.SA.REMOTE
|
||||||
>LDA.G hSocket
|
lda hSocket
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Connect
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Connect
|
||||||
bcs .9
|
bcs .9
|
||||||
>LDYA L.MSG.DHCP.CFG1
|
>LDYA L.MSG.DHCP.CFG1
|
||||||
>SYSCALL PutS
|
>SYSCALL PutS
|
||||||
|
|
||||||
lda #TIMEOUT.MAX
|
|
||||||
sta TimeOut
|
|
||||||
|
|
||||||
DHCP.RUN.SDISC >PUSHW L.SA.DEST
|
DHCP.RUN.SDISC >PUSHW L.SA.DEST
|
||||||
>PUSHWI DHCP.DISC.LEN
|
>PUSHWI DHCP.DISC.LEN
|
||||||
>PUSHW L.DHCP.DISC
|
>PUSHW L.DHCP.DISC
|
||||||
>LDA.G hSocket
|
lda hSocket
|
||||||
|
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SendTo
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SendTo
|
||||||
bcc .1
|
bcc .1
|
||||||
@ -67,15 +64,12 @@ DHCP.RUN.SDISC >PUSHW L.SA.DEST
|
|||||||
.1 lda #S.IPCFG.STATUS.SDISC
|
.1 lda #S.IPCFG.STATUS.SDISC
|
||||||
sta IPCFG
|
sta IPCFG
|
||||||
|
|
||||||
DHCP.RUN.ROFFER >SLEEP
|
DHCP.RUN.ROFFER jsr DHCP.RUN.SKT.RECV
|
||||||
jsr DHCP.RUN.SKT.RCVD
|
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
lda TimeOut
|
|
||||||
bne DHCP.RUN.ROFFER
|
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
jmp DHCP.RUN.KO
|
jmp DHCP.RUN.KO
|
||||||
|
|
||||||
.1 jsr CheckDHCPOffer
|
.1 jsr CheckDHCPOffer
|
||||||
bcs DHCP.RUN.ROFFER
|
bcs DHCP.RUN.ROFFER
|
||||||
lda #S.IPCFG.STATUS.ROFFER
|
lda #S.IPCFG.STATUS.ROFFER
|
||||||
@ -94,20 +88,16 @@ DHCP.RUN.SREQ >PUSHW L.MSG.DHCP.CFG2
|
|||||||
>PUSHW L.SA.DEST
|
>PUSHW L.SA.DEST
|
||||||
>PUSHWI DHCP.REQ.LEN
|
>PUSHWI DHCP.REQ.LEN
|
||||||
>PUSHW L.DHCP.REQ
|
>PUSHW L.DHCP.REQ
|
||||||
>LDA.G hSocket
|
lda hSocket
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SendTo
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SendTo
|
||||||
bcs DHCP.RUN.KO
|
bcs DHCP.RUN.KO
|
||||||
|
|
||||||
lda #S.IPCFG.STATUS.SREQ
|
lda #S.IPCFG.STATUS.SREQ
|
||||||
sta IPCFG
|
sta IPCFG
|
||||||
|
|
||||||
DHCP.RUN.RACK >SLEEP
|
DHCP.RUN.RACK jsr DHCP.RUN.SKT.RECV
|
||||||
jsr DHCP.RUN.SKT.RCVD
|
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
lda TimeOut
|
|
||||||
bne DHCP.RUN.RACK
|
|
||||||
|
|
||||||
lda #2
|
lda #2
|
||||||
bra DHCP.RUN.KO
|
bra DHCP.RUN.KO
|
||||||
|
|
||||||
@ -153,17 +143,32 @@ DHCP.RUN.KO pha
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DHCP.RUN.SKT.RCVD
|
DHCP.RUN.SKT.RECV
|
||||||
>LDA.G hSocket
|
lda #TIMEOUT.MAX
|
||||||
|
sta TimeOut
|
||||||
|
|
||||||
|
.1 >SLEEP
|
||||||
|
|
||||||
|
lda hSocket
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||||
bcs .9
|
bcc .8
|
||||||
>STA.G hFrame
|
|
||||||
|
cmp #E.NODATA
|
||||||
|
bne .9
|
||||||
|
|
||||||
|
lda TimeOut
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
.9 sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
.8 sta hFrame
|
||||||
|
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ZPFrameBase
|
>STYA ZPFrameBase
|
||||||
.9 rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DHCP.QUIT >LDA.G hSocket
|
DHCP.QUIT lda hSocket
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
||||||
@ -317,7 +322,7 @@ CheckDHCPAck jsr CheckDHCPXID
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.DISCARD >LDA.G hFrame
|
CS.RUN.DISCARD sta hFrame
|
||||||
>SYSCALL FreeMem
|
>SYSCALL FreeMem
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # Socket
|
* # Socket
|
||||||
* Create a new socket
|
* Create a new socket
|
||||||
@ -948,7 +947,7 @@ SKT.Recv clc
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.90 lda #0 no data
|
.90 lda #E.NODATA
|
||||||
plp
|
plp
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
@ -220,7 +220,7 @@ CS.RUN.Negotiate
|
|||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||||
bcc .3
|
bcc .3
|
||||||
|
|
||||||
tay
|
cmp #E.NODATA
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
bra .99
|
bra .99
|
||||||
@ -273,7 +273,7 @@ CS.RUN.SessSetup
|
|||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||||
bcc .3
|
bcc .3
|
||||||
|
|
||||||
tay
|
cmp #E.NODATA
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
bra .99
|
bra .99
|
||||||
@ -338,7 +338,7 @@ CS.RUN.TreeConn lda #TIMEOUT.MAX
|
|||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||||
bcc .3
|
bcc .3
|
||||||
|
|
||||||
tay
|
cmp #E.NODATA
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
bra .99
|
bra .99
|
||||||
@ -419,7 +419,7 @@ CIFS.OpenDir lda #TIMEOUT.MAX
|
|||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||||
bcc .3
|
bcc .3
|
||||||
|
|
||||||
tay
|
cmp #E.NODATA
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
bra .99
|
bra .99
|
||||||
|
@ -371,8 +371,9 @@ CS.RUN.CLIENT >LDYAI 1024
|
|||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||||
bcc .2
|
bcc .2
|
||||||
|
|
||||||
tay
|
cmp #E.NODATA
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
jmp .99
|
jmp .99
|
||||||
|
|
||||||
.2 jsr CS.RUN.REQ.GetReq
|
.2 jsr CS.RUN.REQ.GetReq
|
||||||
|
Loading…
x
Reference in New Issue
Block a user