Kernel 0.9.1 : Code reorganization & move to CSTR

This commit is contained in:
Rémy GIBERT 2017-08-25 17:02:16 +02:00
parent 2f8dbba25a
commit fc3fc7e817
68 changed files with 1061 additions and 970 deletions

Binary file not shown.

Binary file not shown.

View File

@ -99,7 +99,7 @@ CS.RUN.QUERY jsr Init.Timeout
bpl .4
>LDYA L.MSG2
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.8 lda #0
@ -110,7 +110,7 @@ CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.ARP.GetC.ACHE
>STYA ZPPTR1
>LDYA L.MSG0
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldx #K.ARPCACHE.SIZE
@ -138,7 +138,7 @@ CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.ARP.GetC.ACHE
>LDYA L.MSG1
phx
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
plx
.4 lda ZPPTR1

View File

@ -58,7 +58,7 @@ FIO.OpenFileA sta FIO.hFileName
.1 >PUSHW ZPPtr1
>LDYA L.MSG.SRC.FILE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #SRC.COUNT
lda (pData),y
@ -258,7 +258,7 @@ FIO.LOAD.ASM.T ldy #ASM.T.hMem
.1 >PUSHW L.ASM.T.FILENAME
>LDYA L.MSG.T.FILE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>PUSHWI 0 Aux type
>PUSHBI 6 S.FILEINFO.TYPE.BIN

View File

@ -25,7 +25,7 @@ SRC.PrintLine ldy #ASM.MACRO.ON
dey
>PUSHB (pData),y
>LDYA L.MSG.SRCLINE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.9 rts
*---------------------------------------
SRC.PrintLineErr ldx #0

View File

@ -52,7 +52,7 @@ SYM.Quit ldy #SYM.pLastGBlock
rts
*---------------------------------------
SYM.Dump >LDYA L.MSG.SYMBOLS
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #SYM.DumpCount
lda #20
@ -92,7 +92,7 @@ SYM.Dump >LDYA L.MSG.SYMBOLS
>PUSHA
>LDYA L.MSG.GSYMBOL
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
@ -105,7 +105,7 @@ SYM.Dump >LDYA L.MSG.SYMBOLS
pla
>PUSHA
>LDYA L.MSG.LSYMBOL
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcc .4
rts

View File

@ -177,7 +177,7 @@ CS.INIT >SYSCALL GetArgC
rts
.99 >LDYA L.MSG.HELP
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #ERR.INV.ARGS
sec
.9 rts
@ -206,7 +206,7 @@ CS.RUN >SYSCALL GetC
inc
>PUSHA
>LDYA L.MSG.PASS
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #SRC.hFILENAME
lda (pData),y
@ -237,7 +237,7 @@ CS.RUN >SYSCALL GetC
.1 jsr SYM.Dump
>LDYA L.MSG.SUMMARY
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #0 End of assembly, exit with no error
.99 sec
@ -259,7 +259,7 @@ CS.RUN >SYSCALL GetC
>PUSHA
>PUSHW SRC.LINENUM
>LDYA L.MSG.ERROR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
pla
sec
rts

View File

@ -53,7 +53,7 @@ CS.RUN stz K.MLI.PARAMS Sync
pha
>LDYA L.MSG.NOATK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
pla
sec
.99 rts
@ -61,7 +61,7 @@ CS.RUN stz K.MLI.PARAMS Sync
.10 >PUSHB K.MLI.PARAMS+$E NODE
>PUSHW K.MLI.PARAMS+$8 NET
>LDYA L.MSG.NETNODE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
stz K.MLI.PARAMS Sync
lda #ATLookupName
@ -97,7 +97,7 @@ CS.RUN stz K.MLI.PARAMS Sync
beq .8
>LDYA L.MSG.DUMP0
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
.1 lda ZPPTR1
@ -117,7 +117,7 @@ CS.RUN stz K.MLI.PARAMS Sync
bpl .2
>LDYA L.MSG.DUMP
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
lda ZPPTR2

View File

@ -49,7 +49,7 @@ CS.RUN stz K.MLI.PARAMS Sync
pha
>LDYA L.MSG.NOATK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
pla
sec
.99 rts

View File

@ -70,7 +70,7 @@ CS.INIT >SYSCALL GetArgC
bne .2
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
@ -235,7 +235,7 @@ CS.RUN.PRINT sty BytesRead Y,A = Bytes read
.3 >PUSHW ZPPtr1
>LDYA L.MSG.CTRLCHAR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
bra .7
@ -271,7 +271,7 @@ CS.RUN.PRINTNUM clc
>PUSHYA
>LDYA L.MSG.LINENUM
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.8 rts
*--------------------------------------
CS.RUN.OPEN >SYSCALL GetFullPath.YA

View File

@ -81,7 +81,7 @@ CS.INIT >SYSCALL GetArgC
bne .2
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
@ -192,7 +192,7 @@ CS.RUN.FILE jsr CS.RUN.GetFilePath
>PUSHWI UsrBuf256
>LDYA L.MSG.FILE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
ldy #HexFileType
@ -221,7 +221,7 @@ CS.RUN.FILE jsr CS.RUN.GetFilePath
*--------------------------------------
CS.RUN.CheckErr bcs .1
>LDYA L.MSG.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
rts
.1 pha
@ -234,7 +234,7 @@ CS.RUN.CheckErr bcs .1
>PUSHA
>LDYA L.MSG.ERR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
rts

View File

@ -83,7 +83,7 @@ CS.RUN.ADD cmp #3
CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GetC.ACHE
>STYA ZPPTR1
>LDYA L.MSG0
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #K.DNSCACHE.SIZE
sta EntryCount
@ -118,7 +118,7 @@ CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GetC.ACHE
>PUSHB (ZPPTR1) Entry Status
>LDYA L.MSG1
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.2 lda ZPPTR1
clc

View File

@ -53,7 +53,7 @@ Ctrl.A ldy #PromptMode
>PUSHW ZPPTR1
>LDYA L.MSG.HELPLINE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
inc .1+1

View File

@ -11,7 +11,7 @@ SCRN.Init ldy #ScreenH
>PUSHA
>LDYA L.SEQ.INIT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
lda #12
>SYSCALL PutChar.A
@ -58,7 +58,7 @@ SCRN.UpdateTopBar
.2 >PUSHYA
>LDYA L.MSG.TOPBAR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.9 rts
*--------------------------------------
@ -99,7 +99,7 @@ SCRN.UpdateMain ldy #ScreenY
bcs .9
>LDYA L.SEQ.CEOL
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
inc TmpByte
@ -176,7 +176,7 @@ SCRN.UpdateLineAtALenY
bcs .9
>LDYA L.SEQ.CEOL
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
rts
.9 jmp Ctrl.Q
@ -189,7 +189,7 @@ SCRN.UpdateAttrC
bpl .8
>LDYA L.SEQ.NORM
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
stz bSelected
rts
@ -198,7 +198,7 @@ SCRN.UpdateAttrC
bmi .8
>LDYA L.SEQ.INV
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
lda #$ff
sta bSelected
@ -215,11 +215,11 @@ SCRN.UpdateStatusBar
>PUSHA
>LDYA L.MSG.GOTOXY
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
>LDYA L.SEQ.INV
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
ldy #PromptMode
@ -247,7 +247,7 @@ SCRN.UpdateStatusBar
>PUSHB (pData),y
>LDYA L.MSG.STATUSBAR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
lda #58
@ -255,7 +255,7 @@ SCRN.UpdateStatusBar
bcs .9
>LDYA L.SEQ.NORM
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
jmp SCRN.GotoCurXCurY
@ -275,7 +275,7 @@ SCRN.UpdateStatusBar
tax
>LDYA L.MSG.STATUSBAR,x
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
rts
*--------------------------------------
@ -290,7 +290,7 @@ SCRN.UpdateStatusBarErrA
.1 lda #$ff
>PUSHA
>LDYA L.MSG.STATUSBAR.E
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
rts
.9 jmp Ctrl.Q
@ -319,11 +319,11 @@ SCRN.InvLineA sta .2+1
lda .2+1
>PUSHA
>LDYA L.MSG.GOTOXY
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
>LDYA L.SEQ.INV
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
ldy #ScreenW
@ -344,7 +344,7 @@ SCRN.InvLineA sta .2+1
.2 lda #$ff
>PUSHA
>LDYA L.MSG.GOTOXY
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.9 rts
*--------------------------------------
@ -365,7 +365,7 @@ GotoXY txa
>PUSHA
>LDYA L.MSG.GOTOXY
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
rts
.9 jmp Ctrl.Q
@ -509,7 +509,7 @@ SCRN.scrollUp ldy #CurX
>PUSHA
>LDYA L.SEQ.SCROLLUP
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
ldy #ScreenY+1
@ -544,7 +544,7 @@ SCRN.scrollDn ldy #CurX
>PUSHA
>LDYA L.SEQ.SCROLLDN
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
ldy #ScreenY+1

View File

@ -133,7 +133,7 @@ CS.INIT lda #$ff
.9 rts
*--------------------------------------
CS.RUN >LDYA L.SEQ.DETECT
>SYSCALL PrintFYA Send Query for term W & H
>SYSCALL PrintF.YA Send Query for term W & H
bcs .9
.1 >SYSCALL Sleep
@ -189,7 +189,7 @@ CS.QUIT ldy #hBuffer
>SYSCALL FreeMem.A
.8 >LDYA L.SEQ.RESET
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.9 rts
*--------------------------------------
CharIn tax

View File

@ -76,7 +76,7 @@ CS.INIT >SYSCALL GetArgC
bne .2
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
@ -163,7 +163,7 @@ CS.RUN jsr CS.RUN.BuildCat
bcs .9
>LDYA L.MSG.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #0
sec
rts
@ -171,7 +171,7 @@ CS.RUN jsr CS.RUN.BuildCat
.9 pha
>PUSHA
>LDYA L.MSG.ERR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
pla
sec
rts
@ -207,7 +207,7 @@ CS.RUN.BuildCat ldy #hDev
>PUSHW ZPPtr2
>LDYA L.MSG.INIT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
>PUSHW SizeInBlocks

View File

@ -67,7 +67,7 @@ CS.INIT >LDYA L.LIBTCPIP
.9 rts
*--------------------------------------
CS.RUN >LDYA L.MSG0
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG
>STYA ZPIPCfgPtr
@ -77,7 +77,7 @@ CS.RUN >LDYA L.MSG0
bne CS.RUN.DUMPDEV
>LDYA L.MSG0.NL
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jmp CS.RUN.DONE
CS.RUN.DUMPDEV sta DevID
@ -90,7 +90,7 @@ CS.RUN.DUMPDEV sta DevID
>STYA ZPDevStatPtr
>LDYA L.MSG0.L
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #S.DEVSTAT.NET.MAC+5
@ -119,7 +119,7 @@ CS.RUN.DUMPDEV sta DevID
>PUSHB DevID
>LDYA L.MSG1.DEV
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #S.DEVSTAT.NET.FLAGS
lda (ZPDevStatPtr),y
@ -128,7 +128,7 @@ CS.RUN.DUMPDEV sta DevID
lda #1
.2 >PUSHA
>LDYA L.MSG1.DEV.ARP
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #S.DEVSTAT.NET.FLAGS
lda (ZPDevStatPtr),y
@ -137,7 +137,7 @@ CS.RUN.DUMPDEV sta DevID
lda #1
.3 >PUSHA
>LDYA L.MSG1.DEV.IP
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #S.DEVSTAT.NET.STATUS
lda (ZPDevStatPtr),y
@ -145,15 +145,15 @@ CS.RUN.DUMPDEV sta DevID
bne CS.RUN.LINK
>PUSHW L.MSG1.LINK.KO
>LDYA L.MSG1.LINK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bra CS.RUN.DUMPIP
CS.RUN.LINK >PUSHW L.MSG1.LINK.OK
>LDYA L.MSG1.LINK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>LDYA L.MSG1.LINKSPEED
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #S.DEVSTAT.NET.STATUS
lda (ZPDevStatPtr),y
@ -174,10 +174,10 @@ CS.RUN.LINK >PUSHW L.MSG1.LINK.OK
>LDYA L.MSG1.DPLX.HD
bra .6
.5 >LDYA L.MSG1.DPLX.FD
.6 >SYSCALL PrintFYA
.6 >SYSCALL PrintF.YA
CS.RUN.DUMPIP >LDYA L.MSG2
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda (ZPIPCfgPtr)
and #S.IPCFG.STATUS.OK
beq .11
@ -185,7 +185,7 @@ CS.RUN.DUMPIP >LDYA L.MSG2
bra .10
.11 >LDYA L.MSG2.U
.10 >SYSCALL PrintFYA
.10 >SYSCALL PrintF.YA
ldy #S.IPCFG.DHCPSRVR+3
ldx #4
@ -194,7 +194,7 @@ CS.RUN.DUMPIP >LDYA L.MSG2
dex
bne .2
>LDYA L.MSG2.DHCPSRVR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #S.IPCFG.IP+7 IP/MASK
ldx #8
@ -203,7 +203,7 @@ CS.RUN.DUMPIP >LDYA L.MSG2
dex
bne .3
>LDYA L.MSG2.IP
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #S.IPCFG.GW+3
ldx #4
@ -212,7 +212,7 @@ CS.RUN.DUMPIP >LDYA L.MSG2
dex
bne .4
>LDYA L.MSG2.GW
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #S.IPCFG.DNS1+7
ldx #8
@ -221,7 +221,7 @@ CS.RUN.DUMPIP >LDYA L.MSG2
dex
bne .5
>LDYA L.MSG2.DNS
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda ZPIPCfgPtr
clc
@ -240,7 +240,7 @@ CS.RUN.DUMPIP >LDYA L.MSG2
>PUSHYA
>LDYA L.MSG2.HOSTNAME
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
CS.RUN.DONE lda #0 tell TSKMGR that all done ok, but
sec we do not want to stay in memory

View File

@ -200,7 +200,7 @@ CS.RUN.DEV ldy #bLong
>PUSHW ZPFileName
>LDYA L.MSG.DEVEXT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
ldy #bRecurse
@ -232,7 +232,7 @@ CS.RUN.DIR ldy #bAllmostAll
>PUSHW ZPFileName
>LDYA L.MSG.DIR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
lda #80/MAX.COL-2
@ -264,7 +264,7 @@ CS.RUN.DIR ldy #bAllmostAll
>PUSHW ZPFileName
>LDYA L.MSG.DIREXT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
.5 ldy #bRecurse
@ -295,7 +295,7 @@ CS.RUN.FILE ldy #bLong
>PUSHW ZPFileName
>LDYA L.MSG.FILE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
jsr CS.RUN.UpdateColCnt
@ -334,7 +334,7 @@ CS.RUN.FILE ldy #bLong
>PUSHW ZPFileName
>LDYA L.MSG.FILEEXT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
jsr GetNextEntry
@ -415,7 +415,7 @@ CS.RUN.ENTER.MSG
>SYSCALL GetMemPtr.A
>PUSHYA
>LDYA L.MSG.ENTER
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
rts
*--------------------------------------
CS.DOEVENT sec

View File

@ -44,7 +44,7 @@ CS.INIT clc
rts
*--------------------------------------
CS.RUN >LDYA L.MSG0
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
stz DEV.ID
@ -112,7 +112,7 @@ DumpHeader ldy #S.DEV.DRV.JMP+1
>PUSHB DEV.ID
>LDYA L.MSG1
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
rts
*--------------------------------------
DumpStatus bit DEV.S
@ -155,7 +155,7 @@ DumpStatus bit DEV.S
bra .3
.2 >LDYA L.MSG2.C
.3 >SYSCALL PrintFYA
.3 >SYSCALL PrintF.YA
rts
*--------------------------------------
CS.EVENT sec

View File

@ -50,7 +50,7 @@ CS.RUN >LDYA L.MemStat
>SYSCALL GetMemStat.YA
>LDYA L.MSG.Main
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda MemStat+S.MEMSTAT.MF
sec
@ -65,10 +65,10 @@ CS.RUN >LDYA L.MemStat
>PUSHW MemStat+S.MEMSTAT.ML
>LDYA L.MSG.Stat
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
*--------------------------------------
>LDYA L.MSG.Aux
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda MemStat+S.MEMSTAT.XF
sec
@ -83,10 +83,10 @@ CS.RUN >LDYA L.MemStat
>PUSHW MemStat+S.MEMSTAT.XL
>LDYA L.MSG.Stat
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
*--------------------------------------
>LDYA L.MSG.Kernel
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda MemStat+S.MEMSTAT.DH
sec
@ -101,10 +101,10 @@ CS.RUN >LDYA L.MemStat
>PUSHW MemStat+S.MEMSTAT.DL
>LDYA L.MSG.Stat
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>LDYA L.MSG.End
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #0
sec
rts

View File

@ -91,7 +91,7 @@ CS.RUN >SYSCALL GetC
bne .1
>LDYA L.MSG0
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.1 ldy #MEM.COUNT
lda (pData),y
@ -141,19 +141,19 @@ CS.RUN >SYSCALL GetC
ldy #USED.COUNT
>PUSHB (pData),y
>LDYA L.MSG2
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>PUSHW MemMgr.HiMem
>LDYA L.MSG3
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>PUSHW MemMgr.Free
>LDYA L.MSG4
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>PUSHW MemMgr.LoMem
>LDYA L.MSG5
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda MemMgr.Free
sec
@ -164,7 +164,7 @@ CS.RUN >SYSCALL GetC
>PUSHYA
>LDYA L.MSG6
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
sec
rts
*--------------------------------------
@ -200,7 +200,7 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN
>PUSHA
>LDYA L.MSG1
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda (ZPPTR1) Free ? assume raw data...
bpl .10
@ -228,7 +228,7 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN
>PUSHW ZPPTR2 String
>PUSHB (ZPPTR2) Len
>LDYA L.MSG1.STR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bra .8
.2 ldy #15
@ -238,14 +238,14 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN
bpl .3
>LDYA L.MSG1.HEX
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bra .8
****** BIN
.7 >SYSCALL GetMemPtr.A
>PUSHYA
>LDYA L.MSG1.BIN
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.8 ldy #LINE.COUNT
lda (pData),y

View File

@ -61,7 +61,7 @@ CS.INIT >LDYA L.LIBTCPIP
.9 rts
*--------------------------------------
CS.RUN >LDYA L.MSG0
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GETTABLE
>STYA ZPPTR1
@ -100,7 +100,7 @@ CS.RUN >LDYA L.MSG0
>PUSHB L.MSG1+1,x
>PUSHB L.MSG1,x
>LDYA L.MSG1
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.7 lda ZPPTR1
clc

View File

@ -64,7 +64,7 @@ CS.INIT >SYSCALL GetArgC
rts
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts

View File

@ -60,7 +60,7 @@ CS.RUN.READ jsr NSC.Init
bpl .1
>LDYA L.MSG.READ.KO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
sec
@ -69,7 +69,7 @@ CS.RUN.READ jsr NSC.Init
.8 jsr NSC.Dump
>LDYA L.MSG.USAGE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #0 tell TSKMGR that all done ok, but
sec we do not want to stay in memory
@ -278,16 +278,16 @@ NSC.Dump ldx #1
>PUSHA
>LDYA L.MSG.READ.OK1
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>LDYA L.MSG.READ.OK2.24
bit DS1216E.DATA+4
bpl .3
>LDYA L.MSG.READ.OK2.12
.3 >SYSCALL PrintFYA
.3 >SYSCALL PrintF.YA
>LDYA L.MSG.READ.OK3
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda DS1216E.DATA+2
jsr PrintBCD
@ -301,7 +301,7 @@ NSC.Dump ldx #1
jsr PrintBCD
>LDYA L.MSG.READ.OK4
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda DS1216E.DATA+4
bpl .4

View File

@ -67,7 +67,7 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ?
bmi CS.RUN.IPOK
>LDYA L.MSG.IPKO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
@ -95,7 +95,7 @@ CS.RUN.IPOK >SYSCALL GetArgC
bra .99
.9 >LDYA L.MSG.USAGE
.99 >SYSCALL PrintFYA
.99 >SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
@ -115,7 +115,7 @@ CS.RUN.HOSTOK lda #1
bpl .1
>LDYA L.MSG.HOSTOK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
CS.RUN.OPENSKT ldx #3
ldy #S.IPCFG.IP+3
@ -140,7 +140,7 @@ CS.RUN.OPENSKT ldx #3
bcc .2
>LDYA L.MSG.SKTKO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
@ -246,7 +246,7 @@ CS.Print.UNREACH
dey
>PUSHB (pData),y DST.IP
>LDYA L.MSG.UNREACH
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
rts
*--------------------------------------
CS.Print.REPLY lda #TIMEOUT.MAX
@ -288,7 +288,7 @@ CS.Print.REPLY lda #TIMEOUT.MAX
>PUSHB (ZPFrameBase),y
>LDYA L.MSG.REPLY
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
rts
*--------------------------------------
CS.QUIT ldy #hFrame

View File

@ -45,7 +45,7 @@ CS.RUN >LDYAI TSKMGR.TABLE+S.PS
stz PS.COUNT
>LDYA L.MSG0
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.1 lda (ZPPTR1)
bpl .4
@ -66,7 +66,7 @@ CS.RUN >LDYAI TSKMGR.TABLE+S.PS
lda (ZPPTR1),y
>PUSHA PID
>LDYA L.MSG1
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.4 lda ZPPTR1
clc

View File

@ -74,7 +74,7 @@ CS.INIT >SYSCALL GetArgC
rts
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
@ -96,7 +96,7 @@ CS.RUN jsr Init.Timeout
>SYSCALL GetArg.A
>PUSHYA
>LDYA L.MSG.UNKNOWN
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
sec
rts
@ -158,7 +158,7 @@ CS.RUN jsr Init.Timeout
>SYSCALL GetArg.A
>PUSHYA
>LDYA L.MSG.TIMEOUT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
sec
rts
*--------------------------------------
@ -207,7 +207,7 @@ DumpRPCFrame lda #S.UDP+24
sta ZPFrameBase+1
>LDYA L.MSG.DUMP0
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.1 ldy #3
lda (ZPFrameBase),y Value follows?
@ -231,7 +231,7 @@ DumpRPCFrame lda #S.UDP+24
bne .7
>LDYA L.MSG.DUMP1
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #20
clc

View File

@ -77,7 +77,7 @@ CS.INIT >SYSCALL GetArgC
bne .2
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
@ -321,7 +321,7 @@ CS.RUN.LEAVE jsr LeaveSubDir exit this sub dir....
dey
>PUSHB (pData),y
>LDYA L.MSG.DONE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.91 ldy #RC
lda (pData),y get global RC in case of bContinue
@ -506,7 +506,7 @@ CS.RUN.FILE.MSG clc
>LDYA L.MSG.DIR
bcs .2
.1 >LDYA L.MSG.FILE
.2 >SYSCALL PrintFYA
.2 >SYSCALL PrintF.YA
rts
.8 clc
@ -524,7 +524,7 @@ CS.RUN.OVERWRITE.MSG
jsr CS.RUN.GetPathY
>PUSHYA
>LDYA L.MSG.OVERWRITE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
rts
CS.RUN.OVERWRITE.KEY
@ -688,7 +688,7 @@ CS.RUN.CheckErr bcs .1
bmi .8
>LDYA L.MSG.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
rts
.1 ldy #RC
@ -703,7 +703,7 @@ CS.RUN.CheckErr bcs .1
>PUSHA
>LDYA L.MSG.ERR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
rts

View File

@ -38,7 +38,7 @@ L.MSG.DETECT .DA MSG.DETECT
.DA 0 End Of Reloc Table
*--------------------------------------
Dev.Detect >LDYA L.MSG.DETECT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
clc
rts

View File

@ -37,7 +37,7 @@ L.MSG.DETECT .DA MSG.DETECT
.DA 0 End Of Reloc Table
*--------------------------------------
Dev.Detect >LDYA L.MSG.DETECT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldx #0
.1 txa

View File

@ -41,7 +41,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
*--------------------------------------
Dev.Detect >STYA Args
>LDYA L.MSG.DETECT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldx #$70
ldy #7
@ -62,7 +62,7 @@ Dev.Detect >STYA Args
bne .1
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
sec
@ -89,7 +89,7 @@ Dev.Detect >STYA Args
.4 >PUSHW L.DEV.HEADER.NAME
>LDYA L.MSG.DETECT.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
clc
rts
*--------------------------------------

View File

@ -74,7 +74,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
.DA 0 End Of Reloc Table
*--------------------------------------
Dev.Detect >LDYA L.MSG.DETECT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
stz ZPTmpPtr1
lda #$C1
@ -96,7 +96,7 @@ Dev.Detect >LDYA L.MSG.DETECT
bne .1
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
sec
@ -116,7 +116,7 @@ Dev.Detect >LDYA L.MSG.DETECT
>PUSHW L.DEV.HEADER.NAME
>LDYA L.MSG.DETECT.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
clc
rts
*--------------------------------------

View File

@ -36,7 +36,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
*--------------------------------------
Dev.Detect >STYA ARGS
>LDYA L.MSG.DETECT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
stz ZPTmpPtr1
lda #$C1
@ -63,7 +63,7 @@ Dev.Detect >STYA ARGS
bne .1
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV Not Found in any slot, exiting
sec
@ -86,7 +86,7 @@ Dev.Detect >STYA ARGS
>PUSHW L.DEV.HEADER.NAME
>LDYA L.MSG.DETECT.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
clc
rts
*--------------------------------------

View File

@ -38,7 +38,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
Dev.Detect >STYA ARGS
>LDYA L.MSG.DETECT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
stz ZPTmpPtr1
lda #$C1
@ -65,7 +65,7 @@ Dev.Detect >STYA ARGS
bne .1
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV Not Found in any slot, exiting
sec
@ -88,7 +88,7 @@ Dev.Detect >STYA ARGS
>PUSHW L.DEV.HEADER.NAME
>LDYA L.MSG.DETECT.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
clc
rts
*--------------------------------------

View File

@ -41,7 +41,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
Dev.Detect >STYA ARGS
>LDYA L.MSG.DETECT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
stz ZPTmpPtr1
lda #$C1
@ -68,7 +68,7 @@ Dev.Detect >STYA ARGS
bne .1
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV Not Found in any slot, exiting
sec
@ -91,7 +91,7 @@ Dev.Detect >STYA ARGS
>PUSHW L.DEV.HEADER.NAME
>LDYA L.MSG.DETECT.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
clc
rts
*--------------------------------------

View File

@ -43,7 +43,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
*--------------------------------------
Dev.Detect >STYA Args
>LDYA L.MSG.DETECT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldx #$70+$88
ldy #7
@ -87,7 +87,7 @@ Dev.Detect >STYA Args
bne .1
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
sec
@ -125,7 +125,7 @@ Dev.Detect >STYA Args
.8 >PUSHW L.DEV.HEADER.NAME
>LDYA L.MSG.DETECT.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
clc
rts
*--------------------------------------

View File

@ -41,7 +41,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
*--------------------------------------
Dev.Detect >STYA ARGS
>LDYA L.MSG.DETECT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldx #$70
ldy #7
@ -71,7 +71,7 @@ Dev.Detect >STYA ARGS
bne .1
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
sec
@ -119,7 +119,7 @@ Dev.Detect >STYA ARGS
.8 >PUSHW L.DEV.HEADER.NAME
>LDYA L.MSG.DETECT.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
clc
rts
*--------------------------------------

View File

@ -42,7 +42,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
*--------------------------------------
Dev.Detect >STYA Args
>LDYA L.MSG.DETECT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldx #$70+$88
ldy #7
@ -86,7 +86,7 @@ Dev.Detect >STYA Args
bne .1
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
sec
@ -124,7 +124,7 @@ Dev.Detect >STYA Args
.8 >PUSHW L.DEV.HEADER.NAME
>LDYA L.MSG.DETECT.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
clc
rts
*--------------------------------------

View File

@ -160,121 +160,134 @@ H.BIN.DRV.REL.TABLE .EQ 0
*--------------------------------------
* A2osX.SYSCALL Functions Indexes
*--------------------------------------
SYS.FileSearch .EQ $00
SYS.GetFullPath.YA .EQ $02
SYS.LoadFile .EQ $04
SYS.SaveFile .EQ $06
* .EQ $00
* .EQ $02
SYS.Stat .EQ $04
SYS.MKDir.YA .EQ $06
SYS.MKNod.YA .EQ $08
SYS.MKFIFO .EQ $0A
* .EQ $0C
* .EQ $0E
SYS.ChTyp .EQ $08
SYS.ChMod .EQ $0A
SYS.ChOwn .EQ $0C
SYS.ChGrp .EQ $0E
*--------------------------------------
SYS.LoadDrvYA .EQ $10
SYS.LoadLibYA .EQ $12
SYS.UnloadLibA .EQ $14
SYS.LoadBin.YA .EQ $16
SYS.TimeYA .EQ $18
SYS.CTime2Time .EQ $1A
SYS.PTime2Time .EQ $1C
* .EQ $1E
*--------------------------------------
SYS.FOpen .EQ $20
SYS.OpenDir.YA .EQ $10
SYS.ReadDir.A .EQ $12
SYS.CloseDir.A .EQ $14
* .EQ $16-$1E
SYS.FPutC.AY .EQ $20
SYS.PutChar.A .EQ $22
SYS.GetC.A .EQ $24
SYS.GetChar .EQ $26
SYS.FPutS .EQ $28
SYS.PutS.YA .EQ $2A
SYS.FGetS .EQ $2C
SYS.GetS.YA .EQ $2E
SYS.FOpen .EQ $30
SYS.FOpen.R .EQ $01 Open For Read
SYS.FOpen.W .EQ $02 Open For Write
SYS.FOpen.A .EQ $04 Append
SYS.FOpen.T .EQ $08 Open/Append in Text mode
SYS.FOpen.X .EQ $80 Create if not exists
SYS.FClose.A .EQ $22
SYS.FRead .EQ $24
SYS.FWrite .EQ $26
SYS.FFlush .EQ $28
SYS.FSeek .EQ $2A
SYS.FClose.A .EQ $32
SYS.FRead .EQ $34
SYS.FWrite .EQ $36
SYS.FFlush .EQ $38
SYS.FSeek .EQ $3A
SYS.FSeek.SET .EQ $00
SYS.FSeek.CUR .EQ $01
SYS.FSeek.END .EQ $02
SYS.FTell .EQ $2C
SYS.FEOF .EQ $2E
SYS.Remove.YA .EQ $30
SYS.Rename .EQ $32
SYS.STAT .EQ $34
* .EQ $36
SYS.OpenDir.YA .EQ $38
SYS.ReadDir.A .EQ $3A
SYS.CloseDir.A .EQ $3C
SYS.MKDir.YA .EQ $3E
SYS.FTell .EQ $3C
SYS.FEOF .EQ $3E
SYS.Remove.YA .EQ $40
SYS.Rename .EQ $42
* .EQ $44-$4E
* .EQ $50
SYS.SScanF .EQ $52
* .EQ $54
* .EQ $56
SYS.PrintF.YA .EQ $58
SYS.SPrintF.YA .EQ $5A
SYS.FPrintF.YA .EQ $5C
* .EQ $5E
SYS.FileSearch .EQ $60
SYS.GetFullPath.YA .EQ $62
SYS.LoadFile .EQ $64
SYS.SaveFile .EQ $66
SYS.ChTyp .EQ $68
SYS.ChMod .EQ $6A
SYS.ChOwn .EQ $6C
SYS.ChGrp .EQ $6E
*--------------------------------------
* .EQ $40
SYS.SScanF .EQ $42
* .EQ $44
SYS.PrintFYA .EQ $46
SYS.SPrintFYA .EQ $48
SYS.FPrintFYA .EQ $4A
SYS.AToI .EQ $4C
* .EQ $4E
*--------------------------------------
SYS.NewPStrYA .EQ $50
SYS.PStrCpy .EQ $52
SYS.PStrCat .EQ $54
SYS.PStrMatch .EQ $56
SYS.PStrUprYA .EQ $58
SYS.PStrLwrYA .EQ $5A
SYS.StrFTime .EQ $5C
*SYS.PStr2StrArrayYA .EQ $5E
*--------------------------------------
SYS.ExecProcessNewEnvYA .EQ $60
SYS.ExecProcessYA .EQ $62
SYS.CreateProcessNewEnvYA .EQ $64
SYS.CreateProcessYA .EQ $66
SYS.GetPSByIDA .EQ $68
* .EQ $6A
SYS.Sleep .EQ $6C
* .EQ $6E
*--------------------------------------
SYS.GetArgC .EQ $70
SYS.GetArg.A .EQ $72
SYS.ExpandStr.YA .EQ $74
* .EQ $76
SYS.PutEnv.YA .EQ $78
SYS.SetEnv .EQ $7A
SYS.GetEnv.YA .EQ $7C
SYS.UnsetEnv.YA .EQ $7E
*--------------------------------------
SYS.GetDevByID.A .EQ $80
SYS.GetDevByName.YA .EQ $82
SYS.GetDevStatus.A .EQ $84
* .EQ $86
SYS.MKNod.YA .EQ $88
SYS.MKNod.A .EQ $8A
SYS.MKFIFO .EQ $8C
* .EQ $8E
*--------------------------------------
SYS.GetMem .EQ $90
SYS.FreeMem.A .EQ $92
SYS.GetMemPtr.A .EQ $94
SYS.GetMemByID.A .EQ $96
SYS.GetMem.YA .EQ $98
SYS.GetMem0.YA .EQ $9A
* .EQ $9C
* .EQ $70
SYS.PStrCpy .EQ $72
SYS.PStrCat .EQ $74
SYS.PStrMatch .EQ $76
SYS.PStrUprYA .EQ $78
SYS.PStrLwrYA .EQ $7A
SYS.StrFTime .EQ $7C
* .EQ $7E
SYS.AToF .EQ $80
SYS.AToI.YA .EQ $82
SYS.AToL .EQ $84
* .EQ $86-$8E
SYS.TimeYA .EQ $90
SYS.CTime2Time .EQ $92
SYS.PTime2Time .EQ $94
* .EQ $96
SYS.GetDevByID.A .EQ $98
SYS.GetDevByName.YA .EQ $9A
SYS.GetDevStatus.A .EQ $9C
* .EQ $9E
*--------------------------------------
SYS.SetLoMem .EQ $A0
SYS.GetMemStat.YA .EQ $A2
* .EQ $A4
* .EQ $A6
SYS.LoadStkObj.YA .EQ $A8
SYS.GetStkObj.A .EQ $AA
SYS.FreeStkObj.A .EQ $AC
SYS.ExecProcessNewEnvYA .EQ $A0
SYS.ExecProcessYA .EQ $A2
SYS.CreateProcessNewEnvYA .EQ $A4
SYS.CreateProcessYA .EQ $A6
SYS.GetPSByIDA .EQ $A8
* .EQ $AA
SYS.Sleep .EQ $AC
* .EQ $AE
SYS.GetArgC .EQ $B0
SYS.GetArg.A .EQ $B2
SYS.ExpandStr.YA .EQ $B4
* .EQ $B6
SYS.PutEnv.YA .EQ $B8
SYS.SetEnv .EQ $BA
SYS.GetEnv.YA .EQ $BC
SYS.UnsetEnv.YA .EQ $BE
*--------------------------------------
SYS.FPutC.AY .EQ $B0
SYS.PutChar.A .EQ $B2
SYS.GetC.A .EQ $B4
SYS.GetChar .EQ $B6
SYS.FPutS .EQ $B8
SYS.PutS.YA .EQ $BA
SYS.FGetS .EQ $BC
SYS.GetS.YA .EQ $BE
SYS.GetMem .EQ $C0
SYS.FreeMem.A .EQ $C2
SYS.GetMemPtr.A .EQ $C4
SYS.GetMemByID.A .EQ $C6
SYS.GetMem.YA .EQ $C8
SYS.GetMem0.YA .EQ $CA
* .EQ $CC
* .EQ $CE
SYS.SetLoMem .EQ $D0
SYS.GetMemStat.YA .EQ $D2
* .EQ $D4
* .EQ $D6
SYS.LoadStkObj.YA .EQ $D8
SYS.GetStkObj.A .EQ $DA
SYS.FreeStkObj.A .EQ $DC
* .EQ $DE
*--------------------------------------
SYS.LoadLib.YA .EQ $E0
SYS.UnloadLib.A .EQ $E2
SYS.LoadDrv.YA .EQ $E4
*--------------------------------------
* ProDOS ERROR CODES : $00->$5F
* Lib ERROR CODES : $80->$BF

View File

@ -310,7 +310,32 @@ SKT.AcceptA jsr SKT.GetA.I
* A = hFile
*\--------------------------------------
SKT.MkNodA sta NODE.SSOCK+S.NODE.SSOCK.HSKT
>SYSCALL MkNodA
K.MkNod.A sta .1+1
>LDYAI S.NODE.SSOCK
jsr K.GetMem0.YA
bcs .9
>STYA ZPPtr1
ldy #S.NODE.T
lda #S.NODE.T.SSOCK
sta (ZPPtr1),y
ldy #S.NODE.SSOCK.HSKT
.1 lda #$ff
sta (ZPPtr1),y
>LDYA ZPPtr1
.9 rts
bcs .9
>STYA ZPTmpPtr1

View File

@ -49,7 +49,7 @@ L.DrawLine6.CB .DA DrawLine6.CB
.DA 0
*--------------------------------------
CS.INIT >LDYA L.MSG.INIT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>LDYA L.LIBGFX
>SYSCALL LoadLibYA

View File

@ -99,7 +99,7 @@ CS.INIT >LDYA L.LIBTCPIP
.98 >LDYA L.MSG.CFG.ND
bra .90
.99 >LDYA L.MSG.CFG.NA
.90 >SYSCALL PrintFYA
.90 >SYSCALL PrintF.YA
lda #0
sec
rts
@ -115,7 +115,7 @@ CS.RUN >PUSHW L.Socket
sta (pData),y
>LDYA L.MSG.CFG1
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jsr Init.Timeout
@ -154,7 +154,7 @@ CS.RUN.SREQ ldx #3
bpl .1
>LDYA L.MSG.CFG2
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #hSocket
>PUSHB (pData),y
@ -197,7 +197,7 @@ CS.RUN.OK lda #S.IPCFG.STATUS.OK
bpl .2
>LDYA L.MSG.CFG.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #0 Leave with NO ERROR
sec
rts
@ -205,7 +205,7 @@ CS.RUN.OK lda #S.IPCFG.STATUS.OK
CS.RUN.KO pha
>PUSHA
>LDYA L.MSG.CFG.KO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
pla
sec
rts

View File

@ -45,7 +45,7 @@ CS.INIT >SYSCALL GetArgC
bne .1
>LDYA L.MSG.USAGE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #0
sec
rts
@ -188,11 +188,11 @@ CS.RUN jsr Init.Timeout
.5
>LDYA L.MSG.TELNET.OPT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs *
>LDYA L.MSG.GREETINGS
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .8 unable to send greetings...loop..

View File

@ -60,7 +60,7 @@ CS.INIT >LDYA L.LIBTCPIP
CS.RUN jsr Init.Timeout
>LDYA L.MSG.TCPWAIT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.1 >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ?
bcs .99
@ -79,7 +79,7 @@ CS.RUN jsr Init.Timeout
jmp CS.RUN.ABORT
.99 >LDYA L.MSG.TCPIPERR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
@ -100,7 +100,7 @@ CS.RUN.INIT ldx #3
sta (pData),y
>LDYA L.MSG.INITOK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.2 >SYSCALL Sleep
jsr CS.RUN.SERVER
@ -127,13 +127,13 @@ CS.RUN.INIT ldx #3
bra .2
.9 >LDYA L.MSG.SKTERR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
CS.RUN.ABORT >LDYA L.MSG.ABORT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #0
CS.RUN.ERR sec
@ -178,7 +178,7 @@ CS.RUN.SERVER ldy #hSrvSocket
>PUSHA
>LDYA L.MSG.INCOMING
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.8 clc
.9 rts
*--------------------------------------
@ -190,7 +190,7 @@ CS.RUN.CLIENT sta hClntSocket
bcs .1
>LDYAI UsrBuf256
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>PUSHB hClntSocket
>PUSHW L.HTTP.200OK

View File

@ -42,7 +42,7 @@ CS.INIT >SYSCALL GetArgC
bne .1
>LDYA L.MSG.HELP
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #0 tell TSKMGR that all done ok, but
sec we do not want to stay in memory
rts
@ -52,12 +52,12 @@ CS.INIT >SYSCALL GetArgC
>PUSHYA
>LDYA L.MSG.LOAD
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #1 get PTR to ARG[1] (Driver name)
>SYSCALL GetArg.A
>SYSCALL LoadDrvYA YA = PTR to ARG[1...n]
>SYSCALL LoadDrv.YA YA = PTR to ARG[1...n]
bcs .99
lda #0 success, but....

View File

@ -70,7 +70,7 @@ CS.RUN >LDYA L.FILENAME
sta (pData),y
>LDYA L.MSG.TOPBAR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jsr CS.RUN.Load
bcs .1
@ -78,19 +78,19 @@ CS.RUN >LDYA L.FILENAME
bra .2
.1 >LDYA L.MSG.TOPBAR.KO
.2 >SYSCALL PrintFYA
.2 >SYSCALL PrintF.YA
>LDYA L.MSG.KCONF
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>LDYAI A2osX.HZ
jsr CS.RUN.DumpConfYA
>LDYA L.MSG.STATUSBAR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
CS.RUN.REPaint >LDYA L.MSG.FCONF
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #hFileBuf
lda (pData),y
@ -134,7 +134,7 @@ CS.RUN.Loop >SYSCALL Sleep
bra CS.RUN.REPaint
.8 >LDYA L.MSG.QUIT
.9 >SYSCALL PrintFYA
.9 >SYSCALL PrintF.YA
lda #0
sec
rts
@ -258,7 +258,7 @@ CS.RUN.DumpConfYA
>PUSHB (ZPTmp1)
>LDYA L.MSG.HZ
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #8
lda (ZPTmp1),y
@ -268,7 +268,7 @@ CS.RUN.DumpConfYA
.10 >PUSHW L.MSG.ENABLED
.12 >LDYA L.MSG.CHROOT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldy #9 Slot 1
@ -297,7 +297,7 @@ CS.RUN.DumpConfYA
>PUSHA Slot
>LDYA L.MSG.SLOT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ply
iny
@ -305,7 +305,7 @@ CS.RUN.DumpConfYA
bne .1
>LDYA L.MSG.PROMPT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
clc
rts

View File

@ -51,7 +51,7 @@ CS.RUN lda #0
sta (pData),y
>LDYA L.MSG.LOGIN
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
lda #0 Echo all caracters
@ -65,7 +65,7 @@ CS.RUN lda #0
bcc .1
>LDYA L.MSG.PASSWORD
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
lda #'*'

View File

@ -59,7 +59,7 @@ CS.INIT >LDYA L.LIBTCPIP
CS.RUN jsr Init.Timeout
>LDYA L.MSG.TCPWAIT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.1 >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ?
bcs .99
@ -73,7 +73,7 @@ CS.RUN jsr Init.Timeout
bcc .1
.99 >LDYA L.MSG.TCPIPERR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
@ -94,7 +94,7 @@ CS.RUN.INIT ldx #3
sta (pData),y
>LDYA L.MSG.INITOK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.11 >SYSCALL Sleep
ldy #bCTRLC
@ -119,17 +119,17 @@ CS.RUN.INIT ldx #3
bpl .2
>LDYA L.MSG.INCOMING
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bra .11
.9 >LDYA L.MSG.SKTERR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
.99 >LDYA L.MSG.ABORT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #0
sec
rts

View File

@ -259,7 +259,7 @@ Cmd.Exec.PWD ldy #S.PS.hPREFIX
>SYSCALL GetMemPtr.A
>PUSHYA
>LDYA L.MSG.PSTRCR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
rts
Cmd.Exec.CD1 stz UsrBuf256
@ -407,7 +407,7 @@ Cmd.Exec.SET lda ARGS
>PUSHW ZPPTR1 Push name
>LDYA L.MSG.PRINTENV
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs .9
lda ZPPTR2
@ -455,7 +455,7 @@ Cmd.Exec.SETVAR tax
>PUSHYA push value
>PUSHW L.ARGS push name
>LDYA L.MSG.PRINTENV
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.8 clc
.9 rts
@ -481,7 +481,7 @@ Cmd.Exec.TIME clc
>SYSCALL StrFTime
>LDYAI UsrBuf256
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bcs Cmd.Exec.ECHO.RTS
bra Cmd.Exec.ECHO.CR
*--------------------------------------
@ -490,7 +490,7 @@ Cmd.Exec.ECHO lda ARGS
>PUSHW L.ARGS
>LDYA L.MSG.PSTRCR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
rts
Cmd.Exec.ECHO.CR

View File

@ -151,7 +151,7 @@ CSH.Run jsr CSH.GetBuf
>PUSHW pData
>LDYA L.MSG.ECHO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.80 clc
rts

View File

@ -38,7 +38,7 @@ IO.PrintErrMsg >PUSHA Save EC for PrintF
.8 >PUSHW ZPPTR1
>LDYA L.MSG.ERROR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
rts
*--------------------------------------
MAN

View File

@ -139,7 +139,7 @@ CS.INIT jsr SetPWD
bcs .9
>LDYA L.MSG.GREETINGS
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
* clc
.9 rts
@ -283,7 +283,7 @@ CS.RUN.BATCH jsr CSH.Run
>PUSHB (pData),y
>LDYA L.MSG.CSHERR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jsr CSH.RestorePtr
@ -503,7 +503,7 @@ PrintPrompt >LDYA L.ENV.PS1
phx
>PUSHYA
>LDYA L.MSG.PROMPT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
plx
php
pha
@ -541,7 +541,7 @@ CmdLine.DEL lda (pData)
*--------------------------------------
CmdLine.SET >PUSHW pData
>LDYA L.MSG.PSTR
>SYSCALL PrintfYA
>SYSCALL PrintF.YA
rts
*--------------------------------------
.INB /A2OSX.SRC/SBIN/SHELL.S.CMD

View File

@ -7,7 +7,7 @@ AUTO 6
*--------------------------------------
CFG.Read >PUSHW L.HOSTNAME
>LDYA L.MSG.CFG
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jsr CFG.Read.HOSTNAME
bcc .1
@ -15,11 +15,11 @@ CFG.Read >PUSHW L.HOSTNAME
>LDYA L.MSG.CFG.KO
bra .2
.1 >LDYA L.MSG.CFG.OK
.2 >SYSCALL PrintFYA
.2 >SYSCALL PrintF.YA
>PUSHW L.TCPIP.CONF
>LDYA L.MSG.CFG
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jsr CFG.Read.TCPIP.CONF
bcc .3
@ -27,20 +27,20 @@ CFG.Read >PUSHW L.HOSTNAME
>LDYA L.MSG.CFG.KO
bra .4
.3 >LDYA L.MSG.CFG.OK
.4 >SYSCALL PrintFYA
.4 >SYSCALL PrintF.YA
>PUSHW L.HOSTS
>LDYA L.MSG.CFG
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jsr CFG.Read.HOSTS
bcc .5
>PUSHA
>LDYA L.MSG.CFG.KO
bra .6
.5 >SYSCALL PrintFYA
.5 >SYSCALL PrintF.YA
.6 >LDYA L.MSG.CFG.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
rts
*--------------------------------------
CFG.Read.HOSTNAME

View File

@ -95,7 +95,7 @@ CS.INIT.DEV >LDYA L.DEVNAME
bne CS.INIT.DEV
>LDYA L.MSG.DEV.KO
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #$28 MLI.ERR.NODEV
sec
rts
@ -107,7 +107,7 @@ CS.INIT.DEV >LDYA L.DEVNAME
>PUSHW L.DEVNAME
>LDYA L.MSG.DEV.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
ldx #DEVMGR.OPEN
jsr NetDevJmp

View File

@ -60,7 +60,7 @@ CS.INIT >LDYA L.LIBTCPIP
CS.RUN jsr Init.Timeout
>LDYA L.MSG.TCPWAIT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.1 >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ?
bcs .99
@ -79,7 +79,7 @@ CS.RUN jsr Init.Timeout
jmp CS.RUN.ABORT
.99 >LDYA L.MSG.TCPIPERR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
@ -100,7 +100,7 @@ CS.RUN.INIT ldx #3
sta (pData),y
>LDYA L.MSG.INITOK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.2 >SYSCALL Sleep
jsr CS.RUN.SERVER
@ -110,13 +110,13 @@ CS.RUN.INIT ldx #3
bra .2
.9 >LDYA L.MSG.SKTERR
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
sec
rts
CS.RUN.ABORT >LDYA L.MSG.ABORT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
lda #0
CS.RUN.ERR sec
@ -161,7 +161,7 @@ CS.RUN.SERVER ldy #hSrvSocket
>PUSHA
>LDYA L.MSG.INCOMING
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.8 clc
.9 rts
*--------------------------------------
@ -192,7 +192,7 @@ CS.RUN.CLIENT ldy #SktIndex
.10 sta .2+1
>PUSHA
>LDYA L.MSG.BYTE
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
.1 lda #$ff hSocket
>PUSHA

View File

@ -4,43 +4,97 @@ LOMEM $A00
INC 1
AUTO 6
*--------------------------------------
* K.LoadLib.YA
* in :
* Y,A = PTR To "LibName.o" C-String
* out :
* A = hMem To loaded LIB
*--------------------------------------
K.LoadLib.YA jsr BIN.FindLIB
bcs .9
jsr BIN.Load.YA Y,A=filename full path
bcs .9
stx .8+1
>STYA .1+1
txa Pass hLib to LibLoad
ldx #LIBMGR.LOAD
.1 jsr $ffff Self Modified, Call LIB.LOAD function
bcs .99
.8 lda #$ff hLib
clc
.9 rts
.99 pha
lda .8+1
jsr K.FreeMem.A
pla
sec
rts
*--------------------------------------
* K.UnloadLib.A
* in :
* A = hMem To Lib
* out :
*--------------------------------------
K.UnloadLib.A pha
jsr K.GetMemByID.A
>STYA ZPPtr1
ldy #S.MEM.REFCNT
lda (ZPPtr1),y Get count of those referencing this lib
dec only one left ?
beq .1
sta (ZPPtr1),y
pla
clc
rts
.1 ldy #S.MEM.PTR
lda (ZPPtr1),y
sta .2+1
iny
lda (ZPPtr1),y
sta .2+2
ldx #LIBMGR.UNLOAD
.2 jsr $ffff Self Modified, Call LIB.UNLOAD function
pla
jmp K.FreeMem.A
*--------------------------------------
* K.LoadDrv.YA
* in :
* Y,A = PTR To Full Cmd Line PStrArray
* Y,A = PTR to "NAME.DRV [PARAM]" C-String
* out :
* none
*--------------------------------------
K.LoadDrv.YA >STYA K.LoadDrv.CmdArray
>LDYAI ENV.DRV push ENVNAME=DRV
>SYSCALL GetEnv.YA get value for ENV=DRV
bcs .9
>PUSHYA Push $DRV value
>PUSHW K.LoadDrv.CmdArray (ARG[0] = DRVNAME)
jsr K.FileSearch.I find Driver in $DRV
K.LoadDrv.YA jsr BIN.FindDRV
bcs .9
>LDYAI K.Buf256
jsr K.LoadBin.YA Y,A =filename full path
jsr BIN.Load.YA Y,A =filename full path
bcs .9
>STYA pDrv
stx .97+1
>LDYA K.LoadDrv.CmdArray
>LDYA BIN.CmdLine
>STYA ZPPtr1
.1 lda (ZPPtr1) Advance to ARG[1]
beq .2
pha
inc ZPPtr1
bne .1
bne .2
inc ZPPtr1+1
bra .1
.2 >LDYA ZPPtr1
.2 pla
bne .1
>LDYA ZPPtr1
jsr pDrvJmp call Dev.Detect
bcs .96
@ -60,95 +114,42 @@ K.LoadDrv.YA >STYA K.LoadDrv.CmdArray
pla
rts
*--------------------------------------
K.LoadDrv.CmdArray .BS 2
*--------------------------------------
* K.LoadLib.YA
* in :
* Y,A = PTR To Lib Name
* out :
* A = hMem To loaded LIB
*--------------------------------------
K.LoadLib.YA >STYA K.LoadLib.Name SAVE LIBname for K.FileSearch
>LDYAI ENV.LIB push ENVNAME=LIB
>SYSCALL GetEnv.YA get value for ENV=LIB
BIN.FindLIB clc
.HS B0 bcs
BIN.FindDRV sec
>STYA BIN.CmdLine
>LDYAI BIN.Find.ENV.LIB
bcc .1
>LDYAI BIN.Find.ENV.DRV
.1 >SYSCALL GetEnv.YA get value for Search Path
bcs .9
>PUSHYA Push $LIB value
>PUSHYA Push Search path
>PUSHW K.LoadLib.Name
>LDYA BIN.CmdLine
jsr K.FileSearch.I find libname in $LIB
jsr K.FileSearch.I find libname in Search
bcs .9
>LDYAI K.Buf256
jsr K.LoadBin.YA Y,A=filename full path
bcs .9
stx .8+1
>STYA LIB.Jump+1
txa Pass hLib to LibLoad
ldx #LIBMGR.LOAD
jsr LIB.Jump Call LIB.LOAD function
bcs .99
.8 lda #$ff hLib
clc
.9 rts
.99 pha
lda .8+1
jsr K.FreeMem.A
pla
sec
rts
*--------------------------------------
K.LoadLib.Name .BS 2
BIN.Find.ENV.DRV >CSTR "DRV"
BIN.Find.ENV.LIB >CSTR "LIB"
*--------------------------------------
* K.UnloadLib.A
* in :
* A = hMem To Lib
* out :
*--------------------------------------
K.UnloadLib.A pha
jsr K.GetMemByID.A
>STYA ZPPtr1
ldy #S.MEM.REFCNT
lda (ZPPtr1),y Get count of those referencing this lib
dec only one left ?
beq .1
sta (ZPPtr1),y
pla
clc
rts
.1 ldy #S.MEM.PTR
lda (ZPPtr1),y
sta LIB.Jump+1
iny
lda (ZPPtr1),y
sta LIB.Jump+2
ldx #LIBMGR.UNLOAD
jsr LIB.Jump Call LIB.UNLOAD function
pla
jmp K.FreeMem.A
LIB.Jump jmp $ffff Self Modiied
*--------------------------------------
* K.LoadBin.YA
* BIN.Load.YA
* in :
* A = hMem of FilePath (PSTR)
* out :
* Y,A = MEMPTR
* X = hMem of Code Segment
*--------------------------------------
K.LoadBin.YA >STYA K.LoadBin.YA.Filename
BIN.Load.YA >STYA BIN.CmdLine
jsr MEM.GetMemByNameYA
bcs K.LoadBin.YA.1 not already loaded
bcs BIN.Load.YA.1 not already loaded
>STYA ZPPtr1 Save base address
ldy #S.MEM.REFCNT
@ -159,8 +160,8 @@ K.LoadBin.YA >STYA K.LoadBin.YA.Filename
txa
jmp K.GetMemPtr.A X=hMem from K.GetMemByNameA
*--------------------------------------
K.LoadBin.YA.1 >PUSHWI K.S.STAT
>PUSHW K.LoadBin.YA.Filename
BIN.Load.YA.1 >PUSHWI K.S.STAT
>PUSHW BIN.CmdLine
jsr K.STAT Look for AUXTYPE
bcs .9
@ -170,12 +171,12 @@ K.LoadBin.YA.1 >PUSHWI K.S.STAT
>PUSHYA Push AUXTYPE
>PUSHBI 6 S.FILEINFO.TYPE.BIN
>PUSHBI SYS.FOpen.R
>PUSHW K.LoadBin.YA.Filename
>PUSHW BIN.CmdLine
jsr K.LoadFile
.9 bcs .99 Error Loading file
stx K.LoadBin.YA.hMem save hMem
stx BIN.hMem save hMem
pha YA=CODE+DATA size
tya
@ -212,11 +213,11 @@ K.LoadBin.YA.1 >PUSHWI K.S.STAT
jsr BIN.RelocateEXE
>LDYA K.LoadBin.YA.Filename get back bin path
>SYSCALL NewPStrYA make a copy of this string
>LDYA BIN.CmdLine get back bin path
jsr K.NewPStr.YA make a copy of this string
bcs .98
lda K.LoadBin.YA.hMem Keep X=hMem
lda BIN.hMem Keep X=hMem
jsr K.GetMemByID.A X unmodified
>STYA ZPPtr1
@ -228,28 +229,28 @@ K.LoadBin.YA.1 >PUSHWI K.S.STAT
ldy #S.MEM.BIN
sta (ZPPtr1),y
lda K.LoadBin.YA.hMem
lda BIN.hMem
tax return hMEM to Caller...
jsr K.GetMemPtr.A
clc ...and Y,A=PTR to CS
rts
.98 pha
lda K.LoadBin.YA.hMem
lda BIN.hMem
jsr K.FreeMem.A Discard Loaded Code
pla
sec
.99 rts
*--------------------------------------
K.LoadBin.YA.Filename .BS 2
K.LoadBin.YA.hMem .BS 1
BIN.CmdLine .BS 2
BIN.hMem .BS 1
*--------------------------------------
* BIN.InstallDRV
* In:
* pDrv = .DRV File Loaded Address
* Note:
* K.LoadBin.YA called from K.LoadDrvYA
* BIN.Load.YA called from K.LoadDrvYA
* Already setup correctly pDrv,
* BIN.Relocate.Start,End
*--------------------------------------

View File

@ -17,9 +17,6 @@ EvtMgr.Count .BS 1
TskMgr.Count .DA #1 One Slot Busy (Kernel PS=0)
TskMgr.LastID .DA #0
*--------------------------------------
ENV.DRV >PSTR "DRV"
ENV.LIB >PSTR "LIB"
*--------------------------------------
EmptyPSTR .DA #0
*--------------------------------------
MAN

View File

@ -15,7 +15,7 @@ AUTO 6
*\--------------------------------------
K.OpenDir.YA jsr PFT.CheckPathYA
>STYA ZPPtr2
>STYA K.MLI.PARAMS+1 For GETFILEINFO,MLIOPEN
jsr STDIO.SetMLIPathYA For GETFILEINFO,MLIOPEN
>LDYAI S.NODE.DIR
jsr K.GetMem0.YA
@ -518,6 +518,11 @@ K.ReadDir.A.AddStat
inc ZPPtr4+1
.8 rts
*--------------------------------------
ADDF.SRC .HS 1013141516171f20
ADDF.DST .DA #S.STAT.P.TYPE,#S.STAT.BLOCKS,#S.STAT.BLOCKS+1
.DA #S.STAT.SIZE,#S.STAT.SIZE+1,#S.STAT.SIZE+2
.DA #S.STAT.P.AUXTYPE,#S.STAT.P.AUXTYPE+1
*--------------------------------------
K.ReadDir.A.ClrStat
ldx #S.STAT-1
@ -594,11 +599,6 @@ K.ReadDir.A.ConvertTime
adc #0
sta ZPPtr1+1
jmp TIME.PTime2TimePtr1Ptr2
*--------------------------------------
ADDF.SRC .HS 1013141516171f20
ADDF.DST .DA #S.STAT.P.TYPE,#S.STAT.BLOCKS,#S.STAT.BLOCKS+1
.DA #S.STAT.SIZE,#S.STAT.SIZE+1,#S.STAT.SIZE+2
.DA #S.STAT.P.AUXTYPE,#S.STAT.P.AUXTYPE+1
*/-------------------------------------
* # CloseDir.A
* ## In:
@ -606,7 +606,7 @@ ADDF.DST .DA #S.STAT.P.TYPE,#S.STAT.BLOCKS,#S.STAT.BLOCKS+1
* ## Out:
* none, always succeed.
*\-------------------------------------
K.CloseDir.A .EQ K.FClose.A
K.CloseDir.A .EQ K.FClose.A
K.CloseDir.A.1 .EQ K.FClose.A.1
*--------------------------------------
MAN

View File

@ -4,42 +4,6 @@ LOMEM $A00
INC 1
AUTO 6
*/--------------------------------------
* # NewPStrYA
* Create a new copy of PSTR
* ## In:
* Y,A = PTR to buffer
* ## Out:
* CC : success
* Y,A = PTR to String
* X = hMem (PSTR)
* CS : error
* A = SYS error code
*\--------------------------------------
K.NewPStr.YA >STYA ZPPtr2
lda (ZPPtr2)
inc
tay
lda #0 Y,A = len of new string
jsr K.GetMem.YA
bcs .9
>STYA ZPPtr1
lda (ZPPtr2)
sta (ZPPtr1)
tay
beq .2
.1 lda (ZPPtr2),y
sta (ZPPtr1),y
dey
bne .1
.2 >LDYA ZPPtr1
clc
.9 rts
*/--------------------------------------
* # ExpandPStr.YA
* ## In:
* Y,A = PTR to String to Expand (PSTR)

View File

@ -126,7 +126,7 @@ K.GetFullPath.YA
>SYSCALL PStrCat
K.GetFullPath.YA.NewStr
>LDYAI K.Buf256
>SYSCALL NewPStrYA
jsr K.NewPStr.YA
rts
K.GetFullPath.YA.9

View File

@ -48,12 +48,12 @@ GO.Reset jsr GO.A2osX
*--------------------------------------
* *** MUST BE REINTRANT ***
*--------------------------------------
A2osX.SYSCALL1 bit K.SYSCALL.FLAGS,x
A2osX.SYSCALL1 bit K.SYSCALL.BANK,x
bpl .8 in $E000, no BNK change
sta .7+1 save A (Func Arg)
lda K.SYSCALL.FLAGS+1,x Get Target BNK
lda K.SYSCALL.BANK,x Get Target BNK
cmp $D000 #RRAMWRAMBNK1 or #RRAMWRAMBNK2
beq .7 same as actual BNK...go restore A and JMP

View File

@ -105,30 +105,30 @@ Kernel.Init3 sta SETALTZP
jsr PS0Init
bcs *
>LDYAI MSG.Init3
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>LDYAI MSG.DEV
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jsr DevMgrInit
bcs *
>LDYAI MSG.IRQ
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jsr IrqMgrInit
bcs *
>LDYAI MSG.EVT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jsr EvtMgrInit
bcs *
>LDYAI MSG.FLT
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jsr FltMgrInit
bcs *
>LDYAI MSG.TSK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
jsr TskMgrInit
bcs *
@ -138,11 +138,11 @@ Kernel.Init3 sta SETALTZP
>PUSHYA
>LDYAI MSG.Prefix
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>PUSHWI STARTUP.CMDLINE
>LDYAI MSG.Startup
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>LDYAI STARTUP.CMDLINE
>SYSCALL ExpandStr.YA
@ -153,7 +153,7 @@ Kernel.Init3 sta SETALTZP
>SYSCALL FreeMem.A ...discard...
>LDYAI MSG.Init3.OK
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
>LDYAI TskMgr.Table
>STYA pPs
@ -166,7 +166,7 @@ Kernel.Init3 sta SETALTZP
.9 >PUSHA
>LDYAI MSG.StartupErr
>SYSCALL PrintFYA
>SYSCALL PrintF.YA
bra * No need to discard Expanded CMDLINE
*--------------------------------------
@ -781,7 +781,7 @@ TskMgrInit >LDYAI TskMgr.Table+S.PS Clear whole process table except PS0
bcs .9
>LDYAI K.Buf256
>SYSCALL NewPStrYA
jsr K.NewPStr.YA
bcs .9
txa

View File

@ -4,29 +4,38 @@ LOMEM $A00
INC 1
AUTO 6
*--------------------------------------
* $D000-D0FF K.SYSCALL.JMP Jmp Table
* $E000-E0FF K.SYSCALL.JMP Jmp Table
*--------------------------------------
* Bank 1
*--------------------------------------
K.SYSCALL.JMP .DA K.FileSearch $00
.DA K.GetFullPath.YA
.DA K.LoadFile
.DA K.SaveFile
.DA K.ChTyp
.DA K.ChMod
.DA K.ChOwn
.DA K.ChGrp
*--------------------------------------
.DA K.LoadDrv.YA $10
.DA K.LoadLib.YA
.DA K.UnloadLib.A
.DA K.LoadBin.YA
.DA K.Time.YA
.DA K.CTime2Time
.DA K.PTime2Time
K.SYSCALL.JMP .DA 0 $00
.DA 0
.DA K.Stat
.DA K.MKDir.YA
.DA K.MKNod.YA
.DA K.MKFIFO
.DA 0
*--------------------------------------
.DA K.FOpen $20
.DA 0
.DA K.OpenDir.YA $10
.DA K.ReadDir.A
.DA K.CloseDir.A
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
.DA K.FPutC.AY $20
.DA K.PutChar.A
.DA K.GetC.A
.DA K.GetChar
.DA K.FPutS
.DA K.PutS.YA
.DA K.FGetS
.DA K.GetS.YA
.DA K.FOpen $30
.DA K.FClose.A
.DA K.FRead
.DA K.FWrite
@ -34,37 +43,64 @@ K.SYSCALL.JMP .DA K.FileSearch $00
.DA K.FSeek
.DA K.FTell.A
.DA K.FEOF.A
*--------------------------------------
.DA K.Remove.YA $30
.DA K.Remove.YA $40
.DA K.Rename
.DA K.Stat
.DA 0
.DA K.OpenDir.YA
.DA K.ReadDir.A
.DA K.CloseDir.A
.DA K.MKDir.YA
*--------------------------------------
* Bank 2
*--------------------------------------
.DA 0 $40
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0 $50
.DA K.SScanF
.DA 0
.DA 0
.DA K.PrintF.YA
.DA K.SPrintF.YA
.DA K.FPrintF.YA
.DA K.AToI
.DA 0
.DA K.FileSearch $60
.DA K.GetFullPath.YA
.DA K.LoadFile
.DA K.SaveFile
.DA K.ChTyp
.DA K.ChMod
.DA K.ChOwn
.DA K.ChGrp
*--------------------------------------
.DA 0 $50
* Bank 2
*--------------------------------------
.DA 0 $70
.DA K.StrCpy
.DA K.StrCat
.DA K.StrMatch
.DA K.StrUpr.YA
.DA K.StrLwr.YA
.DA K.StrFTime
.DA 0 K.PStr2StrArrayYA
*--------------------------------------
.DA K.ExecProcessNewEnv.YA $60
.DA 0
.DA K.AToF $80
.DA K.AToI.YA
.DA K.AToL
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
.DA K.Time.YA $90
.DA K.CTime2Time
.DA K.PTime2Time
.DA 0
.DA K.GetDevByID.A
.DA K.GetDevByName.YA
.DA K.GetDevStatus.A
.DA 0
.DA K.ExecProcessNewEnv.YA $A0
.DA K.ExecProcess.YA
.DA K.CreateProcessNewEnv.YA
.DA K.CreateProcess.YA
@ -72,8 +108,8 @@ K.SYSCALL.JMP .DA K.FileSearch $00
.DA 0
.DA K.Sleep
.DA 0
*--------------------------------------
.DA K.GetArgC $70
.DA K.GetArgC $B0
.DA K.GetArg.A
.DA K.ExpandPStr.YA
.DA 0
@ -81,19 +117,10 @@ K.SYSCALL.JMP .DA K.FileSearch $00
.DA K.SetEnv
.DA K.GetEnv.YA
.DA K.UnsetEnv.YA
*--------------------------------------
.DA K.GetDevByID.A $80
.DA K.GetDevByName.YA
.DA K.GetDevStatus.A
.DA 0
.DA K.MKNod.YA
.DA K.MKNod.A
.DA K.MKFIFO
.DA 0
*--------------------------------------
* $E000
*--------------------------------------
.DA K.GetMem $90
.DA K.GetMem $C0
.DA K.FreeMem.A
.DA K.GetMemPtr.A
.DA K.GetMemByID.A
@ -102,7 +129,7 @@ K.SYSCALL.JMP .DA K.FileSearch $00
.DA 0
.DA 0
*--------------------------------------
.DA K.SetLoMem $A0
.DA K.SetLoMem $D0
.DA K.GetMemStat.YA
.DA 0
.DA 0
@ -111,19 +138,23 @@ K.SYSCALL.JMP .DA K.FileSearch $00
.DA K.FreeStkObj.A
.DA 0
*--------------------------------------
.DA K.FPutC.AY $B0
.DA K.PutChar.A
.DA K.GetC.A
.DA K.GetChar
.DA K.FPutS
.DA K.PutS.YA
.DA K.FGetS
.DA K.GetS.YA
.DA K.LoadLib.YA $E0
.DA K.UnloadLib.A
.DA K.LoadDrv.YA
*--------------------------------------
* LO Byte :
* #RRAMWRAMBNK1 or #RRAMWRAMBNK2
* #RRAMWRAMBNK1,#RRAMWRAMBNK2
* HI Byte :
* Flags (ROOT....)
*--------------------------------------
K.SYSCALL.FLAGS .DA #$80 $00
K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
@ -131,7 +162,83 @@ K.SYSCALL.FLAGS .DA #$80 $00
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $10
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $20
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $30
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $40
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $50
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
@ -140,154 +247,111 @@ K.SYSCALL.FLAGS .DA #$80 $00
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1 $60
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
*--------------------------------------
.DA #$80 $10
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2 $70
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2 $80
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2 $90
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1
*--------------------------------------
.DA #$80 $20
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2 $A0
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2 $B0
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1
*--------------------------------------
.DA #$80 $30
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
*--------------------------------------
* $40 -> $8E
*--------------------------------------
.DA #$80 $40
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
*--------------------------------------
.DA #$80 $50
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
*--------------------------------------
.DA #$80 $60
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
*--------------------------------------
.DA #$80 $70
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
*--------------------------------------
.DA #$80 $80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
*--------------------------------------
.DA 0 $90 : MemMgr at $E000
.DA 0 $C0 : MemMgr at $E000
.DA 0
.DA 0
.DA 0
@ -305,7 +369,7 @@ K.SYSCALL.FLAGS .DA #$80 $00
.DA 0
.DA 0
*--------------------------------------
.DA 0 $A0
.DA 0 $D0
.DA 0
.DA 0
.DA 0
@ -323,7 +387,7 @@ K.SYSCALL.FLAGS .DA #$80 $00
.DA 0
.DA 0
*--------------------------------------
.DA 0 $B0
.DA 0 $E0
.DA 0
.DA 0
.DA 0
@ -350,6 +414,42 @@ PullPtr1Ptr2 clc
bcc .9
>PULLW ZPPtr3
.9 rts
*/--------------------------------------
* # NewPStrYA
* Create a new copy of PSTR
* ## In:
* Y,A = PTR to buffer
* ## Out:
* CC : success
* Y,A = PTR to String
* X = hMem (PSTR)
* CS : error
* A = SYS error code
*\--------------------------------------
K.NewPStr.YA >STYA ZPPtr2
lda (ZPPtr2)
inc
tay
lda #0 Y,A = len of new string
jsr K.GetMem.YA
bcs .9
>STYA ZPPtr1
lda (ZPPtr2)
sta (ZPPtr1)
tay
beq .2
.1 lda (ZPPtr2),y
sta (ZPPtr1),y
dey
bne .1
.2 >LDYA ZPPtr1
clc
.9 rts
*--------------------------------------
MAN
SAVE /A2OSX.SRC/SYS/KERNEL.S.JMP

View File

@ -245,7 +245,7 @@ PS.Init >LDYA K.CreateProcess.CmdLine
pla Restore PTR...
ply
>SYSCALL LoadBin.YA Y,A=filename full path
jsr BIN.Load.YA Y,A=filename full path
bcs .9
>STYA ZPPtr4 save PTR to Code Segment

View File

@ -8,11 +8,11 @@ AUTO 6
* Return information about a file
* ## In :
* PUSHW = PTR to S.STAT buffer
* PUSHW = PTR to Filename (PSTR)
* PUSHW = PTR to Filename (C-String)
* ## Out :
*\--------------------------------------
K.Stat jsr PFT.CheckPathSTK
>PULLW K.MLI.PARAMS+1
jsr STDIO.PullMLIPath
>PULLW K.Stat.StoreY+1
>MLICALL MLIGETFILEINFO
bcs .9
@ -157,33 +157,6 @@ K.MkNod.YA jsr K.GetDevByName.YA Ptr1=NAME
sec
rts
*/--------------------------------------
* # MkNod.A
* return a hFile for a given Socket
* ## IN:
* A=hSocket
* ## OUT:
* CC = OK, CS = ERROR
* X = hFILE
* Y,A = pFILE
*\--------------------------------------
K.MkNod.A sta .1+1
>LDYAI S.NODE.SSOCK
jsr K.GetMem0.YA
bcs .9
>STYA ZPPtr1
ldy #S.NODE.T
lda #S.NODE.T.SSOCK
sta (ZPPtr1),y
ldy #S.NODE.SSOCK.HSKT
.1 lda #$ff
sta (ZPPtr1),y
>LDYA ZPPtr1
.9 rts
*/--------------------------------------
* # MKFIFO
* return a S.FILE to a new FIFO
* ## IN:

View File

@ -4,6 +4,231 @@ LOMEM $A00
INC 1
AUTO 6
*/--------------------------------------
* # FPutC.AY
* Print A (char) to File
* ## In:
* A : char to print
* Y = hFILE
* ## Out:
* CC = success
*\--------------------------------------
K.FPutC.AY sta K.PutC.Char
sty K.PutC.Node
tya
phy
bne K.PutChar.A.1
K.PutChar.A.8 ply
clc
rts
*/--------------------------------------
* # PutChar.A
* Print A (char) to StdOut
* ## In:
* A : char to print
* ## Out:
* CC = success
*\--------------------------------------
K.PutChar.A sta K.PutC.Char
phy
ldy #S.PS.hStdOut
lda (pPs),y
beq K.PutChar.A.8 NUL
phx
K.PutChar.A.1 sta K.PutC.Node
jsr K.GetMemPtr.A
>STYA pDev
ldy #S.NODE.T
lda (pDev),y
asl
tax
jsr K.PutChar.A.Jmp
plx
ply
rts
*--------------------------------------
K.PutChar.A.Jmp jmp (.1,x)
.1 .DA K.PutChar.A.REG
.DA STDIO.IOERR DIR
.DA K.PutChar.A.CDEV
.DA STDIO.IOERR BDEV
.DA STDIO.IOERR LNK
.DA STDIO.IOERR DSOCK
.DA K.PutChar.A.SSOCK
.DA K.PutChar.A.FIFO
*--------------------------------------
K.PutChar.A.REG lda K.PutC.Node
ldy K.PutC.Char
jmp K.FWrite.AY
*--------------------------------------
K.PutChar.A.CDEV ldy #S.NODE.DEV.JMP
lda (pDev),y
sta .1+1
iny
lda (pDev),y
sta .1+2
lda K.PutC.Char
ldx #DEVMGR.WRITE
.1 jmp $ffff
*--------------------------------------
K.PutChar.A.SSOCK
lda (pDev) #S.NODE.HANDLER
jsr K.GetMemPtr.A
>STYA .1
ldy #S.NODE.SSOCK.HSKT
>PUSHB (pDev),y
>PUSHB K.PutC.Char
ldy #S.NODE.SSOCK.WRITE
lda (pDev),y
tax Function Offset for write
.1 jmp $ffff
*--------------------------------------
K.PutChar.A.FIFO
ldy #S.NODE.FIFO.S
lda (pDev),y
beq .9 Remote PS did not opened yet the pipe
cmp #S.NODE.FIFO.S.Closed
beq .99 Remote PS closed the Pipe
ldy #S.NODE.FIFO.hMem
lda (pDev),y
jsr K.GetMemPtr.A
>STYA .1+2
ldy #S.NODE.FIFO.Head
lda (pDev),y
inc
dey #S.NODE.FIFO.Tail
cmp (pDev),y
beq .9 FIFO is full
iny
sta (pDev),y
tay
lda K.PutC.Char
.1 sta $ffff,y
clc
rts
.9 lda #MLI.ERR.VOLFULL
sec
rts
.99 lda #MLI.ERR.EOF
sec
rts
*--------------------------------------
K.PutC.Char .BS 1
K.PutC.Node .BS 1
*/--------------------------------------
* # GetChar
* Get char from StdIn
* ## In:
* none.
* ## Out:
* CC = success
* A = char
*\--------------------------------------
K.GetChar ldy #S.PS.hStdIn
lda (pPs),y
*/--------------------------------------
* # GetC.A
* Get char from File
* ## In:
* A = hFILE
* ## Out:
* CC = success
* A = char
*\--------------------------------------
K.GetC.A sta K.PutC.Node
jsr K.GetMemPtr.A
>STYA pDev
ldy #S.NODE.T
lda (pDev),y
asl
tax
jmp (.1,x)
.1 .DA K.GetC.REG
.DA STDIO.IOERR DIR
.DA K.GetC.CDEV
.DA STDIO.IOERR BDEV
.DA STDIO.IOERR LNK
.DA STDIO.IOERR DSOCK
.DA K.GetC.SSOCK
.DA K.GetC.FIFO
*--------------------------------------
K.GetC.REG lda K.PutC.Node
jmp K.FRead.A
*--------------------------------------
K.GetC.CDEV ldx #DEVMGR.READ
ldy #S.NODE.DEV.JMP
lda (pDev),y
sta .1+1
iny
lda (pDev),y
sta .1+2
.1 jmp $ffff
*--------------------------------------
K.GetC.SSOCK lda (pDev) #S.NODE.HANDLER
jsr K.GetMemPtr.A
>STYA .1
ldy #S.NODE.SSOCK.READ
lda (pDev),y
tax Function Offset for READ
ldy #S.NODE.SSOCK.HSKT
lda (pDev),y
.1 jmp $ffff
*--------------------------------------
K.GetC.FIFO
*/--------------------------------------
* # FPutS
* Write String to FILE
* ## In:
* PUSHW : CPtr
* PUSHB : hFILE
* ## Out:
* CC = success
*\--------------------------------------
K.FPutS
*/--------------------------------------
* # PutS.YA
* Write String to StdOut
* ## In:
* Y,A : CPtr
* ## Out:
* CC = success
*\--------------------------------------
K.PutS.YA
*/--------------------------------------
* # FGetS
* Read String From FILE
* ## In:
* PUSHW : CPtr
* PUSHB : hFILE
* ## Out:
* CC = success
*\--------------------------------------
K.FGetS
*/--------------------------------------
* # GetS.YA
* Read String From StdIn
* ## In:
* Y,A : CPtr
* ## Out:
* CC = success
*\--------------------------------------
K.GetS.YA
bra *
*/--------------------------------------
* # FOpen
* Open a file
* ## In :
@ -334,7 +559,7 @@ K.FEOF.A.MARK .BS 3
* # Remove.YA
*\--------------------------------------
K.Remove.YA jsr PFT.CheckPathYA
jsr STDIO.PullMLIPath
jsr STDIO.SetMLIPathYA
>MLICALL MLIDESTROY
rts
*/--------------------------------------
@ -364,272 +589,6 @@ K.Rename jsr PFT.CheckPathSTK
>MLICALL MLIRename
rts
*--------------------------------------
STDIO.PullMLIPath
>PULLYA
STDIO.SetMLIPathYA
>STYA .1+1
ldy #0
.1 lda $ffff,y Self Modified
beq .8
iny
sta K.MLI.PATH,y
cpy #MLI.MAXPATH
bne .1
.8 sty K.MLI.PATH
>LDYAI K.MLI.PATH
>STYA K.MLI.PARAMS+1
rts
*--------------------------------------
STDIO.SetIOBUF >PUSHWI 1024 get a ProDOS IOBUF
>PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE
jsr K.GetMem
bcs .9
>STYA K.MLI.PARAMS+3 Save Ptr to IOBUF for MLIOPEN call
txa
ldy #S.NODE.REG.IOBUF
sta (ZPPtr1),y
.9 rts
*--------------------------------------
STDIO.GetRefNum jsr K.GetMemPtr.A
>STYA ZPPtr1
ldy #S.NODE.REG.REF
lda (ZPPtr1),y
sta K.MLI.PARAMS+1
rts
*/--------------------------------------
* # FPutC.AY
* Print A (char) to File
* ## In:
* A : char to print
* Y = hFILE
* ## Out:
* CC = success
*\--------------------------------------
K.FPutC.AY sta K.PutC.Char
sty K.PutC.Node
tya
phy
bne K.PutChar.A.1
K.PutChar.A.8 ply
clc
rts
*/--------------------------------------
* # PutChar.A
* Print A (char) to StdOut
* ## In:
* A : char to print
* ## Out:
* CC = success
*\--------------------------------------
K.PutChar.A sta K.PutC.Char
phy
ldy #S.PS.hStdOut
lda (pPs),y
beq K.PutChar.A.8 NUL
phx
K.PutChar.A.1 sta K.PutC.Node
jsr K.GetMemPtr.A
>STYA pDev
ldy #S.NODE.T
lda (pDev),y
asl
tax
jsr K.PutChar.A.Jmp
plx
ply
rts
*--------------------------------------
K.PutChar.A.Jmp jmp (.1,x)
.1 .DA K.PutChar.A.REG
.DA STDIO.IOERR DIR
.DA K.PutChar.A.CDEV
.DA STDIO.IOERR BDEV
.DA STDIO.IOERR LNK
.DA STDIO.IOERR DSOCK
.DA K.PutChar.A.SSOCK
.DA K.PutChar.A.FIFO
*--------------------------------------
K.PutChar.A.REG lda K.PutC.Node
ldy K.PutC.Char
jmp K.FWrite.AY
*--------------------------------------
K.PutChar.A.CDEV ldy #S.NODE.DEV.JMP
lda (pDev),y
sta .1+1
iny
lda (pDev),y
sta .1+2
lda K.PutC.Char
ldx #DEVMGR.WRITE
.1 jmp $ffff
*--------------------------------------
K.PutChar.A.SSOCK
lda (pDev) #S.NODE.HANDLER
jsr K.GetMemPtr.A
>STYA .1
ldy #S.NODE.SSOCK.HSKT
>PUSHB (pDev),y
>PUSHB K.PutC.Char
ldy #S.NODE.SSOCK.WRITE
lda (pDev),y
tax Function Offset for write
.1 jmp $ffff
*--------------------------------------
K.PutChar.A.FIFO ldy #S.NODE.FIFO.S
lda (pDev),y
beq .9 Remote PS did not opened yet the pipe
cmp #S.NODE.FIFO.S.Closed
beq .99 Remote PS closed the Pipe
ldy #S.NODE.FIFO.hMem
lda (pDev),y
jsr K.GetMemPtr.A
>STYA .1+2
ldy #S.NODE.FIFO.Head
lda (pDev),y
inc
dey #S.NODE.FIFO.Tail
cmp (pDev),y
beq .9 FIFO is full
iny
sta (pDev),y
tay
lda K.PutC.Char
.1 sta $ffff,y
clc
rts
.9 lda #MLI.ERR.VOLFULL
sec
rts
.99 lda #MLI.ERR.EOF
sec
rts
*--------------------------------------
K.PutC.Char .BS 1
K.PutC.Node .BS 1
*/--------------------------------------
* # GetChar
* Get char from StdIn
* ## In:
* none.
* ## Out:
* CC = success
* A = char
*\--------------------------------------
K.GetChar ldy #S.PS.hStdIn
lda (pPs),y
*/--------------------------------------
* # GetC.A
* Get char from File
* ## In:
* A = hFILE
* ## Out:
* CC = success
* A = char
*\--------------------------------------
K.GetC.A sta K.PutC.Node
jsr K.GetMemPtr.A
>STYA pDev
ldy #S.NODE.T
lda (pDev),y
asl
tax
jmp (.1,x)
.1 .DA K.GetC.REG
.DA STDIO.IOERR DIR
.DA K.GetC.CDEV
.DA STDIO.IOERR BDEV
.DA STDIO.IOERR LNK
.DA STDIO.IOERR DSOCK
.DA K.GetC.SSOCK
.DA K.GetC.FIFO
*--------------------------------------
K.GetC.REG lda K.PutC.Node
jmp K.FRead.A
*--------------------------------------
K.GetC.CDEV ldx #DEVMGR.READ
ldy #S.NODE.DEV.JMP
lda (pDev),y
sta .1+1
iny
lda (pDev),y
sta .1+2
.1 jmp $ffff
*--------------------------------------
K.GetC.SSOCK lda (pDev) #S.NODE.HANDLER
jsr K.GetMemPtr.A
>STYA .1
ldy #S.NODE.SSOCK.READ
lda (pDev),y
tax Function Offset for READ
ldy #S.NODE.SSOCK.HSKT
lda (pDev),y
.1 jmp $ffff
*--------------------------------------
K.GetC.FIFO
*/--------------------------------------
* # FPutS
* Write String to FILE
* ## In:
* PUSHW : CPtr
* PUSHB : hFILE
* ## Out:
* CC = success
*\--------------------------------------
K.FPutS
*/--------------------------------------
* # PutS.YA
* Write String to StdOut
* ## In:
* Y,A : CPtr
* ## Out:
* CC = success
*\--------------------------------------
K.PutS.YA
*/--------------------------------------
* # FGetS
* Read String From FILE
* ## In:
* PUSHW : CPtr
* PUSHB : hFILE
* ## Out:
* CC = success
*\--------------------------------------
K.FGetS
*/--------------------------------------
* # GetS.YA
* Read String From StdIn
* ## In:
* Y,A : CPtr
* ## Out:
* CC = success
*\--------------------------------------
K.GetS.YA
bra *
*--------------------------------------
STDIO.IOERR lda #MLI.ERR.IO
sec
rts
*/--------------------------------------
* # SScanF
* Scan a PStr (in progress)
@ -1128,6 +1087,47 @@ Printf.Cout jmp K.PutChar.A
Printf.Cout.Ptr sta $ffff Self modified
*--------------------------------------
STDIO.PullMLIPath
>PULLYA
STDIO.SetMLIPathYA
>STYA .1+1
ldy #0
.1 lda $ffff,y Self Modified
beq .8
iny
sta K.MLI.PATH,y
cpy #MLI.MAXPATH
bne .1
.8 sty K.MLI.PATH
>LDYAI K.MLI.PATH
>STYA K.MLI.PARAMS+1
rts
*--------------------------------------
STDIO.SetIOBUF >PUSHWI 1024 get a ProDOS IOBUF
>PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE
jsr K.GetMem
bcs .9
>STYA K.MLI.PARAMS+3 Save Ptr to IOBUF for MLIOPEN call
txa
ldy #S.NODE.REG.IOBUF
sta (ZPPtr1),y
.9 rts
*--------------------------------------
STDIO.GetRefNum jsr K.GetMemPtr.A
>STYA ZPPtr1
ldy #S.NODE.REG.REF
lda (ZPPtr1),y
sta K.MLI.PARAMS+1
rts
*--------------------------------------
STDIO.IOERR lda #MLI.ERR.IO
sec
rts
*--------------------------------------
MAN
SAVE /A2OSX.SRC/SYS/KERNEL.S.STDIO
LOAD /A2OSX.SRC/SYS/KERNEL.S

View File

@ -4,14 +4,32 @@ LOMEM $A00
INC 1
AUTO 6
*/--------------------------------------
* # AToI
* Convert String to 32 bit int
* # AToF
* Convert String to 40 bits Float
* ## In:
* PUSHW PTR to target buffer (5 Bytes)
* PUSHW Source String (PSTR)
* ## Out:
*\--------------------------------------
K.AToF
*/--------------------------------------
* # AToI.YA
* Convert String to 16 bits int
* ## In:
* Y,A = Source String (C-String)
* ## Out:
* Y,A = Int
*\--------------------------------------
K.AToI.YA
*/--------------------------------------
* # AToL
* Convert String to 32 bits int
* ## In:
* PUSHW PTR to target buffer DWORD
* PUSHW Source String (PSTR)
* ## Out:
*\--------------------------------------
K.AToI jsr PullPtr1Ptr2 PSTR in Ptr1,buffer in Ptr2
K.AToL jsr PullPtr1Ptr2 PSTR in Ptr1,buffer in Ptr2
stz ASCBUF

View File

@ -31,7 +31,8 @@ A2osX.D1 .PH $D000
.INB /A2OSX.SRC/SYS/KERNEL.S.STDIO
.INB /A2OSX.SRC/SYS/KERNEL.S.STAT
.INB /A2OSX.SRC/SYS/KERNEL.S.DIRENT
.INB /A2OSX.SRC/SYS/KERNEL.S.BIN
.INB /A2OSX.SRC/SYS/KERNEL.S.FIO
.INB /A2OSX.SRC/SYS/KERNEL.S.PFT
.EP
A2osX.D2 .PH $D000
.DA #RRAMWRAMBNK2
@ -51,8 +52,7 @@ A2osX.E0 .PH $E000
.INB /A2OSX.SRC/SYS/KERNEL.S.DAT
.INB /A2OSX.SRC/SYS/KERNEL.S.IRQ
.INB /A2OSX.SRC/SYS/KERNEL.S.MEM
.INB /A2OSX.SRC/SYS/KERNEL.S.FIO
.INB /A2OSX.SRC/SYS/KERNEL.S.PFT
.INB /A2OSX.SRC/SYS/KERNEL.S.BIN
.INB /A2OSX.SRC/SYS/KERNEL.S.D01
.EP
A2osX.E0.E .EQ *