Kernel 0.9.1 : Code reorganization & move to CSTR

This commit is contained in:
Rémy GIBERT 2017-08-25 08:37:21 +02:00
parent 278104b43c
commit 698a741aee
78 changed files with 1155 additions and 1129 deletions

File diff suppressed because it is too large Load Diff

View File

@ -25,7 +25,7 @@
+ PUSHW PTR to MAC
+ PUSHW PTR to IP
# ARP.GetCache
# ARP.GetC.Ache
+ Return a Ptr to ARP Cache Table
## In:
@ -58,7 +58,7 @@
+ PUSHW = PTR to IP
+ PUSHW = hostname PSTR to Add
# DNS.GetCache
# DNS.GetC.Ache
+ Return a Ptr to DNS Cache Table
## In:
@ -155,7 +155,7 @@
## Out :
# SKT.GetCA (STREAM)
# SKT.GetC.A (STREAM)
+ Read a Char From Stream in A
## In :

Binary file not shown.

Binary file not shown.

View File

@ -106,7 +106,7 @@ CS.RUN.QUERY jsr Init.Timeout
.9 sec
rts
*--------------------------------------
CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.ARP.GETCACHE
CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.ARP.GetC.ACHE
>STYA ZPPTR1
>LDYA L.MSG0

View File

@ -222,7 +222,7 @@ DIR.IN jsr SRC.GetArg
pha
txa
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
pla
plp

View File

@ -7,7 +7,7 @@ AUTO 6
*---------------------------------------
FIO.Init ldy #S.PS.hCMDLINE
lda (pPS),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
bcs .99
>STYA ZPPtr1
lda (ZPPtr1)
@ -35,7 +35,7 @@ FIO.Init ldy #S.PS.hCMDLINE
.99 rts
*---------------------------------------
FIO.OpenFileA sta FIO.hFileName
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPtr1
stz FIO.hFullPath
@ -53,7 +53,7 @@ FIO.OpenFileA sta FIO.hFileName
sta FIO.hFullPath
sta FIO.hFileName
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPtr1
.1 >PUSHW ZPPtr1
@ -73,7 +73,7 @@ FIO.OpenFileA sta FIO.hFileName
>PUSHBI 4
>PUSHBI SYS.FOpen.R+SYS.FOpen.T
lda FIO.hFileName
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>SYSCALL FOpen
bcs .99
@ -117,7 +117,7 @@ FIO.OpenFileA.Exit php
pha
lda FIO.hFullPath
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 pla
plp
rts
@ -238,7 +238,7 @@ FIO.FileClose ldy #SRC.COUNT
adc #SRC.hFILES-1
tay
lda (pData),y
>SYSCALL FCloseA
>SYSCALL FClose.A
ldy #SRC.COUNT
lda (pData),y
@ -251,7 +251,7 @@ FIO.FileClose ldy #SRC.COUNT
FIO.LOAD.ASM.T ldy #ASM.T.hMem
lda (pData),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
ldy #ASM.T.hMem
lda #0
sta (pData),y

View File

@ -32,14 +32,14 @@ SRC.PrintLineErr ldx #0
.1 lda UsrBuf256,x
beq .2
phx
>SYSCALL PutCharA
>SYSCALL PutChar.A
plx
inx
bcc .1
rts
.2 lda #13
>SYSCALL PutCharA
>SYSCALL PutChar.A
bcs .9
ldx #0
@ -50,19 +50,19 @@ SRC.PrintLineErr ldx #0
beq .4
phx
lda #'-'
>SYSCALL PutCharA
>SYSCALL PutChar.A
plx
bcs .9
bra .3
.4 lda #'^'
phx
>SYSCALL PutCharA
>SYSCALL PutChar.A
plx
bcs .9
.5 lda #13
>SYSCALL PutCharA
>SYSCALL PutChar.A
.9 rts
*---------------------------------------
SRC.ParseLine ldx UsrBuf256
@ -264,7 +264,7 @@ SRC.ParseLine.OpCode
.11 ldy #ASM.T.hMem
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPtr1
ldy #ASM.T.O setup Ptr to Opcodes
@ -326,12 +326,12 @@ SRC.ParseLine.OpCode
.21 inx
lda SRC.AM.StrBuf,x
phx
>SYSCALL PutCharA
>SYSCALL PutChar.A
plx
cpx SRC.AM.StrBuf
bne .21
lda #13
>SYSCALL PutCharA
>SYSCALL PutChar.A
.20 ldy #ASM.PC

View File

@ -41,7 +41,7 @@ SYM.Quit ldy #SYM.pLastGBlock
adc #SYM.hGBlocks-1
tay
lda (pData),y
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
ldy #SYM.pLastGBlock
lda (pData),y
dec
@ -110,7 +110,7 @@ SYM.Dump >LDYA L.MSG.SYMBOLS
rts
.5 lda #13
>SYSCALL PutCharA
>SYSCALL PutChar.A
ldy #SYM.DumpCount
lda (pData),y
@ -292,7 +292,7 @@ SYM.GetGBlockA clc
tay
lda (pData),y
phx
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPBlockPtr
plx
rts
@ -321,7 +321,7 @@ SYM.AddByteGBlock phx
SYM.NewGBlock phx
phy
SYM.NewGBlock2 >LDYAI 256
>SYSCALL GetMem0YA
>SYSCALL GetMem0.YA
bcs .9
>STYA ZPBlockPtr

View File

@ -155,7 +155,7 @@ CS.INIT >SYSCALL GetArgC
lda #1
>SYSCALL GetArg.A
>SYSCALL GetFullPathYA
>SYSCALL GetFullPath.YA
txa
ldy #SRC.hFILENAME
@ -275,13 +275,13 @@ CS.QUIT jsr FIO.FileClose
ldy #ASM.T.hMem
lda (pData),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 ldy #SRC.hFILENAME
lda (pData),y
beq .8
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.8 clc
rts

View File

@ -76,7 +76,7 @@ CS.RUN stz K.MLI.PARAMS Sync
>LDYAI 1024
>STYA K.MLI.PARAMS+$10 BufLen
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .99
>STYA K.MLI.PARAMS+$12 BufPtr
@ -141,7 +141,7 @@ CS.DOEVENT sec
CS.QUIT ldy #hBuf
lda (pData),y
beq .8
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.8 clc
rts

View File

@ -241,11 +241,11 @@ CS.RUN.PRINT sty BytesRead Y,A = Bytes read
bra .7
.4 lda #13
>SYSCALL PutCharA
>SYSCALL PutChar.A
bcs .9
lda #10
.6 >SYSCALL PutCharA
.6 >SYSCALL PutChar.A
bcs .9
.7 inc ByteIndex
@ -274,7 +274,7 @@ CS.RUN.PRINTNUM clc
>SYSCALL PrintFYA
.8 rts
*--------------------------------------
CS.RUN.OPEN >SYSCALL GetFullPathYA
CS.RUN.OPEN >SYSCALL GetFullPath.YA
bcs .9
stx hFullPath
pha
@ -302,7 +302,7 @@ CS.RUN.OPEN >SYSCALL GetFullPathYA
.99 pha
lda hFullPath
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
pla
.9 sec
rts
@ -316,7 +316,7 @@ CS.QUIT ldy #hFILE
lda #0
sta (pData),y
pla
>SYSCALL FCloseA
>SYSCALL FClose.A
.8 clc
rts

View File

@ -145,7 +145,7 @@ CS.RUN >SYSCALL GetC
lda (pData),y
beq .4 No filter....
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>PUSHW ZPFileName
>SYSCALL PStrMatch
@ -239,9 +239,9 @@ CS.RUN.CheckErr bcs .1
rts
.2 lda #13
>SYSCALL PutCharA
>SYSCALL PutChar.A
lda #10
>SYSCALL PutCharA
>SYSCALL PutChar.A
pla
sec
.9 rts
@ -249,7 +249,7 @@ CS.RUN.CheckErr bcs .1
CS.RUN.GetFilePath
ldy #hSrcBasePath
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>PUSHWI UsrBuf256
>SYSCALL PStrCpy
@ -268,7 +268,7 @@ CS.QUIT jsr LeaveSubDir
ldy #hFilter
lda (pData),y
beq .3
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.3 clc
rts

View File

@ -80,7 +80,7 @@ CS.RUN.ADD cmp #3
sec
.99 rts
CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GETCACHE
CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GetC.ACHE
>STYA ZPPTR1
>LDYA L.MSG0
>SYSCALL PrintFYA
@ -107,7 +107,7 @@ CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GETCACHE
ldy #S.DNSCACHE.hNAME
lda (ZPPTR1),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
ldy #S.DNSCACHE.ID

View File

@ -10,7 +10,7 @@ BUF.InsertClipboard
lda (pData),y
beq .8
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ClipboardPtr
jsr BUF.ComputeCOffset
@ -252,10 +252,10 @@ BUF.SelToClipboard
lda (pData),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 >LDYA TmpCount
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
>STYA ClipboardPtr
@ -272,7 +272,7 @@ BUF.SelToClipboard
ldy #hBuffer
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA BufPtr
lda BufPtr
@ -373,7 +373,7 @@ BUF.GetLineAX >STAX BUF.TmpLine1
ldy #hBuffer
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA BufPtr
stz BUF.TmpLine2
@ -444,17 +444,17 @@ BUF.GetNewYA >STYA TmpLen
ldy #hBufferBackup
lda (pData),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 ldy #hBuffer
lda (pData),y
ldy #hBufferBackup
sta (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA BufPtrBackup
>LDYA TmpLen
>SYSCALL GetMem0YA
>SYSCALL GetMem0.YA
bcs .9
>STYA BufPtr

View File

@ -363,7 +363,7 @@ Ctrl.S lda #PromptModeSave
lda (pData),y
beq .2
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPTR1
lda (ZPPTR1)
@ -624,7 +624,7 @@ Prompt.Save cmp #3
ldy #hFileName
lda (pData),y
beq .11
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.11 >LDYA pData
>SYSCALL NewPStrYA

View File

@ -14,7 +14,7 @@ SCRN.Init ldy #ScreenH
>SYSCALL PrintFYA
bcs .9
lda #12
>SYSCALL PutCharA
>SYSCALL PutChar.A
bcs .9
lda #0
@ -50,7 +50,7 @@ SCRN.UpdateTopBar
ldy #hFileName
lda (pData),y
beq .1
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
bra .2
.1 >LDYA L.MSG.NEWFILE
@ -162,7 +162,7 @@ SCRN.UpdateLineAtALenY
pla
bcs .11
>SYSCALL PutCharA
>SYSCALL PutChar.A
.11 ply
plx
bcs .9
@ -305,7 +305,7 @@ SCRN.ClearEOLA pha
pha
lda #' '
>SYSCALL PutCharA
>SYSCALL PutChar.A
bcc .1
plx
rts
@ -332,7 +332,7 @@ SCRN.InvLineA sta .2+1
.1 pha
lda #' '
>SYSCALL PutCharA
>SYSCALL PutChar.A
pla
bcs .9

View File

@ -110,7 +110,7 @@ CS.INIT lda #$ff
lda #1
>SYSCALL GetArg.A
>SYSCALL GetFullPathYA
>SYSCALL GetFullPath.YA
txa
ldy #hFileName
sta (pData),y
@ -119,7 +119,7 @@ CS.INIT lda #$ff
bcc .8 if CS, Failed to load file, keep name, but new file....
.1 >LDYAI 1 buffer size = 0 (+ 1 for ending 0)
>SYSCALL GetMem0YA
>SYSCALL GetMem0.YA
bcs .9
txa
@ -171,22 +171,22 @@ CS.DOEVENT sec
CS.QUIT ldy #hBuffer
lda (pData),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 ldy #hBufferBackup
lda (pData),y
beq .2
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.2 ldy #hClipBoard
lda (pData),y
beq .3
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.3 ldy #hFileName
lda (pData),y
beq .8
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.8 >LDYA L.SEQ.RESET
>SYSCALL PrintFYA
@ -346,7 +346,7 @@ LoadFile >PUSHWI 0 Aux type
ldy #hFileName
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>SYSCALL LoadFile
@ -358,7 +358,7 @@ LoadFile >PUSHWI 0 Aux type
bne .2
inc +1 for ending zero
.2 >SYSCALL GetMem0YA
.2 >SYSCALL GetMem0.YA
bcs .98
>STYA ZPPTR2
@ -368,7 +368,7 @@ LoadFile >PUSHWI 0 Aux type
lda hMem
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPTR1
lda TmpLen
@ -407,14 +407,14 @@ LoadFile >PUSHWI 0 Aux type
.98 pha
lda hMem
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
pla
sec
.9 rts
*--------------------------------------
SaveFile ldy #hBuffer
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
ldy #FileLen+1
@ -428,7 +428,7 @@ SaveFile ldy #hBuffer
ldy #hFileName
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA

View File

@ -216,7 +216,7 @@ CS.RUN.BuildCat ldy #hDev
.99 bcs .9
stx BlkCnt
>SYSCALL GetMem0YA BufferSize
>SYSCALL GetMem0.YA BufferSize
bcs .9
>STYA BlkParams.Ptr
txa
@ -256,7 +256,7 @@ CS.DOEVENT sec
CS.QUIT ldy #hBuf
lda (pData),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 lda hLIBBLKDEV
beq .8

View File

@ -162,7 +162,7 @@ CS.RUN.LINK >PUSHW L.MSG1.LINK.OK
.4 phx
lda #'0'
>SYSCALL PutCharA
>SYSCALL PutChar.A
plx
dex
bne .4
@ -251,7 +251,7 @@ CS.DOEVENT sec
*--------------------------------------
CS.QUIT lda hLIBTCPIP
beq .8
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.8 clc
rts

View File

@ -103,7 +103,7 @@ CS.INIT >SYSCALL GetArgC
ldy #S.PS.hPREFIX
lda (pPs),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
jsr InitSrcDirYA
bcs .9
@ -141,7 +141,7 @@ CS.RUN >SYSCALL GetC
lda (pData),y
beq .4 No filter....
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>PUSHW ZPFileName
>SYSCALL PStrMatch
@ -243,7 +243,7 @@ CS.RUN.DIR ldy #bAllmostAll
.1 lda #' '
phx
>SYSCALL PutCharA
>SYSCALL PutChar.A
plx
bcs .9
dex
@ -401,9 +401,9 @@ CS.RUN.NewLine ldy #ColCount
beq CS.RUN.NewLine.8
CS.RUN.NewLine.1
lda #13
>SYSCALL PutCharA
>SYSCALL PutChar.A
lda #10
>SYSCALL PutCharA
>SYSCALL PutChar.A
rts
CS.RUN.NewLine.8
clc
@ -412,7 +412,7 @@ CS.RUN.NewLine.8
CS.RUN.ENTER.MSG
ldy #hSrcBasePath
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>LDYA L.MSG.ENTER
>SYSCALL PrintFYA
@ -427,7 +427,7 @@ CS.QUIT jsr LeaveSubDir
ldy #hFilter
lda (pData),y
beq .3
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.3 clc
rts

View File

@ -73,9 +73,9 @@ CS.RUN >LDYA L.MSG0
bcs .9
.6 lda #13
>SYSCALL PutCharA
>SYSCALL PutChar.A
lda #10
>SYSCALL PutCharA
>SYSCALL PutChar.A
.7 inc DEV.ID
lda DEV.ID

View File

@ -42,7 +42,7 @@ CS.RUN >SYSCALL GetArgC
lda #1
>SYSCALL GetArg.A
>SYSCALL GetFullPathYA
>SYSCALL GetFullPath.YA
bcs .9
stx hFullPath
@ -62,7 +62,7 @@ CS.DOEVENT sec
*--------------------------------------
CS.QUIT lda hFullPath
beq .8
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.8 clc
rts

View File

@ -47,7 +47,7 @@ CS.INIT clc
rts
*--------------------------------------
CS.RUN >LDYA L.MemStat
>SYSCALL GetMemStatYA
>SYSCALL GetMemStat.YA
>LDYA L.MSG.Main
>SYSCALL PrintFYA

View File

@ -95,7 +95,7 @@ CS.RUN >SYSCALL GetC
.1 ldy #MEM.COUNT
lda (pData),y
>SYSCALL GetMemByIDA
>SYSCALL GetMemByID.A
>STYA ZPPTR1
lda (ZPPTR1)
bpl .2
@ -242,7 +242,7 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN
bra .8
****** BIN
.7 >SYSCALL GetMemPtrA
.7 >SYSCALL GetMemPtr.A
>PUSHYA
>LDYA L.MSG1.BIN
>SYSCALL PrintFYA

View File

@ -124,7 +124,7 @@ CS.DOEVENT sec
CS.QUIT lda hLIBTCPIP
beq .8
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.8 clc
rts
*--------------------------------------

View File

@ -292,11 +292,11 @@ NSC.Dump ldx #1
lda DS1216E.DATA+2
jsr PrintBCD
lda #'/'
>SYSCALL PutCharA
>SYSCALL PutChar.A
lda DS1216E.DATA+1
jsr PrintBCD
lda #'/'
>SYSCALL PutCharA
>SYSCALL PutChar.A
lda DS1216E.DATA
jsr PrintBCD
@ -309,15 +309,15 @@ NSC.Dump ldx #1
.4 and #$3F
jsr PrintBCD
lda #':'
>SYSCALL PutCharA
>SYSCALL PutChar.A
lda DS1216E.DATA+5
jsr PrintBCD
lda #':'
>SYSCALL PutCharA
>SYSCALL PutChar.A
lda DS1216E.DATA+6
jsr PrintBCD
lda #'.'
>SYSCALL PutCharA
>SYSCALL PutChar.A
lda DS1216E.DATA+7
jsr PrintBCD
rts
@ -328,12 +328,12 @@ PrintBCD pha
lsr
lsr
ora #$30
>SYSCALL PutCharA
>SYSCALL PutChar.A
bcs .9
pla
and #$0f
ora #$30
>SYSCALL PutCharA
>SYSCALL PutChar.A
.9 rts
*--------------------------------------
GetBCD lda (ZPPtr1),y

View File

@ -196,14 +196,14 @@ CS.RUN.WAIT.REPLY
ldy #hFrame
sta (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPFrameBase
jsr CS.Print.REPLY
bcs CS.RUN.ERR
ldy #hFrame
lda (pData),y
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
ldy #hFrame
lda #0
@ -295,7 +295,7 @@ CS.QUIT ldy #hFrame
lda (pData),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 ldy #hSocket
lda (pData),y

View File

@ -52,7 +52,7 @@ CS.RUN >LDYAI TSKMGR.TABLE+S.PS
ldy #S.PS.hCMDLINE
lda (ZPPTR1),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
ldy #S.PS.PPID

View File

@ -141,14 +141,14 @@ CS.RUN jsr Init.Timeout
.6 ldy #hFrame
sta (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPFrameBase
jsr DumpRPCFrame
ldy #hFrame
lda (pData),y
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
lda #0
sec

View File

@ -125,13 +125,13 @@ CS.INIT >SYSCALL GetArgC
ldy #S.PS.hPREFIX no dst folder, use actual prefix
lda (pPs),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
jsr InitDstDirYA
bcs .99
.FIN
.8 >LDYAI 256
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
txa
ldy #hSrcFullPath
@ -139,7 +139,7 @@ CS.INIT >SYSCALL GetArgC
.DO X.COPY.TO.DEST=1
>LDYAI 256
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
txa
ldy #hDstFullPath
@ -225,7 +225,7 @@ CS.RUN >SYSCALL GetC
ldy #hSrcFullPath
jsr CS.RUN.GetPathY
>SYSCALL RemoveYA
>SYSCALL Remove.YA
bcs .22
jsr CS.RUN.CheckErr Success!!!
jsr CS.RUN.IncCount
@ -243,7 +243,7 @@ CS.RUN >SYSCALL GetC
lda (pData),y
beq .4 No filter....
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>PUSHW ZPFileName
>SYSCALL PStrMatch
@ -304,7 +304,7 @@ CS.RUN.LEAVE jsr LeaveSubDir exit this sub dir....
bcs CS.RUN.LEAVE.RTS
>LDYA ZPPtr1
>SYSCALL RemoveYA
>SYSCALL Remove.YA
jsr CS.RUN.CheckErr
bcs .99
.FIN
@ -533,10 +533,10 @@ CS.RUN.OVERWRITE.KEY
.FIN
*--------------------------------------
CS.RUN.CR lda #13
>SYSCALL PutCharA
>SYSCALL PutChar.A
bcs .9
lda #10
>SYSCALL PutCharA
>SYSCALL PutChar.A
.9 rts
*--------------------------------------
.DO X.COPY.TO.DEST=1
@ -588,7 +588,7 @@ CS.RUN.CopyStart
.9 pha
ldy #hSrcFile
lda (pData),y
>SYSCALL FCloseA
>SYSCALL FClose.A
pla
ldy #CopyRC
@ -619,7 +619,7 @@ CS.RUN.Open phy Save Filename
*--------------------------------------
CS.RUN.Copy stz .90+1
>LDYAI X.COPY.BUF.SIZE
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
>STYA ZPPtr1
@ -646,14 +646,14 @@ CS.RUN.Copy stz .90+1
bcs .9
lda .90+1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
ldy #bQuiet
lda (pData),y
bmi .8
lda #'.'
>SYSCALL PutCharA
>SYSCALL PutChar.A
rts
.8 clc
@ -664,15 +664,15 @@ CS.RUN.Copy stz .90+1
.90 lda #$00
beq CS.RUN.CopyEnd
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
*--------------------------------------
CS.RUN.CopyEnd ldy #hSrcFile
lda (pData),y
>SYSCALL FCloseA
>SYSCALL FClose.A
ldy #hDstFile
lda (pData),y
>SYSCALL FCloseA
>SYSCALL FClose.A
ldy #bCopy
lda #$0
@ -747,7 +747,7 @@ CS.RUN.BuildFilePath
lda (pData),y
beq .1
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
bra .2
@ -759,7 +759,7 @@ CS.RUN.BuildFilePath
rts
*--------------------------------------
CS.RUN.GetPathY lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
rts
*--------------------------------------
CS.RUN.IncCount ldy #Count
@ -786,10 +786,10 @@ CS.QUIT jsr LeaveSubDir
ldy #hSrcFile
lda (pData),y
>SYSCALL FCloseA
>SYSCALL FClose.A
ldy #hDstFile
lda (pData),y
>SYSCALL FCloseA
>SYSCALL FClose.A
.1 ldy #hDstFullPath
jsr CS.QUIT.FREE
@ -807,7 +807,7 @@ CS.QUIT jsr LeaveSubDir
*--------------------------------------
CS.QUIT.FREE lda (pData),y
beq .9
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.9 rts
*--------------------------------------
MAN

View File

@ -13,7 +13,7 @@ AUTO 6
*--------------------------------------
X.MAX.RECURSE .EQ 8
*--------------------------------------
InitSrcDirYA >SYSCALL GetFullPathYA
InitSrcDirYA >SYSCALL GetFullPath.YA
bcc .10
rts
@ -85,7 +85,7 @@ InitSrcDirYA >SYSCALL GetFullPathYA
sta (pData),y
.5 >LDYAI 256
>SYSCALL GetMemYA Get a 256 buffer to store BasePath
>SYSCALL GetMem.YA Get a 256 buffer to store BasePath
bcs .9
>STYA ZPPtr2
@ -114,7 +114,7 @@ InitSrcDirYA >SYSCALL GetFullPathYA
sta (ZPPtr2)
>LDYA ZPPtr2
>SYSCALL OpenDirYA
>SYSCALL OpenDir.YA
bcs .9
@ -133,14 +133,14 @@ InitSrcDirYA >SYSCALL GetFullPathYA
.91 lda #MLI.ERR.FNOTFND
.9 pha
.90 lda #$ff self modified
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
pla
sec
InitSrcDirYA.RTS
rts
*--------------------------------------
.DO X.COPY.TO.DEST=1
InitDstDirYA >SYSCALL GetFullPathYA
InitDstDirYA >SYSCALL GetFullPath.YA
bcs InitSrcDirYA.RTS
stx .90+1
@ -191,7 +191,7 @@ InitDstDirYA >SYSCALL GetFullPathYA
sta (pData),y
.5 >LDYAI 256
>SYSCALL GetMemYA Get a 256 buffer to store DstBasePath
>SYSCALL GetMem.YA Get a 256 buffer to store DstBasePath
bcs .9
>STYA ZPPtr2
@ -226,7 +226,7 @@ InitDstDirYA >SYSCALL GetFullPathYA
.9 pha
.90 lda #$ff self modified
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
pla
sec
rts
@ -322,11 +322,11 @@ GetEntry ldy #index
bne .8
* txa
* >SYSCALL FreeMemA
* >SYSCALL FreeMem.A
sec
rts
.1 >SYSCALL GetMemPtrA
.1 >SYSCALL GetMemPtr.A
>STYA ZPFileName
ldy #index
@ -369,7 +369,7 @@ GetEntry.ReadDir
lda #0
sta (pData),y reset hDIRENT
pla
>SYSCALL FreeMemA discard previous hDIRENT
>SYSCALL FreeMem.A discard previous hDIRENT
.1 ldy #index
lda (pData),y
@ -378,7 +378,7 @@ GetEntry.ReadDir
tay
lda (pData),y
>SYSCALL ReadDirA
>SYSCALL ReadDir.A
bcs .9
>STYA ZPFileName
@ -414,7 +414,7 @@ EnterSubDirYA >STYA ZPPtr2 save SUBDIR for StrCat
jsr EnterSubDirYA.1
>LDYA ZPPtr1
>SYSCALL OpenDirYA
>SYSCALL OpenDir.YA
bcs .9
pha
@ -445,7 +445,7 @@ EnterSubDirYA >STYA ZPPtr2 save SUBDIR for StrCat
.9 rts
EnterSubDirYA.1 lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPtr1 save full path
@ -477,7 +477,7 @@ LeaveSubDir ldy #index
lda #0
sta (pData),y
pla
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 ldy #index
lda (pData),y
@ -490,7 +490,7 @@ LeaveSubDir ldy #index
lda #0
sta (pData),y
pla
>SYSCALL CloseDirA
>SYSCALL CloseDir.A
ldy #index
lda (pData),y
@ -500,12 +500,12 @@ LeaveSubDir ldy #index
ldy #hSrcBasePath
lda (pData),y
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.DO X.COPY.TO.DEST=1
ldy #hDstBasePath
lda (pData),y
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.FIN
.9 sec
@ -522,7 +522,7 @@ BasePath.. .DO X.COPY.TO.DEST=1
ldy #hSrcBasePath
BasePath..1 lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPtr1 save full path

View File

@ -79,7 +79,7 @@ Dev.Detect >STYA Args
sec
ror USERMAC
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPTmpPTR
jsr DecodeMac
bcc .4
@ -196,7 +196,7 @@ READBLOCK.RxOK lda #L91C96.2.PTR.RCVD+L91C96.2.PTR.AUTOI+L91C96.2.PTR.READ
bne .11
inc
.11 >SYSCALL GetMemYA
.11 >SYSCALL GetMem.YA
bcs .99
>STYA ZPTmpPTR
stx .8+1

View File

@ -208,7 +208,7 @@ READBLOCK.RxOK >AR.SELECT S0.RX.RD
adc /S.IP
ply
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs READBLOCK.RTS
>STYA ZPTmpPTR

View File

@ -227,7 +227,7 @@ READBLOCK php
lda Size+1
adc #0
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
>STYA ZPTmpPTR

View File

@ -193,7 +193,7 @@ READBLOCK.RxOK >AR.SELECT S0.RX.RD
ldy W5100.DR,x get RX.Size LO
sty RXTX.Size
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .99
>STYA ZPTmpPTR
stx .8+1

View File

@ -161,7 +161,7 @@ H.BIN.DRV.REL.TABLE .EQ 0
* A2osX.SYSCALL Functions Indexes
*--------------------------------------
SYS.FileSearch .EQ $00
SYS.GetFullPathYA .EQ $02
SYS.GetFullPath.YA .EQ $02
SYS.LoadFile .EQ $04
SYS.SaveFile .EQ $06
@ -185,7 +185,7 @@ 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.FCloseA .EQ $22
SYS.FClose.A .EQ $22
SYS.FRead .EQ $24
SYS.FWrite .EQ $26
SYS.FFlush .EQ $28
@ -195,13 +195,13 @@ SYS.FSeek.CUR .EQ $01
SYS.FSeek.END .EQ $02
SYS.FTell .EQ $2C
SYS.FEOF .EQ $2E
SYS.RemoveYA .EQ $30
SYS.Remove.YA .EQ $30
SYS.Rename .EQ $32
SYS.STAT .EQ $34
* .EQ $36
SYS.OpenDirYA .EQ $38
SYS.ReadDirA .EQ $3A
SYS.CloseDirA .EQ $3C
SYS.OpenDir.YA .EQ $38
SYS.ReadDir.A .EQ $3A
SYS.CloseDir.A .EQ $3C
SYS.MKDir.YA .EQ $3E
*--------------------------------------
* .EQ $40
@ -240,41 +240,41 @@ SYS.SetEnv .EQ $7A
SYS.GetEnv.YA .EQ $7C
SYS.UnsetEnv.YA .EQ $7E
*--------------------------------------
SYS.GetDevByIDA .EQ $80
SYS.GetDevByNameYA .EQ $82
SYS.GetDevStatusA .EQ $84
SYS.GetDevByID.A .EQ $80
SYS.GetDevByName.YA .EQ $82
SYS.GetDevStatus.A .EQ $84
* .EQ $86
SYS.MKNodYA .EQ $88
SYS.MKNodA .EQ $8A
SYS.MKNod.YA .EQ $88
SYS.MKNod.A .EQ $8A
SYS.MKFIFO .EQ $8C
* .EQ $8E
*--------------------------------------
SYS.GetMem .EQ $90
SYS.FreeMemA .EQ $92
SYS.GetMemPtrA .EQ $94
SYS.GetMemByIDA .EQ $96
SYS.GetMemYA .EQ $98
SYS.GetMem0YA .EQ $9A
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 $9E
*--------------------------------------
SYS.SetLoMem .EQ $A0
SYS.GetMemStatYA .EQ $A2
SYS.GetMemStat.YA .EQ $A2
* .EQ $A4
* .EQ $A6
SYS.LoadStkObjYA .EQ $A8
SYS.GetStkObjA .EQ $AA
SYS.FreeStkObjA .EQ $AC
SYS.LoadStkObj.YA .EQ $A8
SYS.GetStkObj.A .EQ $AA
SYS.FreeStkObj.A .EQ $AC
* .EQ $AE
*--------------------------------------
SYS.FPutCAY .EQ $B0
SYS.PutCharA .EQ $B2
SYS.GetCA .EQ $B4
SYS.FPutC.AY .EQ $B0
SYS.PutChar.A .EQ $B2
SYS.GetC.A .EQ $B4
SYS.GetChar .EQ $B6
SYS.FPutS .EQ $B8
SYS.PutSYA .EQ $BA
SYS.PutS.YA .EQ $BA
SYS.FGetS .EQ $BC
SYS.GetSYA .EQ $BE
SYS.GetS.YA .EQ $BE
*--------------------------------------
* ProDOS ERROR CODES : $00->$5F
* Lib ERROR CODES : $80->$BF

View File

@ -31,12 +31,12 @@ LIBTCPIP.PULSEA .EQ 10
LIBTCPIP.ARP.Clear .EQ 12
LIBTCPIP.ARP.Query .EQ 14
LIBTCPIP.ARP.Add .EQ 16
LIBTCPIP.ARP.GetCache .EQ 18
LIBTCPIP.ARP.GetC.Ache .EQ 18
LIBTCPIP.DNS.Clear .EQ 20
LIBTCPIP.DNS.Query .EQ 22
LIBTCPIP.DNS.Add .EQ 24
LIBTCPIP.DNS.GetCache .EQ 26
LIBTCPIP.DNS.GetC.Ache .EQ 26
LIBTCPIP.HST.GetByName .EQ 28
LIBTCPIP.HST.GetByAddr .EQ 30
@ -54,7 +54,7 @@ LIBTCPIP.SKT.Read .EQ 46
LIBTCPIP.SKT.ReadA .EQ 48
LIBTCPIP.SKT.PutC .EQ 50
LIBTCPIP.SKT.PutS .EQ 52
LIBTCPIP.SKT.GetCA .EQ 54
LIBTCPIP.SKT.GetC.A .EQ 54
LIBTCPIP.SKT.GetS .EQ 56
*--------------------------------------
ERR.SKT.OOS .EQ $BF

View File

@ -121,7 +121,7 @@ LIB.UNLOAD clc
* out :
* A = hMem To MessageDigest
*--------------------------------------
MD5PStrA >SYSCALL GetMemPtrA
MD5PStrA >SYSCALL GetMemPtr.A
>STYA ZPTmpPtr3 1 and 2 used by other MD5 functions
ldy #0
lda (ZPTmpPtr3),y get PStr len
@ -145,7 +145,7 @@ MD5PStrA >SYSCALL GetMemPtrA
plx get back MD5 Context hMem
pha save MessageDigest hMem
txa
>SYSCALL FreeMemA Free MD5 Context
>SYSCALL FreeMem.A Free MD5 Context
pla get back MessageDigest hMem
clc
.9 rts
@ -156,7 +156,7 @@ MD5PStrA >SYSCALL GetMemPtrA
* A = hMem To S.MD5
*--------------------------------------
MD5Init >LDYAI S.MD5.SIZE
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
>STYA ZPTmpPtr1
ldy #0
@ -181,7 +181,7 @@ MD5Init >LDYAI S.MD5.SIZE
* PULLW DATA LEN
*--------------------------------------
MD5Update >PULLA get MD5 Context
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPTmpPtr1 get MD5 Context
>PULLW ZPDataPtr get DATA
>PULLW ZPDataLen get LEN
@ -247,14 +247,14 @@ MD5Update >PULLA get MD5 Context
* Out:
* A = MessageDigest (PSTR, 16 Bytes, 32 Chars)
*--------------------------------------
MD5FinalizeA >SYSCALL GetMemPtrA
MD5FinalizeA >SYSCALL GetMemPtr.A
>STYA ZPTmpPtr1 get MD5 Context
ldy #S.MD5.FINALIZED
lda (ZPTmpPtr1),y
bne .11
jsr MD5ExtraChunk
.11 >LDYAI 33 Len + 32 Digits
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
>STYA ZPTmpPtr2
phx save hMem for return

View File

@ -86,13 +86,13 @@ ARP.ADD.I sta ARP.TmpCache
clc
rts
*/--------------------------------------
* # ARP.GetCache
* # ARP.GetC.Ache
* Return a Ptr to ARP Cache Table
* ## In:
* ## Out:
* Y,A = PTR to ARP.CACHE
*\--------------------------------------
ARP.GetCache >LDYA L.ARP.CACHE
ARP.GetC.Ache >LDYA L.ARP.CACHE
clc
rts
*--------------------------------------
@ -144,7 +144,7 @@ ARP.IN ldy #S.ARP.TPA+3
beq ARP.IN.REP
ARP.IN.EXIT lda hFrameIn
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
clc
rts

View File

@ -175,13 +175,13 @@ DNS.ADD.I sta DNS.TmpCache
clc
.9 rts
*/--------------------------------------
* # DNS.GetCache
* # DNS.GetC.Ache
* Return a Ptr to DNS Cache Table
* ## In:
* ## Out:
* Y,A = PTR to DNS.CACHE
*\--------------------------------------
DNS.GetCache >LDYA L.DNS.CACHE
DNS.GetC.Ache >LDYA L.DNS.CACHE
clc
rts
*--------------------------------------
@ -197,7 +197,7 @@ DNS.FIND.BY.NAME
ldy #S.DNSCACHE.hNAME
lda (ZPCachePtr),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
bcs *
>STYA ZPTmpPtr1
@ -362,7 +362,7 @@ DNS.FREE ldy #S.DNSCACHE.hNAME
lda (ZPCachePtr),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 lda #0
sta (ZPCachePtr)
rts
@ -384,7 +384,7 @@ DNS.POLL lda hDNSSocket1
rts
*--------------------------------------
DNS.DecodeMsg sta hFrameIn
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPFrameInPtr
ldy #S.DNS.F+1
@ -492,7 +492,7 @@ DNS.DecodeMsg sta hFrameIn
jsr DNS.UPDATE.BY.ID
.9 lda hFrameIn
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
rts
*--------------------------------------
DNS.PSTR2DNS lda (ZPPtrDNS)

View File

@ -45,7 +45,7 @@ FRM.NewIP stx .8+1
txa
adc #0
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
stx hFrameOut
@ -232,7 +232,7 @@ FRM.SendIP ldx #3 Copy SRC.IP even if IP offload
lda hFrameOut
beq .9
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
clc
.9 rts
@ -266,7 +266,7 @@ FRM.Retry ldx FRM.QUEUE.Tail
.10 cpx FRM.QUEUE.Head
beq .8 Queue is empty, exit....
lda FRM.QUEUE.hMem,x
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPFrameOutPtr
ldx FRM.QUEUE.Tail
@ -288,7 +288,7 @@ FRM.Retry ldx FRM.QUEUE.Tail
.3 ldx FRM.QUEUE.Tail Success,or max retry, discard entry
lda FRM.QUEUE.hMem,x
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.4 ldx FRM.QUEUE.Tail
inx

View File

@ -69,7 +69,7 @@ ICMP.IN.ECHOREQ ldy #S.IP.DST+3
jmp FRM.SendIP
ICMP.IN.EXIT lda hFrameIn
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
rts
*--------------------------------------
ICMP.IN.ECHOREP jsr IP.FillSKT.TemplateSrcDst
@ -85,7 +85,7 @@ ICMP.IN.ECHOREP jsr IP.FillSKT.TemplateSrcDst
sta SKT.Template+S.SOCKET.DST.PORT
lda hSocketTable
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPtrSKT
ldx #0
@ -128,7 +128,7 @@ ICMP.IN.ECHOREP jsr IP.FillSKT.TemplateSrcDst
bne .3
.9 lda hFrameIn
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
rts
*--------------------------------------
ICMP.ComputeChecksum

View File

@ -21,7 +21,7 @@ IP.IN ldy #S.IP.PROTOCOL
jsr TCP.IN TCP will NOT discard FrameIn
.9 lda hFrameIn
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
rts
*--------------------------------------
* In:

View File

@ -32,7 +32,7 @@ SKT.New.Listen sec
sta (ZPTmpPtr1),y
.1 lda hSocketTable
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPTmpPtr2
lda #$ff
@ -185,7 +185,7 @@ SKT.CloseA and #$7f
sta (ZPPtrSKT),y
txa
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
bra .1
.8 lda #0
@ -215,7 +215,7 @@ SKT.GetA.I and #$7f
pha
lda hSocketTable
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPtrSKT
pla
@ -257,7 +257,7 @@ SKT.GetA.I and #$7f
* Y,A = pS.SOCKET
*\--------------------------------------
SKT.GetTable lda hSocketTable
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
clc
rts
*/--------------------------------------
@ -517,14 +517,14 @@ SKT.PutS.1 >PULLA
sec
rts
*/--------------------------------------
* # SKT.GetCA (STREAM)
* # SKT.GetC.A (STREAM)
* Read a Char From Stream in A
* ## In :
* A = hSocket
* ## Out :
* A = char
*\--------------------------------------
SKT.GetCA stz bTextMode
SKT.GetC.A stz bTextMode
ldx #1
stx ZPDataOutLen
@ -654,7 +654,7 @@ SKT.AddDataToSktIn
ldy #S.SOCKET.SQ.hInMem
lda (ZPPtrSKT),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base
lda ZPTmpPtr1
@ -764,7 +764,7 @@ SKT.GetDataFromSktIn
.10 ldy #S.SOCKET.SQ.hInMem
lda (ZPPtrSKT),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base
lda ZPTmpPtr1
@ -917,7 +917,7 @@ SKT.AddDataToSktOut
ldy #S.SOCKET.SQ.hOutMem
lda (ZPPtrSKT),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base
lda ZPTmpPtr1
@ -1008,7 +1008,7 @@ SKT.GetDataFromSktOut
ldy #S.SOCKET.SQ.hOutMem
lda (ZPPtrSKT),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base
lda ZPTmpPtr1
@ -1127,7 +1127,7 @@ SKT.AckDataToSktOut
.8 rts
*--------------------------------------
SKT.NewTCB >LDYAI S.TCB
>SYSCALL GetMem0YA
>SYSCALL GetMem0.YA
bcs .9
>STYA .4+1
@ -1151,7 +1151,7 @@ SKT.NewTCB >LDYAI S.TCB
bpl .2
>LDYAI K.TCP.WSIZE
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
txa
@ -1159,7 +1159,7 @@ SKT.NewTCB >LDYAI S.TCB
sta (ZPTmpPtr3),y
>LDYAI K.TCP.WSIZE
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
txa
@ -1178,7 +1178,7 @@ SKT.NewTCB >LDYAI S.TCB
*--------------------------------------
SKT.GetTCB ldy #S.SOCKET.SQ.hTCB
lda (ZPPtrSKT),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
bcs *
>STYA .1+1
@ -1192,7 +1192,7 @@ SKT.GetTCB ldy #S.SOCKET.SQ.hTCB
*--------------------------------------
SKT.StoreTCB ldy #S.SOCKET.SQ.hTCB
lda (ZPPtrSKT),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
bcs *
>STYA .2+1
@ -1207,17 +1207,17 @@ SKT.StoreTCB ldy #S.SOCKET.SQ.hTCB
SKT.Destroy ldy #S.SOCKET.SQ.hOutMem
lda (ZPPtrSKT),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 ldy #S.SOCKET.SQ.hInMem
lda (ZPPtrSKT),y
beq .2
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.2 ldy #S.SOCKET.SQ.hTCB
lda (ZPPtrSKT),y
beq .3
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.3 lda #0
sta (ZPPtrSKT)

View File

@ -22,7 +22,7 @@ TCP.IN jsr IP.FillSKT.TemplateSrcDst
sta SKT.Template+S.SOCKET.SRC.PORT
lda hSocketTable
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPtrSKT
ldx #0

View File

@ -22,7 +22,7 @@ UDP.IN jsr IP.FillSKT.TemplateSrcDst
sta SKT.Template+S.SOCKET.SRC.PORT
lda hSocketTable
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPtrSKT
ldx #0
@ -74,7 +74,7 @@ UDP.IN jsr IP.FillSKT.TemplateSrcDst
bne .3
.9 lda hFrameIn
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
rts
*--------------------------------------
UDP.ComputeChecksum

View File

@ -62,12 +62,12 @@ CS.START cld
.DA ARP.CLEAR
.DA ARP.QUERY
.DA ARP.ADD
.DA ARP.GETCACHE
.DA ARP.GetC.ACHE
.DA DNS.CLEAR
.DA DNS.QUERY
.DA DNS.ADD
.DA DNS.GETCACHE
.DA DNS.GetC.ACHE
.DA HST.GETBYNAME
.DA HST.GETBYADDR
@ -85,7 +85,7 @@ CS.START cld
.DA SKT.ReadA
.DA SKT.PutC
.DA SKT.PutS
.DA SKT.GetCA
.DA SKT.GetC.A
.DA SKT.GetS
*--------------------------------------
L.IPCFG .DA IPCFG
@ -117,7 +117,7 @@ LIB.LOAD ldx bFirstLoad
jsr DNS.CLEAR
>LDYAI K.SKTTABLE.SIZE*S.SOCKET
>SYSCALL GetMem0YA
>SYSCALL GetMem0.YA
bcs .9
stx hSocketTable
@ -130,7 +130,7 @@ LIB.LOAD ldx bFirstLoad
LIB.UNLOAD lda hSocketTable
beq .8
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.8 clc
rts
@ -169,7 +169,7 @@ POLL ldx #DEVMGR.READBLOCK
jmp IP.IN
.9 lda hFrameIn
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.99 rts
*--------------------------------------
* Expire = every sec
@ -295,7 +295,7 @@ NODE.SSOCK .BS 1 S.NODE.HANDLER
.BS 1 S.NODE.SSOCK.HSKT
.DA #0 S.NODE.SSOCK.OPEN
.DA #0 S.NODE.SSOCK.CLOSE
.DA LIBTCPIP.SKT.GetCA
.DA LIBTCPIP.SKT.GetC.A
.DA LIBTCPIP.SKT.PutC
.DA #0 S.NODE.SSOCK.STATUS
*--------------------------------------

View File

@ -35,7 +35,7 @@ Its principal goal is to collect all "genius" 65c02 pieces of code ever written
A2osX is designed to work on any "stock" 128k Apple //e, with no additional hardware. As VBL signal is NOT available as an IRQ on //e (it is on //c & IIgs)
it makes preemptive multitasking impossible.
A new attempt using Mouse card VBL IRQ is targeted i 0.9.1.
__A new attempt using Mouse card VBL IRQ is targeted in 0.9.1.__
Kernel, loading in Aux LC on top of ProDOS provide API inspired from Linux/Unix World to allow writing applications & command line tools on top of it.
This kernel provides an advanced "Memory Manager" able to relocate 65c02 code.
@ -206,7 +206,6 @@ note : '$VAR' does NOT expand Variable
| Name | Status | Comment | K.Ver |
| ---- | ------ | ------- | ----- |
| ASM | In Progress | S-C MASM based multi CPU assembler | 0.9 |
| DEVDUMP | | | 0.8 |
| MEMDUMP | Working | | 0.9 |
| RPCDUMP | Working | tool based on UDP socket API, renamed from RPCINFO | 0.9 |

View File

@ -216,13 +216,13 @@ CS.RUN.SKT.RCVD ldy #hSocket
bcs .9
ldy #hFrame
sta (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPFrameBase
.9 rts
*--------------------------------------
CS.RUN.DISCARD ldy #hFrame
lda (pData),y
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
rts
*--------------------------------------
CS.DOEVENT lda (pEvent)

View File

@ -198,7 +198,7 @@ CS.RUN jsr Init.Timeout
ldy #hBinName
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>SYSCALL ExecProcessNewEnvYA
.9 rts
@ -221,7 +221,7 @@ CS.DOEVENT lda (pEvent)
CS.QUIT ldy #hBinName
lda (pData),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 ldx #DEVMGR.CLOSE
* jsr pDevJmp

View File

@ -94,7 +94,7 @@ CS.RUN.REPaint >LDYA L.MSG.FCONF
ldy #hFileBuf
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
jsr CS.RUN.DumpConfYA
CS.RUN.Loop >SYSCALL Sleep
@ -141,7 +141,7 @@ CS.RUN.Loop >SYSCALL Sleep
*--------------------------------------
CS.RUN.ToggleHZ ldy #hFileBuf
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPTmp1
lda (ZPTmp1)
@ -152,7 +152,7 @@ CS.RUN.ToggleHZ ldy #hFileBuf
CS.RUN.ToggleCHRoot
ldy #hFileBuf
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPTmp1
ldy #8
@ -166,7 +166,7 @@ CS.RUN.ToggleSlotA
ldy #hFileBuf
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPTmp1
pla
@ -181,7 +181,7 @@ CS.RUN.ToggleSlotA
CS.RUN.Load >PUSHWI UsrBuf256
ldy #hFileName
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>SYSCALL Stat
bcs .99
@ -205,7 +205,7 @@ CS.RUN.Load >PUSHWI UsrBuf256
ldy #hFileName
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>SYSCALL LoadFile
@ -217,7 +217,7 @@ CS.RUN.Load >PUSHWI UsrBuf256
rts
.99 >LDYAI 16
>SYSCALL GetMem0YA
>SYSCALL GetMem0.YA
>STYA ZPTmp1
@ -233,7 +233,7 @@ CS.RUN.Load >PUSHWI UsrBuf256
*--------------------------------------
CS.RUN.Save ldy #hFileBuf
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA ptr
>PUSHWI 16 LEN
@ -245,7 +245,7 @@ CS.RUN.Save ldy #hFileBuf
ldy #hFileName
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
@ -316,12 +316,12 @@ CS.DOEVENT sec do not discard TIMER event
CS.QUIT ldy #hFileBuf
lda (pData),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 ldy #hFileName
lda (pData),y
beq .8
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.8 clc
rts

View File

@ -79,10 +79,10 @@ CS.RUN lda #0
bcc .2
lda #13
>SYSCALL PutCharA
>SYSCALL PutChar.A
bcs .9
lda #10
>SYSCALL PutCharA
>SYSCALL PutChar.A
bcs .9
>LDYA L.SHELL
@ -95,7 +95,7 @@ CS.RUN lda #0
php
pha
.3 lda #$ff Self Modified
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
pla
plp
rts
@ -153,7 +153,7 @@ INPUT.CHARIN tax save char...
lda (pData),y
bne .1
txa
.1 >SYSCALL PutCharA
.1 >SYSCALL PutChar.A
rts
.2 cpx #13 CR

View File

@ -141,7 +141,7 @@ Cmd.ExecYA.Exit php
pha
Cmd.ExecYA.Exit.1
lda #$ff
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
pla
plp
rts
@ -169,7 +169,7 @@ Cmd.Exec.EXT ldy #1
.1 ldy #S.PS.hPREFIX not found, try in CD
lda (pPs),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA push search list
>PUSHW ZPPtr1
>PUSHWI UsrBuf256
@ -183,7 +183,7 @@ Cmd.Exec.EXT ldy #1
>PUSHW L.CMD replace CMD in TmpBuffer with full path
>SYSCALL PStrCpy
pla
>SYSCALL FreeMemA Discard this string...
>SYSCALL FreeMem.A Discard this string...
.3 stz UsrBuf256 reset UsrBuf256 for final CMDLINE
@ -256,7 +256,7 @@ Cmd.Exec.CD lda ARGS
Cmd.Exec.PWD ldy #S.PS.hPREFIX
lda (pPs),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>LDYA L.MSG.PSTRCR
>SYSCALL PrintFYA
@ -269,7 +269,7 @@ Cmd.Exec.CD1 stz UsrBuf256
ldy #S.PS.hPREFIX no, init target prefix with actual prefix
lda (pPs),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>PUSHWI UsrBuf256
>SYSCALL PStrCpy
@ -356,7 +356,7 @@ Cmd.Exec.CD1 stz UsrBuf256
ldy #S.PS.hPREFIX
lda (pPs),y
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
pla
@ -384,7 +384,7 @@ Cmd.Exec.SET lda ARGS
ldy #S.PS.hENV
lda (pPs),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPTR1
* No arg, print all ENV
@ -495,11 +495,11 @@ Cmd.Exec.ECHO lda ARGS
Cmd.Exec.ECHO.CR
lda #13
>SYSCALL PutCharA
>SYSCALL PutChar.A
bcs Cmd.Exec.ECHO.RTS
lda #10
>SYSCALL PutCharA
>SYSCALL PutChar.A
Cmd.Exec.ECHO.RTS
rts
@ -568,7 +568,7 @@ Cmd.Exec.READ lda ARGS
cmp #'"'
beq .1
phx
>SYSCALL PutCharA
>SYSCALL PutChar.A
plx
bcs .99
bra .3

View File

@ -13,7 +13,7 @@ CSH.TYPE.LONG .EQ 3
CSH.TYPE.FLOAT .EQ 4
*--------------------------------------
CSH.Init >LDYAI 256
>SYSCALL GetMem0YA
>SYSCALL GetMem0.YA
bcs .9
txa
ldy #CSH.hSymbols
@ -24,7 +24,7 @@ CSH.Init >LDYAI 256
sta (pData),y
>LDYAI 256
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
txa
ldy #CSH.hData
@ -35,7 +35,7 @@ CSH.Init >LDYAI 256
sta (pData),y
>LDYAI 256
>SYSCALL GetMemYA
>SYSCALL GetMem.YA
bcs .9
txa
ldy #CSH.hStack
@ -159,28 +159,28 @@ CSH.Run jsr CSH.GetBuf
CSH.Quit ldy #CSH.hBuf
lda (pData),y
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 ldy #CSH.hStack
lda (pData),y
beq .2
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.2 ldy #CSH.hData
lda (pData),y
beq .3
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.3 ldy #CSH.hSymbols
lda (pData),y
beq .8
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.8 rts
*--------------------------------------
CSH.GetBuf ldy #CSH.hBuf
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPBufBase
ldy #CSH.BufLen
@ -208,17 +208,17 @@ CSH.SetBufPtr ldy #CSH.BufPtr
*--------------------------------------
CSH.GetPtrs ldy #CSH.hSymbols
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPCSHSymbols
ldy #CSH.hData
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPCSHData
ldy #CSH.hStack
lda (pData),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPCSHStack
rts
*--------------------------------------

View File

@ -6,7 +6,7 @@ AUTO 6
.LIST OFF
*--------------------------------------
HIS.Init >LDYAI 256 Get a buffer for History
>SYSCALL GetMem0YA
>SYSCALL GetMem0.YA
bcs .9
txa
@ -24,7 +24,7 @@ HIS.Add ldy #HIS.hBuf
lda (pData),y
beq .9
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPTR1
.10 ldy #HIS.BufEnd
@ -104,7 +104,7 @@ HIS.GetPrev ldy #HIS.hBuf
txa
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPTR1
lda #0
@ -140,7 +140,7 @@ HIS.GetNext ldy #HIS.hBuf
txa
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPPTR1
ldy #HIS.BufIndex
@ -178,7 +178,7 @@ HIS.SetBuf jsr CmdLine.CLR
HIS.Quit ldy #HIS.hBuf
lda (pData),y
beq .9
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.9 rts
*--------------------------------------
MAN

View File

@ -289,13 +289,13 @@ CS.RUN.BATCH jsr CSH.Run
.90 jsr CSH.GetChar
bcs .92
>SYSCALL PutCharA
>SYSCALL PutChar.A
.91 jsr CSH.GetNextChar
bcs .92
cmp #13
beq .92
>SYSCALL PutCharA
>SYSCALL PutChar.A
bra .91
.92 pla
@ -409,7 +409,7 @@ CS.CHARIN tax
bne .8
txa
>SYSCALL PutCharA
>SYSCALL PutChar.A
.8 clc
rts
@ -417,9 +417,9 @@ CS.CHARIN tax
CS.CHARIN.CTRL cpx #13 CR
bne .10
txa
>SYSCALL PutCharA
>SYSCALL PutChar.A
lda #10
>SYSCALL PutCharA
>SYSCALL PutChar.A
lda (pData) CmdBuffer
ora #$80
@ -491,7 +491,7 @@ CheckSleep ldy #Sleep+3
*--------------------------------------
SetPWD ldy #S.PS.hPREFIX
lda (pPs),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>PUSHW L.ENV.PWD
>SYSCALL SetEnv
@ -508,7 +508,7 @@ PrintPrompt >LDYA L.ENV.PS1
php
pha
txa
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
pla
plp
.9 rts
@ -533,7 +533,7 @@ CmdLine.DEL lda (pData)
beq .9
lda #8
>SYSCALL PutCharA
>SYSCALL PutChar.A
lda (pData)
dec
sta (pData)

View File

@ -65,7 +65,7 @@ CFG.Read.HOSTNAME
>STYA CFG.FileLen
txa
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPIPCfgPtr
* read 15 chars MAX, until CR or EOF
@ -119,7 +119,7 @@ CFG.Read.TCPIP.CONF
stx CFG.hCfgFile
>STYA CFG.FileLen
txa
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPIPCfgPtr
.1 jsr CFG.GetLine
@ -187,11 +187,11 @@ CFG.Read.HOSTS >PUSHWI 0 Aux type
>STYA CFG.FileLen
txa
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>STYA ZPIPCfgPtr
.89 lda CFG.hCfgFile
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
clc
.99 rts
*--------------------------------------
@ -199,11 +199,11 @@ CFG.Read.CleanUp
pha
lda CFG.hCfgPath
beq .1
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.1 lda CFG.hCfgFile
beq .8
>SYSCALL FreeMemA
>SYSCALL FreeMem.A
.8 pla
rts

View File

@ -174,7 +174,7 @@ CS.RUN.CLIENT ldy #SktIndex
sta .1+1 hSocket
sta .3+1
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GetCA
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GetC.A
bcc .10
tax

View File

@ -60,7 +60,7 @@ K.GetArg.A sta .2+1
*--------------------------------------
ARG.InitArgPtr1 ldy #S.PS.hCMDLINE
lda (pPs),y
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA ZPPtr1
rts
*--------------------------------------

View File

@ -56,7 +56,7 @@ K.LoadDrv.YA >STYA K.LoadDrv.CmdArray
.96 pha
.97 lda #$ff
jsr K.FreeMemA
jsr K.FreeMem.A
pla
rts
*--------------------------------------
@ -99,7 +99,7 @@ K.LoadLib.YA >STYA K.LoadLib.Name SAVE LIBname for K.FileSearch
.99 pha
lda .8+1
jsr K.FreeMemA
jsr K.FreeMem.A
pla
sec
@ -113,7 +113,7 @@ K.LoadLib.Name .BS 2
* out :
*--------------------------------------
K.UnloadLib.A pha
jsr K.GetMemByIDA
jsr K.GetMemByID.A
>STYA ZPPtr1
ldy #S.MEM.REFCNT
lda (ZPPtr1),y Get count of those referencing this lib
@ -135,7 +135,7 @@ K.UnloadLib.A pha
ldx #LIBMGR.UNLOAD
jsr LIB.Jump Call LIB.UNLOAD function
pla
jmp K.FreeMemA
jmp K.FreeMem.A
LIB.Jump jmp $ffff Self Modiied
*--------------------------------------
* K.LoadBin.YA
@ -157,7 +157,7 @@ K.LoadBin.YA >STYA K.LoadBin.YA.Filename
sta (ZPPtr1),y
txa
jmp K.GetMemPtrA X=hMem from K.GetMemByNameA
jmp K.GetMemPtr.A X=hMem from K.GetMemByNameA
*--------------------------------------
K.LoadBin.YA.1 >PUSHWI K.S.STAT
>PUSHW K.LoadBin.YA.Filename
@ -188,7 +188,7 @@ K.LoadBin.YA.1 >PUSHWI K.S.STAT
sta BIN.Relocate.End+1
txa
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA ZPPtr1 set ZPPtr1 -> Code start
pha YA = actual load address
@ -217,7 +217,7 @@ K.LoadBin.YA.1 >PUSHWI K.S.STAT
bcs .98
lda K.LoadBin.YA.hMem Keep X=hMem
jsr K.GetMemByIDA X unmodified
jsr K.GetMemByID.A X unmodified
>STYA ZPPtr1
lda (ZPPtr1)
@ -230,13 +230,13 @@ K.LoadBin.YA.1 >PUSHWI K.S.STAT
lda K.LoadBin.YA.hMem
tax return hMEM to Caller...
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
clc ...and Y,A=PTR to CS
rts
.98 pha
lda K.LoadBin.YA.hMem
jsr K.FreeMemA Discard Loaded Code
jsr K.FreeMem.A Discard Loaded Code
pla
sec
@ -311,7 +311,7 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O
.10 inc DevMgr.Count
>SYSCALL GetDevByIDA
>SYSCALL GetDevByID.A
>STYA ZPPtr2 setup Ptr2 to dest HEADER
ldy #H.BIN.DRV.HEADER.O

View File

@ -4,7 +4,7 @@ LOMEM $A00
INC 1
AUTO 6
*/--------------------------------------
* # GetDevByIDA
* # GetDevByID.A
* ## IN:
* A = DevID
* ## OUT:
@ -12,7 +12,7 @@ AUTO 6
* Y,A = DEVSLOT
* note: X Unmodified
*\--------------------------------------
K.GetDevByIDA cmp DevMgr.Count
K.GetDevByID.A cmp DevMgr.Count
bcs K.GetDevDNF
asl
@ -29,7 +29,7 @@ K.GetDevByIDA cmp DevMgr.Count
adc /DevMgr.Table
rts CC
*/--------------------------------------
* # GetDevByNameYA
* # GetDevByName.YA
* ## IN:
* Y,A = Ptr to device name (PStr)
* ## OUT:
@ -37,7 +37,7 @@ K.GetDevByIDA cmp DevMgr.Count
* X = DEVID
* Y,A = DEVSLOT
*\--------------------------------------
K.GetDevByNameYA
K.GetDevByName.YA
>STYA ZPPtr1
>LDYAI DevMgr.Table+S.DEV.NAME
>STYA ZPPtr2
@ -81,14 +81,15 @@ K.GetDevByNameYA
K.GetDevDNF lda #MLI.ERR.NODEV CS from cpx/beq
rts
*/--------------------------------------
* # GetDevStatusA
* # GetDevStatus.A
* ## IN:
* A = DevID
* ## OUT:
* CC = OK, CS = ERROR
* Y,A = Ptr to S.DEVINFO
*\--------------------------------------
K.GetDevStatusA jsr K.GetDevByIDA
K.GetDevStatus.A
jsr K.GetDevByID.A
bcs K.GetDevDNF
>STYA ZPPtr1
ldx #DEVMGR.STATUS

View File

@ -4,7 +4,7 @@ LOMEM $A00
INC 1
AUTO 6
*/--------------------------------------
* # OpenDirYA
* # OpenDir.YA
* ## In:
* Y,A = PATH (C-String)
* ## Out:
@ -13,16 +13,16 @@ AUTO 6
* CS : error
* A = EC
*\--------------------------------------
K.OpenDirYA jsr PFT.CheckPathYA
K.OpenDir.YA jsr PFT.CheckPathYA
>STYA ZPPtr2
>STYA K.MLI.PARAMS+1 For GETFILEINFO,MLIOPEN
>LDYAI S.NODE.DIR
jsr K.GetMem0YA
jsr K.GetMem0.YA
bcs .99
>STYA ZPPtr1
stx K.ReadDirA.hDir
stx K.ReadDir.A.hDir
ldy #1
lda (ZPPtr2),y One char ?
@ -45,18 +45,18 @@ K.OpenDirYA jsr PFT.CheckPathYA
ldy #S.NODE.DIR.REF
sta (ZPPtr1),y
.8 lda K.ReadDirA.hDir
.8 lda K.ReadDir.A.hDir
clc
rts
.98 pha save MLI error
lda K.ReadDirA.hDir
jsr K.CloseDirA.1
lda K.ReadDir.A.hDir
jsr K.CloseDir.A.1
pla get back MLI error
sec
.99 rts
*/--------------------------------------
* # ReadDirA
* # ReadDir.A
* ## In:
* A = hDIR
* ## Out:
@ -67,34 +67,35 @@ K.OpenDirYA jsr PFT.CheckPathYA
* A = EC
* note : A = 0 means no more entry
*\--------------------------------------
K.ReadDirA.hDir .BS 1
K.ReadDirA.hMem .BS 1
K.ReadDirA.hDIRENT .BS 1
K.ReadDirA.BufSize .BS 2
K.ReadDirA.ECIB .BS 1
K.ReadDir.A.hDir .BS 1
K.ReadDir.A.hMem .BS 1
K.ReadDir.A.hDIRENT .BS 1
K.ReadDir.A.BufSize .BS 2
K.ReadDir.A.ECIB .BS 1
*--S.DIR Cache ------------------------
K.ReadDirA.EL .BS 1
K.ReadDirA.EPB .BS 1
K.ReadDirA.EC .BS 2
K.ReadDir.A.EL .BS 1
K.ReadDir.A.EPB .BS 1
K.ReadDir.A.EC .BS 2
*--------------------------------------
K.ReadDirA jsr PFT.CheckNodeA
sta K.ReadDirA.hDir
jsr K.GetMemPtrA
K.ReadDir.A jsr PFT.CheckNodeA
sta K.ReadDir.A.hDir
jsr K.GetMemPtr.A
>STYA ZPPtr1
ldy #S.NODE.DIR.REF
lda (ZPPtr1),y
beq K.ReadDirA.ROOT
jmp K.ReadDirA.DIR
beq K.ReadDir.A.ROOT
jmp K.ReadDir.A.DIR
K.ReadDirA.NoMore
K.ReadDir.A.NoMore
lda #0
sec CS,A=0 no more entry
rts
*--------------------------------------
K.ReadDirA.ROOT ldy #S.NODE.DIR.FC did we already returned something ?
K.ReadDir.A.ROOT
ldy #S.NODE.DIR.FC did we already returned something ?
lda (ZPPtr1),y
bne K.ReadDirA.NoMore
bne K.ReadDir.A.NoMore
stz K.MLI.PARAMS+1 All Volumes
@ -108,10 +109,10 @@ K.ReadDirA.ROOT ldy #S.NODE.DIR.FC did we already returned something ?
.99 rts
* pass #1 compute BufSize.....
.10 lda #1 +1 for Ending 0
sta K.ReadDirA.BufSize
stz K.ReadDirA.BufSize+1
sta K.ReadDir.A.BufSize
stz K.ReadDir.A.BufSize+1
stz K.ReadDirA.EC
stz K.ReadDir.A.EC
ldy #0
@ -119,14 +120,14 @@ K.ReadDirA.ROOT ldy #S.NODE.DIR.FC did we already returned something ?
and #$0F
beq .2
inc K.ReadDirA.EC increase entry count
inc K.ReadDir.A.EC increase entry count
sec Add Filelen +1
adc #S.STAT will ends with CC
adc K.ReadDirA.BufSize
sta K.ReadDirA.BufSize
adc K.ReadDir.A.BufSize
sta K.ReadDir.A.BufSize
bcc .2
inc K.ReadDirA.BufSize+1
inc K.ReadDir.A.BufSize+1
.2 tya
clc
@ -135,7 +136,7 @@ K.ReadDirA.ROOT ldy #S.NODE.DIR.FC did we already returned something ?
bcc .1 loop until 256 bytes scanned
* pass #2 Fill Buffer...
jsr K.ReadDirA.GetBuf
jsr K.ReadDir.A.GetBuf
bcs .99
.3 lda (ZPPtr2)
@ -151,15 +152,15 @@ K.ReadDirA.ROOT ldy #S.NODE.DIR.FC did we already returned something ?
.4 lda (ZPPtr2),y
sta K.MLI.PATH+1,y
jsr K.ReadDirA.AddToBuf
jsr K.ReadDir.A.AddToBuf
iny
dex
bne .4
txa Add ending 0 for C String
jsr K.ReadDirA.AddToBuf
jsr K.ReadDir.A.AddToBuf
jsr K.ReadDirA.ClrStat
jsr K.ReadDir.A.ClrStat
lda (ZPPtr2)
@ -189,7 +190,7 @@ K.ReadDirA.ROOT ldy #S.NODE.DIR.FC did we already returned something ?
>LDYA K.MLI.PARAMS+8
>STYA K.S.STAT+S.STAT.BLOCKS
.80 jsr K.ReadDirA.ADDSTAT
.80 jsr K.ReadDir.A.ADDSTAT
.88 lda ZPPtr2
clc
@ -197,7 +198,7 @@ K.ReadDirA.ROOT ldy #S.NODE.DIR.FC did we already returned something ?
sta ZPPtr2
bcc .89
inc ZPPtr2+1
.89 dec K.ReadDirA.EC
.89 dec K.ReadDir.A.EC
bne .3
* lda #0 done by S.MEM.F.INIT0
@ -207,16 +208,16 @@ K.ReadDirA.ROOT ldy #S.NODE.DIR.FC did we already returned something ?
lda #16
sta (ZPPtr1),y Flag that we returned somthing for next time
lda K.ReadDirA.hDIRENT
lda K.ReadDir.A.hDIRENT
tax
jmp K.GetMemPtrA
jmp K.GetMemPtr.A
*--------------------------------------
K.ReadDirA.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF
K.ReadDir.A.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF
>LDYAI 512 Get a 512 bytes buffer for reading dir...
jsr K.GetMemYA
jsr K.GetMem.YA
bcs .99
stx K.ReadDirA.hMem
stx K.ReadDir.A.hMem
>STYA K.MLI.PARAMS+2 For reading
@ -244,18 +245,18 @@ K.ReadDirA.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF
ldy #$1f+3
ldx #3
.1 lda (ZPPtr2),y Get K.ReadDirA.EL.... From Block
sta K.ReadDirA.EL,x
.1 lda (ZPPtr2),y Get K.ReadDir.A.EL.... From Block
sta K.ReadDir.A.EL,x
dey
dex
bpl .1
inc K.ReadDirA.EC Add one to EC because we include VOL/DIR Header
inc K.ReadDir.A.EC Add one to EC because we include VOL/DIR Header
bne .4
inc K.ReadDirA.EC+1 ...and ProDOS does NOT include header entry in EC
inc K.ReadDir.A.EC+1 ...and ProDOS does NOT include header entry in EC
bra .4
.98 jsr K.ReadDirA.CLN
.98 jsr K.ReadDir.A.CLN
sec
.99 rts
@ -263,16 +264,16 @@ K.ReadDirA.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF
ldx #3
.3 lda (ZPPtr1),y get this session parameters from S.DIR
sta K.ReadDirA.EL,x
sta K.ReadDir.A.EL,x
dey
dex
bpl .3
.4 lda K.ReadDirA.EC
.4 lda K.ReadDir.A.EC
eor #$ff
tax
lda K.ReadDirA.EC+1
lda K.ReadDir.A.EC+1
eor #$ff
tay
@ -282,14 +283,14 @@ K.ReadDirA.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF
beq .98 no...exit
* pass #1 compute BufSize...
.5 lda K.ReadDirA.EPB
sta K.ReadDirA.ECIB
.5 lda K.ReadDir.A.EPB
sta K.ReadDir.A.ECIB
lda #1 For Ending 0
sta K.ReadDirA.BufSize
stz K.ReadDirA.BufSize+1
sta K.ReadDir.A.BufSize
stz K.ReadDir.A.BufSize+1
K.ReadDirA.DIR1 lda (ZPPtr2) X = EntryCount In This Block
K.ReadDir.A.DIR1 lda (ZPPtr2) X = EntryCount In This Block
beq .7 Free slot....goto next
and #$F0 get storage_type
@ -313,32 +314,32 @@ K.ReadDirA.DIR1 lda (ZPPtr2) X = EntryCount In This Block
.2 lda #2+S.STAT+3+S.STAT add "1." + S.STAT + "2.." + S.STAT...
clc
adc K.ReadDirA.BufSize
sta K.ReadDirA.BufSize
adc K.ReadDir.A.BufSize
sta K.ReadDir.A.BufSize
bcc .3
inc K.ReadDirA.BufSize+1
inc K.ReadDir.A.BufSize+1
.3 inx
bne .7
iny
bra K.ReadDirA.DIR2 we reached last entry in whole DIR
bra K.ReadDir.A.DIR2 we reached last entry in whole DIR
.7 lda ZPPtr2
clc
adc K.ReadDirA.EL
adc K.ReadDir.A.EL
sta ZPPtr2
bcc .8
inc ZPPtr2+1
.8 dec K.ReadDirA.ECIB
bne K.ReadDirA.DIR1
.8 dec K.ReadDir.A.ECIB
bne K.ReadDir.A.DIR1
* pass #2 Fill Buffer...(ZPPtr1 & Ptr2 can now be trashed)
K.ReadDirA.DIR2 jsr K.ReadDirA.GetBuf
K.ReadDir.A.DIR2 jsr K.ReadDir.A.GetBuf
bcs .9
lda K.ReadDirA.EPB
sta K.ReadDirA.ECIB
lda K.ReadDir.A.EPB
sta K.ReadDir.A.ECIB
.1 lda (ZPPtr3)
beq .7 Empty slot, skip
@ -346,50 +347,50 @@ K.ReadDirA.DIR2 jsr K.ReadDirA.GetBuf
and #$F0
cmp #$F0 Vol Header ?
bne .2
jsr K.ReadDirA.ADD.
jsr K.ReadDir.A.ADD.
bra .6
.2 cmp #$E0 Dir Header ?
bne .3
jsr K.ReadDirA.ADD.
jsr K.ReadDirA.ADD..
jsr K.ReadDir.A.ADD.
jsr K.ReadDir.A.ADD..
bra .6
.3 jsr K.ReadDirA.AddFNToBuf
jsr K.ReadDirA.ClrStat
.3 jsr K.ReadDir.A.AddFNToBuf
jsr K.ReadDir.A.ClrStat
lda (ZPPtr3)
and #$F0
cmp #$D0 Directory ?
bne .5
jsr K.ReadDirA.ADDD
jsr K.ReadDir.A.ADDD
bra .6
.5 jsr K.ReadDirA.ADDF
.5 jsr K.ReadDir.A.ADDF
.6 lda K.ReadDirA.EC decrease global counter...
.6 lda K.ReadDir.A.EC decrease global counter...
sec
sbc #1
sta K.ReadDirA.EC
sta K.ReadDir.A.EC
lda K.ReadDirA.EC+1
lda K.ReadDir.A.EC+1
sbc #0
sta K.ReadDirA.EC+1
ora K.ReadDirA.EC
sta K.ReadDir.A.EC+1
ora K.ReadDir.A.EC
beq .8 0! no more files in DIR
.7 dec K.ReadDirA.ECIB 0! no more file in block
.7 dec K.ReadDir.A.ECIB 0! no more file in block
beq .8
lda ZPPtr3
clc
adc K.ReadDirA.EL
adc K.ReadDir.A.EL
sta ZPPtr3
bcc .1
inc ZPPtr3+1
bra .1
.9 jsr K.ReadDirA.CLN
.9 jsr K.ReadDir.A.CLN
sec
rts
@ -397,52 +398,52 @@ K.ReadDirA.DIR2 jsr K.ReadDirA.GetBuf
* lda #0 S.MEM.F.INIT0 already did this
* sta (ZPPtr4) Ending 0
lda K.ReadDirA.hDir Restore ZPPtr1 trashed by STR API calls
jsr K.GetMemPtrA
lda K.ReadDir.A.hDir Restore ZPPtr1 trashed by STR API calls
jsr K.GetMemPtr.A
>STYA ZPPtr1
ldx #3
ldy #S.NODE.DIR.EL+3
.81 lda K.ReadDirA.EL,x Store back this session prameters to S.DIR
.81 lda K.ReadDir.A.EL,x Store back this session prameters to S.DIR
sta (ZPPtr1),y
dey
dex
bpl .81
jsr K.ReadDirA.CLN Discard READBUFFER
jsr K.ReadDir.A.CLN Discard READBUFFER
lda K.ReadDirA.hDIRENT
lda K.ReadDir.A.hDIRENT
tax
jmp K.GetMemPtrA
jmp K.GetMemPtr.A
*--------------------------------------
K.ReadDirA.CLN pha
lda K.ReadDirA.hMem
jsr K.FreeMemA
K.ReadDir.A.CLN pha
lda K.ReadDir.A.hMem
jsr K.FreeMem.A
pla
rts
*--------------------------------------
K.ReadDirA.GetBuf
>LDYA K.ReadDirA.BufSize Get a BufSize bytes buffer for storing results
jsr K.GetMem0YA make sure 0 filled
K.ReadDir.A.GetBuf
>LDYA K.ReadDir.A.BufSize Get a BufSize bytes buffer for storing results
jsr K.GetMem0.YA make sure 0 filled
bcs .9
stx K.ReadDirA.hDIRENT
stx K.ReadDir.A.hDIRENT
>STYA ZPPtr4
.9 rts
*--------------------------------------
K.ReadDirA.ADD. ldx #1 filename="1."
K.ReadDir.A.ADD. ldx #1 filename="1."
.HS 2C bit abs
K.ReadDirA.ADD..
K.ReadDir.A.ADD..
ldx #2 filename="2.."
lda #'.'
.1 jsr K.ReadDirA.AddToBuf Add X dot(s)
.1 jsr K.ReadDir.A.AddToBuf Add X dot(s)
dex
bne .1
txa
jsr K.ReadDirA.AddToBuf Add Ending 0
jsr K.ReadDir.A.AddToBuf Add Ending 0
jsr K.ReadDirA.ClrStat
jsr K.ReadDir.A.ClrStat
* ldy #$25 total_blocks
* lda (ZPPtr3),y
@ -451,14 +452,16 @@ K.ReadDirA.ADD..
* lda (ZPPtr3),y
* sta K.S.STAT+S.STAT.BLOCKS+1
*--------------------------------------
K.ReadDirA.ADDD lda #$0F
K.ReadDir.A.ADDD
lda #$0F
sta K.S.STAT+S.STAT.P.TYPE
lda /S.STAT.MODE.DIR
sta K.S.STAT+S.STAT.MODE+1
bra K.ReadDirA.AddAccess
bra K.ReadDir.A.AddAccess
*--------------------------------------
K.ReadDirA.ADDF lda /S.STAT.MODE.REG
K.ReadDir.A.ADDF
lda /S.STAT.MODE.REG
sta K.S.STAT+S.STAT.MODE+1
ldx #ADDF.DST-ADDF.SRC
@ -470,7 +473,7 @@ K.ReadDirA.ADDF lda /S.STAT.MODE.REG
dex
bne .1
*--------------------------------------
K.ReadDirA.AddAccess
K.ReadDir.A.AddAccess
ldy #$1E ProDOS Access
lda (ZPPtr3),y
@ -488,16 +491,18 @@ K.ReadDirA.AddAccess
.3 txa
sta K.S.STAT+S.STAT.MODE
*--------------------------------------
K.ReadDirA.AddTime
>PUSHWI K.S.STAT+S.STAT.CTIME
K.ReadDir.A.AddTime
ldx #K.S.STAT+S.STAT.CTIME
ldy /K.S.STAT+S.STAT.CTIME
lda #$18 creation Date/time
jsr K.ReadDirA.ConvertTime
jsr K.ReadDir.A.ConvertTime
>PUSHWI K.S.STAT+S.STAT.MTIME
ldx #K.S.STAT+S.STAT.MTIME
ldy /K.S.STAT+S.STAT.MTIME
lda #$21 mod Date/time
jsr K.ReadDirA.ConvertTime
jsr K.ReadDir.A.ConvertTime
*--------------------------------------
K.ReadDirA.AddStat
K.ReadDir.A.AddStat
ldy #S.STAT-1
.1 lda K.S.STAT,y
@ -513,7 +518,7 @@ K.ReadDirA.AddStat
inc ZPPtr4+1
.8 rts
*--------------------------------------
K.ReadDirA.ClrStat
K.ReadDir.A.ClrStat
ldx #S.STAT-1
.1 stz K.S.STAT,x
@ -521,7 +526,7 @@ K.ReadDirA.ClrStat
bpl .1
rts
*--------------------------------------
K.ReadDirA.AddFNToBuf
K.ReadDir.A.AddFNToBuf
ldy #$1C version/min_version for lowercase bitmap
lda (ZPPtr3),y check bxxxxxxx.xxxxxxxx...
bpl .7 not set, no lowercase bitmap present
@ -561,45 +566,48 @@ K.ReadDirA.AddFNToBuf
ldy #1
.8 lda (ZPPtr3),y
jsr K.ReadDirA.AddToBuf
jsr K.ReadDir.A.AddToBuf
iny
dex
bne .8
txa
jsr K.ReadDirA.AddToBuf
jsr K.ReadDir.A.AddToBuf
rts
*--------------------------------------
K.ReadDirA.AddToBuf
K.ReadDir.A.AddToBuf
sta (ZPPtr4)
inc ZPPtr4
bne .8
inc ZPPtr4+1
.8 rts
*--------------------------------------
K.ReadDirA.ConvertTime
K.ReadDir.A.ConvertTime
stx ZPPtr2
sty ZPPtr2+1
clc
adc ZPPtr3
tay
sta ZPPtr1
lda ZPPtr3+1
adc #0
>PUSHYA
jmp K.PTime2Time Will destroy Ptr1 & Ptr2 !!!!
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
*/-------------------------------------
* # CloseDirA
* # CloseDir.A
* ## In:
* A = hDIR
* ## Out:
* none, always succeed.
*\-------------------------------------
K.CloseDirA .EQ K.FCloseA
K.CloseDirA.1 .EQ K.FCloseA.1
K.CloseDir.A .EQ K.FClose.A
K.CloseDir.A.1 .EQ K.FClose.A.1
*--------------------------------------
MAN
SAVE /A2OSX.SRC/SYS/KERNEL.S.DIRENT

View File

@ -20,7 +20,7 @@ K.NewPStr.YA >STYA ZPPtr2
inc
tay
lda #0 Y,A = len of new string
jsr K.GetMemYA
jsr K.GetMem.YA
bcs .9
>STYA ZPPtr1
@ -144,7 +144,7 @@ K.ExpandPStr.YA stz K.ExpandPStr.hPStr Reset Intermediate string...
.80 lda K.ExpandPStr.hPStr working from our temp string ?
beq .81 no...
jsr K.FreeMemA yes, discard....
jsr K.FreeMem.A yes, discard....
.81 >LDYAI K.Buf256
jsr K.NewPStr.YA
@ -561,7 +561,7 @@ ENV.DiscardVarPtr3
*--------------------------------------
ENV.InitEnvPtr3 ldy #S.PS.hENV
lda (pPs),y
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA ZPPtr3 Store ENV
rts
*--------------------------------------

View File

@ -117,7 +117,7 @@ EVT.DestroyEvent
pha
ldy #S.EVT.DATALO
lda (pEvent),y
jsr K.FreeMemA
jsr K.FreeMem.A
pla
.1 bit #S.EVT.F.hMEM2
@ -125,7 +125,7 @@ EVT.DestroyEvent
ldy #S.EVT.DATAHI
lda (pEvent),y
jsr K.FreeMemA
jsr K.FreeMem.A
.2 lda #0
sta (pEvent)

View File

@ -88,12 +88,12 @@ K.FileSearch.I >PULLW ZPPtr4 ZPPtr1 trashed by ExpandStr.YA
rts
.98 lda #$ff SELF MODIFIED : Discard Expanded hSrch list
jsr K.FreeMemA
jsr K.FreeMem.A
lda #MLI.ERR.FNOTFND
sec
.99 rts
*/--------------------------------------
* # GetFullPathYA
* # GetFullPath.YA
* ## In :
* Y,A = Filename (PSTR)
* ## Out :
@ -102,9 +102,10 @@ K.FileSearch.I >PULLW ZPPtr4 ZPPtr1 trashed by ExpandStr.YA
* X = hMem of FullPath
* CS : A = Error Code
*\--------------------------------------
K.GetFullPathYA >STYA ZPPtr3 Ptr1 & 2 used by StrCpy
K.GetFullPath.YA
>STYA ZPPtr3 Ptr1 & 2 used by StrCpy
lda (ZPPtr3)
beq K.GetFullPathYA.9
beq K.GetFullPath.YA.9
stz K.Buf256
@ -115,7 +116,7 @@ K.GetFullPathYA >STYA ZPPtr3 Ptr1 & 2 used by StrCpy
ldy #S.PS.hPREFIX
lda (pPs),y
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>PUSHYA
>PUSHWI K.Buf256
>SYSCALL PStrCpy
@ -123,12 +124,12 @@ K.GetFullPathYA >STYA ZPPtr3 Ptr1 & 2 used by StrCpy
.1 >PUSHW ZPPtr3
>PUSHWI K.Buf256
>SYSCALL PStrCat
K.GetFullPathYA.NewStr
K.GetFullPath.YA.NewStr
>LDYAI K.Buf256
>SYSCALL NewPStrYA
rts
K.GetFullPathYA.9
K.GetFullPath.YA.9
sec
rts
*/--------------------------------------
@ -159,7 +160,7 @@ K.LoadFile lda (pStack) read PTR.LO on top of stack
bne .11
>LDYA K.S.STAT+S.STAT.SIZE push len
jsr K.GetMemYA
jsr K.GetMem.YA
bcs .10
>STYA K.LoadFile.Mem
stx K.LoadFile.hMem
@ -194,12 +195,12 @@ K.LoadFile lda (pStack) read PTR.LO on top of stack
.97 pha
lda K.LoadFile.hMem
jsr K.FreeMemA
jsr K.FreeMem.A
pla
.99 pha
lda K.LoadFile.hFile
jsr K.FCloseA
jsr K.FClose.A
pla
sec
rts
@ -232,7 +233,7 @@ K.SaveFile jsr K.FOpen
.99 pha
.90 lda #$ff
jsr K.FCloseA
jsr K.FClose.A
pla
sec
rts
@ -259,6 +260,15 @@ K.ChTyp jsr PFT.CheckPathSTK
>MLICALL MLISETFILEINFO
.9 rts
*/--------------------------------------
* # ChMod
* ## In:
* PUSHW = UID
* PUSHW = PATH
*\--------------------------------------
K.ChMod
sec
rts
*/--------------------------------------
* # ChOwn
* ## In:
* PUSHW = UID

View File

@ -79,9 +79,9 @@ A2osX.SYSCALL1 bit K.SYSCALL.FLAGS,x
.7 lda #$FF Self Modified
.8 jmp (K.SYSCALL.JMP,x)
*--------------------------------------
A2osX.LIBCALL1 pha No need to save X, K.GetMemPtrA will leave it unmodified
A2osX.LIBCALL1 pha No need to save X, K.GetMemPtr.A will leave it unmodified
tya Get LIB hMem in A
jsr K.GetMemPtrA Get LIB Code Segment (MemMgr in $E000, no BNK change)
jsr K.GetMemPtr.A Get LIB Code Segment (MemMgr in $E000, no BNK change)
>STYA .1+1
pla
.1 jmp $ffff

View File

@ -134,7 +134,7 @@ Kernel.Init3 sta SETALTZP
ldy #S.PS.hPREFIX
lda (pPs),y
>SYSCALL GetMemPtrA
>SYSCALL GetMemPtr.A
>PUSHYA
>LDYAI MSG.Prefix
@ -150,7 +150,7 @@ Kernel.Init3 sta SETALTZP
>SYSCALL CreateProcessYA
bcs .9
pla
>SYSCALL FreeMemA ...discard...
>SYSCALL FreeMem.A ...discard...
>LDYAI MSG.Init3.OK
>SYSCALL PrintFYA
@ -431,7 +431,7 @@ PS0Init ldx #S.DEV*2 NUL,SYS
bpl .2
>LDYAI DEV.SYS
>SYSCALL MkNodYA
>SYSCALL MkNod.YA
bcs .9
ldy #S.PS.hStdIn
@ -679,7 +679,7 @@ DevMgrInit.AddDev
beq .9
inc DevMgr.Count
>SYSCALL GetDevByIDA
>SYSCALL GetDevByID.A
>STYA ZPPtr2
lda DEV.HEADER+S.DEV.BUSID
@ -768,7 +768,7 @@ TskMgrInit >LDYAI TskMgr.Table+S.PS Clear whole process table except PS0
bne .1
>LDYAI K.ENV.SIZE get a buffer for ENV
>SYSCALL GetMem0YA make sure blank!!
>SYSCALL GetMem0.YA make sure blank!!
bcs .9
txa

View File

@ -9,7 +9,7 @@ AUTO 6
* Bank 1
*--------------------------------------
K.SYSCALL.JMP .DA K.FileSearch $00
.DA K.GetFullPathYA
.DA K.GetFullPath.YA
.DA K.LoadFile
.DA K.SaveFile
.DA K.ChTyp
@ -27,21 +27,21 @@ K.SYSCALL.JMP .DA K.FileSearch $00
.DA 0
*--------------------------------------
.DA K.FOpen $20
.DA K.FCloseA
.DA K.FClose.A
.DA K.FRead
.DA K.FWrite
.DA K.FFlushA
.DA K.FFlush.A
.DA K.FSeek
.DA K.FTellA
.DA K.FEOFA
.DA K.FTell.A
.DA K.FEOF.A
*--------------------------------------
.DA K.RemoveYA $30
.DA K.Remove.YA $30
.DA K.Rename
.DA K.STAT
.DA K.Stat
.DA 0
.DA K.OpenDirYA
.DA K.ReadDirA
.DA K.CloseDirA
.DA K.OpenDir.YA
.DA K.ReadDir.A
.DA K.CloseDir.A
.DA K.MKDir.YA
*--------------------------------------
* Bank 2
@ -64,11 +64,11 @@ K.SYSCALL.JMP .DA K.FileSearch $00
.DA K.StrFTime
.DA 0 K.PStr2StrArrayYA
*--------------------------------------
.DA K.ExecProcessNewEnvYA $60
.DA K.ExecProcessYA
.DA K.CreateProcessNewEnvYA
.DA K.CreateProcessYA
.DA K.GetPSByIDA
.DA K.ExecProcessNewEnv.YA $60
.DA K.ExecProcess.YA
.DA K.CreateProcessNewEnv.YA
.DA K.CreateProcess.YA
.DA K.GetPSByID.A
.DA 0
.DA K.Sleep
.DA 0
@ -82,43 +82,43 @@ K.SYSCALL.JMP .DA K.FileSearch $00
.DA K.GetEnv.YA
.DA K.UnsetEnv.YA
*--------------------------------------
.DA K.GetDevByIDA $80
.DA K.GetDevByNameYA
.DA K.GetDevStatusA
.DA K.GetDevByID.A $80
.DA K.GetDevByName.YA
.DA K.GetDevStatus.A
.DA 0
.DA K.MKNodYA
.DA K.MKNodA
.DA K.MKNod.YA
.DA K.MKNod.A
.DA K.MKFIFO
.DA 0
*--------------------------------------
* $E000
*--------------------------------------
.DA K.GetMem $90
.DA K.FreeMemA
.DA K.GetMemPtrA
.DA K.GetMemByIDA
.DA K.GetMemYA
.DA K.GetMem0YA
.DA K.FreeMem.A
.DA K.GetMemPtr.A
.DA K.GetMemByID.A
.DA K.GetMem.YA
.DA K.GetMem0.YA
.DA 0
.DA 0
*--------------------------------------
.DA K.SetLoMem $A0
.DA K.GetMemStatYA
.DA K.GetMemStat.YA
.DA 0
.DA 0
.DA K.LoadStkObjYA
.DA K.GetStkObjA
.DA K.FreeStkObjA
.DA K.LoadStkObj.YA
.DA K.GetStkObj.A
.DA K.FreeStkObj.A
.DA 0
*--------------------------------------
.DA K.FPutCAY $B0
.DA K.PutCharA
.DA K.GetCA
.DA K.FPutC.AY $B0
.DA K.PutChar.A
.DA K.GetC.A
.DA K.GetChar
.DA K.FPutS
.DA K.PutSYA
.DA K.PutS.YA
.DA K.FGetS
.DA K.GetSYA
.DA K.GetS.YA
*--------------------------------------
* LO Byte :
* #RRAMWRAMBNK1 or #RRAMWRAMBNK2

View File

@ -63,7 +63,7 @@ K.GetMem >PULLB MemMgr.ReqFlags store requested flags
.9 rts
*/--------------------------------------
* # GetMem0YA
* # GetMem0.YA
* ## In:
* Y,A = Size Requested
* ## Out:
@ -73,11 +73,11 @@ K.GetMem >PULLB MemMgr.ReqFlags store requested flags
* CS :
* A = EC
*\--------------------------------------
K.GetMem0YA ldx #S.MEM.F.INIT0
K.GetMem0.YA ldx #S.MEM.F.INIT0
stx MemMgr.ReqFlags
.HS 2C bit abs
*/--------------------------------------
* # GetMemYA
* # GetMem.YA
* ## In:
* Y,A = Size Requested
* ## Out:
@ -87,7 +87,7 @@ K.GetMem0YA ldx #S.MEM.F.INIT0
* CS :
* A = EC
*\--------------------------------------
K.GetMemYA stz MemMgr.ReqFlags
K.GetMem.YA stz MemMgr.ReqFlags
sta MemMgr.ReqSize+1
tya
bit #$0F 16 bytes aligned ?
@ -283,19 +283,19 @@ MemMgr.Init0 ldy #S.MEM.PTR
.8 plx
rts
*/--------------------------------------
* # FreeMemA
* # FreeMem.A
* ## In:
* A = hMem To Free
* ## Out:
* none.
* (X,Y unmodified)
*\--------------------------------------
K.FreeMemA phy
K.FreeMem.A phy
tay
beq * Slot=0, reserved by Kernel
jsr K.GetMemByIDA X unmodified
jsr K.GetMemByID.A X unmodified
lda (ZPMemMgrSPtr)
bpl .9 In use ?
@ -312,7 +312,7 @@ K.FreeMemA phy
lda (ZPMemMgrSPtr),y Any BINPATH to discard ?
beq .1
jsr K.GetMemByIDA X unmodified
jsr K.GetMemByID.A X unmodified
lda (ZPMemMgrSPtr)
bpl * ***MUST BE ALLOCATED***
@ -322,7 +322,7 @@ K.FreeMemA phy
.1 lda MemMgr.LastSlot
beq .8
jsr K.GetMemByIDA X unmodified
jsr K.GetMemByID.A X unmodified
lda (ZPMemMgrSPtr)
bmi .8
@ -364,7 +364,7 @@ K.FreeMemA phy
>PUSHYA
>LDYAI K.FreeMemA.ERR
>LDYAI K.FreeMem.A.ERR
jsr K.PrintF.YA
.91 ldx #$ff
@ -372,16 +372,16 @@ K.FreeMemA phy
bit $C000,x
bra *
*--------------------------------------
K.FreeMemA.ERR >CSTR "***MemMgr:Attempt to Free an already freed hMem at $%H"
K.FreeMem.A.ERR >CSTR "***MemMgr:Attempt to Free an already freed hMem at $%H"
*/--------------------------------------
* # GetMemPtrA
* # GetMemPtr.A
* ## In:
* A = hMem
* ## Out:
* Y,A = PTR to MemBlock
* (X unmodified)
*\--------------------------------------
K.GetMemPtrA jsr K.GetMemByIDA
K.GetMemPtr.A jsr K.GetMemByID.A
ldy #S.MEM.PTR
lda (ZPMemMgrSPtr),y
pha
@ -390,7 +390,7 @@ K.GetMemPtrA jsr K.GetMemByIDA
ply
rts
*/--------------------------------------
* # GetMemByIDA
* # GetMemByID.A
* ## In:
* A = hMem
* ## Out:
@ -410,7 +410,7 @@ K.GetMemPtrA jsr K.GetMemByIDA
!!!!!WARNING!!!!!
.FIN
*--------------------------------------
K.GetMemByIDA sta ZPMemMgrSPtr
K.GetMemByID.A sta ZPMemMgrSPtr
lda /MemMgr.Table/8
asl ZPMemMgrSPtr
rol
@ -440,23 +440,23 @@ K.GetMemByIDA sta ZPMemMgrSPtr
* sta ZPMemMgrSPtr+1
* rts
*--------------------------------------
K.LoadStkObjYA
K.LoadStkObj.YA
*--------------------------------------
K.GetStkObjA
K.GetStkObj.A
*--------------------------------------
K.FreeStkObjA
K.FreeStkObj.A
*--------------------------------------
K.SetLoMem
clc
rts
*/--------------------------------------
* # GetMemStatYA
* # GetMemStat.YA
* ## In:
* Y,A = 24 bytes buffer
* ## Out:
* Buffer filled with memory stats
*\--------------------------------------
K.GetMemStatYA >STYA ZPMemMgrDstPtr
K.GetMemStat.YA >STYA ZPMemMgrDstPtr
ldy #6
@ -513,7 +513,7 @@ MEM.GetMemByNameYA
lda (ZPMemMgrTmp1),y
beq .6
jsr K.GetMemPtrA get pathname
jsr K.GetMemPtr.A get pathname
>STYA ZPMemMgrDstPtr
lda (ZPMemMgrSrcPtr)

View File

@ -59,7 +59,7 @@ PFT.CheckPathYA
ldy #S.PFT.HANDLER
lda (ZPPtr2),y get hLib
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA .7+1
lda S.PFT.SYSCALL getback #SYSCALL
@ -94,12 +94,12 @@ PFT.CheckNodeSTK
lda (pStack) read hFILE on top of stack
PFT.CheckNodeA stx S.PFT.SYSCALL save #SYSCALL
sta S.PFT.hFILE
jsr K.GetMemPtrA X = unmidified
jsr K.GetMemPtr.A X = unmidified
>STYA ZPPtr1
lda (ZPPtr1)
beq .9 Handler is 0, back to kernel....
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA .1+1
lda S.PFT.SYSCALL getback #SYSCALL

View File

@ -4,24 +4,25 @@ LOMEM $A00
INC 1
AUTO 6
*/--------------------------------------
* # ExecProcessNewEnvYA
* # ExecProcessYA (Blocking Parent PID)
* # CreateProcessNewEnvYA
* # CreateProcessYA (Non Blocking)
* # ExecProcessNewEnv.YA
* # ExecProcess.YA (Blocking Parent PID)
* # CreateProcessNewEnv.YA
* # CreateProcess.YA (Non Blocking)
* ## In:
* Y,A = PTR To Cmd Line
* ## Out:
* A = Child PSID
*\--------------------------------------
K.ExecProcessNewEnvYA
K.ExecProcessNewEnv.YA
ldx #S.PS.F.ENV+S.PS.F.HOLD
.HS 2C bit abs
K.ExecProcessYA ldx #S.PS.F.HOLD
K.ExecProcess.YA
ldx #S.PS.F.HOLD
.HS 2C bit abs
K.CreateProcessNewEnvYA
K.CreateProcessNewEnv.YA
ldx #S.PS.F.ENV
.HS 2C bit abs
K.CreateProcessYA
K.CreateProcess.YA
ldx #0
stx K.CreateProcess.Flags
>STYA K.CreateProcess.CmdLine
@ -36,7 +37,7 @@ K.CreateProcessYA
pha save error code
lda .8+1
jsr PS.FreeA
jsr PS.Free.A
pla get back error code
sec
rts
@ -47,13 +48,13 @@ K.CreateProcessYA
K.CreateProcess.Flags .BS 1
K.CreateProcess.CmdLine .BS 2
*/--------------------------------------
* # GetPSByIDA
* # GetPSByID.A
* ## In :
* A = PID
* ## Out :
* Y,A = PTR to TSKSLOT
*\--------------------------------------
K.GetPSByIDA pha
K.GetPSByID.A pha
>LDYAI TskMgr.Table
>STYA ZPPtr1
@ -151,7 +152,7 @@ PS.CreateChild >LDYAI TskMgr.Table+S.PS
.4 inc TSKMGR.LASTID Get a PSID not alredy running
beq .4 not = 0
lda TSKMGR.LASTID
jsr K.GetPSByIDA
jsr K.GetPSByID.A
bcc .4
ldy #S.PS.PID
@ -174,7 +175,7 @@ PS.CreateChild >LDYAI TskMgr.Table+S.PS
ldy #S.PS.hPREFIX copy hPREFIX...
lda (pPs),y
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
jsr K.NewPStr.YA
bcs .9
@ -184,7 +185,7 @@ PS.CreateChild >LDYAI TskMgr.Table+S.PS
ldy #S.PS.hENV ...and hENV from parent PS
lda (pPs),y
jsr PS.DupEnvA
jsr PS.DupEnv.A
bcs .9
ldy #S.PS.hENV
@ -232,7 +233,7 @@ PS.CreateChild >LDYAI TskMgr.Table+S.PS
.9 rts
*--------------------------------------
PS.Init >LDYA K.CreateProcess.CmdLine
jsr PS.Str2StrArrayYA
jsr PS.Str2StrArray.YA
bcs .9
phy save PTR to StrArray...
@ -263,7 +264,7 @@ PS.Init >LDYA K.CreateProcess.CmdLine
lda (ZPPtr4),y
tay
txa Y,A = DS.SIZE
jsr K.GetMem0YA
jsr K.GetMem0.YA
bcs .9
txa
@ -275,65 +276,65 @@ PS.Init >LDYA K.CreateProcess.CmdLine
clc
.9 rts
*--------------------------------------
* PS.FreeA
* PS.Free.A
* In : A = PID to free
*--------------------------------------
PS.FreeA jsr K.GetPSByIDA PS in ZPPtr1
PS.Free.A jsr K.GetPSByID.A PS in ZPPtr1
ldy #S.PS.hCMDLINE
jsr PS.FreeA.PsY
jsr PS.Free.A.PsY
lda (ZPPtr1) get S.PS.F
and #S.PS.F.ENV do we have to discard duplicated env & prefix ?
beq .1
ldy #S.PS.hENV
jsr PS.FreeA.PsY
jsr PS.Free.A.PsY
ldy #S.PS.hPREFIX
jsr PS.FreeA.PsY
jsr PS.Free.A.PsY
.1 ldy #S.PS.hDS
jsr PS.FreeA.PsY
jsr PS.Free.A.PsY
ldy #S.PS.hCS
jsr PS.FreeA.PsY
jsr PS.Free.A.PsY
lda #0
sta (ZPPtr1) Mark TSKSLOT as free
clc
PS.FreeA.RTS rts
PS.Free.A.RTS rts
*--------------------------------------
PS.FreeA.PsY lda (ZPPtr1),y
beq PS.FreeA.RTS
jmp K.FreeMemA
PS.Free.A.PsY lda (ZPPtr1),y
beq PS.Free.A.RTS
jmp K.FreeMem.A
*--------------------------------------
PS.Select ldy #S.PS.hCS
lda (pPs),y
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA pCode
ldy #S.PS.hDS
lda (pPs),y
beq .8
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA pData
.8 clc
rts
*--------------------------------------
* PS.DupEnvA
* PS.DupEnv.A
* In:
* A = ENV hMem To Duplicate
* Out:
* A = hMem to new ENV
*--------------------------------------
PS.DupEnvA jsr K.GetMemPtrA
PS.DupEnv.A jsr K.GetMemPtr.A
>STYA ZPPtr1
>LDYAI K.ENV.SIZE
jsr K.GetMemYA
jsr K.GetMem.YA
bcs .9
>STYA ZPPtr2
@ -353,7 +354,7 @@ PS.DupEnvA jsr K.GetMemPtrA
clc
.9 rts
*/--------------------------------------
* # Str2StrArrayYA
* # Str2StrArray.YA
* Convert a CSTR (e.g. : command Line) to a Array of CSTRs (Args[])
* ## In:
* Y,A = PTR to String
@ -364,7 +365,7 @@ PS.DupEnvA jsr K.GetMemPtrA
* CS : error
* A = SYS error code
*\--------------------------------------
PS.Str2StrArrayYA
PS.Str2StrArray.YA
>STYA ZPPtr1
lda (ZPPtr1) Get mem size STRLEN+1
inc
@ -372,7 +373,7 @@ PS.Str2StrArrayYA
lda #0
jsr K.GetMemYA
jsr K.GetMem.YA
bcs .9
phx save hMem
phy save PTR.LO

View File

@ -74,7 +74,7 @@ K.KernelRun jsr TSK.TskMgrRun
lda A2osX.SCRNDEVS-1,x
beq K.KernelRun No device claimed this screen
jsr K.GetDevByIDA x unmodified.....
jsr K.GetDevByID.A x unmodified.....
bcs K.KernelRun ???
stx A2osX.ASCREEN

View File

@ -12,8 +12,8 @@ AUTO 6
* ## Out :
*\--------------------------------------
K.Stat jsr PFT.CheckPathSTK
jsr STDIO.PullMLIPath
>PULLW ZPPtr2
>PULLW K.MLI.PARAMS+1
>PULLW K.Stat.StoreY+1
>MLICALL MLIGETFILEINFO
bcs .9
@ -30,41 +30,44 @@ K.Stat jsr PFT.CheckPathSTK
lda #0
.2 ldy #S.STAT.MODE
sta (ZPPtr2),y
jsr K.Stat.StoreY
ldx #K.Stat.DST-K.Stat.SRC
.3 ldy K.Stat.SRC-1,x
lda K.MLI.PARAMS,y
ldy K.Stat.DST-1,x
sta (ZPPtr2),y
jsr K.Stat.StoreY
dex
bne .3
ldy #S.STAT.SIZE
lda #0
sta (ZPPtr2),y
jsr K.Stat.StoreY
iny
lda K.MLI.PARAMS+S.FILEINFO.BLOCKSUSED
asl
sta (ZPPtr2),y
jsr K.Stat.StoreY
iny
lda K.MLI.PARAMS+S.FILEINFO.BLOCKSUSED+1
rol
sta (ZPPtr2),y
jsr K.Stat.StoreY
iny
lda #0
rol
sta (ZPPtr2),y
jsr K.Stat.StoreY
clc
.9 rts
K.Stat.StoreY sta $ffff,y
rts
*--------------------------------------
K.Stat.SRC .DA #S.FILEINFO.TYPE
.DA #S.FILEINFO.AUXTYPE,#S.FILEINFO.AUXTYPE+1
@ -73,7 +76,7 @@ K.Stat.DST .DA #S.STAT.P.TYPE
.DA #S.STAT.P.AUXTYPE,#S.STAT.P.AUXTYPE+1
.DA #S.STAT.BLOCKS,#S.STAT.BLOCKS+1
*/-------------------------------------
* # MKDir.YA
* # MKDirYA
* ## In:
* Y,A = DIR name
* ## Out:
@ -82,7 +85,7 @@ K.Stat.DST .DA #S.STAT.P.TYPE
* A = EC
*\-------------------------------------
K.MKDir.YA jsr PFT.CheckPathYA
>STYA K.MLI.PARAMS+1
jsr STDIO.SetMLIPathYA
lda #S.FILEINFO.ACCESS.FULL
sta K.MLI.PARAMS+S.FILEINFO.ACCESS
lda #S.FILEINFO.TYPE.DIR
@ -101,7 +104,7 @@ K.MKDir.YA jsr PFT.CheckPathYA
>MLICALL MLICREATE
rts
*/--------------------------------------
* # MkNodYA
* # MkNod.YA
* return a hFile for a given Device Name
* ## IN:
* Y,A=DevName
@ -109,7 +112,7 @@ K.MKDir.YA jsr PFT.CheckPathYA
* CC = OK, CS = ERROR
* A = hFILE
*\--------------------------------------
K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME
K.MkNod.YA jsr K.GetDevByName.YA Ptr1=NAME
bcs .9
>STYA pDev
stx .1+1
@ -125,7 +128,7 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME
bcs .9
>LDYAI S.NODE.DEV
jsr K.GetMem0YA
jsr K.GetMem0.YA
bcs .9
>STYA ZPPtr3 Ptr3=S.NODE
@ -154,7 +157,7 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME
sec
rts
*/--------------------------------------
* # MkNodA
* # MkNod.A
* return a hFile for a given Socket
* ## IN:
* A=hSocket
@ -163,9 +166,9 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME
* X = hFILE
* Y,A = pFILE
*\--------------------------------------
K.MkNodA sta .1+1
K.MkNod.A sta .1+1
>LDYAI S.NODE.SSOCK
jsr K.GetMem0YA
jsr K.GetMem0.YA
bcs .9
>STYA ZPPtr1
@ -189,13 +192,13 @@ K.MkNodA sta .1+1
* A = hFILE
*\--------------------------------------
K.MKFIFO >LDYAI 256
jsr K.GetMemYA
jsr K.GetMem.YA
bcs .99
stx .1+1 save FIFO buffer
>LDYAI S.NODE.FIFO
jsr K.GetMem0YA
jsr K.GetMem0.YA
bcs .9
@ -214,20 +217,11 @@ K.MKFIFO >LDYAI 256
.9 pha save error code
lda .1+1 get back FIFO buffer
jsr K.FreeMemA
jsr K.FreeMem.A
pla
sec
.99 rts
*/--------------------------------------
* # ChMod
* ## In:
* PUSHW = MODE
* PUSHW = PATH
*\--------------------------------------
K.ChMod
sec
rts
*--------------------------------------
MAN
SAVE /A2OSX.SRC/SYS/KERNEL.S.STAT

View File

@ -53,7 +53,7 @@ K.FOpen jsr PFT.CheckPathSTK
K.FOpen.9 rts
K.FOpen.10 >LDYAI S.NODE.REG
jsr K.GetMem0YA
jsr K.GetMem0.YA
bcs K.FOpen.9
>STYA ZPPtr1
@ -110,7 +110,7 @@ K.FOpen.10 >LDYAI S.NODE.REG
.98 pha save MLI error
lda hFILE
jsr K.FCloseA.1
jsr K.FClose.A.1
pla get back MLI error
sec
rts
@ -120,19 +120,19 @@ K.FOpen.TYPE .BS 1
K.FOpen.AUXTYPE .BS 2
hFILE .BS 1
*/--------------------------------------
* # FCloseA
* # FClose.A
* Close a file
* ## In :
* A = hFILE
* ## Out :
*\--------------------------------------
K.FCloseA jsr PFT.CheckNodeA
K.FClose.A jsr PFT.CheckNodeA
pha
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA ZPPtr1
pla
K.FCloseA.1 sta K.FCloseA.2+1
K.FClose.A.1 sta K.FClose.A.2+1
ldy #S.NODE.REG.REF
lda (ZPPtr1),y
beq .1
@ -141,35 +141,35 @@ K.FCloseA.1 sta K.FCloseA.2+1
.1 ldy #S.NODE.REG.IOBUF
lda (ZPPtr1),y
beq K.FCloseA.2
jsr K.FreeMemA
beq K.FClose.A.2
jsr K.FreeMem.A
K.FCloseA.2 lda #$ff Self Modified
jmp K.FreeMemA
K.FClose.A.2 lda #$ff Self Modified
jmp K.FreeMem.A
*/--------------------------------------
* # FReadA
* # FRead.A
* Read ONE byte from file
* ## In :
* A = hFILE
* ## Out :
* A = Byte Read
*\--------------------------------------
K.FReadA jsr PFT.CheckNodeA
K.FRead.A jsr PFT.CheckNodeA
ldx #MLIREAD
bra K.FReadWrite.0
*/--------------------------------------
* # FWriteAY
* # FWrite.AY
* ## In:
* A = hFILE
* Y = char
* # Out:
* Y,A = Bytes Written
*\--------------------------------------
K.FWriteAY jsr PFT.CheckNodeA
sty K.FWriteAY.Buf
K.FWrite.AY jsr PFT.CheckNodeA
sty K.FWrite.AY.Buf
ldx #MLIWRITE
K.FReadWrite.0 jsr STDIO.GetRefNum
>LDYAI K.FWriteAY.Buf
>LDYAI K.FWrite.AY.Buf
>STYA K.MLI.PARAMS+2
lda #1
sta K.MLI.PARAMS+4
@ -177,9 +177,9 @@ K.FReadWrite.0 jsr STDIO.GetRefNum
lda #4 Param Count = 4 for MLIREAD & MLIWRITE
jsr A2osX.MLICALL
bcs .9
lda K.FWriteAY.Buf
lda K.FWrite.AY.Buf
.9 rts
K.FWriteAY.Buf .BS 1
K.FWrite.AY.Buf .BS 1
*/--------------------------------------
* # FRead
* Read bytes from file
@ -215,11 +215,11 @@ K.FReadWrite.1 >PULLA
>LDYA K.MLI.PARAMS+6
.9 rts
*/--------------------------------------
* # FFlushA
* # FFlush.A
* ## In:
* A = hFILE
*\--------------------------------------
K.FFlushA jsr PFT.CheckNodeA
K.FFlush.A jsr PFT.CheckNodeA
jsr STDIO.GetRefNum
>MLICALL MLIFLUSH
rts
@ -285,21 +285,21 @@ K.FSeek jsr PFT.CheckNodeSTK
*--------------------------------------
K.FSeek.OFFSET .BS 4
*/--------------------------------------
* # FTellA
* # FTell.A
* ## In:
* A = hFILE
* ## Out:
* Y,A,X = Offset
*\--------------------------------------
K.FTellA jsr PFT.CheckNodeA
K.FTellA.1 jsr STDIO.GetRefNum
K.FTell.A jsr PFT.CheckNodeA
K.FTell.A.1 jsr STDIO.GetRefNum
>MLICALL MLIGETMARK
bcs .9
>LDYA K.MLI.PARAMS+2
ldx K.MLI.PARAMS+4
.9 rts
*/--------------------------------------
* # FEOFA
* # FEOF.A
* ## In:
* A = hFILE
* ## Out:
@ -308,32 +308,32 @@ K.FTellA.1 jsr STDIO.GetRefNum
* A !=0 NOT EOF
* CS :
*\--------------------------------------
K.FEOFA jsr PFT.CheckNodeA
K.FEOF.A jsr PFT.CheckNodeA
jsr STDIO.GetRefNum
jsr K.FTellA.1
jsr K.FTell.A.1
bcs .9
>STYA K.FEOFA.MARK
stx K.FEOFA.MARK+2
>STYA K.FEOF.A.MARK
stx K.FEOF.A.MARK+2
>MLICALL MLIGETEOF
bcs .9
sec
lda K.MLI.PARAMS+2
sbc K.FEOFA.MARK
sbc K.FEOF.A.MARK
bne .8
lda K.MLI.PARAMS+3
sbc K.FEOFA.MARK+1
sbc K.FEOF.A.MARK+1
bne .8
lda K.MLI.PARAMS+4
sbc K.FEOFA.MARK+2
sbc K.FEOF.A.MARK+2
.8 clc
.9 rts
K.FEOFA.MARK .BS 3
K.FEOF.A.MARK .BS 3
*/--------------------------------------
* # RemoveYA
* # Remove.YA
*\--------------------------------------
K.RemoveYA jsr PFT.CheckPathYA
K.Remove.YA jsr PFT.CheckPathYA
jsr STDIO.PullMLIPath
>MLICALL MLIDESTROY
rts
@ -366,7 +366,9 @@ K.Rename jsr PFT.CheckPathSTK
rts
*--------------------------------------
STDIO.PullMLIPath
>PULLW .1+1
>PULLYA
STDIO.SetMLIPathYA
>STYA .1+1
ldy #0
@ -393,14 +395,14 @@ STDIO.SetIOBUF >PUSHWI 1024 get a ProDOS IOBUF
sta (ZPPtr1),y
.9 rts
*--------------------------------------
STDIO.GetRefNum jsr K.GetMemPtrA
STDIO.GetRefNum jsr K.GetMemPtr.A
>STYA ZPPtr1
ldy #S.NODE.REG.REF
lda (ZPPtr1),y
sta K.MLI.PARAMS+1
rts
*/--------------------------------------
* # FPutCAY
* # FPutC.AY
* Print A (char) to File
* ## In:
* A : char to print
@ -408,59 +410,59 @@ STDIO.GetRefNum jsr K.GetMemPtrA
* ## Out:
* CC = success
*\--------------------------------------
K.FPutCAY sta K.PutC.Char
K.FPutC.AY sta K.PutC.Char
sty K.PutC.Node
tya
phy
bne K.PutCharA.1
K.PutCharA.8 ply
bne K.PutChar.A.1
K.PutChar.A.8 ply
clc
rts
*/--------------------------------------
* # PutCharA
* # PutChar.A
* Print A (char) to StdOut
* ## In:
* A : char to print
* ## Out:
* CC = success
*\--------------------------------------
K.PutCharA sta K.PutC.Char
K.PutChar.A sta K.PutC.Char
phy
ldy #S.PS.hStdOut
lda (pPs),y
beq K.PutCharA.8 NUL
beq K.PutChar.A.8 NUL
phx
K.PutCharA.1 sta K.PutC.Node
jsr K.GetMemPtrA
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.PutCharA.Jmp
jsr K.PutChar.A.Jmp
plx
ply
rts
*--------------------------------------
K.PutCharA.Jmp jmp (.1,x)
.1 .DA K.PutCharA.REG
K.PutChar.A.Jmp jmp (.1,x)
.1 .DA K.PutChar.A.REG
.DA STDIO.IOERR DIR
.DA K.PutCharA.CDEV
.DA K.PutChar.A.CDEV
.DA STDIO.IOERR BDEV
.DA STDIO.IOERR LNK
.DA STDIO.IOERR DSOCK
.DA K.PutCharA.SSOCK
.DA K.PutCharA.FIFO
.DA K.PutChar.A.SSOCK
.DA K.PutChar.A.FIFO
*--------------------------------------
K.PutCharA.REG lda K.PutC.Node
K.PutChar.A.REG lda K.PutC.Node
ldy K.PutC.Char
jmp K.FWriteAY
jmp K.FWrite.AY
*--------------------------------------
K.PutCharA.CDEV ldy #S.NODE.DEV.JMP
K.PutChar.A.CDEV ldy #S.NODE.DEV.JMP
lda (pDev),y
sta .1+1
iny
@ -470,9 +472,9 @@ K.PutCharA.CDEV ldy #S.NODE.DEV.JMP
ldx #DEVMGR.WRITE
.1 jmp $ffff
*--------------------------------------
K.PutCharA.SSOCK
K.PutChar.A.SSOCK
lda (pDev) #S.NODE.HANDLER
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA .1
ldy #S.NODE.SSOCK.HSKT
@ -484,7 +486,7 @@ K.PutCharA.SSOCK
tax Function Offset for write
.1 jmp $ffff
*--------------------------------------
K.PutCharA.FIFO ldy #S.NODE.FIFO.S
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
@ -492,7 +494,7 @@ K.PutCharA.FIFO ldy #S.NODE.FIFO.S
ldy #S.NODE.FIFO.hMem
lda (pDev),y
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA .1+2
ldy #S.NODE.FIFO.Head
@ -531,7 +533,7 @@ K.PutC.Node .BS 1
K.GetChar ldy #S.PS.hStdIn
lda (pPs),y
*/--------------------------------------
* # GetCA
* # GetC.A
* Get char from File
* ## In:
* A = hFILE
@ -539,9 +541,9 @@ K.GetChar ldy #S.PS.hStdIn
* CC = success
* A = char
*\--------------------------------------
K.GetCA sta K.PutC.Node
K.GetC.A sta K.PutC.Node
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA pDev
ldy #S.NODE.T
@ -560,7 +562,7 @@ K.GetCA sta K.PutC.Node
.DA K.GetC.FIFO
*--------------------------------------
K.GetC.REG lda K.PutC.Node
jmp K.FReadA
jmp K.FRead.A
*--------------------------------------
K.GetC.CDEV ldx #DEVMGR.READ
ldy #S.NODE.DEV.JMP
@ -572,7 +574,7 @@ K.GetC.CDEV ldx #DEVMGR.READ
.1 jmp $ffff
*--------------------------------------
K.GetC.SSOCK lda (pDev) #S.NODE.HANDLER
jsr K.GetMemPtrA
jsr K.GetMemPtr.A
>STYA .1
ldy #S.NODE.SSOCK.READ
@ -596,14 +598,14 @@ K.GetC.FIFO
*\--------------------------------------
K.FPutS
*/--------------------------------------
* # PutSYA
* # PutS.YA
* Write String to StdOut
* ## In:
* Y,A : CPtr
* ## Out:
* CC = success
*\--------------------------------------
K.PutSYA
K.PutS.YA
*/--------------------------------------
* # FGetS
* Read String From FILE
@ -615,14 +617,14 @@ K.PutSYA
*\--------------------------------------
K.FGetS
*/--------------------------------------
* # GetSYA
* # GetS.YA
* Read String From StdIn
* ## In:
* Y,A : CPtr
* ## Out:
* CC = success
*\--------------------------------------
K.GetSYA
K.GetS.YA
bra *
*--------------------------------------
STDIO.IOERR lda #MLI.ERR.IO
@ -1122,7 +1124,7 @@ PrintF.SS ldy #$00 PSTR
.8 clc
.9 rts
*--------------------------------------
Printf.Cout jmp K.PutCharA
Printf.Cout jmp K.PutChar.A
Printf.Cout.Ptr sta $ffff Self modified
*--------------------------------------

View File

@ -21,15 +21,15 @@ K.Time.YA >STYA ZPPtr2
>MLICALL MLIGETTIME
>LDYAI DATELO
>STYA ZPPtr1
bra K.PTime2Time.1
bra TIME.PTime2TimePtr1Ptr2
*--------------------------------------
* In :
* PULLW = Src PDATE/TIME (DWORD)
* PULLW = Dst PTR To S.TIME
*--------------------------------------
K.PTime2Time jsr PullPtr1Ptr2
K.PTime2Time.1 ldy #1
TIME.PTime2TimePtr1Ptr2
ldy #1
lda (ZPPtr1),y Get Year
lsr C is high bit of month
ldy #S.Time.YEAR

View File

@ -24,7 +24,7 @@ TSK.TskMgrRun >LDYAI TskMgr.Table+S.PS skip PS 0
ldy #S.PS.CPID
lda (pPs),y
jsr K.GetPSByIDA
jsr K.GetPSByID.A
bcc .7 yes, running....
lda (pPs) get S.PS.F
@ -57,7 +57,7 @@ TSK.TskMgrRun >LDYAI TskMgr.Table+S.PS skip PS 0
pha save RC
ldy #S.PS.PPID Notify Parent Process for exit code...
lda (pPs),y
jsr K.GetPSByIDA will set ZPPtr1 if success
jsr K.GetPSByID.A will set ZPPtr1 if success
bcs .5 parent is dead.....skipping...
lda (ZPPtr1) Parent PS is HOLD?
@ -79,7 +79,7 @@ TSK.TskMgrRun >LDYAI TskMgr.Table+S.PS skip PS 0
ldy #S.PS.PID
lda (pPs),y
jsr PS.FreeA
jsr PS.Free.A
.7 lda pPs
clc

View File

@ -31,7 +31,6 @@ 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.PFT
.INB /A2OSX.SRC/SYS/KERNEL.S.BIN
.EP
A2osX.D2 .PH $D000
@ -53,6 +52,7 @@ A2osX.E0 .PH $E000
.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.D01
.EP
A2osX.E0.E .EQ *
@ -61,13 +61,13 @@ A2osX.E0.E .EQ *
A2osX.D1.S .EQ A2osX.D2-A2osX.D1
A2osX.D2.S .EQ A2osX.E0-A2osX.D2
A2osX.E0.S .EQ A2osX.E0.E-A2osX.E0
.LIST OFF
.DO A2osX.D2.S>$1000
ERROR:BNK1 too big
.DO A2osX.D1.S>$1000
* ERROR:BNK1 too big
.FIN
.DO A2osX.D2.S>$1000
ERROR:BNK2 too big
* ERROR:BNK2 too big
.FIN
.LIST OFF
MAN
SAVE /A2OSX.SRC/SYS/KERNEL.S
ASM