Kernel version 0.8 : Migration from LIBSTR/PStrOut to new Kernel Frintf

This commit is contained in:
Rémy GIBERT 2016-10-17 08:21:04 +02:00
parent e8721b0548
commit b12a39c915
22 changed files with 231 additions and 461 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -17,12 +17,12 @@ STARTPROC GETTY CON ${A2OSX}SBIN/LOGIN
#STARTPROC GETTY COM2 LOGIN
#INSDRV PIC.DRV
# Network Section
#INSDRV UTHERNET.DRV 000E3A123456
INSDRV UTHERNET.DRV 000E3A123456
#INSDRV UTHERNET2.DRV 0008DC123456
#INSDRV UTHER2.AI.DRV 0008DC123456
#INSDRV LANCEGS.DRV
#STARTPROC TCPIP
#STARTPROC DHCPCLNT
STARTPROC TCPIP
STARTPROC DHCPCLNT
#STARTPROC HTTPD
#TELNETD
#NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX

View File

@ -10,7 +10,6 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
.INB INC/LIBTCPIP.I
*--------------------------------------
ZPIPCfgPtr .EQ ZPBIN
@ -35,7 +34,6 @@ CS.START cld
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
L.LIBSTR .DA LIBSTR
L.LIBTCPIP .DA LIBTCPIP
L.MSG0 .DA MSG0
L.MSG0.NL .DA MSG0.NL
@ -59,16 +57,12 @@ L.MSG2.DNS .DA MSG2.DNS
L.MSG2.HOSTNAME .DA MSG2.HOSTNAME
.DA 0
*--------------------------------------
CS.INIT >LDYA L.LIBSTR
>SYSCALL SYS.LoadLibYA
sta hLIBSTR
>LDYA L.LIBTCPIP
CS.INIT >LDYA L.LIBTCPIP
>SYSCALL SYS.LoadLibYA
sta hLIBTCPIP
>PUSHW L.MSG0
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG0
>SYSCALL SYS.PrintFYA
>LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG
>STYA ZPIPCfgPtr
@ -77,8 +71,8 @@ CS.INIT >LDYA L.LIBSTR
lda (ZPIPCfgPtr),y
bne CS.INIT.DUMPDEV
>PUSHW L.MSG0.NL
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG0.NL
>SYSCALL SYS.PrintFYA
jmp CS.INIT.DONE
CS.INIT.DUMPDEV sta DevID
@ -89,8 +83,8 @@ CS.INIT.DUMPDEV sta DevID
>SYSCALL SYS.GetDevInfoA
>STYA ZPDevInfoPtr
>PUSHW L.MSG0.L
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG0.L
>SYSCALL SYS.PrintFYA
ldy #S.DEVINFO.NET.MAC+6
.1 dey
@ -108,8 +102,8 @@ CS.INIT.DUMPDEV sta DevID
>PUSHB DevID
>PUSHW L.MSG1.DEV
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG1.DEV
>SYSCALL SYS.PrintFYA
ldy #S.DEVINFO.FLAGS
lda (ZPDevInfoPtr),y
@ -117,8 +111,8 @@ CS.INIT.DUMPDEV sta DevID
beq .2
lda #1
.2 >PUSHA
>PUSHW L.MSG1.DEV.ARP
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG1.DEV.ARP
>SYSCALL SYS.PrintFYA
ldy #S.DEVINFO.FLAGS
lda (ZPDevInfoPtr),y
@ -126,24 +120,24 @@ CS.INIT.DUMPDEV sta DevID
beq .3
lda #1
.3 >PUSHA
>PUSHW L.MSG1.DEV.IP
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG1.DEV.IP
>SYSCALL SYS.PrintFYA
ldy #S.DEVINFO.NET.STATUS
lda (ZPDevInfoPtr),y
and #S.DEVINFO.NET.STATUS.OK
bne CS.INIT.LINK
>PUSHW L.MSG1.LINK.KO
>PUSHW L.MSG1.LINK
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG1.LINK
>SYSCALL SYS.PrintFYA
bra CS.INIT.DUMPIP
CS.INIT.LINK >PUSHW L.MSG1.LINK.OK
>PUSHW L.MSG1.LINK
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG1.LINK
>SYSCALL SYS.PrintFYA
>PUSHW L.MSG1.LINKSPEED
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG1.LINKSPEED
>SYSCALL SYS.PrintFYA
ldy #S.DEVINFO.NET.STATUS
lda (ZPDevInfoPtr),y
@ -161,13 +155,13 @@ CS.INIT.LINK >PUSHW L.MSG1.LINK.OK
lda (ZPDevInfoPtr),y
and #S.DEVINFO.NET.STATUS.FD
bne .5
>PUSHW L.MSG1.DPLX.HD
>LDYA L.MSG1.DPLX.HD
bra .6
.5 >PUSHW L.MSG1.DPLX.FD
.6 >LIBCALL hLIBSTR,LIBSTR.PRINTF
.5 >LDYA L.MSG1.DPLX.FD
.6 >SYSCALL SYS.PrintFYA
CS.INIT.DUMPIP >PUSHW L.MSG2
>LIBCALL hLIBSTR,LIBSTR.PRINTF
CS.INIT.DUMPIP >LDYA L.MSG2
>SYSCALL SYS.PrintFYA
lda (ZPIPCfgPtr)
and #S.IPCFG.STATUS.OK
beq .11
@ -175,8 +169,7 @@ CS.INIT.DUMPIP >PUSHW L.MSG2
bra .10
.11 >LDYA L.MSG2.U
.10 >PUSHYA
>LIBCALL hLIBSTR,LIBSTR.PRINTF
.10 >SYSCALL SYS.PrintFYA
ldy #S.IPCFG.DHCPSRVR+3
ldx #4
@ -184,8 +177,8 @@ CS.INIT.DUMPIP >PUSHW L.MSG2
dey
dex
bne .2
>PUSHW L.MSG2.DHCPSRVR
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG2.DHCPSRVR
>SYSCALL SYS.PrintFYA
ldy #S.IPCFG.IP+7 IP/MASK
ldx #8
@ -193,8 +186,8 @@ CS.INIT.DUMPIP >PUSHW L.MSG2
dey
dex
bne .3
>PUSHW L.MSG2.IP
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG2.IP
>SYSCALL SYS.PrintFYA
ldy #S.IPCFG.GW+3
ldx #4
@ -202,8 +195,8 @@ CS.INIT.DUMPIP >PUSHW L.MSG2
dey
dex
bne .4
>PUSHW L.MSG2.GW
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG2.GW
>SYSCALL SYS.PrintFYA
ldy #S.IPCFG.DNS1+7
ldx #8
@ -211,8 +204,8 @@ CS.INIT.DUMPIP >PUSHW L.MSG2
dey
dex
bne .5
>PUSHW L.MSG2.DNS
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG2.DNS
>SYSCALL SYS.PrintFYA
lda ZPIPCfgPtr
clc
@ -230,8 +223,8 @@ CS.INIT.DUMPIP >PUSHW L.MSG2
adc #0
>PUSHYA
>PUSHW L.MSG2.HOSTNAME
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG2.HOSTNAME
>SYSCALL SYS.PrintFYA
CS.INIT.DONE lda #0 tell TSKMGR that all done ok, but
sec we do not want to stay in memory
@ -242,14 +235,11 @@ CS.DOEVENT clc
rts
*--------------------------------------
CS.QUIT lda hLIBTCPIP
>SYSCALL SYS.FreeMemA
lda hLIBSTR
>SYSCALL SYS.FreeMemA
clc
rts
*--------------------------------------
CS.END
LIBSTR >PSTRING "libstr.o"
LIBTCPIP >PSTRING "libtcpip.o"
*--------------------------------------
MSG0 >CSTRING "TCP/IP Status : "
@ -274,7 +264,6 @@ MSG2.IP >CSTRING " IP/Mask : %d.%d.%d.%d/%d.%d.%d.%d\n"
MSG2.GW >CSTRING " Gateway : %d.%d.%d.%d\n"
MSG2.DNS >CSTRING " DNS : %d.%d.%d.%d,%d.%d.%d.%d\n"
MSG2.HOSTNAME >CSTRING " Hostname : %s.%s\n"
hLIBSTR .BS 1
hLIBTCPIP .BS 1
DevID .BS 1
MAN

View File

@ -10,7 +10,6 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
*--------------------------------------
ZPPtr1 .EQ ZPBIN
ZPPtr2 .EQ ZPBIN+2

View File

@ -10,7 +10,6 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
*--------------------------------------
ZPPTR1 .EQ ZPBIN
ZPPTR2 .EQ ZPBIN+2
@ -34,24 +33,16 @@ CS.START cld
.DA CS.RUN
.DA CS.EVENT
.DA CS.QUIT
L.LIBSTR .DA LIBSTR
L.MSG0 .DA MSG0
L.MSG1 .DA MSG1
.DA 0
*--------------------------------------
CS.INIT >LDYA L.LIBSTR
>SYSCALL SYS.LoadLibYA
bcc .1
rts
.1 sta hLIBSTR
>LDYAI DevMgr.Table
CS.INIT >LDYAI DevMgr.Table
>STYA ZPPTR1
stz DEV.ID
>PUSHW L.MSG0
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG0
>SYSCALL SYS.PrintfYA
.2 lda (ZPPTR1)
cmp #$D8
@ -74,8 +65,8 @@ CS.INIT >LDYA L.LIBSTR
>PUSHB (ZPPTR1),y
ldy #S.DEV.ID
>PUSHB (ZPPTR1),y
>PUSHW L.MSG1
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG1
>SYSCALL SYS.PrintfYA
lda ZPPTR1
clc
@ -94,19 +85,13 @@ CS.INIT >LDYA L.LIBSTR
rts
*--------------------------------------
CS.RUN
CS.EVENT clc
rts
*--------------------------------------
CS.QUIT lda hLIBSTR
>SYSCALL SYS.UnloadLibA
clc
CS.EVENT
CS.QUIT clc
rts
*--------------------------------------
CS.END
LIBSTR >PSTRING "libstr.o"
MSG0 >CSTRING "ID Flags Name Address\n"
MSG1 >CSTRING "%03d %b %4S $%H\n"
hLIBSTR .BS 1
DEV.ID .BS 1
MAN
SAVE BIN/LSDEV.S

View File

@ -10,7 +10,6 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
*--------------------------------------
ZPPTR1 .EQ ZPBIN
*--------------------------------------
@ -36,13 +35,14 @@ CS.START cld
*--------------------------------------
CS.INIT >SYSCALL SYS.GetArgC
cmp #1
bne .99
beq .99
lda #1
>SYSCALL SYS.GetArgA
>SYSCALL SYS.GetFullPathYA
stx hFullPath
>SYSCALL SYS.MKDIRYA
pha save error code
jsr .98
pla

View File

@ -10,7 +10,6 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
*--------------------------------------
PAGELEN .EQ 22
FOOTERLEN .EQ 8

View File

@ -10,7 +10,6 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
*--------------------------------------
PAGELEN .EQ 22
FOOTERLEN .EQ 8

View File

@ -10,7 +10,6 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
.INB INC/LIBTCPIP.I
*--------------------------------------
ZPPTR1 .EQ ZPBIN
@ -33,7 +32,6 @@ CS.START cld
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
L.LIBSTR .DA LIBSTR
L.LIBTCPIP .DA LIBTCPIP
L.MSG0 .DA MSG0
L.MSG1 .DA MSG1
@ -56,16 +54,12 @@ L.MSG1.S .DA MSG1.S.0
.DA MSG1.S.10
.DA 0
*--------------------------------------
CS.INIT >LDYA L.LIBSTR
>SYSCALL SYS.LoadLibYA
sta hLIBSTR
>LDYA L.LIBTCPIP
CS.INIT >LDYA L.LIBTCPIP
>SYSCALL SYS.LoadLibYA
sta hLIBTCPIP
>PUSHW L.MSG0
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG0
>SYSCALL SYS.PRINTFYA
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GETTABLE
>STYA ZPPTR1
@ -100,8 +94,8 @@ CS.INIT >LDYA L.LIBSTR
tax
>PUSHB L.MSG1+1,x
>PUSHB L.MSG1,x
>PUSHW L.MSG1
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG1
>SYSCALL SYS.PRINTFYA
.7 clc
lda ZPPTR1
@ -122,14 +116,11 @@ CS.DOEVENT clc
rts
*--------------------------------------
CS.QUIT lda hLIBTCPIP
>SYSCALL SYS.FreeMemA
lda hLIBSTR
>SYSCALL SYS.FreeMemA
clc
rts
*--------------------------------------
CS.END
LIBSTR >PSTRING "libstr.o"
LIBTCPIP >PSTRING "libtcpip.o"
MSG0 >CSTRING "Proto Local Remote Options Status\n"
MSG1 >CSTRING "%s %03d.%03d.%03d.%03d:%05D %03d.%03d.%03d.%03d:%05D %b %s\n"
@ -150,7 +141,6 @@ MSG1.S.7 >CSTRING "FIN-WAIT-1"
MSG1.S.8 >CSTRING "FIN-WAIT-2"
MSG1.S.9 >CSTRING "CLOSING"
MSG1.S.10 >CSTRING "TIME-WAIT"
hLIBSTR .BS 1
hLIBTCPIP .BS 1
SocketCount .BS 1
MAN

View File

@ -10,8 +10,6 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
.INB INC/LIBTCPIP.I
*--------------------------------------
ZPPtr1 .EQ ZPBIN
*--------------------------------------
@ -58,7 +56,7 @@ CS.INIT.READ jsr NSC.Init
bpl .1
>LDYA L.MSG.READ.KO
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintfYA
lda #DEVMGR.ERRNOHW
sec
@ -67,7 +65,7 @@ CS.INIT.READ jsr NSC.Init
.8 jsr NSC.Dump
>LDYA L.MSG.USAGE
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintfYA
lda #0 tell TSKMGR that all done ok, but
sec we do not want to stay in memory
@ -275,16 +273,16 @@ NSC.Dump ldx #1
>PUSHA
>LDYA L.MSG.READ.OK1
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintfYA
>LDYA L.MSG.READ.OK2.24
bit DS1216E.DATA+4
bpl .3
>LDYA L.MSG.READ.OK2.12
.3 >SYSCALL SYS.PStrOutYA
.3 >SYSCALL SYS.PrintfYA
>LDYA L.MSG.READ.OK3
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintfYA
lda DS1216E.DATA+2
jsr PrintBCD
@ -298,7 +296,7 @@ NSC.Dump ldx #1
jsr PrintBCD
>LDYA L.MSG.READ.OK4
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintfYA
lda DS1216E.DATA+4
bpl .4
@ -360,13 +358,13 @@ IsDigit cmp #'0'
rts
*--------------------------------------
CS.END
MSG.READ.KO >PSTRING "DS1216E Not Detected.\n"
MSG.READ.OK1 >PSTRING "DS1216E Detected:/OSC=%d,/RST=%d,mode="
MSG.READ.OK2.12 >PSTRING "am/pm"
MSG.READ.OK2.24 >PSTRING "24h"
MSG.READ.OK3 >PSTRING "\nDate:"
MSG.READ.OK4 >PSTRING "\nTime:"
MSG.USAGE >PSTRING "\n\nTo Reset the chip and set clock, type:\nNSCUTIL DD/MM/YY hh:mm:ss\n"
MSG.READ.KO >CSTRING "DS1216E Not Detected.\n"
MSG.READ.OK1 >CSTRING "DS1216E Detected:/OSC=%d,/RST=%d,mode="
MSG.READ.OK2.12 >CSTRING "am/pm"
MSG.READ.OK2.24 >CSTRING "24h"
MSG.READ.OK3 >CSTRING "\nDate:"
MSG.READ.OK4 >CSTRING "\nTime:"
MSG.USAGE >CSTRING "\n\nTo Reset the chip and set clock, type:\nNSCUTIL DD/MM/YY hh:mm:ss\n"
TmpByte .BS 1
DS1216E.PATTERN .HS 5CA33AC55CA33AC5 Reverted 7->0
DS1216E.DETECT .BS 8

View File

@ -10,7 +10,6 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
.INB INC/LIBTCPIP.I
*--------------------------------------
TIMEOUT.MAX .EQ 20 2 sec.
@ -36,7 +35,6 @@ CS.START cld
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
L.LIBSTR .DA LIBSTR
L.LIBTCPIP .DA LIBTCPIP
L.MSG0 .DA MSG0
L.MSG1 .DA MSG1
@ -52,11 +50,7 @@ CS.INIT >SYSCALL SYS.GetArgC
sec
rts
.1 >LDYA L.LIBSTR
>SYSCALL SYS.LoadLibYA
sta hLIBSTR
>LDYA L.LIBTCPIP
.1 >LDYA L.LIBTCPIP
>SYSCALL SYS.LoadLibYA
sta hLIBTCPIP
@ -106,8 +100,8 @@ CS.RUN jsr Init.Timeout
lda #1
>SYSCALL SYS.GetArgA
>PUSHYA
>PUSHW L.MSG0
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG0
>SYSCALL SYS.PrintFYA
lda #1
sec
rts
@ -123,8 +117,8 @@ CS.RUN jsr Init.Timeout
dey
>PUSHB (pData),y DST.IP+1
>PUSHB (pData) DST.IP
>PUSHW L.MSG1
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG1
>SYSCALL SYS.PrintFYA
CS.RUN.ECHO >LIBCALL hLIBTCPIP,LIBTCPIP.NEW.ICMP.FRAME
>STYA ZPFrameBase1
@ -242,8 +236,8 @@ CS.RUN.WAIT >SYSCALL SYS.Sleep
dey
>PUSHB (pData),y DST.IP+1
>PUSHB (pData) DST.IP
>PUSHW L.MSG2
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG2
>SYSCALL SYS.PrintFYA
.1 ldy #bCTRLC
lda (pData),y
@ -379,8 +373,8 @@ CS.EVENT.REPLY lda #TIMEOUT.MAX
dey
>PUSHB (ZPFrameBase1),y
>PUSHW L.MSG3
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG3
>SYSCALL SYS.PrintFYA
ldy #bReply
lda (pData),y
@ -389,8 +383,6 @@ CS.EVENT.REPLY lda #TIMEOUT.MAX
rts
*--------------------------------------
CS.QUIT lda hLIBTCPIP
>SYSCALL SYS.UnloadLibA
lda hLIBSTR
>SYSCALL SYS.UnloadLibA
clc
rts
@ -411,13 +403,11 @@ Wait.TimeOut sec
.9 rts
*--------------------------------------
CS.END
LIBSTR >PSTRING "libstr.o"
LIBTCPIP >PSTRING "libtcpip.o"
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

View File

@ -10,7 +10,6 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
*--------------------------------------
ZPPTR1 .EQ ZPBIN
ZPPTR2 .EQ ZPBIN+2
@ -34,23 +33,16 @@ CS.START cld
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
L.LIBSTR .DA LIBSTR
L.MSG0 .DA MSG0
L.MSG1 .DA MSG1
.DA 0
*--------------------------------------
CS.INIT >LDYA L.LIBSTR
>SYSCALL SYS.LoadLibYA
sta hLibStr
clc
rts
*--------------------------------------
CS.RUN >LDYAI TSKMGR.TABLE+S.PS
CS.INIT >LDYAI TSKMGR.TABLE+S.PS
>STYA ZPPTR1
stz PS.COUNT
>PUSHW L.MSG0
>LIBCALL hLibStr,LIBSTR.PRINTF
>LDYA L.MSG0
>SYSCALL SYS.PrintfYA
.1 lda (ZPPTR1)
bpl .4
@ -70,8 +62,8 @@ CS.RUN >LDYAI TSKMGR.TABLE+S.PS
ldy #S.PS.ID
lda (ZPPTR1),y
>PUSHA PID
>PUSHW L.MSG1
>LIBCALL hLibStr,LIBSTR.PRINTF
>LDYA L.MSG1
>SYSCALL SYS.PrintfYA
.4 lda ZPPTR1
clc
@ -89,18 +81,13 @@ CS.RUN >LDYAI TSKMGR.TABLE+S.PS
sec we do not want to stay in memory
rts
*--------------------------------------
CS.DOEVENT clc
rts
*--------------------------------------
CS.QUIT lda hLibStr
>SYSCALL SYS.UnloadLibA
clc
CS.RUN
CS.DOEVENT
CS.QUIT clc
rts
*--------------------------------------
CS.END
hLibStr .BS 1
PS.COUNT .BS 1
LIBSTR >PSTRING "libstr.o"
MSG0 >CSTRING "ID Flags PID Command Line\n"
MSG1 >CSTRING "%03d %b %03d %S\n"
MAN

View File

@ -10,7 +10,6 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
.INB INC/LIBTCPIP.I
*--------------------------------------
TIMEOUT.MAX .EQ 40 40*100ms = 4 sec.
@ -34,7 +33,6 @@ CS.START cld
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
L.LIBSTR .DA LIBSTR
L.LIBTCPIP .DA LIBTCPIP
L.Socket .DA Socket
L.Socket.Dst.Addr .DA Socket.Dst.Addr
@ -46,14 +44,10 @@ L.MSG.DUMP0 .DA MSG.DUMP0
L.MSG.DUMP1 .DA MSG.DUMP1
.DA 0
*--------------------------------------
CS.INIT ldy #S.PS.hARGS
lda (pPs),y
CS.INIT >SYSCALL SYS.GetArgC
cmp #1
beq .99
>LDYA L.LIBSTR
>SYSCALL SYS.LoadLibYA
sta hLIBSTR
>LDYA L.LIBTCPIP
>SYSCALL SYS.LoadLibYA
sta hLIBTCPIP
@ -80,7 +74,7 @@ CS.INIT ldy #S.PS.hARGS
rts
.99 >LDYA L.MSG.USAGE
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
lda #SYSMGR.ERRSYN
sec
rts
@ -88,9 +82,8 @@ CS.INIT ldy #S.PS.hARGS
CS.RUN jsr Init.Timeout
.1 >PUSHW L.Socket.Dst.Addr
ldy #S.PS.hARGS
lda (pPs),y
>SYSCALL SYS.GetMemPtrA
lda #1
>SYSCALL SYS.GetArgA
>PUSHYA
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME
bcc .2
@ -99,12 +92,11 @@ CS.RUN jsr Init.Timeout
jsr Wait.Timeout
bcc .1
ldy #S.PS.hARGS
lda (pPs),y
>SYSCALL SYS.GetMemPtrA
lda #1
>SYSCALL SYS.GetArgA
>PUSHYA
>LDYA L.MSG.UNKNOWN
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
sec
rts
@ -155,12 +147,11 @@ CS.RUN jsr Init.Timeout
sec
rts
.99 ldy #S.PS.hARGS
lda (pPs),y
>SYSCALL SYS.GetMemPtrA
.99 lda #1
>SYSCALL SYS.GetArgA
>PUSHYA
>LDYA L.MSG.TIMEOUT
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
sec
rts
*--------------------------------------
@ -205,11 +196,7 @@ CS.QUIT ldy #hSocket
lda (pData),y
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CLOSEA
lda hLIBSTR
beq .1
>SYSCALL SYS.UnloadLibA
.1 lda hLIBTCPIP
lda hLIBTCPIP
beq .8
>SYSCALL SYS.UnloadLibA
@ -263,8 +250,8 @@ DumpRPCFrame lda #S.UDP+24
cpy #8
bne .7
>PUSHW L.MSG.DUMP1
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.MSG.DUMP1
>SYSCALL SYS.PrintFYA
lda #20
clc
@ -277,12 +264,11 @@ DumpRPCFrame lda #S.UDP+24
.9 rts
*--------------------------------------
CS.END
LIBSTR >PSTRING "libstr.o"
LIBTCPIP >PSTRING "libtcpip.o"
MSG.USAGE >PSTRING "Usage : RPCDUMP <ip|host>\n"
MSG.UNKNOWN >PSTRING "%S: Unknown host\n"
MSG.TIMEOUT >PSTRING "No response from %S\n"
MSG.DUMP0 >PSTRING "Program Ver Proto:Port\n"
MSG.USAGE >CSTRING "Usage : RPCDUMP <ip|host>\n"
MSG.UNKNOWN >CSTRING "%S: Unknown host\n"
MSG.TIMEOUT >CSTRING "No response from %S\n"
MSG.DUMP0 >CSTRING "Program Ver Proto:Port\n"
MSG.DUMP1 >CSTRING "%10L %2d %2d:%D\n"
Socket .DA #S.SOCKET.SOCK.DGRAM
.BS 3
@ -303,7 +289,6 @@ RPC.Request .HS 12345678 XID
.HS 00000000 VERF
.HS 00000000
RPC.Request.End .EQ *
hLIBSTR .BS 1
hLIBTCPIP .BS 1
*--------------------------------------
.DUMMY

View File

@ -1,158 +0,0 @@
PR#3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
.LIST OFF
.OP 65C02
.OR $2000
.TF /A2OSX.BOOT/BIN/TEST
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
*--------------------------------------
ZPPTR1 .EQ ZPBIN
*--------------------------------------
* 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
*--------------------------------------
* Relocation Table
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
L.LIBSTR .DA LIBSTR
L.MSG0 .DA MSG0
L.MSG1 .DA MSG1
L.MSG2 .DA MSG2
L.MSG3 .DA MSG3
.DA 0
*--------------------------------------
CS.INIT >LDYA L.LIBSTR
>SYSCALL SYS.LoadLibYA
sta hLIBSTR
ldy #S.PS.hPREFIX
lda (pPs),y
>SYSCALL SYS.GetMemPtrA
>PUSHYA
>PUSHW L.MSG0
>LIBCALL hLIBSTR,LIBSTR.PRINTF
ldy #S.PS.hCS
lda (pPs),y
>SYSCALL SYS.GetMemByIDA
>STYA ZPPTR1
ldy #S.MEM.BIN
lda (ZPPTR1),y
>SYSCALL SYS.GetMemPtrA
>PUSHYA
>PUSHW L.MSG1
>LIBCALL hLIBSTR,LIBSTR.PRINTF
ldy #S.PS.hARGS
lda (pPs),y
>SYSCALL SYS.GetMemPtrA
>PUSHYA
ldy #S.PS.hCMD
lda (pPs),y
>SYSCALL SYS.GetMemPtrA
>PUSHYA
>PUSHW L.MSG2
>LIBCALL hLIBSTR,LIBSTR.PRINTF
ldy #S.PS.hENV
lda (pPs),y
>SYSCALL SYS.GetMemPtrA
>STYA ZPPTR1
.1 lda (ZPPTR1)
beq .2
>PUSHW ZPPTR1
>PUSHW L.MSG3
>LIBCALL hLIBSTR,LIBSTR.PRINTF
lda (ZPPTR1)
sec
adc ZPPTR1
sta ZPPTR1
bcc .1
inc ZPPTR1+1
bra .1
.2 ldy #bCTRLC
lda #0
sta (pData),y
clc
rts
*--------------------------------------
CS.RUN ldy #bCTRLC
lda (pData),y
beq .1
sec
rts
.1 clc
rts
*--------------------------------------
CS.DOEVENT lda (pEvent)
bpl .1 is it a TIMER event?
ora #'T'
>SYSCALL SYS.COutA
bra .9
.1 bit #S.EVT.F.KEY is it a KEY event?
beq .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
.8 clc
rts
.9 sec
rts
*--------------------------------------
CS.QUIT lda hLIBSTR
>SYSCALL SYS.FreeMemA
clc
rts
*--------------------------------------
CS.END
hLIBSTR .BS 1
LIBSTR >PSTRING "libstr.o"
MSG0 >CSTRING "PREFIX=%S\n"
MSG1 >CSTRING "BIN={%S}\n"
MSG2 >CSTRING "CMD={%S},ARGS={%S}\nENV:\n"
MSG3 >CSTRING " %S\n"
*--------------------------------------
DS.START
bCTRLC .BS 1
DS.END
*--------------------------------------
MAN
SAVE BIN/TEST.S
ASM

107
LIB/LIBTCPIP.S.CFG.txt Normal file
View File

@ -0,0 +1,107 @@
PR#3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
.LIST OFF
*--------------------------------------
* PULLW = PTR to S.IPCFG
*--------------------------------------
SET.IPCFG >PULLW ZPTmpPtr1
ldy #0
.1 lda (ZPTmpPtr1),y
sta IPCFG,y
iny
cpy #S.IPCFG
bne .1
ldx #5
.2 lda IPCFG+S.IPCFG.MAC,x
sta ARP.REQ.SRCMAC,x
sta ARP.REQ.SHA,x
sta ARP.REP.SRCMAC,x
sta ARP.REP.SHA,x
dex
bpl .2
ldx #3
.3 lda IPCFG+S.IPCFG.IP,x
sta ARP.REQ.SPA,x
sta ARP.REP.SPA,x
sta DNS.SOCKET.SA,x
dex
bpl .3
lda IPCFG+S.IPCFG.HDEV
>SYSCALL SYS.GetDevByIDA
>STYA NetDevJmp+1
ldx #DEVMGR.GETINFO
jsr NetDevJmp
>STYA ZPTmpPtr2
ldy #S.DEVINFO.FLAGS
lda (ZPTmpPtr2),y
sta DevFlags
and #S.DEVINFO.NET.FLAGS.ARPOFFLOAD
beq .4
>LDYA ZPTmpPtr1
ldx #DEVMGR.SETIPCFG
jsr NetDevJmp
.4 lda hDNSSocket1
beq .41
jsr SKT.CLOSEA
.41 lda hDNSSocket2
beq .42
jsr SKT.CLOSEA
.42 lda IPCFG+S.IPCFG.DNS1
beq .6
ldx #3
.5 lda IPCFG+S.IPCFG.DNS1,x
sta DNS.SOCKET.DA,x
dex
bpl .5
>PUSHW L.DNS.SOCKET
jsr SKT.NEW
bcs .9
stx hDNSSocket1
.6 lda IPCFG+S.IPCFG.DNS2
beq .8
ldx #3
.7 lda IPCFG+S.IPCFG.DNS2,x
sta DNS.SOCKET.DA,x
dex
bpl .7
>PUSHW L.DNS.SOCKET
jsr SKT.NEW
bcs .9
stx hDNSSocket2
.8 >LDYA ZPTmpPtr1
clc
.9 rts
*--------------------------------------
* grab a copy on the fly for lib function
* OUT :
* Y,A = PTR to S.IPCFG
*--------------------------------------
GET.IPCFG >LDYA L.IPCFG
clc
rts
*--------------------------------------
MAN
SAVE LIB/LIBTCPIP.S.CFG
LOAD LIB/LIBTCPIP.S
ASM

View File

@ -115,102 +115,6 @@ LIB.LOAD lda bFirstLoad
LIB.UNLOAD clc
rts
*--------------------------------------
* PULLW = PTR to S.IPCFG
*--------------------------------------
SET.IPCFG >PULLW ZPTmpPtr1
ldy #0
.1 lda (ZPTmpPtr1),y
sta IPCFG,y
iny
cpy #S.IPCFG
bne .1
ldx #5
.2 lda IPCFG+S.IPCFG.MAC,x
sta ARP.REQ.SRCMAC,x
sta ARP.REQ.SHA,x
sta ARP.REP.SRCMAC,x
sta ARP.REP.SHA,x
dex
bpl .2
ldx #3
.3 lda IPCFG+S.IPCFG.IP,x
sta ARP.REQ.SPA,x
sta ARP.REP.SPA,x
sta DNS.SOCKET.SA,x
dex
bpl .3
lda IPCFG+S.IPCFG.HDEV
>SYSCALL SYS.GetDevByIDA
>STYA NetDevJmp+1
ldx #DEVMGR.GETINFO
jsr NetDevJmp
>STYA ZPTmpPtr2
ldy #S.DEVINFO.FLAGS
lda (ZPTmpPtr2),y
sta DevFlags
and #S.DEVINFO.NET.FLAGS.ARPOFFLOAD
beq .4
>LDYA ZPTmpPtr1
ldx #DEVMGR.SETIPCFG
jsr NetDevJmp
.4 lda hDNSSocket1
beq .41
jsr SKT.CLOSEA
.41 lda hDNSSocket2
beq .42
jsr SKT.CLOSEA
.42 lda IPCFG+S.IPCFG.DNS1
beq .6
ldx #3
.5 lda IPCFG+S.IPCFG.DNS1,x
sta DNS.SOCKET.DA,x
dex
bpl .5
>PUSHW L.DNS.SOCKET
jsr SKT.NEW
bcs .9
stx hDNSSocket1
.6 lda IPCFG+S.IPCFG.DNS2
beq .8
ldx #3
.7 lda IPCFG+S.IPCFG.DNS2,x
sta DNS.SOCKET.DA,x
dex
bpl .7
>PUSHW L.DNS.SOCKET
jsr SKT.NEW
bcs .9
stx hDNSSocket2
.8 >LDYA ZPTmpPtr1
clc
.9 rts
*--------------------------------------
* grab a copy on the fly for lib function
* OUT :
* Y,A = PTR to S.IPCFG
*--------------------------------------
GET.IPCFG >LDYA L.IPCFG
clc
rts
*--------------------------------------
* Expire = every sec
* Retry = every 100 msec
*--------------------------------------
@ -253,8 +157,9 @@ DecDataLen lda ZPDataLen
lda #$FF Make NZ
.9 rts
*--------------------------------------
NetDevJmp jmp *
NetDevJmp jmp $ffff
*--------------------------------------
.INB LIB/LIBTCPIP.S.CFG
.INB LIB/LIBTCPIP.S.FRM
.INB LIB/LIBTCPIP.S.ARP
.INB LIB/LIBTCPIP.S.IP

View File

@ -49,16 +49,9 @@ TXT.ReadFile >PUSHWI UsrBuf256+1
lda (pData),y
beq .8
lda #'>'
>SYSCALL SYS.COutA
lda #'"'
>SYSCALL SYS.COutA
>LDYA pData
>SYSCALL SYS.PStrOutYA
lda #'"'
>SYSCALL SYS.COutA
lda #13
>SYSCALL SYS.COutA
>PUSHW pData
>LDYA L.MSG.ECHO
>SYSCALL SYS.PrintFYA
.8 clc
.9 rts
*--------------------------------------

View File

@ -11,7 +11,6 @@ AUTO 6
.INB INC/MACROS.I
.INB INC/PRODOS.I
.INB INC/A2OSX.I
.INB INC/LIBSTR.I
*--------------------------------------
ZPPTR1 .EQ ZPBIN
ZPPTR2 .EQ ZPBIN+2
@ -39,6 +38,7 @@ CS.START cld
.DA CS.QUIT
*--------------------------------------
L.MSG.GREETINGS .DA MSG.GREETINGS
L.MSG.ECHO .DA MSG.ECHO
L.MSG.ERROR .DA MSG.ERROR
L.ENV.PATH .DA ENV.PATH
L.CMD .DA CMD
@ -434,6 +434,7 @@ CMDS >PSTRING "CD"
.HS 00
*--------------------------------------
MSG.GREETINGS >PSTRING "\nA2osX-Shell on Dev=%h\n\n"
MSG.ECHO >CSTRING ">%S\n"
MSG.ERROR >PSTRING "[%h]\n"
FMT.DATE >PSTRING "%a %A %b %B %Y/%m/%d"
FMT.TIME >PSTRING "%H:%M:%S (%I:%M:%S%p)"

View File

@ -7,42 +7,42 @@ AUTO 6
*--------------------------------------
CFG.Read >PUSHW L.HOSTNAME
>LDYA L.MSG.CFG
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
jsr CFG.Read.HOSTNAME
bcc .1
>PUSHA
>LDYA L.MSG.CFG.KO
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
bra .2
.1 >LDYA L.MSG.CFG.OK
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
.2 >PUSHW L.TCPIP.CONF
>LDYA L.MSG.CFG
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
jsr CFG.Read.TCPIP.CONF
bcc .3
>PUSHA
>LDYA L.MSG.CFG.KO
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
bra .4
.3 >LDYA L.MSG.CFG.OK
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
.4 >PUSHW L.HOSTS
>LDYA L.MSG.CFG
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
jsr CFG.Read.HOSTS
bcc .5
>PUSHA
>LDYA L.MSG.CFG.KO
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
bra .6
.5 >LDYA L.MSG.CFG.OK
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
.6 rts
*--------------------------------------
CFG.Read.HOSTNAME

View File

@ -104,7 +104,7 @@ CS.INIT.DEV >LDYA L.DEVNAME
bne CS.INIT.DEV
>LDYA L.MSG.DEV.KO
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
lda #DEVMGR.ERRDNF
sec
rts
@ -116,7 +116,7 @@ CS.INIT.DEV >LDYA L.DEVNAME
>PUSHW L.DEVNAME
>LDYA L.MSG.DEV.OK
>SYSCALL SYS.PStrOutYA
>SYSCALL SYS.PrintFYA
ldx #DEVMGR.OPEN
jsr pNetDevJmp
@ -205,11 +205,12 @@ CS.END
*--------------------------------------
LIBTCPIP >PSTRING "libtcpip.o"
DEVNAME >PSTRING "ETH1"
MSG.DEV.KO >PSTRING "TCPIP:No Device Found, exiting.\n"
MSG.DEV.OK >PSTRING "TCPIP:Bound To Device : %S\n"
MSG.CFG >PSTRING "TCPIP:Reading %S..."
MSG.CFG.KO >PSTRING "Failed!!! [%h]\n"
MSG.CFG.OK >PSTRING "OK.\n"
MSG.DEV.KO >CSTRING "TCPIP:No Device Found, exiting.\n"
MSG.DEV.OK >CSTRING "TCPIP:Bound To Device : %S\n"
MSG.CFG >CSTRING "TCPIP:Reading %S..."
MSG.CFG.KO >CSTRING "Failed!!! [%h]\n"
MSG.CFG.OK >CSTRING "OK.\n"
*--------------------------------------
HOSTNAME >PSTRING "${A2OSX}ETC/HOSTNAME"
TCPIP.CONF >PSTRING "${A2OSX}ETC/TCPIP.CONF"
HOSTS >PSTRING "${A2OSX}ETC/HOSTS"