mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-27 11:58:54 +00:00
Kernel 0.93+
This commit is contained in:
parent
f162bd0bbe
commit
6da3053e17
Binary file not shown.
@ -162,7 +162,7 @@ CS.END
|
|||||||
libtcpip .az "libtcpip"
|
libtcpip .az "libtcpip"
|
||||||
hLIBTCPIP .BS 1
|
hLIBTCPIP .BS 1
|
||||||
MSG0 .AZ "Type Prot Local Remote Options Status"
|
MSG0 .AZ "Type Prot Local Remote Options Status"
|
||||||
MSG1 .AZ "%s %s %03d.%03d.%03d.%03d:%05D %03d.%03d.%03d.%03d:%05D %b %s\r\n"
|
MSG1 .AZ "%s %s %3d.%3d.%3d.%3d:%5D %3d.%3d.%3d.%3d:%5D %b %s\r\n"
|
||||||
MSG1.T.RAW .AZ "RAW "
|
MSG1.T.RAW .AZ "RAW "
|
||||||
MSG1.T.DGRAM .AZ "DGRAM "
|
MSG1.T.DGRAM .AZ "DGRAM "
|
||||||
MSG1.T.SEQPKT .AZ "SEQPKT"
|
MSG1.T.SEQPKT .AZ "SEQPKT"
|
||||||
|
@ -28,6 +28,8 @@ hFrame .BS 1
|
|||||||
PingCount .BS 1
|
PingCount .BS 1
|
||||||
TimeOut .BS 1
|
TimeOut .BS 1
|
||||||
|
|
||||||
|
IP.Remote .BS 4
|
||||||
|
|
||||||
ZS.END .ED
|
ZS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* File Header (16 Bytes)
|
* File Header (16 Bytes)
|
||||||
@ -49,9 +51,6 @@ CS.START cld
|
|||||||
.DA CS.DOEVENT
|
.DA CS.DOEVENT
|
||||||
.DA CS.QUIT
|
.DA CS.QUIT
|
||||||
L.LIBTCPIP .DA LIBTCPIP
|
L.LIBTCPIP .DA LIBTCPIP
|
||||||
L.SA.LOCAL .DA SA.LOCAL
|
|
||||||
L.SA.REMOTE .DA SA.REMOTE
|
|
||||||
L.SA.REMOTE.AD .DA SA.REMOTE+S.SOCKADDR.ADDR
|
|
||||||
L.MSG.IPKO .DA MSG.IPKO
|
L.MSG.IPKO .DA MSG.IPKO
|
||||||
L.MSG.USAGE .DA MSG.USAGE
|
L.MSG.USAGE .DA MSG.USAGE
|
||||||
L.MSG.UNKNOWN .DA MSG.UNKNOWN
|
L.MSG.UNKNOWN .DA MSG.UNKNOWN
|
||||||
@ -71,7 +70,7 @@ CS.INIT >LDYA L.LIBTCPIP
|
|||||||
CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
||||||
>STYA ZPIPCfgPtr
|
>STYA ZPIPCfgPtr
|
||||||
lda (ZPIPCfgPtr) Configured ?
|
lda (ZPIPCfgPtr) Configured ?
|
||||||
bmi CS.RUN.IPOK
|
bmi .1
|
||||||
|
|
||||||
>LDYA L.MSG.IPKO
|
>LDYA L.MSG.IPKO
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
@ -79,6 +78,14 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
.1 ldy #DATA.Len-1
|
||||||
|
|
||||||
|
.2 lda ICMP.Request,y
|
||||||
|
sta (pData),y
|
||||||
|
dey
|
||||||
|
bpl .2
|
||||||
|
|
||||||
|
|
||||||
CS.RUN.IPOK inc ArgIndex
|
CS.RUN.IPOK inc ArgIndex
|
||||||
lda ArgIndex
|
lda ArgIndex
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
@ -106,7 +113,7 @@ CS.RUN.IPOK inc ArgIndex
|
|||||||
.1 lda #TIMEOUT.MAX
|
.1 lda #TIMEOUT.MAX
|
||||||
sta Timeout
|
sta Timeout
|
||||||
|
|
||||||
.2 >PUSHW L.SA.REMOTE.AD
|
.2 >PUSHEA.G SA.REMOTE+S.SOCKADDR.ADDR
|
||||||
>PUSHW ZPTmpPtr
|
>PUSHW ZPTmpPtr
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME
|
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME
|
||||||
bcc .3
|
bcc .3
|
||||||
@ -124,7 +131,7 @@ CS.RUN.IPOK inc ArgIndex
|
|||||||
sta ArgHostName
|
sta ArgHostName
|
||||||
bra CS.RUN.IPOK
|
bra CS.RUN.IPOK
|
||||||
|
|
||||||
.8 lda SA.REMOTE+S.SOCKADDR.ADDR
|
.8 >LDA.G SA.REMOTE+S.SOCKADDR.ADDR
|
||||||
bne CS.RUN.ARGSOK
|
bne CS.RUN.ARGSOK
|
||||||
|
|
||||||
.9 >PUSHBI 0
|
.9 >PUSHBI 0
|
||||||
@ -140,9 +147,11 @@ CS.RUN.ARGSOK lda ArgHostName
|
|||||||
>PUSHYA
|
>PUSHYA
|
||||||
|
|
||||||
ldx #3
|
ldx #3
|
||||||
|
ldy #SA.REMOTE+S.SOCKADDR.ADDR+3
|
||||||
|
|
||||||
.1 lda SA.REMOTE+S.SOCKADDR.ADDR,x
|
.1 lda (pData),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
dey
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
@ -154,19 +163,30 @@ CS.RUN.OPENSKT ldx #3
|
|||||||
ldy #S.IPCFG.IP+3
|
ldy #S.IPCFG.IP+3
|
||||||
|
|
||||||
.1 lda (ZPIPCfgPtr),y
|
.1 lda (ZPIPCfgPtr),y
|
||||||
sta SA.LOCAL+S.SOCKADDR.ADDR,x
|
sta IP.Remote,x
|
||||||
dey
|
dey
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
|
ldx #3
|
||||||
|
ldy #SA.LOCAL+S.SOCKADDR.ADDR+3
|
||||||
|
|
||||||
|
.2 lda IP.Remote,x
|
||||||
|
sta (pData),y
|
||||||
|
dey
|
||||||
|
dex
|
||||||
|
bpl .2
|
||||||
|
|
||||||
lda A2OSX.RANDOM16
|
lda A2OSX.RANDOM16
|
||||||
sta SA.LOCAL+S.SOCKADDR.PORT
|
eor A2osX.TIMER16+1
|
||||||
sta SA.REMOTE+S.SOCKADDR.PORT
|
>STA.G SA.LOCAL+S.SOCKADDR.PORT
|
||||||
|
>STA.G SA.REMOTE+S.SOCKADDR.PORT
|
||||||
sta Identifier
|
sta Identifier
|
||||||
|
|
||||||
lda A2OSX.RANDOM16+1
|
lda A2OSX.RANDOM16+1
|
||||||
sta SA.LOCAL+S.SOCKADDR.PORT+1
|
eor A2osX.TIMER16
|
||||||
sta SA.REMOTE+S.SOCKADDR.PORT+1
|
>STA.G SA.LOCAL+S.SOCKADDR.PORT+1
|
||||||
|
>STA.G SA.REMOTE+S.SOCKADDR.PORT+1
|
||||||
sta Identifier+1
|
sta Identifier+1
|
||||||
|
|
||||||
>PUSHBI S.IP.PROTOCOL.ICMP
|
>PUSHBI S.IP.PROTOCOL.ICMP
|
||||||
@ -176,30 +196,25 @@ CS.RUN.OPENSKT ldx #3
|
|||||||
|
|
||||||
sta hSocket
|
sta hSocket
|
||||||
|
|
||||||
>PUSHW L.SA.LOCAL
|
>PUSHEA.G SA.LOCAL
|
||||||
lda hSocket
|
lda hSocket
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>PUSHW L.SA.REMOTE
|
>PUSHEA.G SA.REMOTE
|
||||||
lda hSocket
|
lda hSocket
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Connect
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Connect
|
||||||
bcc CS.RUN.SEND
|
bcc CS.RUN.SEND.ECHO
|
||||||
|
|
||||||
.9 >LDYA L.MSG.SKTKO
|
.9 >LDYA L.MSG.SKTKO
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
lda #E.SYN
|
lda #E.SYN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
CS.RUN.SEND ldy #ICMP.RequestLen-1
|
|
||||||
|
|
||||||
.1 lda ICMP.Request,y
|
|
||||||
sta (pData),y
|
|
||||||
dey
|
|
||||||
bpl .1
|
|
||||||
|
|
||||||
CS.RUN.SEND.ECHO
|
CS.RUN.SEND.ECHO
|
||||||
|
>SLEEP
|
||||||
|
|
||||||
lda Identifier
|
lda Identifier
|
||||||
>STA.G Request-S.IP+S.ICMP.IDENTIFIER+1
|
>STA.G Request-S.IP+S.ICMP.IDENTIFIER+1
|
||||||
|
|
||||||
@ -288,8 +303,11 @@ CS.DOEVENT lda (pEvent)
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.Print.UNREACH
|
CS.Print.UNREACH
|
||||||
ldx #3
|
ldx #3
|
||||||
|
ldy #SA.REMOTE+S.SOCKADDR.ADDR+3
|
||||||
|
|
||||||
.1 >PUSHB SA.REMOTE+S.SOCKADDR.ADDR,x
|
.1 lda (pData),y
|
||||||
|
>PUSHA
|
||||||
|
dey
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
@ -367,16 +385,6 @@ MSG.UNREACH .AZ "%d.%d.%d.%d: TimeOut/Host unreachable\r\n"
|
|||||||
MSG.REPLY .AZ "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\r\n"
|
MSG.REPLY .AZ "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\r\n"
|
||||||
hLIBTCPIP .BS 1
|
hLIBTCPIP .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
|
||||||
.BS 1
|
|
||||||
.BS 4 S.SOCKADDR.ADDR
|
|
||||||
.BS 2 S.SOCKADDR.PORT
|
|
||||||
*--------------------------------------
|
|
||||||
SA.REMOTE .DA #AF.INET S.SOCKADDR.AF
|
|
||||||
.BS 1
|
|
||||||
.BS 4 S.SOCKADDR.ADDR
|
|
||||||
.BS 2
|
|
||||||
*--------------------------------------
|
|
||||||
ICMP.Request .DA #S.ICMP.TYPE.ECHOREQ
|
ICMP.Request .DA #S.ICMP.TYPE.ECHOREQ
|
||||||
.DA #0 CODE
|
.DA #0 CODE
|
||||||
.DA 0 CHECKSUM
|
.DA 0 CHECKSUM
|
||||||
@ -385,13 +393,25 @@ ICMP.Request .DA #S.ICMP.TYPE.ECHOREQ
|
|||||||
.AS "ABCDEFGHIJKLMNOP"
|
.AS "ABCDEFGHIJKLMNOP"
|
||||||
.AS "QRSTUVWXYZ012345"
|
.AS "QRSTUVWXYZ012345"
|
||||||
ICMP.RequestLen .EQ *-ICMP.Request
|
ICMP.RequestLen .EQ *-ICMP.Request
|
||||||
|
*--------------------------------------
|
||||||
|
.DA #AF.INET S.SOCKADDR.AF
|
||||||
|
.BS 1
|
||||||
|
.BS 4 S.SOCKADDR.ADDR
|
||||||
|
.BS 2 S.SOCKADDR.PORT
|
||||||
|
*--------------------------------------
|
||||||
|
.DA #AF.INET S.SOCKADDR.AF
|
||||||
|
.BS 1
|
||||||
|
.BS 4 S.SOCKADDR.ADDR
|
||||||
|
.BS 2
|
||||||
|
DATA.Len .EQ *-ICMP.Request
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
Request .BS ICMP.RequestLen
|
Request .BS ICMP.RequestLen
|
||||||
DS.END
|
SA.LOCAL .BS S.SOCKADDR
|
||||||
.ED
|
SA.REMOTE .BS S.SOCKADDR
|
||||||
|
DS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/BIN/PING.S
|
SAVE USR/SRC/BIN/PING.S
|
||||||
|
@ -19,18 +19,22 @@ FRM.GetTargetSKT.TCPUDP
|
|||||||
FRM.GetTargetSKT.RAW
|
FRM.GetTargetSKT.RAW
|
||||||
ldy #S.IP.SRC+3
|
ldy #S.IP.SRC+3
|
||||||
ldx #3
|
ldx #3
|
||||||
|
|
||||||
.1 lda (ZPFrameInPtr),y
|
.1 lda (ZPFrameInPtr),y
|
||||||
sta SKT.REM.ADDR+S.SOCKADDR.ADDR,x
|
sta SKT.REM.ADDR+S.SOCKADDR.ADDR,x
|
||||||
dey
|
dey
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
ldy #S.IP.DST+3
|
ldy #S.IP.DST+3
|
||||||
ldx #3
|
ldx #3
|
||||||
|
|
||||||
.2 lda (ZPFrameInPtr),y
|
.2 lda (ZPFrameInPtr),y
|
||||||
sta SKT.LOC.ADDR+S.SOCKADDR.ADDR,x
|
sta SKT.LOC.ADDR+S.SOCKADDR.ADDR,x
|
||||||
dey
|
dey
|
||||||
dex
|
dex
|
||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* FRM.NewIP
|
* FRM.NewIP
|
||||||
|
@ -41,12 +41,13 @@ ICMP.IN.ECHOREQ ldy #S.IP.DST+3
|
|||||||
ICMP.IN.EXIT jmp FRM.DiscardIn
|
ICMP.IN.EXIT jmp FRM.DiscardIn
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ICMP.IN.ECHOREP jsr FRM.GetTargetSKT.RAW
|
ICMP.IN.ECHOREP jsr FRM.GetTargetSKT.RAW
|
||||||
|
|
||||||
ldy #S.ICMP.IDENTIFIER
|
ldy #S.ICMP.IDENTIFIER
|
||||||
lda (ZPFrameInPtr),y
|
lda (ZPFrameInPtr),y
|
||||||
sta SKT.LOC.ADDR+S.SOCKADDR.PORT+1
|
sta SKT.REM.ADDR+S.SOCKADDR.PORT+1
|
||||||
iny
|
iny
|
||||||
lda (ZPFrameInPtr),y
|
lda (ZPFrameInPtr),y
|
||||||
sta SKT.LOC.ADDR+S.SOCKADDR.PORT
|
sta SKT.REM.ADDR+S.SOCKADDR.PORT
|
||||||
|
|
||||||
jsr SKT.FindMatchingLocRem
|
jsr SKT.FindMatchingLocRem
|
||||||
bcs ICMP.IN.EXIT
|
bcs ICMP.IN.EXIT
|
||||||
|
@ -1235,12 +1235,14 @@ SKT.FindMatchingLocRem
|
|||||||
|
|
||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
bne .44
|
bne .44
|
||||||
|
|
||||||
.43 ldy #S.SOCKET.REM.PORT Frame is Broadcast, or listening is 0.0.0.0 check port only
|
.43 ldy #S.SOCKET.REM.PORT Frame is Broadcast, or listening is 0.0.0.0 check port only
|
||||||
|
|
||||||
.42 lda (ZPPtrSKT),y
|
.42 lda (ZPPtrSKT),y
|
||||||
|
|
||||||
.44 cmp SKT.REM.ADDR+S.SOCKADDR.ADDR-S.SOCKET.REM.ADDR,y
|
.44 cmp SKT.REM.ADDR+S.SOCKADDR.ADDR-S.SOCKET.REM.ADDR,y
|
||||||
bne .8 wrong remote host, exit....
|
bne .8 wrong remote host, exit....
|
||||||
|
|
||||||
iny
|
iny
|
||||||
cpy #S.SOCKET.REM.PORT+2
|
cpy #S.SOCKET.REM.PORT+2
|
||||||
bne .42
|
bne .42
|
||||||
@ -1253,7 +1255,7 @@ SKT.FindMatchingLocRem
|
|||||||
cpx #K.SKTTABLE.SIZE
|
cpx #K.SKTTABLE.SIZE
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.9 sec
|
* sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SKT.AddToQueueA pha
|
SKT.AddToQueueA pha
|
||||||
|
@ -243,7 +243,7 @@ MSG.INCOMING .AZ "TELNETD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n"
|
|||||||
MSG.EXECERR .AZ "TELNETD:ExecL failed $%h."
|
MSG.EXECERR .AZ "TELNETD:ExecL failed $%h."
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
NOD.Template .AZ "/dev/tty%h"
|
NOD.Template .AZ "/dev/tty%h"
|
||||||
CMD.Template .AZ "${ROOT}SBIN/GETTY -E %s ${ROOT}SBIN/LOGIN"
|
CMD.Template .AZ "${ROOT}sbin/getty -E %s ${ROOT}sbin/login"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||||
.BS 1
|
.BS 1
|
||||||
|
@ -971,9 +971,9 @@ EvtMgrInit >LDYAI MSG.EVT
|
|||||||
>SYSCALL2 puts
|
>SYSCALL2 puts
|
||||||
stz CORE.EvtCount
|
stz CORE.EvtCount
|
||||||
lda #$A5
|
lda #$A5
|
||||||
sta A2osX.TIMER16
|
sta A2osX.RANDOM16
|
||||||
lda #$9B
|
lda #$9B
|
||||||
sta A2osX.TIMER16+1
|
sta A2osX.RANDOM16+1
|
||||||
|
|
||||||
lda /Evt.Table
|
lda /Evt.Table
|
||||||
sta pEvent+1
|
sta pEvent+1
|
||||||
|
@ -404,9 +404,9 @@ PrintF.ESC jmp (.1,x)
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PrintFTBL1 .AS "bdDuefhHiILsS"
|
PrintFTBL1 .AS "bdDuefhHiILsS"
|
||||||
PrintFTBL1.Cnt .EQ *-PrintFTBL1
|
PrintFTBL1.Cnt .EQ *-PrintFTBL1
|
||||||
PrintFTBL2 .AS "befnrtv\%"
|
PrintFTBL2 .AS "abefnrtv\%"
|
||||||
PrintFTBL2.Cnt .EQ *-PrintFTBL2
|
PrintFTBL2.Cnt .EQ *-PrintFTBL2
|
||||||
PrintFTBL2.OUT .HS 08.1B.0C.0A.0D.09.0B \b\e\f\n\r\t\v
|
PrintFTBL2.OUT .HS 07.08.1B.0C.0A.0D.09.0B \a\b\e\f\n\r\t\v
|
||||||
.DA #'\' \\
|
.DA #'\' \\
|
||||||
.DA #'%' \%
|
.DA #'%' \%
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -180,14 +180,15 @@ DRV.TERM.READ jsr DRV.TERM.GetIOCTLBufCntDCB
|
|||||||
|
|
||||||
lda OPENAPPLE
|
lda OPENAPPLE
|
||||||
bpl .1
|
bpl .1
|
||||||
lda KBD
|
|
||||||
bmi .6 Open apple key, not for us...
|
|
||||||
|
|
||||||
jsr DRV.TERM.Title.ON
|
jsr DRV.TERM.Title.ON
|
||||||
bra .6
|
|
||||||
|
bra .6 Open apple key, not for us...
|
||||||
|
|
||||||
.1 jsr DRV.TERM.Title.OFF
|
.1 jsr DRV.TERM.Title.OFF
|
||||||
|
|
||||||
lda KBD
|
lda KBD
|
||||||
|
sta A2osX.RANDOM16
|
||||||
bpl .6
|
bpl .6
|
||||||
sta KBDSTROBE
|
sta KBDSTROBE
|
||||||
|
|
||||||
|
@ -149,7 +149,8 @@ SetCharAtCurPos pha
|
|||||||
cpy #80
|
cpy #80
|
||||||
bcs SetCharAtYX.8
|
bcs SetCharAtYX.8
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SetCharAtYX cmp #$40
|
SetCharAtYX ror A2osX.RANDOM16+1
|
||||||
|
cmp #$40
|
||||||
bcc .1
|
bcc .1
|
||||||
cmp #$60
|
cmp #$60
|
||||||
bcs .1
|
bcs .1
|
||||||
|
Loading…
Reference in New Issue
Block a user