mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-07 05:30:46 +00:00
This commit is contained in:
parent
3e60ff3064
commit
3c12891610
BIN
A2OSX.BOOT.DSK
BIN
A2OSX.BOOT.DSK
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -66,6 +66,7 @@ CS.INIT >LDYA L.LIBSTR
|
||||
>SYSCALL SYS.GetMemPtrA
|
||||
>PUSHYA
|
||||
>LIBCALL hLIBSTR,LIBSTR.SSCANF
|
||||
|
||||
bcs .9
|
||||
|
||||
stz bCTRLC
|
||||
@ -133,6 +134,8 @@ CS.RUN lda #ARP.TIMEOUT
|
||||
>PUSHW L.DST.MAC
|
||||
>PUSHW L.DST.IP
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.ARP.QUERY
|
||||
bra *
|
||||
|
||||
bcc .2 success, print & exit
|
||||
|
||||
lda TimeOut
|
||||
|
428
BIN/MOUNT.S.txt
428
BIN/MOUNT.S.txt
@ -0,0 +1,428 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF /A2OSX.BOOT/BIN/MOUNT
|
||||
*--------------------------------------
|
||||
.INB INC/MACROS.I
|
||||
.INB INC/A2OSX.I
|
||||
.INB INC/A2OSX.API.I
|
||||
.INB INC/KERNEL.I
|
||||
.INB INC/LIBSTR.I
|
||||
.INB INC/LIBTCPIP.I
|
||||
*--------------------------------------
|
||||
ZPFrameBase1 .EQ ZPBIN
|
||||
ZPFrameLen1 .EQ ZPBIN+2
|
||||
ZPFramePtr1 .EQ ZPBIN+4
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA 0
|
||||
.DA CS.END-CS.START Code Length To Relocate
|
||||
.DA DS.END-DS.START Data Segment to Allocate
|
||||
.DA 0
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBSTR .DA LIBSTR
|
||||
L.LIBTCPIP .DA LIBTCPIP
|
||||
L.SSCANF.IP .DA SSCANF.IP
|
||||
L.MSG0 .DA MSG0
|
||||
L.MSG1 .DA MSG1
|
||||
L.MSG2 .DA MSG2
|
||||
L.MSG3 .DA MSG3
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT ldy #S.PS.hARGS
|
||||
lda (pPs),y
|
||||
bne .1
|
||||
lda #SYSMGR.ERRSYN
|
||||
sec
|
||||
rts
|
||||
|
||||
.1 >LDYA L.LIBSTR
|
||||
>LOADLIBYA
|
||||
sta hLIBSTR
|
||||
|
||||
>LDYA L.LIBTCPIP
|
||||
>LOADLIBYA
|
||||
sta hLIBTCPIP
|
||||
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ?
|
||||
bcs .9
|
||||
>STYA ZPQuickPtr1
|
||||
|
||||
lda (ZPQuickPtr1) Configured ?
|
||||
bpl .9
|
||||
|
||||
ldy #S.IPCFG.HDEV
|
||||
lda (ZPQuickPtr1),y
|
||||
sta hDev
|
||||
|
||||
lda A2OSX.RANDOM16
|
||||
ldy #Identifier
|
||||
sta (pData),y
|
||||
lda A2OSX.RANDOM16+1
|
||||
iny
|
||||
sta (pData),y
|
||||
|
||||
lda #0
|
||||
ldy #Sequence
|
||||
sta (pData),y
|
||||
iny
|
||||
sta (pData),y
|
||||
|
||||
lda (pPs)
|
||||
ora #S.PS.F.EVENT Now accept events
|
||||
sta (pPs)
|
||||
clc
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN >PUSHW pData DST.IP
|
||||
>PUSHW L.SSCANF.IP
|
||||
ldy #S.PS.hARGS
|
||||
lda (pPs),y
|
||||
>SYSCALL SYS.GetMemPtrA
|
||||
>PUSHYA
|
||||
>LIBCALL hLIBSTR,LIBSTR.SSCANF
|
||||
bcc CS.RUN.IPOK
|
||||
|
||||
lda #PING.TIMEOUT
|
||||
ldy #TimeOut
|
||||
sta (pData),y
|
||||
|
||||
CS.RUN.DNSQUERY >PUSHW pData DST.IP
|
||||
ldy #S.PS.hARGS
|
||||
lda (pPs),y
|
||||
>PUSHA
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.DNS.QUERY
|
||||
bcc CS.RUN.IPOK
|
||||
|
||||
jsr A2osX.SLEEP
|
||||
ldy #TimeOut
|
||||
lda (pData),y
|
||||
bne CS.RUN.DNSQUERY
|
||||
|
||||
ldy #S.PS.hARGS
|
||||
lda (pPs),y
|
||||
>SYSCALL SYS.GetMemPtrA
|
||||
>PUSHYA
|
||||
>PUSHW L.MSG0
|
||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||
|
||||
sec
|
||||
CS.RUN.RTS rts
|
||||
|
||||
CS.RUN.IPOK ldy #S.PS.hARGS
|
||||
lda (pPs),y
|
||||
>SYSCALL SYS.GetMemPtrA
|
||||
>PUSHYA
|
||||
ldy #3
|
||||
>PUSHB (pData),y DST.IP+3
|
||||
dey
|
||||
>PUSHB (pData),y DST.IP+2
|
||||
dey
|
||||
>PUSHB (pData),y DST.IP+1
|
||||
>PUSHB (pData) DST.IP
|
||||
>PUSHW L.MSG1
|
||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||
|
||||
CS.RUN.ECHO >LIBCALL hLIBTCPIP,LIBTCPIP.NEW.ICMP.FRAME
|
||||
bcs CS.RUN.RTS
|
||||
>STYA ZPFrameBase1
|
||||
txa
|
||||
ldy #hFrame
|
||||
sta (pData),y
|
||||
|
||||
ldx #3
|
||||
ldy #0
|
||||
.10 lda (pData),y
|
||||
pha
|
||||
iny
|
||||
dex
|
||||
bpl .10
|
||||
|
||||
ldx #3
|
||||
ldy #S.IP.DST+3
|
||||
.1 pla
|
||||
sta (ZPFrameBase1),y
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
ldy #S.ICMP.TYPE
|
||||
lda #S.ICMP.TYPE.ECHOREQ
|
||||
sta (ZPFrameBase1),y
|
||||
|
||||
ldy #Identifier
|
||||
lda (pData),y
|
||||
tax
|
||||
iny
|
||||
lda (pData),y
|
||||
|
||||
ldy #S.ICMP.IDENTIFIER+1
|
||||
sta (ZPFrameBase1),y
|
||||
dey
|
||||
txa
|
||||
sta (ZPFrameBase1),y
|
||||
|
||||
ldy #Sequence+1
|
||||
lda (pData),y
|
||||
tax
|
||||
dey
|
||||
lda (pData),y
|
||||
inc
|
||||
sta (pData),y
|
||||
bne .2
|
||||
pha
|
||||
inx
|
||||
txa
|
||||
sta (pData),y
|
||||
pla
|
||||
|
||||
.2 ldy #S.ICMP.SEQUENCE
|
||||
sta (ZPFrameBase1),y
|
||||
iny
|
||||
txa
|
||||
sta (ZPFrameBase1),y
|
||||
|
||||
lda #PING.TIMEOUT
|
||||
ldy #TimeOut
|
||||
sta (pData),y
|
||||
|
||||
.3 >PUSHWI S.ICMP+32
|
||||
ldy #hFrame
|
||||
lda (pData),y
|
||||
>SYSCALL SYS.GetMemPtrA
|
||||
>PUSHYA
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SEND.ICMP.FRAME
|
||||
bcc .4
|
||||
jsr A2osX.SLEEP
|
||||
ldy #TimeOut
|
||||
lda (pData),y
|
||||
bne .3
|
||||
|
||||
.4 ldy #hFrame
|
||||
lda (pData),y
|
||||
>SYSCALL SYS.FreeMemA
|
||||
|
||||
ldy #bReply
|
||||
lda #0
|
||||
sta (pData),y
|
||||
lda #PING.TIMEOUT
|
||||
ldy #TimeOut
|
||||
sta (pData),y
|
||||
|
||||
CS.RUN.WAIT jsr A2osX.SLEEP
|
||||
ldy #bReply
|
||||
lda (pData),y
|
||||
bne .1
|
||||
|
||||
ldy #bCTRLC
|
||||
lda (pData),y
|
||||
bne CS.RUN.ERROR
|
||||
ldy #TimeOut
|
||||
lda (pData),y
|
||||
bne CS.RUN.WAIT
|
||||
|
||||
ldy #3
|
||||
>PUSHB (pData),y DST.IP+3
|
||||
dey
|
||||
>PUSHB (pData),y DST.IP+2
|
||||
dey
|
||||
>PUSHB (pData),y DST.IP+1
|
||||
>PUSHB (pData) DST.IP
|
||||
>PUSHW L.MSG2
|
||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||
|
||||
.1 ldy #bCTRLC
|
||||
lda (pData),y
|
||||
bne CS.RUN.ERROR
|
||||
ldy #TimeOut
|
||||
lda (pData),y
|
||||
beq .2
|
||||
|
||||
jsr A2osX.SLEEP
|
||||
bra .1
|
||||
|
||||
.2 jmp CS.RUN.ECHO
|
||||
|
||||
CS.RUN.ERROR sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT lda (pEvent)
|
||||
and #S.EVT.F.TIMER is it a TIMER event?
|
||||
beq .1 no....
|
||||
|
||||
ldy #TimeOut
|
||||
lda (pData),y
|
||||
beq .10
|
||||
|
||||
dec
|
||||
sta (pData),y
|
||||
.10 sec do not discard TIMER event
|
||||
rts
|
||||
|
||||
.1 lda (pEvent)
|
||||
and #S.EVT.F.KEY is it a KEY event?
|
||||
beq .2
|
||||
|
||||
ldy #S.EVT.hDEV is Event from active IN device?
|
||||
lda (pEvent),y
|
||||
ldy #S.PS.hINDEV
|
||||
cmp (pPs),y
|
||||
bne .9
|
||||
|
||||
ldy #S.EVT.DATAHI is it an O or SAPPLE key ?
|
||||
lda (pEvent),y
|
||||
bne .9
|
||||
|
||||
ldy #S.EVT.DATALO
|
||||
lda (pEvent),y
|
||||
cmp #$03 Ctrl-C
|
||||
bne .8
|
||||
|
||||
lda #$FF
|
||||
ldy #bCTRLC
|
||||
sta (pData),y
|
||||
bra .8
|
||||
|
||||
.2 lda (pEvent)
|
||||
and #S.EVT.F.NET
|
||||
beq .9
|
||||
|
||||
ldy #S.EVT.hDEV
|
||||
lda (pEvent),y
|
||||
cmp hDev
|
||||
bne .9
|
||||
|
||||
ldy #S.EVT.DATALO Get Frame hMem
|
||||
lda (pEvent),y
|
||||
>SYSCALL SYS.GetMemPtrA
|
||||
>STYA ZPFrameBase1
|
||||
|
||||
ldy #S.IP.PROTOCOL
|
||||
lda (ZPFrameBase1),y
|
||||
cmp #S.IP.PROTOCOL.ICMP
|
||||
|
||||
bne .9
|
||||
|
||||
ldy #S.ICMP.TYPE
|
||||
lda (ZPFrameBase1),y
|
||||
cmp #S.ICMP.TYPE.ECHOREP
|
||||
bne .9
|
||||
|
||||
ldy #S.ICMP.IDENTIFIER
|
||||
lda (ZPFrameBase1),y
|
||||
tax
|
||||
iny
|
||||
lda (ZPFrameBase1),y
|
||||
ldy #Identifier+1
|
||||
cmp (pData),y
|
||||
bne .9
|
||||
dey
|
||||
txa
|
||||
cmp (pData),y
|
||||
bne .9
|
||||
|
||||
jsr CS.EVENT.REPLY
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.EVENT.REPLY lda #PING.TIMEOUT
|
||||
sec
|
||||
sbc TimeOut
|
||||
|
||||
stz TimeOut.ms
|
||||
stz TimeOut.ms+1
|
||||
|
||||
tay
|
||||
beq .3
|
||||
|
||||
.1 lda TimeOut.ms
|
||||
clc
|
||||
adc #K.TIMER16RESOLUTION*20
|
||||
sta TimeOut.ms
|
||||
bcc .2
|
||||
inc TimeOut
|
||||
.2 dey
|
||||
bne .1
|
||||
|
||||
.3 >PUSHW TimeOut.ms
|
||||
ldy #S.IP.TTL
|
||||
>PUSHB (ZPFrameBase1),y
|
||||
|
||||
ldy #S.ICMP.SEQUENCE+1
|
||||
>PUSHB (ZPFrameBase1),y
|
||||
dey
|
||||
>PUSHB (ZPFrameBase1),y
|
||||
|
||||
ldy #S.IP.SRC+3
|
||||
>PUSHB (ZPFrameBase1),y
|
||||
dey
|
||||
>PUSHB (ZPFrameBase1),y
|
||||
dey
|
||||
>PUSHB (ZPFrameBase1),y
|
||||
dey
|
||||
>PUSHB (ZPFrameBase1),y
|
||||
|
||||
>PUSHW L.MSG3
|
||||
>LIBCALL hLIBSTR,LIBSTR.PRINTF
|
||||
|
||||
ldy #bReply
|
||||
lda (pData),y
|
||||
inc
|
||||
sta (pData),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT lda hLIBTCPIP
|
||||
>SYSCALL SYS.UnloadLibA
|
||||
lda hLIBSTR
|
||||
>SYSCALL SYS.UnloadLibA
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBSTR >PSTRING "libstr.o"
|
||||
LIBTCPIP >PSTRING "libtcpip.o"
|
||||
SSCANF.IP >PSTRING "%d.%d.%d.%d"
|
||||
MSG0 >CSTRING "%S: Unknown host\n"
|
||||
MSG1 >CSTRING "PING %d.%d.%d.%d (%S)\n"
|
||||
MSG2 >CSTRING "%d.%d.%d.%d: TimeOut/Host unreachable\n"
|
||||
MSG3 >CSTRING "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\n"
|
||||
hLIBSTR .BS 1
|
||||
hLIBTCPIP .BS 1
|
||||
hDev .BS 1
|
||||
TimeOut.ms .BS 2
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
DST.IP .BS 4
|
||||
hFrame .BS 1
|
||||
TimeOut .BS 1
|
||||
Identifier .BS 2
|
||||
Sequence .BS 2
|
||||
bCTRLC .BS 1
|
||||
bReply .BS 1
|
||||
DS.END
|
||||
.ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE BIN/MOUNT.S
|
||||
ASM
|
@ -17,95 +17,47 @@ ZPTmpPTR .EQ ZPDRV
|
||||
*--------------------------------------
|
||||
DEVID .EQ $630E
|
||||
*--------------------------------------
|
||||
* CS8900A IO Registers
|
||||
* WIZnet W5100 IO Registers
|
||||
*--------------------------------------
|
||||
RTDATA .EQ $C080 Receive/Transmit Data (DWORD)
|
||||
TxCMD .EQ $C084 Transmit Command
|
||||
TxLength .EQ $C086 Transmission Length
|
||||
IntStatusQueue .EQ $C088 Interrupt Status Queue
|
||||
PacketPagePTR .EQ $C08A PacketPage Pointer
|
||||
PacketPageDATA .EQ $C08C PacketPage Data (DWORD)
|
||||
*--------------------------------------
|
||||
TxCMD.LID .EQ %00000000.00001001
|
||||
TxCMD.TxStart5 .EQ %00000000.00000000 00 = start after 5 Bytes
|
||||
TxCMD.TxStart381 .EQ %00000000.01000000 01 = start after 381 Bytes
|
||||
TxCMD.TxStart1021 .EQ %00000000.10000000 10 = start after 1021 Bytes
|
||||
TxCMD.TxStartFULL .EQ %00000000.11000000 11 = start after ENTIRE Frame
|
||||
TxCMD.Force .EQ %00000001.00000000
|
||||
TxCMD.OneColl .EQ %00000010.00000000
|
||||
TxCMD.InhibitCRC .EQ %00010000.00000000
|
||||
TxCMD.TxPadDis .EQ %00100000.00000000
|
||||
*--------------------------------------
|
||||
* PacketPage Offsets & Masks
|
||||
*--------------------------------------
|
||||
PP.ID .EQ $0000 Product ID code (RO)
|
||||
PP.RFBCNT .EQ $0050 Received Frame Byte Counter (RO)
|
||||
PP.RxCFG .EQ $0102 Receiver Configuration (RW)
|
||||
PP.RxCFG.LID .EQ %00000000.00000011
|
||||
PP.RxCTL .EQ $0104 Receiver Control (RW)
|
||||
PP.RxCTL.LID .EQ %00000000.00000101
|
||||
PP.RxCTL.IAHashA .EQ %00000000.01000000
|
||||
PP.RxCTL.PromisA .EQ %00000000.10000000
|
||||
PP.RxCTL.RxOKA .EQ %00000001.00000000
|
||||
PP.RxCTL.MulticastA .EQ %00000010.00000000
|
||||
PP.RxCTL.IA .EQ %00000100.00000000
|
||||
PP.RxCTL.BroadcastA .EQ %00001000.00000000
|
||||
PP.RxCTL.CRCerrorA .EQ %00010000.00000000
|
||||
PP.RxCTL.RuntA .EQ %00100000.00000000
|
||||
PP.RxCTL.ExtradataA .EQ %01000000.00000000
|
||||
PP.TxCFG .EQ $0106 Transmit Configuration (RW)
|
||||
PP.TxCMD .EQ $0108 Receiver Control (RW)
|
||||
PP.BufCFG .EQ $010A
|
||||
PP.LineCTL .EQ $0112 Line Control (RW)
|
||||
PP.LineCTL.LID .EQ %00000000.00010011
|
||||
PP.LineCTL.SerRxOn .EQ %00000000.01000000
|
||||
PP.LineCTL.SerTxOn .EQ %00000000.10000000
|
||||
PP.LineCTL.AUIonly .EQ %00000001.00000000
|
||||
PP.LineCTL.Auto .EQ %00000010.00000000
|
||||
PP.SelfCTL .EQ $0114 Self Control (RW)
|
||||
PP.SelfCTL.LID .EQ %00000000.00010101
|
||||
PP.SelfCTL.RESET .EQ %00000000.01000000
|
||||
PP.SelfCTL.SWSuspnd .EQ %00000000.10000000
|
||||
PP.SelfCTL.HWSleepE .EQ %00000001.00000000
|
||||
PP.SelfCTL.HWStndby .EQ %00000010.00000000
|
||||
PP.BufCTL .EQ $0116
|
||||
PP.TestCTL .EQ $0118
|
||||
PP.TestCTL.LID .EQ %00000000.00011001
|
||||
PP.TestCTL.DisLT .EQ %00000000.10000000
|
||||
PP.TestCTL.FDX .EQ %01000000.00000000
|
||||
PP.ISQ .EQ $0120
|
||||
PP.RxEvent .EQ $0124 Receiver Event (RO)
|
||||
PP.RxEvent.LID .EQ %00000000.00000100
|
||||
PP.RxEvent.RxOK .EQ %00000001.00000000
|
||||
PP.RxEvent.IA .EQ %00000100.00000000
|
||||
PP.RxEvent.Brdcast .EQ %00001000.00000000
|
||||
PP.RxEvent.CRCerror .EQ %00010000.00000000
|
||||
PP.RxEvent.Runt .EQ %00100000.00000000
|
||||
PP.RxEvent.Xtradata .EQ %01000000.00000000
|
||||
PP.TxEvent .EQ $0128 Transmitter Event (RO)
|
||||
PP.TxEvent.LID .EQ %00000000.00001000
|
||||
PP.BufEvent .EQ $012C
|
||||
PP.RxMISS .EQ $0130
|
||||
PP.TxCOL .EQ $0132
|
||||
PP.LineST .EQ $0134 Line Status (RO)
|
||||
PP.LineST.LID .EQ %00000000.00010100
|
||||
PP.LineST.LinkOK .EQ %00000000.10000000
|
||||
PP.LineST.AUI .EQ %00000001.00000000
|
||||
PP.LineST.10BT .EQ %00000010.00000000
|
||||
PP.LineST.PolOK .EQ %00010000.00000000
|
||||
PP.LineST.CRS .EQ %01000000.00000000
|
||||
PP.SelfST .EQ $0136 Self Status (RO)
|
||||
PP.SelfST.INITD .EQ %00000000.10000000
|
||||
PP.BusST .EQ $0138 Bus Status (RO)
|
||||
PP.BusST.LID .EQ %00000000.00011000
|
||||
PP.BusST.TxBidErr .EQ %00000000.10000000
|
||||
PP.BusST.Rdy4TxNOW .EQ %00000001.00000000
|
||||
PP.TDR .EQ $013C
|
||||
PP.MAC .EQ $0158 MAC Address (RW)
|
||||
PP.RxStatus .EQ $0400
|
||||
PP.RxLength .EQ $0402
|
||||
PP.RxFrame .EQ $0404
|
||||
PP.TxFrame .EQ $0A00
|
||||
W5100.MR .EQ $C084 Mode Register
|
||||
W5100.MR.RST .EQ %10000000
|
||||
W5100.MR.PB .EQ %00010000
|
||||
W5100.MR.PPPOE .EQ %00001000
|
||||
W5100.MR.AI .EQ %00000010
|
||||
W5100.MR.IND .EQ %00000001
|
||||
W5100.AR .EQ $C085 Memory Pointer
|
||||
W5100.AR.GAR .EQ $0001
|
||||
W5100.AR.SUBR .EQ $0005
|
||||
W5100.AR.SHAR .EQ $0009
|
||||
W5100.AR.IR .EQ $0015
|
||||
W5100.AR.IMR .EQ $0016
|
||||
W5100.AR.RTR .EQ $0017
|
||||
W5100.AR.RCR .EQ $0019
|
||||
W5100.AR.RMSR .EQ $001A
|
||||
W5100.AR.TMSR .EQ $001B
|
||||
W5100.AR.PATR .EQ $001C
|
||||
W5100.AR.PTIMER .EQ $0028
|
||||
W5100.AR.PMAGIC .EQ $0029
|
||||
W5100.AR.UIPR .EQ $002A
|
||||
W5100.AR.UPORT .EQ $002E
|
||||
W5100.AR.S0.MR .EQ $0400
|
||||
W5100.AR.S0.CR .EQ $0401
|
||||
W5100.AR.S0.IR .EQ $0402
|
||||
W5100.AR.S0.SR .EQ $0403
|
||||
W5100.AR.S0.PORT .EQ $0404
|
||||
W5100.AR.S0.DHAR .EQ $0406
|
||||
W5100.AR.S0.DIPR .EQ $040C
|
||||
W5100.AR.S0.DPORT .EQ $0410
|
||||
W5100.AR.S0.MSSR .EQ $0412
|
||||
W5100.AR.S0.PROTO .EQ $0414
|
||||
W5100.AR.S0.TOS .EQ $0415
|
||||
W5100.AR.S0.TTL .EQ $0416
|
||||
W5100.AR.S0.TX.FSR .EQ $0420
|
||||
W5100.AR.S0.TX.RD .EQ $0422
|
||||
W5100.AR.S0.TX.WR .EQ $0424
|
||||
W5100.AR.S0.RX.RSR .EQ $0426
|
||||
W5100.AR.S0.RX.RD .EQ $0428
|
||||
W5100.DR .EQ $C087
|
||||
*--------------------------------------
|
||||
ERRTNOFRAME .EQ 0
|
||||
ERRNOBUFFER .EQ 1
|
||||
|
@ -42,6 +42,7 @@ TCP.PORT.TELNETS .EQ 23
|
||||
UDP.PORT.DNS .EQ 53
|
||||
UDP.PORT.DHCPC .EQ 68
|
||||
UDP.PORT.DHCPS .EQ 67
|
||||
UDP.PORT.PMAP .EQ 111
|
||||
*--------------------------------------
|
||||
S.IPCFG.STATUS .EQ 0
|
||||
S.IPCFG.STATUS.OFF .EQ %00000000 TCPIP Unconfigured
|
||||
@ -209,6 +210,16 @@ S.DNS.QTYPE.SRV .EQ 33
|
||||
S.DNS.QTYPE.ANY .EQ 255
|
||||
S.DNS.QCLASS.IN .EQ 1
|
||||
*--------------------------------------
|
||||
S.RPC.XID .EQ S.UDP+0
|
||||
S.RPC.C.RPCVERS .EQ S.UDP+4
|
||||
S.RPC.C.PROG .EQ S.UDP+8
|
||||
S.RPC.C.VERS .EQ S.UDP+12
|
||||
S.RPC.C.PROC .EQ S.UDP+16
|
||||
S.RPC.C.CRED .EQ S.UDP+20
|
||||
S.RPC.C.VERF .EQ S.UDP+24
|
||||
*
|
||||
S.RPC .EQ 28
|
||||
*--------------------------------------
|
||||
S.TCP.SRCPORT .EQ S.IP+0
|
||||
S.TCP.DSTPORT .EQ S.IP+2
|
||||
S.TCP.SEQ.NUMBER .EQ S.IP+4
|
||||
|
@ -144,6 +144,7 @@ ARP.QUERY.I ldx #0
|
||||
|
||||
jsr NEW.ARP.FRAME nothing in ARP cache, send ARP request
|
||||
bcs .9
|
||||
|
||||
phx
|
||||
ldy #S.ARP.OPERATION+1
|
||||
lda #S.ARP.OPERATION.REQ
|
||||
@ -185,7 +186,10 @@ ARP.QUERY.I ldx #0
|
||||
cpy #S.ETH.DSTMAC+6
|
||||
bne .75
|
||||
|
||||
>DEBUG
|
||||
|
||||
jsr SEND.ARP.FRAME.I
|
||||
|
||||
bcs .76
|
||||
|
||||
jsr ARP.ADD.PENDING ZPARPIP still pointing IP
|
||||
|
@ -77,7 +77,7 @@ L.DNS.CACHE .DA DNS.CACHE
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
LIB.LOAD lda bFirstLoad
|
||||
bne .8
|
||||
bne *
|
||||
jsr ARP.CLEAR
|
||||
jsr DNS.CLEAR
|
||||
inc bFirstLoad
|
||||
|
Loading…
x
Reference in New Issue
Block a user