mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-27 00:29:29 +00:00
Kernel 0.93
This commit is contained in:
parent
bd65f49469
commit
dc8caae147
Binary file not shown.
|
@ -11,8 +11,13 @@ AUTO 4,1
|
||||||
.INB INC/ETH.I
|
.INB INC/ETH.I
|
||||||
.INB INC/LIBTCPIP.I
|
.INB INC/LIBTCPIP.I
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ZPPTR1 .EQ ZPBIN
|
.DUMMY
|
||||||
ZPPTR2 .EQ ZPBIN+2
|
.OR ZPBIN
|
||||||
|
ZS.START
|
||||||
|
ZPPTR1 .BS 2
|
||||||
|
ZPPTR2 .BS 2
|
||||||
|
SocketIndex .BS 1
|
||||||
|
ZS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* File Header (16 Bytes)
|
* File Header (16 Bytes)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -21,10 +26,10 @@ CS.START cld
|
||||||
.DA #$61 6502,Level 1 (65c02)
|
.DA #$61 6502,Level 1 (65c02)
|
||||||
.DA #1 BIN Layout Version 1
|
.DA #1 BIN Layout Version 1
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA CS.END-CS.START CS
|
.DA CS.END-CS.START Code Size (without Constants)
|
||||||
.DA DS.END-DS.START DS
|
.DA DS.END-DS.START Data SegmentSize
|
||||||
.DA #64 SS
|
.DA #32 Stack Size
|
||||||
.DA #4 ZP
|
.DA #ZS.END-ZS.START Zero Page Size
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Relocation Table
|
* Relocation Table
|
||||||
|
@ -73,10 +78,9 @@ CS.RUN >LDYA L.MSG0
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.GetTable
|
>LIBCALL hLIBTCPIP,LIBTCPIP.GetTable
|
||||||
>STYA ZPPTR1
|
>STYA ZPPTR1
|
||||||
|
|
||||||
>STZ.G SocketCount
|
ldy SocketIndex
|
||||||
|
|
||||||
.1 tay
|
.1 lda (ZPPTR1),y
|
||||||
lda (ZPPTR1),y
|
|
||||||
beq .7
|
beq .7
|
||||||
|
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
|
@ -84,34 +88,37 @@ CS.RUN >LDYA L.MSG0
|
||||||
|
|
||||||
lda (ZPPTR2)
|
lda (ZPPTR2)
|
||||||
cmp #AF.INET
|
cmp #AF.INET
|
||||||
* bne .7
|
bne .7
|
||||||
|
|
||||||
jsr CS.RUN.S
|
jsr CS.RUN.S 2 bytes
|
||||||
|
|
||||||
ldy #S.SOCKET.O
|
ldy #S.SOCKET.O
|
||||||
>PUSHB (ZPPTR2),y
|
>PUSHB (ZPPTR2),y ..3
|
||||||
|
|
||||||
ldy #S.SOCKET.REM.PORT+1
|
ldy #S.SOCKET.REM.PORT+1
|
||||||
|
|
||||||
.2 >PUSHB (ZPPTR2),y
|
.2 >PUSHB (ZPPTR2),y ..15
|
||||||
dey
|
dey
|
||||||
cpy #S.SOCKET.LOC.ADDR-1
|
cpy #S.SOCKET.LOC.ADDR-1
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
jsr CS.RUN.P
|
jsr CS.RUN.P ..17
|
||||||
jsr CS.RUN.T
|
jsr CS.RUN.T ..19
|
||||||
|
|
||||||
>PUSHBI 19
|
>PUSHBI 19
|
||||||
>LDYA L.MSG1
|
>LDYA L.MSG1
|
||||||
|
>DEBUG
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
bcs .9
|
||||||
|
|
||||||
.7 >INC.G SocketCount
|
.7 inc SocketIndex
|
||||||
cmp #K.SKTTABLE.SIZE
|
ldy SocketIndex
|
||||||
|
cpy #K.SKTTABLE.SIZE
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
lda #0 tell TSKMGR that all done ok, but
|
lda #0 tell TSKMGR that all done ok, but
|
||||||
sec we do not want to stay in memory
|
sec we do not want to stay in memory
|
||||||
rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.S ldy #S.SOCKET.TCP.S
|
CS.RUN.S ldy #S.SOCKET.TCP.S
|
||||||
lda (ZPPTR2),y
|
lda (ZPPTR2),y
|
||||||
|
@ -202,7 +209,6 @@ MSG1.S.INV .AZ "???"
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
SocketCount .BS 1
|
|
||||||
DS.END
|
DS.END
|
||||||
.ED
|
.ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
|
@ -475,17 +475,22 @@ WRITE php
|
||||||
lda #PP.BusST
|
lda #PP.BusST
|
||||||
sta PacketPagePTR,x
|
sta PacketPagePTR,x
|
||||||
|
|
||||||
ldy #16
|
lda #16
|
||||||
|
|
||||||
.1 lda PacketPageDATA+1,x
|
.1 pha
|
||||||
|
|
||||||
|
lda PacketPageDATA+1,x
|
||||||
|
ldy PacketPageDATA,x
|
||||||
and /PP.BusST.Rdy4TxNOW
|
and /PP.BusST.Rdy4TxNOW
|
||||||
bne WRITE.1
|
bne WRITE.1
|
||||||
|
|
||||||
lda PacketPageDATA,x
|
tya
|
||||||
and #PP.BusST.TxBidErr
|
* and #PP.BusST.TxBidErr
|
||||||
bne .9
|
* bne .9
|
||||||
|
bmi .9
|
||||||
|
|
||||||
dey
|
pla
|
||||||
|
dec
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.9 lda #E.NODATA
|
.9 lda #E.NODATA
|
||||||
|
|
|
@ -397,12 +397,12 @@ SKT.Read jsr SKT.PullhFDDataInPtrLen
|
||||||
jsr SKT.CheckStream
|
jsr SKT.CheckStream
|
||||||
bcs .99 I/O error
|
bcs .99 I/O error
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.O
|
* ldy #S.SOCKET.TCP.O
|
||||||
lda (ZPPtrSKT),y
|
* lda (ZPPtrSKT),y
|
||||||
bit #S.TCP.OPTIONS.ACK
|
* bit #S.TCP.OPTIONS.ACK
|
||||||
beq .8
|
* beq .8
|
||||||
|
|
||||||
jsr TCP.OUT.SendOptA
|
* jsr TCP.OUT.SendOptA
|
||||||
|
|
||||||
.8 lda #E.NODATA
|
.8 lda #E.NODATA
|
||||||
sec
|
sec
|
||||||
|
@ -514,9 +514,12 @@ SKT.GetDataFromSktIn
|
||||||
|
|
||||||
.80 jsr SKT.StoreTCB
|
.80 jsr SKT.StoreTCB
|
||||||
|
|
||||||
jsr TCP.SetSocketTCPO.ACK Send the new WSIZE
|
lda #S.TCP.OPTIONS.ACK
|
||||||
|
jsr TCP.OUT.SendOptA
|
||||||
|
|
||||||
jsr TCP.OUT.I SKT.GetTCB already called
|
* jsr TCP.SetSocketTCPO.ACK
|
||||||
|
|
||||||
|
* jsr TCP.OUT.I SKT.GetTCB already called
|
||||||
|
|
||||||
>LDYA ZPTmpPtr3
|
>LDYA ZPTmpPtr3
|
||||||
clc
|
clc
|
||||||
|
@ -1053,13 +1056,31 @@ SKT.AddToQueueA pha
|
||||||
* Dst : hInMem/INHEAD
|
* Dst : hInMem/INHEAD
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SKT.AddDataToSktIn
|
SKT.AddDataToSktIn
|
||||||
|
.DO IPDEBUG=2
|
||||||
|
ldx #3
|
||||||
|
.91 lda SKT.Cache+S.SOCKET.TCP.INLASTSEQNUM,x
|
||||||
|
>PUSHA
|
||||||
|
dex
|
||||||
|
bpl .91
|
||||||
|
|
||||||
|
ldy #S.TCP.SEQNUM+3
|
||||||
|
.92 lda (ZPFrameInPtr),y
|
||||||
|
>PUSHA
|
||||||
|
dey
|
||||||
|
cpy #S.TCP.SEQNUM-1
|
||||||
|
bne .92
|
||||||
|
>PUSHBI 8
|
||||||
|
>LDYA L.MSG.SEQNUM
|
||||||
|
>SYSCALL printf
|
||||||
|
.FIN
|
||||||
|
|
||||||
ldx SKT.Cache+S.SOCKET.TCP.INFREE
|
ldx SKT.Cache+S.SOCKET.TCP.INFREE
|
||||||
cpx ZPDataInLen
|
cpx ZPDataInLen
|
||||||
lda SKT.Cache+S.SOCKET.TCP.INFREE+1
|
lda SKT.Cache+S.SOCKET.TCP.INFREE+1
|
||||||
sbc ZPDataInLen+1
|
sbc ZPDataInLen+1
|
||||||
bcc .9 Not enough room in Q
|
bcc .9 Not enough room in Q
|
||||||
|
|
||||||
ldy #S.TCP.SEQNUM+3
|
.66 ldy #S.TCP.SEQNUM+3
|
||||||
ldx #3
|
ldx #3
|
||||||
|
|
||||||
.10 lda (ZPFrameInPtr),y
|
.10 lda (ZPFrameInPtr),y
|
||||||
|
|
|
@ -158,6 +158,9 @@ J.SKT.send .DA SKT.send.RAW
|
||||||
.DO IPDEBUG=1
|
.DO IPDEBUG=1
|
||||||
L.MSG.FRM.Dump .DA MSG.FRM.Dump
|
L.MSG.FRM.Dump .DA MSG.FRM.Dump
|
||||||
L.MSG.SKT.Dump .DA MSG.SKT.Dump
|
L.MSG.SKT.Dump .DA MSG.SKT.Dump
|
||||||
|
.FIN
|
||||||
|
.DO IPDEBUG=2
|
||||||
|
L.MSG.SEQNUM .DA MSG.SEQNUM
|
||||||
.FIN
|
.FIN
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -464,6 +467,9 @@ IP.CHECKSUM .BS 2
|
||||||
MSG.FRM.Dump .AZ "FRM:SRC=%d.%d.%d.%d:%D DST=%d.%d.%d.%d:%D\r\n"
|
MSG.FRM.Dump .AZ "FRM:SRC=%d.%d.%d.%d:%D DST=%d.%d.%d.%d:%D\r\n"
|
||||||
MSG.SKT.Dump .AZ "SKT:LOC=%d.%d.%d.%d:%D REM=%d.%d.%d.%d:%D\r\n"
|
MSG.SKT.Dump .AZ "SKT:LOC=%d.%d.%d.%d:%D REM=%d.%d.%d.%d:%D\r\n"
|
||||||
.FIN
|
.FIN
|
||||||
|
.DO IPDEBUG=2
|
||||||
|
MSG.SEQNUM .AZ "FRM:%h%h%h%h,SKT:%h%h%h%h\r\n"
|
||||||
|
.FIN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/LIB/LIBTCPIP.S
|
SAVE USR/SRC/LIB/LIBTCPIP.S
|
||||||
|
|
|
@ -59,15 +59,6 @@ L.ENV.TERM .DA ENV.TERM
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT clc
|
CS.INIT clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
TEST lda ArgProg
|
|
||||||
>SYSCALL ArgV
|
|
||||||
>PUSHYA
|
|
||||||
lda hErr
|
|
||||||
>SYSCALL fputs
|
|
||||||
rts
|
|
||||||
|
|
||||||
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN ldy #S.PS.ARGC
|
CS.RUN ldy #S.PS.ARGC
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
|
@ -208,7 +199,8 @@ CS.RUN.IACMODE >SYSCALL GetChar Wait for IAC CMD (or SB)
|
||||||
>SYSCALL GetChar Wait for IAC SUBCMD
|
>SYSCALL GetChar Wait for IAC SUBCMD
|
||||||
bcs CS.RUN.9
|
bcs CS.RUN.9
|
||||||
|
|
||||||
ldx IAC.SUBCMD
|
sta IAC.SUBCMD
|
||||||
|
tax
|
||||||
|
|
||||||
lda IAC.CMD
|
lda IAC.CMD
|
||||||
cmp #SB
|
cmp #SB
|
||||||
|
|
|
@ -1245,22 +1245,29 @@ DRV.TERM.Title.ON
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.1 lda (ZPTmpWord),y
|
.1 lda (ZPTmpWord),y
|
||||||
beq .2
|
beq .3
|
||||||
|
cmp #$40
|
||||||
|
bcc .2
|
||||||
|
|
||||||
phy
|
cmp #$60
|
||||||
|
bcs .2
|
||||||
|
|
||||||
|
and #$1F remap UPPERCASE
|
||||||
|
|
||||||
|
.2 phy
|
||||||
jsr SetCharAtY.SCR
|
jsr SetCharAtY.SCR
|
||||||
ply
|
ply
|
||||||
iny
|
iny
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.2 lda #C.SPACE
|
.3 lda #C.SPACE
|
||||||
|
|
||||||
.3 phy
|
.4 phy
|
||||||
jsr SetCharAtY.SCR
|
jsr SetCharAtY.SCR
|
||||||
ply
|
ply
|
||||||
iny
|
iny
|
||||||
cpy #80
|
cpy #80
|
||||||
bne .3
|
bne .4
|
||||||
DRV.TERM.Title.RTS
|
DRV.TERM.Title.RTS
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user