mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-14 04:29:02 +00:00
Kernel version 0.8 : API cleanup/reorg
This commit is contained in:
parent
2ed4cf6587
commit
d2334df796
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -32,14 +32,14 @@ SRC.PrintLineErr ldx #0
|
|||||||
.1 lda TmpBuffer256,x
|
.1 lda TmpBuffer256,x
|
||||||
beq .2
|
beq .2
|
||||||
phx
|
phx
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
plx
|
plx
|
||||||
inx
|
inx
|
||||||
bcc .1
|
bcc .1
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.2 lda #13
|
.2 lda #13
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
@ -50,19 +50,19 @@ SRC.PrintLineErr ldx #0
|
|||||||
beq .4
|
beq .4
|
||||||
phx
|
phx
|
||||||
lda #'-'
|
lda #'-'
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
plx
|
plx
|
||||||
bcs .9
|
bcs .9
|
||||||
bra .3
|
bra .3
|
||||||
|
|
||||||
.4 lda #'^'
|
.4 lda #'^'
|
||||||
phx
|
phx
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
plx
|
plx
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.5 lda #13
|
.5 lda #13
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
.9 rts
|
.9 rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.ParseLine ldx TmpBuffer256
|
SRC.ParseLine ldx TmpBuffer256
|
||||||
@ -326,12 +326,12 @@ SRC.ParseLine.OpCode
|
|||||||
.21 inx
|
.21 inx
|
||||||
lda SRC.AM.StrBuf,x
|
lda SRC.AM.StrBuf,x
|
||||||
phx
|
phx
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
plx
|
plx
|
||||||
cpx SRC.AM.StrBuf
|
cpx SRC.AM.StrBuf
|
||||||
bne .21
|
bne .21
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
|
|
||||||
|
|
||||||
.20 ldy #ASM.PC
|
.20 ldy #ASM.PC
|
||||||
|
@ -121,7 +121,7 @@ SYM.Dump >PUSHW L.MSG.SYMBOLS
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.5 lda #13
|
.5 lda #13
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
|
|
||||||
ldy #SYM.DumpCount
|
ldy #SYM.DumpCount
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
|
@ -97,7 +97,7 @@ CS.INIT ldy #S.PS.hARGS
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.98 >LDYA L.MSG.USAGE
|
.98 >LDYA L.MSG.USAGE
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
.99 lda #SYSMGR.ERRSYN
|
.99 lda #SYSMGR.ERRSYN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@ -164,7 +164,7 @@ CS.RUN ldy #bCANCEL
|
|||||||
stx FullPath
|
stx FullPath
|
||||||
|
|
||||||
>LDYA L.FullPath
|
>LDYA L.FullPath
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
>LDYA L.FullPath
|
>LDYA L.FullPath
|
||||||
>SYSCALL SYS.MLIGetFileInfoYA
|
>SYSCALL SYS.MLIGetFileInfoYA
|
||||||
@ -173,12 +173,12 @@ CS.RUN ldy #bCANCEL
|
|||||||
|
|
||||||
|
|
||||||
>LDYA L.MSG.OK
|
>LDYA L.MSG.OK
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.5 >PUSHA
|
.5 >PUSHA
|
||||||
>LDYA L.MSG.ERR
|
>LDYA L.MSG.ERR
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
.8 pla
|
.8 pla
|
||||||
>SYSCALL SYS.FreeMemA
|
>SYSCALL SYS.FreeMemA
|
||||||
|
@ -58,7 +58,7 @@ CS.INIT ldy #hS.LISTDIR.IDX
|
|||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LDYA L.MSG.USAGE
|
>LDYA L.MSG.USAGE
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #SYSMGR.ERRSYN
|
lda #SYSMGR.ERRSYN
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
@ -286,7 +286,7 @@ CS.RUN ldy #bCANCEL
|
|||||||
>PUSHW L.FullSrcPath
|
>PUSHW L.FullSrcPath
|
||||||
|
|
||||||
>LDYA L.MSG.CP
|
>LDYA L.MSG.CP
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
jsr CS.RUN.COPY
|
jsr CS.RUN.COPY
|
||||||
bcs .5
|
bcs .5
|
||||||
@ -296,7 +296,7 @@ CS.RUN ldy #bCANCEL
|
|||||||
.5 >PUSHA
|
.5 >PUSHA
|
||||||
>LDYA L.MSG.ERR
|
>LDYA L.MSG.ERR
|
||||||
|
|
||||||
.7 >SYSCALL SYS.PSTRoutYA
|
.7 >SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
.8 pla
|
.8 pla
|
||||||
>SYSCALL SYS.FreeMemA
|
>SYSCALL SYS.FreeMemA
|
||||||
|
@ -47,10 +47,10 @@ Ctrl.A ldy #PromptMode
|
|||||||
>STYA ZPPTR1
|
>STYA ZPPTR1
|
||||||
|
|
||||||
.1 >LDYA ZPPTR1
|
.1 >LDYA ZPPTR1
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
>LDYA L.SEQ.CEOL
|
>LDYA L.SEQ.CEOL
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sec
|
sec
|
||||||
@ -64,7 +64,7 @@ Ctrl.A ldy #PromptMode
|
|||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
|
@ -10,10 +10,10 @@ SCRN.Init ldy #ScreenH
|
|||||||
dec
|
dec
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.SEQ.INIT
|
>LDYA L.SEQ.INIT
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
lda #12
|
lda #12
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
@ -53,7 +53,7 @@ SCRN.UpdateTopBar
|
|||||||
.2 >PUSHYA
|
.2 >PUSHYA
|
||||||
|
|
||||||
>LDYA L.MSG.TOPBAR
|
>LDYA L.MSG.TOPBAR
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ SCRN.UpdateMain ldy #ScreenY
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA L.SEQ.CEOL
|
>LDYA L.SEQ.CEOL
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
inc TmpByte
|
inc TmpByte
|
||||||
@ -176,7 +176,7 @@ SCRN.UpdateLineAtALenY
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA L.SEQ.CEOL
|
>LDYA L.SEQ.CEOL
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
rts
|
rts
|
||||||
.9 jmp Ctrl.Q
|
.9 jmp Ctrl.Q
|
||||||
@ -189,7 +189,7 @@ SCRN.UpdateAttrC
|
|||||||
bpl .8
|
bpl .8
|
||||||
|
|
||||||
>LDYA L.SEQ.NORM
|
>LDYA L.SEQ.NORM
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
stz bSelected
|
stz bSelected
|
||||||
rts
|
rts
|
||||||
@ -198,7 +198,7 @@ SCRN.UpdateAttrC
|
|||||||
bmi .8
|
bmi .8
|
||||||
|
|
||||||
>LDYA L.SEQ.INV
|
>LDYA L.SEQ.INV
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
lda #$ff
|
lda #$ff
|
||||||
sta bSelected
|
sta bSelected
|
||||||
@ -237,7 +237,7 @@ SCRN.UpdateStatusBar
|
|||||||
lda (pData),y
|
lda (pData),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.STATUSBAR
|
>LDYA L.MSG.STATUSBAR
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
jmp SCRN.GotoCurXCurY
|
jmp SCRN.GotoCurXCurY
|
||||||
|
|
||||||
@ -248,7 +248,7 @@ SCRN.UpdateStatusBar
|
|||||||
lda (pData),y
|
lda (pData),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.STATUSBAR,x
|
>LDYA L.MSG.STATUSBAR,x
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
rts
|
rts
|
||||||
.9 jmp Ctrl.Q
|
.9 jmp Ctrl.Q
|
||||||
@ -259,7 +259,7 @@ SCRN.UpdateStatusBarErrA
|
|||||||
lda (pData),y
|
lda (pData),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.STATUSBAR.E
|
>LDYA L.MSG.STATUSBAR.E
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
rts
|
rts
|
||||||
.9 jmp Ctrl.Q
|
.9 jmp Ctrl.Q
|
||||||
@ -281,7 +281,7 @@ GotoXY txa
|
|||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
>LDYA L.MSG.GOTOXY
|
>LDYA L.MSG.GOTOXY
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
rts
|
rts
|
||||||
.9 jmp Ctrl.Q
|
.9 jmp Ctrl.Q
|
||||||
@ -413,10 +413,10 @@ SCRN.UpdateViewPort
|
|||||||
.9 jmp Ctrl.Q
|
.9 jmp Ctrl.Q
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SCRN.scrollUp lda #$1B
|
SCRN.scrollUp lda #$1B
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
lda #'M'
|
lda #'M'
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
ldy #ScreenY+1
|
ldy #ScreenY+1
|
||||||
@ -438,10 +438,10 @@ SCRN.scrollUp lda #$1B
|
|||||||
.9 jmp Ctrl.Q
|
.9 jmp Ctrl.Q
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SCRN.scrollDn lda #$1B
|
SCRN.scrollDn lda #$1B
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
lda #'D'
|
lda #'D'
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
ldy #ScreenY+1
|
ldy #ScreenY+1
|
||||||
|
@ -139,7 +139,7 @@ CS.RUN ldy #bCancel
|
|||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
>LDYA L.SEQ.DETECT
|
>LDYA L.SEQ.DETECT
|
||||||
>SYSCALL SYS.PSTRoutYA Send Query for term W & H
|
>SYSCALL SYS.PStrOutYA Send Query for term W & H
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.1 ldy #bCancel
|
.1 ldy #bCancel
|
||||||
@ -332,10 +332,10 @@ CS.QUIT ldy #hBuffer
|
|||||||
>SYSCALL SYS.FreeMemA
|
>SYSCALL SYS.FreeMemA
|
||||||
|
|
||||||
.8 >LDYA L.SEQ.RESET
|
.8 >LDYA L.SEQ.RESET
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
lda #12
|
lda #12
|
||||||
>SYSCALL SYS.CoutA
|
>SYSCALL SYS.COutA
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LoadFile >PUSHWI 0 Aux type
|
LoadFile >PUSHWI 0 Aux type
|
||||||
|
@ -63,7 +63,7 @@ CS.INIT ldy #S.PS.hARGS
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.99 >LDYA L.MSG.USAGE
|
.99 >LDYA L.MSG.USAGE
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #SYSMGR.ERRSYN
|
lda #SYSMGR.ERRSYN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
@ -58,7 +58,7 @@ CS.INIT.READ jsr NSC.Init
|
|||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
>LDYA L.MSG.READ.KO
|
>LDYA L.MSG.READ.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda #DEVMGR.ERRNOHW
|
lda #DEVMGR.ERRNOHW
|
||||||
sec
|
sec
|
||||||
@ -67,7 +67,7 @@ CS.INIT.READ jsr NSC.Init
|
|||||||
.8 jsr NSC.Dump
|
.8 jsr NSC.Dump
|
||||||
|
|
||||||
>LDYA L.MSG.USAGE
|
>LDYA L.MSG.USAGE
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda #0 tell TSKMGR that all done ok, but
|
lda #0 tell TSKMGR that all done ok, but
|
||||||
sec we do not want to stay in memory
|
sec we do not want to stay in memory
|
||||||
@ -274,16 +274,16 @@ NSC.Dump ldx #1
|
|||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
>LDYA L.MSG.READ.OK1
|
>LDYA L.MSG.READ.OK1
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
>LDYA L.MSG.READ.OK2.24
|
>LDYA L.MSG.READ.OK2.24
|
||||||
bit DS1216E.DATA+4
|
bit DS1216E.DATA+4
|
||||||
bpl .3
|
bpl .3
|
||||||
>LDYA L.MSG.READ.OK2.12
|
>LDYA L.MSG.READ.OK2.12
|
||||||
.3 >SYSCALL SYS.PSTROutYA
|
.3 >SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
>LDYA L.MSG.READ.OK3
|
>LDYA L.MSG.READ.OK3
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda DS1216E.DATA+2
|
lda DS1216E.DATA+2
|
||||||
jsr PrintBCD
|
jsr PrintBCD
|
||||||
@ -297,7 +297,7 @@ NSC.Dump ldx #1
|
|||||||
jsr PrintBCD
|
jsr PrintBCD
|
||||||
|
|
||||||
>LDYA L.MSG.READ.OK4
|
>LDYA L.MSG.READ.OK4
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda DS1216E.DATA+4
|
lda DS1216E.DATA+4
|
||||||
bpl .4
|
bpl .4
|
||||||
|
@ -68,7 +68,7 @@ CS.INIT >SYSCALL SYS.GetArgC
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.99 >LDYA L.MSG.USAGE
|
.99 >LDYA L.MSG.USAGE
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #SYSMGR.ERRSYN
|
lda #SYSMGR.ERRSYN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@ -138,18 +138,18 @@ CS.RUN ldy #bCANCEL
|
|||||||
stx FullPath
|
stx FullPath
|
||||||
|
|
||||||
>LDYA L.FullPath
|
>LDYA L.FullPath
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
>LDYA L.FullPath
|
>LDYA L.FullPath
|
||||||
>SYSCALL SYS.MLIDestroyYA
|
>SYSCALL SYS.MLIDestroyYA
|
||||||
bcs .5
|
bcs .5
|
||||||
>LDYA L.MSG.OK
|
>LDYA L.MSG.OK
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.5 >PUSHA
|
.5 >PUSHA
|
||||||
>LDYA L.MSG.ERR
|
>LDYA L.MSG.ERR
|
||||||
>SYSCALL SYS.PSTRoutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
.8 pla
|
.8 pla
|
||||||
>SYSCALL SYS.FreeMemA
|
>SYSCALL SYS.FreeMemA
|
||||||
|
@ -80,7 +80,7 @@ CS.INIT ldy #S.PS.hARGS
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.99 >LDYA L.MSG.USAGE
|
.99 >LDYA L.MSG.USAGE
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #SYSMGR.ERRSYN
|
lda #SYSMGR.ERRSYN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@ -104,7 +104,7 @@ CS.RUN jsr Init.Timeout
|
|||||||
>SYSCALL SYS.GetMemPtrA
|
>SYSCALL SYS.GetMemPtrA
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>LDYA L.MSG.UNKNOWN
|
>LDYA L.MSG.UNKNOWN
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ CS.RUN jsr Init.Timeout
|
|||||||
>SYSCALL SYS.GetMemPtrA
|
>SYSCALL SYS.GetMemPtrA
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>LDYA L.MSG.TIMEOUT
|
>LDYA L.MSG.TIMEOUT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -240,7 +240,7 @@ DumpRPCFrame lda #S.UDP+24
|
|||||||
sta ZPFrameBase+1
|
sta ZPFrameBase+1
|
||||||
|
|
||||||
>LDYA L.MSG.DUMP0
|
>LDYA L.MSG.DUMP0
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
.1 ldy #3
|
.1 ldy #3
|
||||||
lda (ZPFrameBase),y Value follows?
|
lda (ZPFrameBase),y Value follows?
|
||||||
|
@ -37,7 +37,7 @@ L.MSG.DETECT .DA MSG.DETECT
|
|||||||
.DA 0 End Of Reloc Table
|
.DA 0 End Of Reloc Table
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Dev.Detect >LDYA L.MSG.DETECT
|
Dev.Detect >LDYA L.MSG.DETECT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
@ -36,7 +36,7 @@ L.MSG.DETECT .DA MSG.DETECT
|
|||||||
.DA 0 End Of Reloc Table
|
.DA 0 End Of Reloc Table
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Dev.Detect >LDYA L.MSG.DETECT
|
Dev.Detect >LDYA L.MSG.DETECT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
.1 txa
|
.1 txa
|
||||||
|
@ -93,7 +93,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Dev.Detect sta hArgs
|
Dev.Detect sta hArgs
|
||||||
>LDYA L.MSG.DETECT
|
>LDYA L.MSG.DETECT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
ldx #$10
|
ldx #$10
|
||||||
.1 lda L91C96.BSR+1,x
|
.1 lda L91C96.BSR+1,x
|
||||||
@ -108,7 +108,7 @@ Dev.Detect sta hArgs
|
|||||||
bpl .1 not yat at $80
|
bpl .1 not yat at $80
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.KO
|
>LDYA L.MSG.DETECT.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
|
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
|
||||||
sec
|
sec
|
||||||
@ -129,9 +129,9 @@ Dev.Detect sta hArgs
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.4 >LDYA L.MSG.DETECT.OK
|
.4 >LDYA L.MSG.DETECT.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
>LDYA L.DEV.HEADER.NAME
|
>LDYA L.DEV.HEADER.NAME
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
clc
|
clc
|
||||||
|
@ -64,7 +64,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
|
|||||||
.DA 0 End Of Reloc Table
|
.DA 0 End Of Reloc Table
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Dev.Detect >LDYA L.MSG.DETECT
|
Dev.Detect >LDYA L.MSG.DETECT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
stz ZPTmpPtr1
|
stz ZPTmpPtr1
|
||||||
lda #$C1
|
lda #$C1
|
||||||
@ -86,7 +86,7 @@ Dev.Detect >LDYA L.MSG.DETECT
|
|||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.KO
|
>LDYA L.MSG.DETECT.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
|
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
|
||||||
sec
|
sec
|
||||||
@ -105,9 +105,9 @@ Dev.Detect >LDYA L.MSG.DETECT
|
|||||||
sta DEVSLOTn0
|
sta DEVSLOTn0
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.OK
|
>LDYA L.MSG.DETECT.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
>LDYA L.DEV.HEADER.NAME
|
>LDYA L.DEV.HEADER.NAME
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
clc
|
clc
|
||||||
|
@ -55,7 +55,7 @@ Dev.Detect stz ZPTmpPtr1
|
|||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.KO
|
>LDYA L.MSG.DETECT.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
|
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
|
||||||
sec
|
sec
|
||||||
@ -74,9 +74,9 @@ Dev.Detect stz ZPTmpPtr1
|
|||||||
sta DEVSLOTn0
|
sta DEVSLOTn0
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.OK
|
>LDYA L.MSG.DETECT.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
>LDYA L.DEV.HEADER.NAME
|
>LDYA L.DEV.HEADER.NAME
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Dev.Detect sta hArgs
|
Dev.Detect sta hArgs
|
||||||
>LDYA L.MSG.DETECT
|
>LDYA L.MSG.DETECT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
stz ZPTmpPtr1
|
stz ZPTmpPtr1
|
||||||
lda #$C1
|
lda #$C1
|
||||||
@ -85,7 +85,7 @@ Dev.Detect sta hArgs
|
|||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.KO
|
>LDYA L.MSG.DETECT.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
|
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
|
||||||
sec
|
sec
|
||||||
@ -104,9 +104,9 @@ Dev.Detect sta hArgs
|
|||||||
sta DEVSLOTn0
|
sta DEVSLOTn0
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.OK
|
>LDYA L.MSG.DETECT.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
>LDYA L.DEV.HEADER.NAME
|
>LDYA L.DEV.HEADER.NAME
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Dev.Detect sta hArgs
|
Dev.Detect sta hArgs
|
||||||
>LDYA L.MSG.DETECT
|
>LDYA L.MSG.DETECT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
stz ZPTmpPtr1
|
stz ZPTmpPtr1
|
||||||
lda #$C1
|
lda #$C1
|
||||||
@ -117,7 +117,7 @@ Dev.Detect sta hArgs
|
|||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.KO
|
>LDYA L.MSG.DETECT.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
|
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
|
||||||
sec
|
sec
|
||||||
@ -138,9 +138,9 @@ Dev.Detect sta hArgs
|
|||||||
adc #SSC.REG.DATA+1
|
adc #SSC.REG.DATA+1
|
||||||
sta DEV.DATA.BFFF
|
sta DEV.DATA.BFFF
|
||||||
>LDYA L.MSG.DETECT.OK
|
>LDYA L.MSG.DETECT.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
>LDYA L.DEV.HEADER.NAME
|
>LDYA L.DEV.HEADER.NAME
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Dev.Detect sta hArgs
|
Dev.Detect sta hArgs
|
||||||
>LDYA L.MSG.DETECT
|
>LDYA L.MSG.DETECT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
ldx #$10+$88
|
ldx #$10+$88
|
||||||
.1 lda #W5100.MR.RST
|
.1 lda #W5100.MR.RST
|
||||||
@ -128,7 +128,7 @@ Dev.Detect sta hArgs
|
|||||||
bcc .1 #$108 ?
|
bcc .1 #$108 ?
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.KO
|
>LDYA L.MSG.DETECT.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda #DEVMGR.ERRNOHW
|
lda #DEVMGR.ERRNOHW
|
||||||
sec
|
sec
|
||||||
@ -163,9 +163,9 @@ Dev.Detect sta hArgs
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.8 >LDYA L.MSG.DETECT.OK
|
.8 >LDYA L.MSG.DETECT.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
>LDYA L.DEV.HEADER.NAME
|
>LDYA L.DEV.HEADER.NAME
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
clc
|
clc
|
||||||
|
@ -126,7 +126,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Dev.Detect >STYA ARGS
|
Dev.Detect >STYA ARGS
|
||||||
>LDYA L.MSG.DETECT
|
>LDYA L.MSG.DETECT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
ldx #$10
|
ldx #$10
|
||||||
.1 >LDYAI PP.ID
|
.1 >LDYAI PP.ID
|
||||||
@ -146,7 +146,7 @@ Dev.Detect >STYA ARGS
|
|||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.KO
|
>LDYA L.MSG.DETECT.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda #DEVMGR.ERRNOHW
|
lda #DEVMGR.ERRNOHW
|
||||||
sec
|
sec
|
||||||
@ -181,9 +181,9 @@ Dev.Detect >STYA ARGS
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.8 >LDYA L.MSG.DETECT.OK
|
.8 >LDYA L.MSG.DETECT.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
>LDYA L.DEV.HEADER.NAME
|
>LDYA L.DEV.HEADER.NAME
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
clc
|
clc
|
||||||
|
@ -98,7 +98,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Dev.Detect sta hArgs
|
Dev.Detect sta hArgs
|
||||||
>LDYA L.MSG.DETECT
|
>LDYA L.MSG.DETECT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
ldx #$10+$88
|
ldx #$10+$88
|
||||||
.1 lda #W5100.MR.RST
|
.1 lda #W5100.MR.RST
|
||||||
@ -128,7 +128,7 @@ Dev.Detect sta hArgs
|
|||||||
bcc .1 #$108 ?
|
bcc .1 #$108 ?
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.KO
|
>LDYA L.MSG.DETECT.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda #DEVMGR.ERRNOHW
|
lda #DEVMGR.ERRNOHW
|
||||||
sec
|
sec
|
||||||
@ -163,9 +163,9 @@ Dev.Detect sta hArgs
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.8 >LDYA L.MSG.DETECT.OK
|
.8 >LDYA L.MSG.DETECT.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
>LDYA L.DEV.HEADER.NAME
|
>LDYA L.DEV.HEADER.NAME
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
clc
|
clc
|
||||||
|
@ -235,9 +235,9 @@ SYS.Sleep .EQ $9C
|
|||||||
SYS.CheckPrefixYA .EQ $A0
|
SYS.CheckPrefixYA .EQ $A0
|
||||||
SYS.FileSearch .EQ $A2
|
SYS.FileSearch .EQ $A2
|
||||||
SYS.GetFullPathYA .EQ $A4
|
SYS.GetFullPathYA .EQ $A4
|
||||||
SYS.LoadFile .EQ $A6
|
|
||||||
|
|
||||||
SYS.SaveFile .EQ $A8
|
SYS.LoadFile .EQ $A8
|
||||||
|
SYS.SaveFile .EQ $AA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYS.AddNetCfg .EQ $B0
|
SYS.AddNetCfg .EQ $B0
|
||||||
SYS.SetNetCfg .EQ $B2
|
SYS.SetNetCfg .EQ $B2
|
||||||
@ -248,7 +248,7 @@ SYS.ClrNetCfgA .EQ $B6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYS.COutA .EQ $D0
|
SYS.COutA .EQ $D0
|
||||||
|
|
||||||
SYS.PSTROutYA .EQ $D4
|
SYS.PStrOutYA .EQ $D4
|
||||||
|
|
||||||
SYS.HexOutA .EQ $D8
|
SYS.HexOutA .EQ $D8
|
||||||
SYS.HexOutYA .EQ $DA
|
SYS.HexOutYA .EQ $DA
|
||||||
@ -463,16 +463,16 @@ S.LISTDIR.hPATTERN .EQ 15 Pattern for file filtering
|
|||||||
*
|
*
|
||||||
S.LISTDIR.SIZE .EQ 16
|
S.LISTDIR.SIZE .EQ 16
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.TIME.CENTURY .EQ 0 19,20,21....
|
S.Time.CENTURY .EQ 0 19,20,21....
|
||||||
S.TIME.YEAR .EQ 1 0.99
|
S.Time.YEAR .EQ 1 0.99
|
||||||
S.TIME.MONTH .EQ 2 1..12
|
S.Time.MONTH .EQ 2 1..12
|
||||||
S.TIME.DAY .EQ 3 1..31
|
S.Time.DAY .EQ 3 1..31
|
||||||
S.TIME.HOUR .EQ 4 0..23
|
S.Time.HOUR .EQ 4 0..23
|
||||||
S.TIME.MINUTE .EQ 5 0..59
|
S.Time.MINUTE .EQ 5 0..59
|
||||||
S.TIME.SECOND .EQ 6 0..61
|
S.Time.SECOND .EQ 6 0..61
|
||||||
S.TIME.WDAY .EQ 7 1..7
|
S.Time.WDAY .EQ 7 1..7
|
||||||
*
|
*
|
||||||
S.TIME .EQ 8
|
K.Time .EQ 8
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.STAT
|
* S.STAT
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -39,7 +39,7 @@ L.DrawLine.X1 .DA DrawLine.X1
|
|||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT >LDYA L.MSG.INIT
|
CS.INIT >LDYA L.MSG.INIT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
>LDYA L.LIBGFX
|
>LDYA L.LIBGFX
|
||||||
>SYSCALL SYS.LoadLibYA
|
>SYSCALL SYS.LoadLibYA
|
||||||
|
@ -97,7 +97,7 @@ CS.INIT >LDYA L.LIBTCPIP
|
|||||||
.98 >LDYA L.MSG.CFG.ND
|
.98 >LDYA L.MSG.CFG.ND
|
||||||
bra .90
|
bra .90
|
||||||
.99 >LDYA L.MSG.CFG.NA
|
.99 >LDYA L.MSG.CFG.NA
|
||||||
.90 >SYSCALL SYS.PSTROutYA
|
.90 >SYSCALL SYS.PStrOutYA
|
||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@ -113,7 +113,7 @@ CS.RUN >PUSHW L.Socket
|
|||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
>LDYA L.MSG.CFG1
|
>LDYA L.MSG.CFG1
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
jsr Init.Timeout
|
jsr Init.Timeout
|
||||||
|
|
||||||
@ -151,7 +151,7 @@ CS.RUN.SREQ ldx #3
|
|||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
>LDYA L.MSG.CFG2
|
>LDYA L.MSG.CFG2
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
>PUSHWI DHCP.REQ.LEN
|
>PUSHWI DHCP.REQ.LEN
|
||||||
>PUSHW L.DHCP.REQ
|
>PUSHW L.DHCP.REQ
|
||||||
@ -192,7 +192,7 @@ CS.RUN.OK lda #S.IPCFG.STATUS.OK
|
|||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
>LDYA L.MSG.CFG.OK
|
>LDYA L.MSG.CFG.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #0 Leave with NO ERROR
|
lda #0 Leave with NO ERROR
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@ -200,7 +200,7 @@ CS.RUN.OK lda #S.IPCFG.STATUS.OK
|
|||||||
CS.RUN.KO pha
|
CS.RUN.KO pha
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.CFG.KO
|
>LDYA L.MSG.CFG.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
pla
|
pla
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
@ -40,7 +40,7 @@ CS.INIT >SYSCALL SYS.GetArgC
|
|||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LDYA L.MSG.USAGE
|
>LDYA L.MSG.USAGE
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@ -93,7 +93,7 @@ CS.RUN lda #13 try send a CR...
|
|||||||
adc /S.DEV.NAME
|
adc /S.DEV.NAME
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>LDYA L.MSG.GREETINGS
|
>LDYA L.MSG.GREETINGS
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
bcs .8 unable to send greetings...loop..
|
bcs .8 unable to send greetings...loop..
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ CS.INIT >LDYA L.LIBTCPIP
|
|||||||
CS.RUN jsr Init.Timeout
|
CS.RUN jsr Init.Timeout
|
||||||
|
|
||||||
>LDYA L.MSG.TCPWAIT
|
>LDYA L.MSG.TCPWAIT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
.1 >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ?
|
.1 >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ?
|
||||||
bcs .99
|
bcs .99
|
||||||
@ -72,7 +72,7 @@ CS.RUN jsr Init.Timeout
|
|||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
.99 >LDYA L.MSG.TCPIPERR
|
.99 >LDYA L.MSG.TCPIPERR
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #SYSMGR.ERRSYN
|
lda #SYSMGR.ERRSYN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@ -93,7 +93,7 @@ CS.RUN.INIT ldx #3
|
|||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
>LDYA L.MSG.INITOK
|
>LDYA L.MSG.INITOK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
.11 >SYSCALL SYS.Sleep
|
.11 >SYSCALL SYS.Sleep
|
||||||
ldy #bCTRLC
|
ldy #bCTRLC
|
||||||
@ -118,17 +118,17 @@ CS.RUN.INIT ldx #3
|
|||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
>LDYA L.MSG.INCOMING
|
>LDYA L.MSG.INCOMING
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bra .11
|
bra .11
|
||||||
|
|
||||||
.9 >LDYA L.MSG.SKTERR
|
.9 >LDYA L.MSG.SKTERR
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #SYSMGR.ERRSYN
|
lda #SYSMGR.ERRSYN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.99 >LDYA L.MSG.ABORT
|
.99 >LDYA L.MSG.ABORT
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
@ -42,7 +42,7 @@ CS.INIT >SYSCALL SYS.GetArgC
|
|||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LDYA L.MSG.HELP
|
>LDYA L.MSG.HELP
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #0 tell TSKMGR that all done ok, but
|
lda #0 tell TSKMGR that all done ok, but
|
||||||
sec we do not want to stay in memory
|
sec we do not want to stay in memory
|
||||||
rts
|
rts
|
||||||
@ -52,7 +52,7 @@ CS.INIT >SYSCALL SYS.GetArgC
|
|||||||
>PUSHYA
|
>PUSHYA
|
||||||
|
|
||||||
>LDYA L.MSG.LOAD
|
>LDYA L.MSG.LOAD
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda #1 get PTR to ARG[1] (Driver name)
|
lda #1 get PTR to ARG[1] (Driver name)
|
||||||
>SYSCALL SYS.GetArgA
|
>SYSCALL SYS.GetArgA
|
||||||
|
@ -55,7 +55,7 @@ CS.RUN lda #0
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA L.MSG.LOGIN
|
>LDYA L.MSG.LOGIN
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #0 Echo all caracters
|
lda #0 Echo all caracters
|
||||||
@ -70,7 +70,7 @@ CS.RUN lda #0
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA L.MSG.PASSWORD
|
>LDYA L.MSG.PASSWORD
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #'*'
|
lda #'*'
|
||||||
jsr INPUT.RESET
|
jsr INPUT.RESET
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ Cmd.Exec.CD lda ARGS
|
|||||||
ldy #S.PS.hPREFIX
|
ldy #S.PS.hPREFIX
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
>SYSCALL SYS.GetMemPtrA
|
>SYSCALL SYS.GetMemPtrA
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
@ -292,7 +292,7 @@ Cmd.Exec.SET lda ARGS
|
|||||||
.1 lda (ZPPTR1)
|
.1 lda (ZPPTR1)
|
||||||
beq .8 Ending 0 ?
|
beq .8 Ending 0 ?
|
||||||
>LDYA ZPPTR1
|
>LDYA ZPPTR1
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda ZPPTR1
|
lda ZPPTR1
|
||||||
@ -307,7 +307,7 @@ Cmd.Exec.SET lda ARGS
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA ZPPTR1
|
>LDYA ZPPTR1
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #13
|
lda #13
|
||||||
@ -349,7 +349,7 @@ Cmd.Exec.SETVAR tax
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.3 >LDYA L.ARGS String is VAR...
|
.3 >LDYA L.ARGS String is VAR...
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
lda #'='
|
lda #'='
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
@ -359,7 +359,7 @@ Cmd.Exec.SETVAR tax
|
|||||||
>SYSCALL SYS.GetEnvYA
|
>SYSCALL SYS.GetEnvYA
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
>SYSCALL SYS.PSTROutYA Y,A = VALUE
|
>SYSCALL SYS.PStrOutYA Y,A = VALUE
|
||||||
|
|
||||||
.8 lda #13
|
.8 lda #13
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
@ -374,7 +374,7 @@ Cmd.Exec.DATE >LDYA L.TIME
|
|||||||
>SYSCALL SYS.StrFTime
|
>SYSCALL SYS.StrFTime
|
||||||
|
|
||||||
>LDYAI TmpBuffer256
|
>LDYAI TmpBuffer256
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #13
|
lda #13
|
||||||
@ -391,7 +391,7 @@ Cmd.Exec.TIME >LDYA L.TIME
|
|||||||
>SYSCALL SYS.StrFTime
|
>SYSCALL SYS.StrFTime
|
||||||
|
|
||||||
>LDYAI TmpBuffer256
|
>LDYAI TmpBuffer256
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #13
|
lda #13
|
||||||
@ -401,7 +401,7 @@ Cmd.Exec.TIME >LDYA L.TIME
|
|||||||
Cmd.Exec.ECHO lda ARGS
|
Cmd.Exec.ECHO lda ARGS
|
||||||
beq .9
|
beq .9
|
||||||
>LDYA L.ARGS
|
>LDYA L.ARGS
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
clc
|
clc
|
||||||
|
@ -88,7 +88,7 @@ HIS.Add ldy #hCmdHistory
|
|||||||
bpl .4
|
bpl .4
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
HIS.GetPrev ldy #hCmdHistory
|
HIK.GetPrev ldy #hCmdHistory
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
beq HISTORY.RTS
|
beq HISTORY.RTS
|
||||||
|
|
||||||
@ -121,10 +121,10 @@ HIS.GetPrev ldy #hCmdHistory
|
|||||||
.2 txa
|
.2 txa
|
||||||
ldy #CmdHistory.IDX set new index
|
ldy #CmdHistory.IDX set new index
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
bra HIS.SetBuf
|
bra HIK.SetBuf
|
||||||
History.RTS rts
|
History.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
HIS.GetNext ldy #hCmdHistory
|
HIK.GetNext ldy #hCmdHistory
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
beq HISTORY.RTS
|
beq HISTORY.RTS
|
||||||
|
|
||||||
@ -153,10 +153,10 @@ HIS.GetNext ldy #hCmdHistory
|
|||||||
|
|
||||||
ldy #CmdHistory.END
|
ldy #CmdHistory.END
|
||||||
cmp (pData),y
|
cmp (pData),y
|
||||||
bne HIS.SetBuf
|
bne HIK.SetBuf
|
||||||
jmp CmdBuffer.CLR end of history, just blank buffer
|
jmp CmdBuffer.CLR end of history, just blank buffer
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
HIS.SetBuf jsr CmdBuffer.CLR
|
HIK.SetBuf jsr CmdBuffer.CLR
|
||||||
|
|
||||||
ldy #CmdHistory.IDX
|
ldy #CmdHistory.IDX
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
|
@ -62,7 +62,7 @@ TXT.ReadFile >PUSHWI 127
|
|||||||
lda #'"'
|
lda #'"'
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
>LDYA pData
|
>LDYA pData
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #'"'
|
lda #'"'
|
||||||
>SYSCALL SYS.COutA
|
>SYSCALL SYS.COutA
|
||||||
lda #13
|
lda #13
|
||||||
|
@ -83,7 +83,7 @@ CS.INIT.INTERACTIVE
|
|||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.GREETINGS
|
>LDYA L.MSG.GREETINGS
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
lda (pPs)
|
lda (pPs)
|
||||||
ora #S.PS.F.EVENT Now accept events
|
ora #S.PS.F.EVENT Now accept events
|
||||||
@ -290,14 +290,14 @@ CS.EVENT.CTRL.CHAR
|
|||||||
.2 cpx #10 LF (down arrow)
|
.2 cpx #10 LF (down arrow)
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
jsr HIS.GetNext
|
jsr HIK.GetNext
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.3 cpx #11 VT (up arrow)
|
.3 cpx #11 VT (up arrow)
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
jsr His.GetPrev
|
jsr HiK.GetPrev
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -337,7 +337,7 @@ PrintPrompt lda #'$'
|
|||||||
PrintError pha
|
PrintError pha
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.ERROR
|
>LDYA L.MSG.ERROR
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
pla
|
pla
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -444,7 +444,7 @@ EscChars >PSTRING "DBAC"
|
|||||||
EscAscii .HS 04080A0B15
|
EscAscii .HS 04080A0B15
|
||||||
CMD .BS 256
|
CMD .BS 256
|
||||||
ARGS .BS 256
|
ARGS .BS 256
|
||||||
TIME .BS S.TIME
|
TIME .BS K.Time
|
||||||
hNEWPATH .BS 1
|
hNEWPATH .BS 1
|
||||||
hCmdLine .BS 1
|
hCmdLine .BS 1
|
||||||
Cmd.Exec.Mode .BS 1
|
Cmd.Exec.Mode .BS 1
|
||||||
|
@ -104,7 +104,7 @@ CS.INIT.DEV >LDYA L.DEVNAME
|
|||||||
bne CS.INIT.DEV
|
bne CS.INIT.DEV
|
||||||
|
|
||||||
>LDYA L.MSG.DEV.KO
|
>LDYA L.MSG.DEV.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
lda #DEVMGR.ERRDNF
|
lda #DEVMGR.ERRDNF
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@ -116,7 +116,7 @@ CS.INIT.DEV >LDYA L.DEVNAME
|
|||||||
|
|
||||||
>PUSHW L.DEVNAME
|
>PUSHW L.DEVNAME
|
||||||
>LDYA L.MSG.DEV.OK
|
>LDYA L.MSG.DEV.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
ldx #DEVMGR.OPEN
|
ldx #DEVMGR.OPEN
|
||||||
jsr pNetDevJmp
|
jsr pNetDevJmp
|
||||||
@ -180,42 +180,42 @@ CS.QUIT lda IPCFG+S.IPCFG.HDEV
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CFG.Read >PUSHW L.HOSTNAME
|
CFG.Read >PUSHW L.HOSTNAME
|
||||||
>LDYA L.MSG.CFG
|
>LDYA L.MSG.CFG
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
jsr CFG.Read.HOSTNAME
|
jsr CFG.Read.HOSTNAME
|
||||||
bcc .1
|
bcc .1
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.CFG.KO
|
>LDYA L.MSG.CFG.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bra .2
|
bra .2
|
||||||
.1 >LDYA L.MSG.CFG.OK
|
.1 >LDYA L.MSG.CFG.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
.2 >PUSHW L.TCPIP.CONF
|
.2 >PUSHW L.TCPIP.CONF
|
||||||
>LDYA L.MSG.CFG
|
>LDYA L.MSG.CFG
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
jsr CFG.Read.TCPIP.CONF
|
jsr CFG.Read.TCPIP.CONF
|
||||||
bcc .3
|
bcc .3
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.CFG.KO
|
>LDYA L.MSG.CFG.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bra .4
|
bra .4
|
||||||
.3 >LDYA L.MSG.CFG.OK
|
.3 >LDYA L.MSG.CFG.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
.4 >PUSHW L.HOSTS
|
.4 >PUSHW L.HOSTS
|
||||||
>LDYA L.MSG.CFG
|
>LDYA L.MSG.CFG
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
jsr CFG.Read.HOSTS
|
jsr CFG.Read.HOSTS
|
||||||
bcc .5
|
bcc .5
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.CFG.KO
|
>LDYA L.MSG.CFG.KO
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bra .6
|
bra .6
|
||||||
.5 >LDYA L.MSG.CFG.OK
|
.5 >LDYA L.MSG.CFG.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
.6 rts
|
.6 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CFG.Read.HOSTNAME
|
CFG.Read.HOSTNAME
|
||||||
|
@ -7,7 +7,7 @@ AUTO 6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Out : A = Command line Arg Count
|
* Out : A = Command line Arg Count
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetArgC jsr S.InitArgPtr1
|
K.GetArgC jsr S.InitArgPtr1
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
@ -28,10 +28,10 @@ S.GetArgC jsr S.InitArgPtr1
|
|||||||
* CC : Y,A = PStr To Arg[A]
|
* CC : Y,A = PStr To Arg[A]
|
||||||
* CS : Out Of Bound
|
* CS : Out Of Bound
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetArgA sta S.GetArgA.Idx
|
K.GetArgA sta K.GetArgA.Idx
|
||||||
jsr S.InitArgPtr1
|
jsr S.InitArgPtr1
|
||||||
|
|
||||||
lda S.GetArgA.Idx
|
lda K.GetArgA.Idx
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
@ -39,7 +39,7 @@ S.GetArgA sta S.GetArgA.Idx
|
|||||||
.1 lda (ZPQuickPtr1)
|
.1 lda (ZPQuickPtr1)
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
cpx S.GetArgA.Idx
|
cpx K.GetArgA.Idx
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
jsr S.NextArgPtr1
|
jsr S.NextArgPtr1
|
||||||
@ -55,7 +55,7 @@ S.GetArgA sta S.GetArgA.Idx
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.InitArgPtr1 ldy #S.PS.hCMDLINE
|
S.InitArgPtr1 ldy #S.PS.hCMDLINE
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -67,7 +67,7 @@ S.NextArgPtr1 lda ZPQuickPtr1
|
|||||||
inc ZPQuickPtr1+1
|
inc ZPQuickPtr1+1
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetArgA.Idx .BS 1
|
K.GetArgA.Idx .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.ARG
|
SAVE SYS/KERNEL.S.ARG
|
||||||
|
@ -5,18 +5,18 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.LoadBinYA
|
* K.LoadBinYA
|
||||||
* in :
|
* in :
|
||||||
* A = hMem of FilePath (PSTRING)
|
* A = hMem of FilePath (PSTRING)
|
||||||
* out :
|
* out :
|
||||||
* Y,A = MEMPTR
|
* Y,A = MEMPTR
|
||||||
* X = hMem of Code Segment
|
* X = hMem of Code Segment
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.LoadBinYA >STYA S.LoadBin.Filename
|
K.LoadBinYA >STYA K.LoadBin.Filename
|
||||||
jsr S.PStrUprYA
|
jsr K.PStrUprYA
|
||||||
|
|
||||||
>LDYA S.LoadBin.Filename
|
>LDYA K.LoadBin.Filename
|
||||||
jsr S.GetMemByNameYA
|
jsr K.GetMemByNameYA
|
||||||
bcs .3 not already loaded
|
bcs .3 not already loaded
|
||||||
|
|
||||||
>STYA ZPQuickPtr1 Save base address
|
>STYA ZPQuickPtr1 Save base address
|
||||||
@ -30,50 +30,50 @@ S.LoadBinYA >STYA S.LoadBin.Filename
|
|||||||
pha Y,A = MEM PTR...
|
pha Y,A = MEM PTR...
|
||||||
iny
|
iny
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
ply X=hMem from S.GetMemByNameA
|
ply X=hMem from K.GetMemByNameA
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.3 >LDYA S.LoadBin.Filename
|
.3 >LDYA K.LoadBin.Filename
|
||||||
jsr S.LoadFileYA
|
jsr K.LoadFileYA
|
||||||
bcs .99 Error Loading file
|
bcs .99 Error Loading file
|
||||||
|
|
||||||
>STYA S.LoadBin.SegLen
|
>STYA K.LoadBin.SegLen
|
||||||
stx S.LoadBin.hMem save hMem
|
stx K.LoadBin.hMem save hMem
|
||||||
txa
|
txa
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA S.LoadBin.NewBase
|
>STYA K.LoadBin.NewBase
|
||||||
|
|
||||||
>LDYA S.LoadBin.Filename
|
>LDYA K.LoadBin.Filename
|
||||||
jsr S.MLIGetFileInfoYA Get File Info for AUXTYPE
|
jsr K.MLIGetFileInfoYA Get File Info for AUXTYPE
|
||||||
bcs .98
|
bcs .98
|
||||||
|
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
ldy #2 get AUXTYPE
|
ldy #2 get AUXTYPE
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
sta S.LoadBin.OldBase
|
sta K.LoadBin.OldBase
|
||||||
iny
|
iny
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
sta S.LoadBin.OldBase+1
|
sta K.LoadBin.OldBase+1
|
||||||
|
|
||||||
bit RRAMWRAMBNK2
|
bit RRAMWRAMBNK2
|
||||||
bit RRAMWRAMBNK2
|
bit RRAMWRAMBNK2
|
||||||
|
|
||||||
jsr S.InsBin
|
jsr K.InsBin
|
||||||
|
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
|
|
||||||
bcs .98 relocation error, dicard Code segment
|
bcs .98 relocation error, dicard Code segment
|
||||||
|
|
||||||
>LDYA S.LoadBin.Filename get back bin path
|
>LDYA K.LoadBin.Filename get back bin path
|
||||||
jsr S.NewPStrYA make a copy of this string
|
jsr K.NewPStrYA make a copy of this string
|
||||||
bcs .98
|
bcs .98
|
||||||
phx save copy
|
phx save copy
|
||||||
|
|
||||||
lda S.LoadBin.hMem
|
lda K.LoadBin.hMem
|
||||||
jsr S.GetMemByIDA
|
jsr K.GetMemByIDA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
lda (ZPQuickPtr1)
|
lda (ZPQuickPtr1)
|
||||||
@ -84,25 +84,25 @@ S.LoadBinYA >STYA S.LoadBin.Filename
|
|||||||
ldy #S.MEM.BIN
|
ldy #S.MEM.BIN
|
||||||
sta (ZPQuickPtr1),y
|
sta (ZPQuickPtr1),y
|
||||||
|
|
||||||
lda S.LoadBin.hMem
|
lda K.LoadBin.hMem
|
||||||
tax return hMEM to Caller...
|
tax return hMEM to Caller...
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
clc ...and Y,A=PTR to CS
|
clc ...and Y,A=PTR to CS
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.98 pha
|
.98 pha
|
||||||
lda S.LoadBin.hMem
|
lda K.LoadBin.hMem
|
||||||
jsr S.FreeMemA Discard Loaded Code
|
jsr K.FreeMemA Discard Loaded Code
|
||||||
pla
|
pla
|
||||||
|
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.LoadBin.Filename .BS 2
|
K.LoadBin.Filename .BS 2
|
||||||
S.LoadBin.hMem .BS 1
|
K.LoadBin.hMem .BS 1
|
||||||
S.LoadBin.OldBase .BS 2
|
K.LoadBin.OldBase .BS 2
|
||||||
S.LoadBin.NewBase .BS 2
|
K.LoadBin.NewBase .BS 2
|
||||||
S.LoadBin.SegLen .BS 2
|
K.LoadBin.SegLen .BS 2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.BIN
|
SAVE SYS/KERNEL.S.BIN
|
||||||
|
@ -5,9 +5,9 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.DecOutA tay
|
K.DecOutA tay
|
||||||
lda #0
|
lda #0
|
||||||
S.DecOutYA >STYA HEX
|
K.DecOutYA >STYA HEX
|
||||||
stz BCD
|
stz BCD
|
||||||
stz BCD+1
|
stz BCD+1
|
||||||
stz BCD+2
|
stz BCD+2
|
||||||
@ -46,7 +46,7 @@ S.DecOutYA >STYA HEX
|
|||||||
.5 sec
|
.5 sec
|
||||||
ror bL0Flag
|
ror bL0Flag
|
||||||
ora #$30
|
ora #$30
|
||||||
jsr S.COutA
|
jsr K.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.6 lda BCD,x
|
.6 lda BCD,x
|
||||||
@ -57,7 +57,7 @@ S.DecOutYA >STYA HEX
|
|||||||
.7 sec
|
.7 sec
|
||||||
ror bL0Flag
|
ror bL0Flag
|
||||||
ora #$30
|
ora #$30
|
||||||
jsr S.COutA
|
jsr K.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.8 dex
|
.8 dex
|
||||||
@ -66,16 +66,16 @@ S.DecOutYA >STYA HEX
|
|||||||
bit bL0Flag
|
bit bL0Flag
|
||||||
bmi .9
|
bmi .9
|
||||||
lda #$30
|
lda #$30
|
||||||
jsr S.COutA
|
jsr K.COutA
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.HexOutYA phy
|
K.HexOutYA phy
|
||||||
jsr S.HexOutA
|
jsr K.HexOutA
|
||||||
bcs S.COutA.RTS
|
bcs K.COutA.RTS
|
||||||
pla
|
pla
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.HexOutA pha
|
K.HexOutA pha
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
@ -84,16 +84,16 @@ S.HexOutA pha
|
|||||||
cmp #$3A
|
cmp #$3A
|
||||||
bcc .1
|
bcc .1
|
||||||
adc #6
|
adc #6
|
||||||
.1 jsr S.COutA
|
.1 jsr K.COutA
|
||||||
bcs S.COutA.RTS
|
bcs K.COutA.RTS
|
||||||
pla
|
pla
|
||||||
and #$0F
|
and #$0F
|
||||||
ora #$30
|
ora #$30
|
||||||
cmp #$3A
|
cmp #$3A
|
||||||
bcc S.COutA
|
bcc K.COutA
|
||||||
adc #6
|
adc #6
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.COutA phx
|
K.COutA phx
|
||||||
phy
|
phy
|
||||||
cmp #13
|
cmp #13
|
||||||
bne .1
|
bne .1
|
||||||
@ -105,7 +105,7 @@ S.COutA phx
|
|||||||
jsr pDevJmp
|
jsr pDevJmp
|
||||||
.2 ply
|
.2 ply
|
||||||
plx
|
plx
|
||||||
S.COutA.RTS rts
|
K.COutA.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Mini printf for PSTR
|
* Mini printf for PSTR
|
||||||
* %d : byte
|
* %d : byte
|
||||||
@ -117,18 +117,18 @@ S.COutA.RTS rts
|
|||||||
* \e : ESC
|
* \e : ESC
|
||||||
* \n : CR
|
* \n : CR
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PSTROutYA >STYA ZPQuickPtr1
|
K.PStrOutYA >STYA ZPQuickPtr1
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.1 jsr S.PSTROut.Next
|
.1 jsr K.PStrOut.Next
|
||||||
bne .12
|
bne .12
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.12 cmp #'\'
|
.12 cmp #'\'
|
||||||
bne .2
|
bne .2
|
||||||
jsr S.PSTROut.Next
|
jsr K.PStrOut.Next
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
cmp #'e'
|
cmp #'e'
|
||||||
@ -144,13 +144,13 @@ S.PSTROutYA >STYA ZPQuickPtr1
|
|||||||
.2 cmp #'%'
|
.2 cmp #'%'
|
||||||
bne .6
|
bne .6
|
||||||
|
|
||||||
jsr S.PSTROut.Next
|
jsr K.PStrOut.Next
|
||||||
beq .8
|
beq .8
|
||||||
cmp #'d'
|
cmp #'d'
|
||||||
bne .3
|
bne .3
|
||||||
phy
|
phy
|
||||||
>PULLA
|
>PULLA
|
||||||
jsr S.DecOutA
|
jsr K.DecOutA
|
||||||
ply
|
ply
|
||||||
bcc .1
|
bcc .1
|
||||||
rts
|
rts
|
||||||
@ -159,7 +159,7 @@ S.PSTROutYA >STYA ZPQuickPtr1
|
|||||||
bne .4
|
bne .4
|
||||||
phy
|
phy
|
||||||
>PULLYA
|
>PULLYA
|
||||||
jsr S.DecOutYA
|
jsr K.DecOutYA
|
||||||
ply
|
ply
|
||||||
bcc .1
|
bcc .1
|
||||||
rts
|
rts
|
||||||
@ -168,7 +168,7 @@ S.PSTROutYA >STYA ZPQuickPtr1
|
|||||||
bne .5
|
bne .5
|
||||||
phy
|
phy
|
||||||
>PULLA
|
>PULLA
|
||||||
jsr S.HexOutA
|
jsr K.HexOutA
|
||||||
ply
|
ply
|
||||||
bcc .1
|
bcc .1
|
||||||
rts
|
rts
|
||||||
@ -177,49 +177,49 @@ S.PSTROutYA >STYA ZPQuickPtr1
|
|||||||
bne .51
|
bne .51
|
||||||
phy
|
phy
|
||||||
>PULLYA
|
>PULLYA
|
||||||
jsr S.HexOutYA
|
jsr K.HexOutYA
|
||||||
ply
|
ply
|
||||||
bcc .1
|
bcc .1
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.51 cmp #'s'
|
.51 cmp #'s'
|
||||||
bne .52
|
bne .52
|
||||||
jsr S.PSTROutYAS1
|
jsr K.PStrOutYAS1
|
||||||
bcc .1
|
bcc .1
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.52 cmp #'S'
|
.52 cmp #'S'
|
||||||
bne .53
|
bne .53
|
||||||
jsr S.PSTROutYAS2
|
jsr K.PStrOutYAS2
|
||||||
bcc .10
|
bcc .10
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.53 tax
|
.53 tax
|
||||||
lda #'%'
|
lda #'%'
|
||||||
jsr S.COutA
|
jsr K.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
txa
|
txa
|
||||||
|
|
||||||
.6 jsr S.COutA
|
.6 jsr K.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
.10 jmp .1
|
.10 jmp .1
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PSTROut.Next tya
|
K.PStrOut.Next tya
|
||||||
eor (ZPQuickPtr1)
|
eor (ZPQuickPtr1)
|
||||||
beq .8
|
beq .8
|
||||||
iny
|
iny
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PSTROutYAS1 phy
|
K.PStrOutYAS1 phy
|
||||||
>PULLA
|
>PULLA
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
bra S.PSTROutYAS
|
bra K.PStrOutYAS
|
||||||
|
|
||||||
S.PSTROutYAS2 phy
|
K.PStrOutYAS2 phy
|
||||||
>PULLYA
|
>PULLYA
|
||||||
S.PSTROutYAS >STYA ZPQuickPtr2
|
K.PStrOutYAS >STYA ZPQuickPtr2
|
||||||
|
|
||||||
clc
|
clc
|
||||||
lda (ZPQuickPtr2)
|
lda (ZPQuickPtr2)
|
||||||
@ -228,7 +228,7 @@ S.PSTROutYAS >STYA ZPQuickPtr2
|
|||||||
|
|
||||||
ldy #1
|
ldy #1
|
||||||
.1 lda (ZPQuickPtr2),y
|
.1 lda (ZPQuickPtr2),y
|
||||||
jsr S.COutA
|
jsr K.COutA
|
||||||
bcs .9
|
bcs .9
|
||||||
iny
|
iny
|
||||||
dex
|
dex
|
||||||
|
@ -7,7 +7,7 @@ AUTO 6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.HiMem .EQ $FFFA Protect IRQ vectors in Aux LC
|
DevMgr.HiMem .EQ $FFFA Protect IRQ vectors in Aux LC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.GetDevByIDA
|
* K.GetDevByIDA
|
||||||
* IN:
|
* IN:
|
||||||
* A = DevID
|
* A = DevID
|
||||||
* OUT:
|
* OUT:
|
||||||
@ -15,28 +15,28 @@ DevMgr.HiMem .EQ $FFFA Protect IRQ vectors in Aux LC
|
|||||||
* Y,A = devslot
|
* Y,A = devslot
|
||||||
* X Unmodified
|
* X Unmodified
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetDevByIDA cmp DevMgr.LastDevID
|
K.GetDevByIDA cmp DevMgr.LastDevID
|
||||||
beq .1
|
beq .1
|
||||||
bcs S.GetDevDNF
|
bcs K.GetDevDNF
|
||||||
|
|
||||||
.1 stz S.GetDevByIDA.T
|
.1 stz K.GetDevByIDA.T
|
||||||
|
|
||||||
asl
|
asl
|
||||||
ror S.GetDevByIDA.T
|
ror K.GetDevByIDA.T
|
||||||
asl
|
asl
|
||||||
ror S.GetDevByIDA.T
|
ror K.GetDevByIDA.T
|
||||||
asl
|
asl
|
||||||
ror S.GetDevByIDA.T
|
ror K.GetDevByIDA.T
|
||||||
asl
|
asl
|
||||||
ror S.GetDevByIDA.T
|
ror K.GetDevByIDA.T
|
||||||
|
|
||||||
adc #DevMgr.Table
|
adc #DevMgr.Table
|
||||||
tay
|
tay
|
||||||
lda S.GetDevByIDA.T
|
lda K.GetDevByIDA.T
|
||||||
adc /DevMgr.Table
|
adc /DevMgr.Table
|
||||||
rts CC
|
rts CC
|
||||||
|
|
||||||
S.GetDevByIDA.T .BS 1
|
K.GetDevByIDA.T .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* GetDevIDByNameA
|
* GetDevIDByNameA
|
||||||
* IN:
|
* IN:
|
||||||
@ -46,7 +46,7 @@ S.GetDevByIDA.T .BS 1
|
|||||||
* X = DEVID
|
* X = DEVID
|
||||||
* Y,A = pDev
|
* Y,A = pDev
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetDevByNameYA
|
K.GetDevByNameYA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
>LDYAI DevMgr.Table+S.DEV.NAME
|
>LDYAI DevMgr.Table+S.DEV.NAME
|
||||||
>STYA ZPQuickPtr2
|
>STYA ZPQuickPtr2
|
||||||
@ -85,11 +85,11 @@ S.GetDevByNameYA
|
|||||||
inx
|
inx
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
S.GetDevDNF lda #DEVMGR.ERRDNF
|
K.GetDevDNF lda #DEVMGR.ERRDNF
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetDevInfoA jsr S.GetDevByIDA
|
K.GetDevInfoA jsr K.GetDevByIDA
|
||||||
bcs S.GetDevDNF
|
bcs K.GetDevDNF
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
ldx #DEVMGR.GETINFO
|
ldx #DEVMGR.GETINFO
|
||||||
jmp (ZPQuickPtr1)
|
jmp (ZPQuickPtr1)
|
||||||
@ -183,7 +183,7 @@ DevMgr.SYS.GetEvent
|
|||||||
ldx #3
|
ldx #3
|
||||||
.1 stx DevMgr.SYS.CPULOADI
|
.1 stx DevMgr.SYS.CPULOADI
|
||||||
|
|
||||||
jsr S.GetKeyboardEvent
|
jsr K.GetKeyboardEvent
|
||||||
bcs .9
|
bcs .9
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -12,13 +12,13 @@ AUTO 6
|
|||||||
* CC : Y,A = PTR to S.DIR
|
* CC : Y,A = PTR to S.DIR
|
||||||
* CS : A = EC
|
* CS : A = EC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.OPENDIRYA jsr S.PFTCHECKPATHYA
|
K.OPENDIRYA jsr S.PFTCHECKPATHYA
|
||||||
>STYA ZPQuickPtr2
|
>STYA ZPQuickPtr2
|
||||||
>STYA MLICALL.PARAMS+1 For MLIOPEN
|
>STYA MLICALL.PARAMS+1 For MLIOPEN
|
||||||
|
|
||||||
>PUSHWI S.DIR.PRODOS
|
>PUSHWI S.DIR.PRODOS
|
||||||
>PUSHBI S.MEM.F.INIT0
|
>PUSHBI S.MEM.F.INIT0
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
@ -38,7 +38,7 @@ S.OPENDIRYA jsr S.PFTCHECKPATHYA
|
|||||||
|
|
||||||
.7 >PUSHWI 1024 get a ProDOS IOBUF
|
.7 >PUSHWI 1024 get a ProDOS IOBUF
|
||||||
>PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
>PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .98
|
bcs .98
|
||||||
|
|
||||||
>STYA MLICALL.PARAMS+3 Save Ptr to IOBUF for MLIOPEN call
|
>STYA MLICALL.PARAMS+3 Save Ptr to IOBUF for MLIOPEN call
|
||||||
@ -58,7 +58,7 @@ S.OPENDIRYA jsr S.PFTCHECKPATHYA
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.98 pha save MLI error
|
.98 pha save MLI error
|
||||||
jsr S.CLOSEDIRA.1
|
jsr K.CLOSEDIRA.1
|
||||||
pla get back MLI error
|
pla get back MLI error
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
@ -71,8 +71,8 @@ hDIR .BS 1
|
|||||||
* CC : X = hDIREND, Y,A = PTR to S.DIRENT
|
* CC : X = hDIREND, Y,A = PTR to S.DIRENT
|
||||||
* CS : A = EC, A = 0 : no more entry
|
* CS : A = EC, A = 0 : no more entry
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.READDIRA jsr S.PFTCHECKDIRA
|
K.READDIRA jsr S.PFTCHECKDIRA
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
ldy #S.DIR.F
|
ldy #S.DIR.F
|
||||||
@ -82,19 +82,19 @@ S.READDIRA jsr S.PFTCHECKDIRA
|
|||||||
|
|
||||||
ldy #S.DIR.PRODOS.REF
|
ldy #S.DIR.PRODOS.REF
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
beq S.READDIRA.ROOT
|
beq K.READDIRA.ROOT
|
||||||
jmp S.READDIRA.DIR
|
jmp K.READDIRA.DIR
|
||||||
|
|
||||||
.9 lda #0
|
.9 lda #0
|
||||||
sec CS,A=0 no more entry
|
sec CS,A=0 no more entry
|
||||||
S.READDIRA.RTS rts
|
K.READDIRA.RTS rts
|
||||||
|
|
||||||
S.READDIRA.ROOT stz MLICALL.PARAMS+1 All Volumes
|
K.READDIRA.ROOT stz MLICALL.PARAMS+1 All Volumes
|
||||||
>LDYAI KrnBuffer256
|
>LDYAI KrnBuffer256
|
||||||
>STYA MLICALL.PARAMS+2
|
>STYA MLICALL.PARAMS+2
|
||||||
>STYA ZPQuickPtr2 For PASS #2
|
>STYA ZPQuickPtr2 For PASS #2
|
||||||
>MLICALL MLIONLINE
|
>MLICALL MLIONLINE
|
||||||
bcs S.READDIRA.RTS
|
bcs K.READDIRA.RTS
|
||||||
|
|
||||||
lda #1 +1 for Ending 0
|
lda #1 +1 for Ending 0
|
||||||
sta BufSize
|
sta BufSize
|
||||||
@ -127,14 +127,14 @@ S.READDIRA.ROOT stz MLICALL.PARAMS+1 All Volumes
|
|||||||
bcc .1 loop until 256 bytes scanned
|
bcc .1 loop until 256 bytes scanned
|
||||||
|
|
||||||
txa
|
txa
|
||||||
beq S.READDIRA.RTS A=0, CS no more DIRENT
|
beq K.READDIRA.RTS A=0, CS no more DIRENT
|
||||||
|
|
||||||
sta EntryCount
|
sta EntryCount
|
||||||
|
|
||||||
>PUSHW BufSize
|
>PUSHW BufSize
|
||||||
>PUSHBI S.MEM.F.INIT0
|
>PUSHBI S.MEM.F.INIT0
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs S.READDIRA.RTS
|
bcs K.READDIRA.RTS
|
||||||
stx hDIRENT
|
stx hDIRENT
|
||||||
>STYA ZPQuickPtr3
|
>STYA ZPQuickPtr3
|
||||||
>STYA ZPQuickPtr4
|
>STYA ZPQuickPtr4
|
||||||
@ -220,21 +220,21 @@ S.READDIRA.ROOT stz MLICALL.PARAMS+1 All Volumes
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.READDIRA.DIR ldy #S.DIR.PRODOS.REF
|
K.READDIRA.DIR ldy #S.DIR.PRODOS.REF
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
sta MLICALL.PARAMS+1
|
sta MLICALL.PARAMS+1
|
||||||
|
|
||||||
>PUSHWI 512 Get a 512 bytes buffer for reading dir...
|
>PUSHWI 512 Get a 512 bytes buffer for reading dir...
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .99
|
bcs .99
|
||||||
stx S.READDIRA.hMem
|
stx K.READDIRA.hMem
|
||||||
|
|
||||||
>STYA MLICALL.PARAMS+2 For reading
|
>STYA MLICALL.PARAMS+2 For reading
|
||||||
|
|
||||||
pha
|
pha
|
||||||
tya
|
tya
|
||||||
* clc CC from S.GetMem
|
* clc CC from K.GetMem
|
||||||
adc #4 Skip 4 bytes linked list
|
adc #4 Skip 4 bytes linked list
|
||||||
tay
|
tay
|
||||||
pla
|
pla
|
||||||
@ -260,8 +260,8 @@ S.READDIRA.DIR ldy #S.DIR.PRODOS.REF
|
|||||||
bra .4
|
bra .4
|
||||||
|
|
||||||
.98 pha
|
.98 pha
|
||||||
lda S.READDIRA.hMem
|
lda K.READDIRA.hMem
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
pla
|
pla
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
@ -309,9 +309,9 @@ S.READDIRA.DIR ldy #S.DIR.PRODOS.REF
|
|||||||
|
|
||||||
>PUSHW BufSize Get a BufSize bytes buffer for storing results
|
>PUSHW BufSize Get a BufSize bytes buffer for storing results
|
||||||
>PUSHBI S.MEM.F.INIT0 make sure 0 fiiled
|
>PUSHBI S.MEM.F.INIT0 make sure 0 fiiled
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .98
|
bcs .98
|
||||||
stx S.READDIRA.hDIR
|
stx K.READDIRA.hDIR
|
||||||
>STYA ZPQuickPtr4
|
>STYA ZPQuickPtr4
|
||||||
|
|
||||||
.72 jsr DecEntryCount
|
.72 jsr DecEntryCount
|
||||||
@ -320,7 +320,7 @@ S.READDIRA.DIR ldy #S.DIR.PRODOS.REF
|
|||||||
lda (ZPQuickPtr3)
|
lda (ZPQuickPtr3)
|
||||||
beq .78
|
beq .78
|
||||||
|
|
||||||
jsr S.READDIRA.ADD
|
jsr K.READDIRA.ADD
|
||||||
|
|
||||||
.78 lda ZPQuickPtr3
|
.78 lda ZPQuickPtr3
|
||||||
clc
|
clc
|
||||||
@ -344,9 +344,9 @@ S.READDIRA.DIR ldy #S.DIR.PRODOS.REF
|
|||||||
|
|
||||||
jsr .98 Discard READBUFFER
|
jsr .98 Discard READBUFFER
|
||||||
|
|
||||||
lda S.READDIRA.hDIR
|
lda K.READDIRA.hDIR
|
||||||
tax
|
tax
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -358,7 +358,7 @@ S.READDIR.CHK tay save LEN
|
|||||||
|
|
||||||
inc EntryCount2Return yes, return 2 ".."
|
inc EntryCount2Return yes, return 2 ".."
|
||||||
lda #S.STAT+3 add "#.." string + S.STAT
|
lda #S.STAT+3 add "#.." string + S.STAT
|
||||||
jsr S.READDIRA.AddBufSize
|
jsr K.READDIRA.AddBufSize
|
||||||
bra .2 go add "." Entry
|
bra .2 go add "." Entry
|
||||||
|
|
||||||
|
|
||||||
@ -373,18 +373,18 @@ S.READDIR.CHK tay save LEN
|
|||||||
sec Add 1 for LEN
|
sec Add 1 for LEN
|
||||||
adc #S.STAT
|
adc #S.STAT
|
||||||
|
|
||||||
.4 jsr S.READDIRA.AddBufSize
|
.4 jsr K.READDIRA.AddBufSize
|
||||||
inc EntryCount2Return
|
inc EntryCount2Return
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.READDIRA.ADD and #$F0
|
K.READDIRA.ADD and #$F0
|
||||||
cmp #$F0 Volume header ?
|
cmp #$F0 Volume header ?
|
||||||
bne .10
|
bne .10
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
jsr S.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
lda #'.'
|
lda #'.'
|
||||||
jsr S.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
|
|
||||||
ldy #$25 total_blocks
|
ldy #$25 total_blocks
|
||||||
lda (ZPQuickPtr3),y
|
lda (ZPQuickPtr3),y
|
||||||
@ -402,10 +402,10 @@ S.READDIRA.ADD and #$F0
|
|||||||
bne .20
|
bne .20
|
||||||
|
|
||||||
lda #2
|
lda #2
|
||||||
jsr S.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
lda #'.'
|
lda #'.'
|
||||||
jsr S.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
jsr S.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -416,11 +416,11 @@ S.READDIRA.ADD and #$F0
|
|||||||
lda (ZPQuickPtr3)
|
lda (ZPQuickPtr3)
|
||||||
and #$0F get filename len
|
and #$0F get filename len
|
||||||
tax
|
tax
|
||||||
jsr S.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
ldy #1
|
ldy #1
|
||||||
|
|
||||||
.21 lda (ZPQuickPtr3),y
|
.21 lda (ZPQuickPtr3),y
|
||||||
jsr S.READDIRA.AddToBuf
|
jsr K.READDIRA.AddToBuf
|
||||||
iny
|
iny
|
||||||
dex
|
dex
|
||||||
bne .21
|
bne .21
|
||||||
@ -436,7 +436,7 @@ S.READDIRA.ADD and #$F0
|
|||||||
inc ZPQuickPtr4+1
|
inc ZPQuickPtr4+1
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.READDIRA.AddBufSize
|
K.READDIRA.AddBufSize
|
||||||
clc
|
clc
|
||||||
adc BufSize
|
adc BufSize
|
||||||
sta BufSize
|
sta BufSize
|
||||||
@ -444,7 +444,7 @@ S.READDIRA.AddBufSize
|
|||||||
inc BufSize+1
|
inc BufSize+1
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.READDIRA.AddToBuf
|
K.READDIRA.AddToBuf
|
||||||
sta (ZPQuickPtr4)
|
sta (ZPQuickPtr4)
|
||||||
inc ZPQuickPtr4
|
inc ZPQuickPtr4
|
||||||
bne .8
|
bne .8
|
||||||
@ -461,18 +461,18 @@ DecEntryCount lda EntryCount
|
|||||||
sta EntryCount+1 CC, we reached $ffff
|
sta EntryCount+1 CC, we reached $ffff
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.READDIRA.hMem .BS 1
|
K.READDIRA.hMem .BS 1
|
||||||
S.READDIRA.hDIR .BS 1
|
K.READDIRA.hDIR .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* In :
|
* In :
|
||||||
* A = hDIR
|
* A = hDIR
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.CLOSEDIRA jsr S.PFTCHECKDIRA
|
K.CLOSEDIRA jsr S.PFTCHECKDIRA
|
||||||
sta hDIR
|
sta hDIR
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
S.CLOSEDIRA.1 ldy #S.DIR.PRODOS.REF
|
K.CLOSEDIRA.1 ldy #S.DIR.PRODOS.REF
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
beq .1
|
beq .1
|
||||||
sta MLICALL.PARAMS+1
|
sta MLICALL.PARAMS+1
|
||||||
@ -481,14 +481,14 @@ S.CLOSEDIRA.1 ldy #S.DIR.PRODOS.REF
|
|||||||
.1 ldy #S.DIR.PRODOS.IOBUF
|
.1 ldy #S.DIR.PRODOS.IOBUF
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
beq .2
|
beq .2
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
|
|
||||||
.2 lda hDIR
|
.2 lda hDIR
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MKDIRYA jsr S.PFTCHECKPATHYA
|
K.MKDIRYA jsr S.PFTCHECKPATHYA
|
||||||
>STYA MLICALL.PARAMS+1
|
>STYA MLICALL.PARAMS+1
|
||||||
lda #S.FILEINFO.ACCESS.FULL
|
lda #S.FILEINFO.ACCESS.FULL
|
||||||
sta MLICALL.PARAMS+S.FILEINFO.ACCESS
|
sta MLICALL.PARAMS+S.FILEINFO.ACCESS
|
||||||
|
@ -5,33 +5,33 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.LoadDrvYA
|
* K.LoadDrvYA
|
||||||
* in :
|
* in :
|
||||||
* Y,A = PTR To Full Cmd Line PStrArray
|
* Y,A = PTR To Full Cmd Line PStrArray
|
||||||
* out :
|
* out :
|
||||||
* none
|
* none
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.LoadDrvYA >STYA S.LoadDrv.CmdArray
|
K.LoadDrvYA >STYA K.LoadDrv.CmdArray
|
||||||
|
|
||||||
>LDYAI ENV.DRV push ENVNAME=DRV
|
>LDYAI ENV.DRV push ENVNAME=DRV
|
||||||
jsr S.GetEnvYA get value for ENV=DRV
|
jsr K.GetEnvYA get value for ENV=DRV
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>PUSHYA Push $DRV value
|
>PUSHYA Push $DRV value
|
||||||
|
|
||||||
>PUSHW S.LoadDrv.CmdArray (ARG[0] = DRVNAME)
|
>PUSHW K.LoadDrv.CmdArray (ARG[0] = DRVNAME)
|
||||||
|
|
||||||
jsr S.FileSearch find libname in $DRV
|
jsr K.FileSearch find libname in $DRV
|
||||||
bcs .99
|
bcs .99
|
||||||
stx S.LoadDrv.hFullName
|
stx K.LoadDrv.hFullName
|
||||||
|
|
||||||
jsr S.LoadBinYA Y,A =filename full path
|
jsr K.LoadBinYA Y,A =filename full path
|
||||||
bcs .98
|
bcs .98
|
||||||
|
|
||||||
>STYA pDrv
|
>STYA pDrv
|
||||||
stx S.LoadDrv.hMem
|
stx K.LoadDrv.hMem
|
||||||
|
|
||||||
>LDYA S.LoadDrv.CmdArray Advance to ARG[1]
|
>LDYA K.LoadDrv.CmdArray Advance to ARG[1]
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
lda ZPQuickPtr1
|
lda ZPQuickPtr1
|
||||||
@ -49,7 +49,7 @@ S.LoadDrvYA >STYA S.LoadDrv.CmdArray
|
|||||||
bit RRAMWRAMBNK2
|
bit RRAMWRAMBNK2
|
||||||
bit RRAMWRAMBNK2
|
bit RRAMWRAMBNK2
|
||||||
|
|
||||||
jsr S.InsDrv
|
jsr K.InsDrv
|
||||||
|
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
@ -68,21 +68,21 @@ S.LoadDrvYA >STYA S.LoadDrv.CmdArray
|
|||||||
.99 rts
|
.99 rts
|
||||||
|
|
||||||
.97 pha
|
.97 pha
|
||||||
lda S.LoadDrv.hMem
|
lda K.LoadDrv.hMem
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
pla
|
pla
|
||||||
|
|
||||||
.98 pha
|
.98 pha
|
||||||
lda S.LoadDrv.hFullName
|
lda K.LoadDrv.hFullName
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
pla
|
pla
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ENV.DRV >PSTRING "DRV"
|
ENV.DRV >PSTRING "DRV"
|
||||||
S.LoadDrv.CmdArray .BS 2
|
K.LoadDrv.CmdArray .BS 2
|
||||||
S.LoadDrv.hFullName .BS 1
|
K.LoadDrv.hFullName .BS 1
|
||||||
S.LoadDrv.hMem .BS 1
|
K.LoadDrv.hMem .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.DRV
|
SAVE SYS/KERNEL.S.DRV
|
||||||
|
@ -5,7 +5,8 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.ExpandPStrYA >STYA ZPQuickPtr3
|
K.ExpandPStrYA.NEW
|
||||||
|
>STYA ZPQuickPtr3
|
||||||
|
|
||||||
lda (ZPQuickPtr3)
|
lda (ZPQuickPtr3)
|
||||||
sta KrnBuffer256
|
sta KrnBuffer256
|
||||||
@ -18,7 +19,7 @@ S.ExpandPStrYA >STYA ZPQuickPtr3
|
|||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.2 stz S.ExpandPStr.Start
|
.2 stz K.ExpandPStr.Start
|
||||||
|
|
||||||
.3 tya
|
.3 tya
|
||||||
cmp KrnBuffer256 End of PSTR?
|
cmp KrnBuffer256 End of PSTR?
|
||||||
@ -26,22 +27,26 @@ S.ExpandPStrYA >STYA ZPQuickPtr3
|
|||||||
|
|
||||||
iny
|
iny
|
||||||
lda KrnBuffer256,y
|
lda KrnBuffer256,y
|
||||||
|
|
||||||
|
.80
|
||||||
|
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.ExpandPStrYA
|
* K.ExpandPStrYA
|
||||||
* In:
|
* In:
|
||||||
* Y,A = PTR to String to Expand (PSTRING)
|
* Y,A = PTR to String to Expand (PSTRING)
|
||||||
* Out:
|
* Out:
|
||||||
* X = hMem to Expanded String (PSTRING)
|
* X = hMem to Expanded String (PSTRING)
|
||||||
* Y,A = PTR to Expanded String
|
* Y,A = PTR to Expanded String
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.ExpandPStrYA.OLD
|
K.ExpandPStrYA
|
||||||
>STYA ZPQuickPtr3
|
>STYA ZPQuickPtr3
|
||||||
|
|
||||||
stz KrnBuffer256 init Expanded String len=0
|
stz KrnBuffer256 init Expanded String len=0
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.10 stz S.ExpandPStr.Start
|
.10 stz K.ExpandPStr.Start
|
||||||
|
|
||||||
.1 tya
|
.1 tya
|
||||||
cmp (ZPQuickPtr3) End of PSTR?
|
cmp (ZPQuickPtr3) End of PSTR?
|
||||||
@ -50,7 +55,7 @@ S.ExpandPStrYA.OLD
|
|||||||
iny
|
iny
|
||||||
lda (ZPQuickPtr3),y
|
lda (ZPQuickPtr3),y
|
||||||
|
|
||||||
ldx S.ExpandPStr.Start
|
ldx K.ExpandPStr.Start
|
||||||
bne .3 already in a var?
|
bne .3 already in a var?
|
||||||
|
|
||||||
cmp #'$' no, found one ?
|
cmp #'$' no, found one ?
|
||||||
@ -61,8 +66,8 @@ S.ExpandPStrYA.OLD
|
|||||||
sta KrnBuffer256,x
|
sta KrnBuffer256,x
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.2 sty S.ExpandPStr.Start save var start
|
.2 sty K.ExpandPStr.Start save var start
|
||||||
stz S.ExpandPStr.End
|
stz K.ExpandPStr.End
|
||||||
bra .1 skip this char
|
bra .1 skip this char
|
||||||
|
|
||||||
.3 cmp #'{' in var, "{" after "$"?
|
.3 cmp #'{' in var, "{" after "$"?
|
||||||
@ -71,32 +76,32 @@ S.ExpandPStrYA.OLD
|
|||||||
cmp #'}' end of var?
|
cmp #'}' end of var?
|
||||||
beq .5
|
beq .5
|
||||||
|
|
||||||
.4 jsr S.ExpandPStr.VC valid char ?
|
.4 jsr K.ExpandPStr.VC valid char ?
|
||||||
bcs .5 no, end here
|
bcs .5 no, end here
|
||||||
sty S.ExpandPStr.End yes, save end
|
sty K.ExpandPStr.End yes, save end
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.5 lda S.ExpandPStr.End get end
|
.5 lda K.ExpandPStr.End get end
|
||||||
beq .1 empty {} or $/
|
beq .1 empty {} or $/
|
||||||
|
|
||||||
phy save current index
|
phy save current index
|
||||||
jsr S.ExpandPStr.AV
|
jsr K.ExpandPStr.AV
|
||||||
ply restore index in string...
|
ply restore index in string...
|
||||||
bra .10 reset start flag and continue
|
bra .10 reset start flag and continue
|
||||||
|
|
||||||
.6 sty S.ExpandPStr.End end of PSTR
|
.6 sty K.ExpandPStr.End end of PSTR
|
||||||
lda S.ExpandPStr.Start are we in a var?
|
lda K.ExpandPStr.Start are we in a var?
|
||||||
beq .7 no...exit...
|
beq .7 no...exit...
|
||||||
|
|
||||||
jsr S.ExpandPStr.AV yes, expand and add to STR
|
jsr K.ExpandPStr.AV yes, expand and add to STR
|
||||||
|
|
||||||
.7 >LDYAI KrnBuffer256
|
.7 >LDYAI KrnBuffer256
|
||||||
jsr S.NewPStrYA
|
jsr K.NewPStrYA
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.ExpandPStr.AV lda S.ExpandPStr.End
|
K.ExpandPStr.AV lda K.ExpandPStr.End
|
||||||
sec
|
sec
|
||||||
sbc S.ExpandPStr.Start compute len of VAR End-Start+1
|
sbc K.ExpandPStr.Start compute len of VAR End-Start+1
|
||||||
|
|
||||||
ldx KrnBuffer256
|
ldx KrnBuffer256
|
||||||
inx
|
inx
|
||||||
@ -106,13 +111,13 @@ S.ExpandPStr.AV lda S.ExpandPStr.End
|
|||||||
lda /KrnBuffer256
|
lda /KrnBuffer256
|
||||||
sta ZPQuickPtr2+1
|
sta ZPQuickPtr2+1
|
||||||
|
|
||||||
ldy S.ExpandPStr.Start
|
ldy K.ExpandPStr.Start
|
||||||
|
|
||||||
.1 iny
|
.1 iny
|
||||||
inx
|
inx
|
||||||
lda (ZPQuickPtr3),y
|
lda (ZPQuickPtr3),y
|
||||||
sta KrnBuffer256,x
|
sta KrnBuffer256,x
|
||||||
cpy S.ExpandPStr.End
|
cpy K.ExpandPStr.End
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
jsr S.CheckSysVarPtr2
|
jsr S.CheckSysVarPtr2
|
||||||
@ -140,7 +145,7 @@ S.ExpandPStr.AV lda S.ExpandPStr.End
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.ExpandPStr.VC cmp #'0'
|
K.ExpandPStr.VC cmp #'0'
|
||||||
bcc .9
|
bcc .9
|
||||||
cmp #'9'+1
|
cmp #'9'+1
|
||||||
bcc .8
|
bcc .8
|
||||||
@ -158,12 +163,12 @@ S.ExpandPStr.VC cmp #'0'
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.ExpandPStr.Start .BS 1
|
K.ExpandPStr.Start .BS 1
|
||||||
S.ExpandPStr.End .BS 1
|
K.ExpandPStr.End .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.PutEnvYA
|
* K.PutEnvYA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PutEnvYA >STYA ZPQuickPtr2 NAME=VALUE
|
K.PutEnvYA >STYA ZPQuickPtr2 NAME=VALUE
|
||||||
lda (ZPQuickPtr2)
|
lda (ZPQuickPtr2)
|
||||||
beq .9
|
beq .9
|
||||||
sta KrnBuffer256
|
sta KrnBuffer256
|
||||||
@ -210,21 +215,21 @@ S.PutEnvYA >STYA ZPQuickPtr2 NAME=VALUE
|
|||||||
>LDYAI KrnBuffer256
|
>LDYAI KrnBuffer256
|
||||||
>STYA ZPQuickPtr2
|
>STYA ZPQuickPtr2
|
||||||
|
|
||||||
bra S.SetEnvPtr2Ptr3
|
bra K.SetEnvPtr2Ptr3
|
||||||
|
|
||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.SetEnv
|
* K.SetEnv
|
||||||
* In:
|
* In:
|
||||||
* PULLW = PTR To Name (PSTRING)
|
* PULLW = PTR To Name (PSTRING)
|
||||||
* PULLW = PTR To Value (PSTRING)
|
* PULLW = PTR To Value (PSTRING)
|
||||||
* Out:
|
* Out:
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.SetEnv >PULLW ZPQuickPtr2 NAME...
|
K.SetEnv >PULLW ZPQuickPtr2 NAME...
|
||||||
>PULLW ZPQuickPtr3 ...VALUE
|
>PULLW ZPQuickPtr3 ...VALUE
|
||||||
|
|
||||||
S.SetEnvPtr2Ptr3
|
K.SetEnvPtr2Ptr3
|
||||||
jsr S.UnsetEnvPtr2
|
jsr S.UnsetEnvPtr2
|
||||||
|
|
||||||
jsr S.InitEnvPtr1 Y,A = ZPQuickPtr1 -> Env
|
jsr S.InitEnvPtr1 Y,A = ZPQuickPtr1 -> Env
|
||||||
@ -295,14 +300,14 @@ S.SetEnvPtr2Ptr3
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.GetEnvYA
|
* K.GetEnvYA
|
||||||
* In:
|
* In:
|
||||||
* Y,A = PTR to NAME (PSTRING)
|
* Y,A = PTR to NAME (PSTRING)
|
||||||
* Out:
|
* Out:
|
||||||
* CC : Y,A = PTR to VALUE (PSTRING)
|
* CC : Y,A = PTR to VALUE (PSTRING)
|
||||||
* CS : not found
|
* CS : not found
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetEnvYA >STYA ZPQuickPtr2
|
K.GetEnvYA >STYA ZPQuickPtr2
|
||||||
jsr S.CheckSysVarPtr2
|
jsr S.CheckSysVarPtr2
|
||||||
bcc .9
|
bcc .9
|
||||||
|
|
||||||
@ -312,12 +317,12 @@ S.GetEnvYA >STYA ZPQuickPtr2
|
|||||||
>LDYA ZPQuickPtr1
|
>LDYA ZPQuickPtr1
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.UnsetEnvYA
|
* K.UnsetEnvYA
|
||||||
* In:
|
* In:
|
||||||
* YA = PTR To Name (PSTRING)
|
* YA = PTR To Name (PSTRING)
|
||||||
* Out:
|
* Out:
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.UnsetEnvYA >STYA ZPQuickPtr2 Store VAR Name
|
K.UnsetEnvYA >STYA ZPQuickPtr2 Store VAR Name
|
||||||
S.UnsetEnvPtr2 jsr S.FindVarPtr2
|
S.UnsetEnvPtr2 jsr S.FindVarPtr2
|
||||||
bcs .8 not found, quit
|
bcs .8 not found, quit
|
||||||
|
|
||||||
@ -348,7 +353,7 @@ S.CheckSysVarPtr2
|
|||||||
cmp #'9'+1
|
cmp #'9'+1
|
||||||
bcs .99
|
bcs .99
|
||||||
and #$0F
|
and #$0F
|
||||||
jmp S.GetArgA
|
jmp K.GetArgA
|
||||||
|
|
||||||
.1 cmp #'*' $* : All ARGS
|
.1 cmp #'*' $* : All ARGS
|
||||||
bne .9
|
bne .9
|
||||||
@ -438,7 +443,7 @@ S.DiscardVarPtr1
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.InitEnvPtr1 ldy #S.PS.hENV
|
S.InitEnvPtr1 ldy #S.PS.hENV
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA ZPQuickPtr1 Store ENV
|
>STYA ZPQuickPtr1 Store ENV
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -12,16 +12,16 @@ AUTO 6
|
|||||||
* CC * event in YA
|
* CC * event in YA
|
||||||
* (pEvent)
|
* (pEvent)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetEvents stz pEvent
|
K.GetEvents stz pEvent
|
||||||
stz EVTMGR.COUNT
|
stz EVTMGR.COUNT
|
||||||
|
|
||||||
lda VBL get VLINE status
|
lda VBL get VLINE status
|
||||||
tax
|
tax
|
||||||
eor EVTMGR.VBLSTATE
|
eor EVTMGR.VBLSTATE
|
||||||
bpl S.GetEvents.DEV no change,no tick
|
bpl K.GetEvents.DEV no change,no tick
|
||||||
txa
|
txa
|
||||||
sta EVTMGR.VBLSTATE save new
|
sta EVTMGR.VBLSTATE save new
|
||||||
bpl S.GetEvents.DEV Up2down transition,no tick
|
bpl K.GetEvents.DEV Up2down transition,no tick
|
||||||
|
|
||||||
* sta PDLTRIG clr VBL (IIc)
|
* sta PDLTRIG clr VBL (IIc)
|
||||||
* lda RDIOUDIS clr VBL (IIc)
|
* lda RDIOUDIS clr VBL (IIc)
|
||||||
@ -31,7 +31,7 @@ S.GetEvents stz pEvent
|
|||||||
inc A2osX.TIMER16+1
|
inc A2osX.TIMER16+1
|
||||||
|
|
||||||
.1 dec EVTMGR.HZ.CNT
|
.1 dec EVTMGR.HZ.CNT
|
||||||
bne S.GetEvents.DEV not yet 100ms
|
bne K.GetEvents.DEV not yet 100ms
|
||||||
|
|
||||||
ldx A2osX.HZ
|
ldx A2osX.HZ
|
||||||
stx EVTMGR.HZ.CNT
|
stx EVTMGR.HZ.CNT
|
||||||
@ -54,7 +54,7 @@ S.GetEvents stz pEvent
|
|||||||
sta pEvent
|
sta pEvent
|
||||||
inc EVTMGR.COUNT
|
inc EVTMGR.COUNT
|
||||||
|
|
||||||
S.GetEvents.DEV >LDYAI DevMgr.Table
|
K.GetEvents.DEV >LDYAI DevMgr.Table
|
||||||
>STYA pDev
|
>STYA pDev
|
||||||
|
|
||||||
stz DevMgr.DevID
|
stz DevMgr.DevID
|
||||||
@ -106,7 +106,7 @@ S.GetEvents.DEV >LDYAI DevMgr.Table
|
|||||||
.9 sec error code=0,CS=no event
|
.9 sec error code=0,CS=no event
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetKeyboardEvent
|
K.GetKeyboardEvent
|
||||||
lda KBD
|
lda KBD
|
||||||
bpl .9
|
bpl .9
|
||||||
sta KBDSTROBE
|
sta KBDSTROBE
|
||||||
@ -133,7 +133,7 @@ S.GetKeyboardEvent
|
|||||||
.99 sec no event
|
.99 sec no event
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.DestroyEvent lda (pEvent)
|
K.DestroyEvent lda (pEvent)
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
bit #S.EVT.F.hMEM1
|
bit #S.EVT.F.hMEM1
|
||||||
@ -142,7 +142,7 @@ S.DestroyEvent lda (pEvent)
|
|||||||
pha
|
pha
|
||||||
ldy #S.EVT.DATALO
|
ldy #S.EVT.DATALO
|
||||||
lda (pEvent),y
|
lda (pEvent),y
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
pla
|
pla
|
||||||
|
|
||||||
.1 bit #S.EVT.F.hMEM2
|
.1 bit #S.EVT.F.hMEM2
|
||||||
@ -150,7 +150,7 @@ S.DestroyEvent lda (pEvent)
|
|||||||
|
|
||||||
ldy #S.EVT.DATAHI
|
ldy #S.EVT.DATAHI
|
||||||
lda (pEvent),y
|
lda (pEvent),y
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
|
|
||||||
.2 lda #0
|
.2 lda #0
|
||||||
sta (pEvent)
|
sta (pEvent)
|
||||||
|
@ -9,7 +9,7 @@ AUTO 6
|
|||||||
* Must be kept in X before calling
|
* Must be kept in X before calling
|
||||||
* S.PFTCheckXYZ
|
* S.PFTCheckXYZ
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.FOPEN
|
* K.FOPEN
|
||||||
* In :
|
* In :
|
||||||
* PULLW = PATH (PSTR)
|
* PULLW = PATH (PSTR)
|
||||||
* PULLB = MODE
|
* PULLB = MODE
|
||||||
@ -24,24 +24,23 @@ AUTO 6
|
|||||||
* CC : A = hFILE
|
* CC : A = hFILE
|
||||||
* CS : A = EC
|
* CS : A = EC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FOPEN jsr S.PFTCHECKPATHSTK
|
K.FOPEN jsr S.PFTCHECKPATHSTK
|
||||||
>PULLW MLICALL.PARAMS+1
|
>PULLW MLICALL.PARAMS+1
|
||||||
>PULLB S.FOPEN.MODE
|
>PULLB K.FOPEN.MODE
|
||||||
>PULLB S.FOPEN.TYPE
|
>PULLB K.FOPEN.TYPE
|
||||||
>PULLW S.FOPEN.AUXTYPE
|
>PULLW K.FOPEN.AUXTYPE
|
||||||
|
|
||||||
>MLICALL MLIGETFILEINFO
|
>MLICALL MLIGETFILEINFO
|
||||||
>DEBUG
|
|
||||||
bcc .10 Already Exists
|
bcc .10 Already Exists
|
||||||
|
|
||||||
bit S.FOPEN.MODE Create if not exists ?
|
bit K.FOPEN.MODE Create if not exists ?
|
||||||
bpl .9 No, return MLI error
|
bpl .9 No, return MLI error
|
||||||
|
|
||||||
lda #S.FILEINFO.ACCESS.FULL Yes, Create...
|
lda #S.FILEINFO.ACCESS.FULL Yes, Create...
|
||||||
sta MLICALL.PARAMS+3 Access
|
sta MLICALL.PARAMS+3 Access
|
||||||
lda S.FOPEN.TYPE
|
lda K.FOPEN.TYPE
|
||||||
sta MLICALL.PARAMS+4 File type
|
sta MLICALL.PARAMS+4 File type
|
||||||
>LDYA S.FOPEN.AUXTYPE
|
>LDYA K.FOPEN.AUXTYPE
|
||||||
>STYA MLICALL.PARAMS+5 Aux type
|
>STYA MLICALL.PARAMS+5 Aux type
|
||||||
lda #S.FILEINFO.STORETYPE.STD
|
lda #S.FILEINFO.STORETYPE.STD
|
||||||
sta MLICALL.PARAMS+7
|
sta MLICALL.PARAMS+7
|
||||||
@ -51,7 +50,7 @@ S.FOPEN jsr S.PFTCHECKPATHSTK
|
|||||||
|
|
||||||
.10 >PUSHWI S.FILE.PRODOS
|
.10 >PUSHWI S.FILE.PRODOS
|
||||||
>PUSHBI S.MEM.F.INIT0
|
>PUSHBI S.MEM.F.INIT0
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
@ -59,7 +58,7 @@ S.FOPEN jsr S.PFTCHECKPATHSTK
|
|||||||
|
|
||||||
>PUSHWI 1024 get a ProDOS IOBUF
|
>PUSHWI 1024 get a ProDOS IOBUF
|
||||||
>PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
>PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .98
|
bcs .98
|
||||||
|
|
||||||
>STYA MLICALL.PARAMS+3 Save Ptr to IOBUF for MLIOPEN call
|
>STYA MLICALL.PARAMS+3 Save Ptr to IOBUF for MLIOPEN call
|
||||||
@ -76,7 +75,7 @@ S.FOPEN jsr S.PFTCHECKPATHSTK
|
|||||||
|
|
||||||
sta MLICALL.PARAMS+1 Next MLI Calls are REF_NUM based
|
sta MLICALL.PARAMS+1 Next MLI Calls are REF_NUM based
|
||||||
|
|
||||||
lda S.FOPEN.MODE
|
lda K.FOPEN.MODE
|
||||||
and #SYS.FOPEN.A Append ?
|
and #SYS.FOPEN.A Append ?
|
||||||
beq .20
|
beq .20
|
||||||
|
|
||||||
@ -86,7 +85,7 @@ S.FOPEN jsr S.PFTCHECKPATHSTK
|
|||||||
>MLICALL MLISETMARK
|
>MLICALL MLISETMARK
|
||||||
bcs .98
|
bcs .98
|
||||||
|
|
||||||
.20 lda S.FOPEN.MODE
|
.20 lda K.FOPEN.MODE
|
||||||
and #SYS.FOPEN.T Text Mode ?
|
and #SYS.FOPEN.T Text Mode ?
|
||||||
beq .30
|
beq .30
|
||||||
|
|
||||||
@ -101,26 +100,26 @@ S.FOPEN jsr S.PFTCHECKPATHSTK
|
|||||||
rts CC
|
rts CC
|
||||||
|
|
||||||
.98 pha save MLI error
|
.98 pha save MLI error
|
||||||
jsr S.FCLOSEA.1
|
jsr K.FCLOSEA.1
|
||||||
pla get back MLI error
|
pla get back MLI error
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FOPEN.MODE .BS 1
|
K.FOPEN.MODE .BS 1
|
||||||
S.FOPEN.TYPE .BS 1
|
K.FOPEN.TYPE .BS 1
|
||||||
S.FOPEN.AUXTYPE .BS 2
|
K.FOPEN.AUXTYPE .BS 2
|
||||||
hFILE .BS 1
|
hFILE .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.FCLOSEA
|
* K.FCLOSEA
|
||||||
* In :
|
* In :
|
||||||
* A = hFILE
|
* A = hFILE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FCLOSEA jsr S.PFTCHECKFILEA
|
K.FCLOSEA jsr S.PFTCHECKFILEA
|
||||||
sta hFILE
|
sta hFILE
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
S.FCLOSEA.1 ldy #S.FILE.PRODOS.REF
|
K.FCLOSEA.1 ldy #S.FILE.PRODOS.REF
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
beq .1
|
beq .1
|
||||||
sta MLICALL.PARAMS+1
|
sta MLICALL.PARAMS+1
|
||||||
@ -129,13 +128,13 @@ S.FCLOSEA.1 ldy #S.FILE.PRODOS.REF
|
|||||||
.1 ldy #S.FILE.PRODOS.IOBUF
|
.1 ldy #S.FILE.PRODOS.IOBUF
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
beq .2
|
beq .2
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
|
|
||||||
.2 lda hFILE
|
.2 lda hFILE
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.FREAD
|
* K.FREAD
|
||||||
* In :
|
* In :
|
||||||
* PULLB = hFILE
|
* PULLB = hFILE
|
||||||
* PULLW = Bytes To Read
|
* PULLW = Bytes To Read
|
||||||
@ -143,7 +142,7 @@ S.FCLOSEA.1 ldy #S.FILE.PRODOS.REF
|
|||||||
* Out :
|
* Out :
|
||||||
* Y,A = Bytes Read
|
* Y,A = Bytes Read
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FREAD jsr S.PFTCHECKFILESTK
|
K.FREAD jsr S.PFTCHECKFILESTK
|
||||||
>PULLA
|
>PULLA
|
||||||
jsr FIL.SetupPrt1A
|
jsr FIL.SetupPrt1A
|
||||||
>PULLW MLICALL.PARAMS+4
|
>PULLW MLICALL.PARAMS+4
|
||||||
@ -153,7 +152,7 @@ S.FREAD jsr S.PFTCHECKFILESTK
|
|||||||
>LDYA MLICALL.PARAMS+6
|
>LDYA MLICALL.PARAMS+6
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.FWRITE
|
* K.FWRITE
|
||||||
* In :
|
* In :
|
||||||
* PULLB = hFILE
|
* PULLB = hFILE
|
||||||
* PULLW = Bytes To Write
|
* PULLW = Bytes To Write
|
||||||
@ -161,7 +160,7 @@ S.FREAD jsr S.PFTCHECKFILESTK
|
|||||||
* Out :
|
* Out :
|
||||||
* Y,A = Bytes Written
|
* Y,A = Bytes Written
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FWRITE jsr S.PFTCHECKFILESTK
|
K.FWRITE jsr S.PFTCHECKFILESTK
|
||||||
>PULLA
|
>PULLA
|
||||||
jsr FIL.SetupPrt1A
|
jsr FIL.SetupPrt1A
|
||||||
>PULLW MLICALL.PARAMS+4
|
>PULLW MLICALL.PARAMS+4
|
||||||
@ -171,30 +170,30 @@ S.FWRITE jsr S.PFTCHECKFILESTK
|
|||||||
>LDYA MLICALL.PARAMS+6
|
>LDYA MLICALL.PARAMS+6
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.FFLUSHA
|
* K.FFLUSHA
|
||||||
* In :
|
* In :
|
||||||
* A = hFILE
|
* A = hFILE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FFLUSHA jsr S.PFTCHECKFILEA
|
K.FFLUSHA jsr S.PFTCHECKFILEA
|
||||||
jsr FIL.SetupPrt1A
|
jsr FIL.SetupPrt1A
|
||||||
>MLICALL MLIFLUSH
|
>MLICALL MLIFLUSH
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.FSEEK
|
* K.FSEEK
|
||||||
* In :
|
* In :
|
||||||
* PULLB = hFILE
|
* PULLB = hFILE
|
||||||
* PULLB = From
|
* PULLB = From
|
||||||
* PULLW = OffsetLo
|
* PULLW = OffsetLo
|
||||||
* PULLW = OffsetHi
|
* PULLW = OffsetHi
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FSEEK jsr S.PFTCHECKFILESTK
|
K.FSEEK jsr S.PFTCHECKFILESTK
|
||||||
>PULLA
|
>PULLA
|
||||||
jsr FIL.SetupPrt1A
|
jsr FIL.SetupPrt1A
|
||||||
>PULLB S.FSEEK.FROM
|
>PULLB K.FSEEK.FROM
|
||||||
>PULLW S.FSEEK.OFFSET
|
>PULLW K.FSEEK.OFFSET
|
||||||
>PULLW S.FSEEK.OFFSET+2
|
>PULLW K.FSEEK.OFFSET+2
|
||||||
lda S.FSEEK.FROM
|
lda K.FSEEK.FROM
|
||||||
beq .3
|
beq .3 cmp #SYS.FSEEK.SET
|
||||||
|
|
||||||
cmp #SYS.FSEEK.CUR
|
cmp #SYS.FSEEK.CUR
|
||||||
bne .1
|
bne .1
|
||||||
@ -208,13 +207,13 @@ S.FSEEK jsr S.PFTCHECKFILESTK
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.2 lda MLICALL.PARAMS+2
|
.2 lda MLICALL.PARAMS+2
|
||||||
adc S.FSEEK.OFFSET
|
adc K.FSEEK.OFFSET
|
||||||
sta MLICALL.PARAMS+2
|
sta MLICALL.PARAMS+2
|
||||||
lda MLICALL.PARAMS+3
|
lda MLICALL.PARAMS+3
|
||||||
adc S.FSEEK.OFFSET+1
|
adc K.FSEEK.OFFSET+1
|
||||||
sta MLICALL.PARAMS+3
|
sta MLICALL.PARAMS+3
|
||||||
lda MLICALL.PARAMS+4
|
lda MLICALL.PARAMS+4
|
||||||
adc S.FSEEK.OFFSET+2
|
adc K.FSEEK.OFFSET+2
|
||||||
sta MLICALL.PARAMS+4
|
sta MLICALL.PARAMS+4
|
||||||
bcs .99 Offset out of range!
|
bcs .99 Offset out of range!
|
||||||
|
|
||||||
@ -227,24 +226,24 @@ S.FSEEK jsr S.PFTCHECKFILESTK
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FSEEK.FROM .BS 1
|
K.FSEEK.FROM .BS 1
|
||||||
S.FSEEK.OFFSET .BS 4
|
K.FSEEK.OFFSET .BS 4
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.FTELLA
|
* K.FTELLA
|
||||||
* In :
|
* In :
|
||||||
* A = hFILE
|
* A = hFILE
|
||||||
* Out :
|
* Out :
|
||||||
* Y,A,X = Offset
|
* Y,A,X = Offset
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FTELLA jsr S.PFTCHECKFILEA
|
K.FTELLA jsr S.PFTCHECKFILEA
|
||||||
S.FTELLA.1 jsr FIL.SetupPrt1A
|
K.FTELLA.1 jsr FIL.SetupPrt1A
|
||||||
>MLICALL MLIGETMARK
|
>MLICALL MLIGETMARK
|
||||||
bcs .9
|
bcs .9
|
||||||
>LDYA MLICALL.PARAMS+2
|
>LDYA MLICALL.PARAMS+2
|
||||||
ldx MLICALL.PARAMS+4
|
ldx MLICALL.PARAMS+4
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.FEOFA
|
* K.FEOFA
|
||||||
* In :
|
* In :
|
||||||
* A = hFILE
|
* A = hFILE
|
||||||
* Out :
|
* Out :
|
||||||
@ -253,58 +252,80 @@ S.FTELLA.1 jsr FIL.SetupPrt1A
|
|||||||
* A !=0 NOT EOF
|
* A !=0 NOT EOF
|
||||||
* CS :
|
* CS :
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FEOFA jsr S.PFTCHECKFILEA
|
K.FEOFA jsr S.PFTCHECKFILEA
|
||||||
jsr FIL.SetupPrt1A
|
jsr FIL.SetupPrt1A
|
||||||
jsr S.FTELLA.1
|
jsr K.FTELLA.1
|
||||||
bcs .9
|
bcs .9
|
||||||
>STYA S.FEOFA.MARK
|
>STYA K.FEOFA.MARK
|
||||||
stx S.FEOFA.MARK+2
|
stx K.FEOFA.MARK+2
|
||||||
|
|
||||||
>MLICALL MLIGETEOF
|
>MLICALL MLIGETEOF
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sec
|
sec
|
||||||
lda MLICALL.PARAMS+2
|
lda MLICALL.PARAMS+2
|
||||||
sbc S.FEOFA.MARK
|
sbc K.FEOFA.MARK
|
||||||
bne .8
|
bne .8
|
||||||
lda MLICALL.PARAMS+3
|
lda MLICALL.PARAMS+3
|
||||||
sbc S.FEOFA.MARK+1
|
sbc K.FEOFA.MARK+1
|
||||||
bne .8
|
bne .8
|
||||||
lda MLICALL.PARAMS+4
|
lda MLICALL.PARAMS+4
|
||||||
sbc S.FEOFA.MARK+2
|
sbc K.FEOFA.MARK+2
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
S.FEOFA.MARK .BS 3
|
K.FEOFA.MARK .BS 3
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.REMOVEYA
|
* K.REMOVEYA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.REMOVEYA jsr S.PFTCHECKPATHYA
|
K.REMOVEYA jsr S.PFTCHECKPATHYA
|
||||||
>STYA MLICALL.PARAMS+1
|
>STYA MLICALL.PARAMS+1
|
||||||
>MLICALL MLIDESTROY
|
>MLICALL MLIDESTROY
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.RENAME
|
* K.RENAME
|
||||||
* In :
|
* In :
|
||||||
* PULLW = Old Name
|
* PULLW = Old Name
|
||||||
* PULLW = New Name
|
* PULLW = New Name
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.RENAME jsr S.PFTCHECKPATHYA
|
K.RENAME jsr S.PFTCHECKPATHYA
|
||||||
>PULLW MLICALL.PARAMS+1
|
>PULLW MLICALL.PARAMS+1
|
||||||
>PULLW MLICALL.PARAMS+2
|
>PULLW MLICALL.PARAMS+3
|
||||||
>MLICALL MLIRENAME
|
>MLICALL MLIRENAME
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.STAT jsr S.PFTCHECKPATHYA
|
* K.STAT
|
||||||
|
* In :
|
||||||
|
* PULLB = hFILE
|
||||||
rts
|
* PULLW = PTR to S.STAT buffer
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FSTAT jsr S.PFTCHECKFILEA
|
K.STAT jsr S.PFTCHECKFILEA
|
||||||
|
>PULLA
|
||||||
|
jsr FIL.SetupPrt1A
|
||||||
rts
|
>PULLW ZPQuickPtr2
|
||||||
|
>MLICALL MLIGETFILEINFO
|
||||||
|
bcs .9
|
||||||
|
>LDYAI MLICALL.PARAMS+3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FIL.SetupPrt1A jsr S.GetMemPtrA
|
* K.FSTAT
|
||||||
|
* In :
|
||||||
|
* PULLW = PTR to Filename
|
||||||
|
* PULLW = PTR to S.STAT buffer
|
||||||
|
*--------------------------------------
|
||||||
|
K.FSTAT jsr S.PFTCHECKPATHYA
|
||||||
|
>PULLW MLICALL.PARAMS+1
|
||||||
|
>PULLW ZPQuickPtr2
|
||||||
|
>MLICALL MLIGETFILEINFO
|
||||||
|
bcs .9
|
||||||
|
>LDYAI MLICALL.PARAMS+3
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
FIL.SetupPrt1A jsr K.GetMemPtrA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
ldy #S.FILE.PRODOS.REF
|
ldy #S.FILE.PRODOS.REF
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
|
@ -7,7 +7,7 @@ AUTO 6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* PUBLIC
|
* PUBLIC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.CheckPrefixYA >STYA MLICALL.PARAMS+1
|
K.CheckPrefixYA >STYA MLICALL.PARAMS+1
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
lda (ZPQuickPtr1)
|
lda (ZPQuickPtr1)
|
||||||
beq .98
|
beq .98
|
||||||
@ -29,7 +29,7 @@ S.CheckPrefixYA >STYA MLICALL.PARAMS+1
|
|||||||
.99 sec
|
.99 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.FileSearch
|
* K.FileSearch
|
||||||
* in :
|
* in :
|
||||||
* PULLW = PSTR to File Name (PSTRING)
|
* PULLW = PSTR to File Name (PSTRING)
|
||||||
* PULLW = PSTR to Search Path (PSTRING) %LIB%;/SYS/SLIB
|
* PULLW = PSTR to Search Path (PSTRING) %LIB%;/SYS/SLIB
|
||||||
@ -37,20 +37,20 @@ S.CheckPrefixYA >STYA MLICALL.PARAMS+1
|
|||||||
* Y,A = PSTR to FilePath (PSTRING)
|
* Y,A = PSTR to FilePath (PSTRING)
|
||||||
* X = hMem to FilePath
|
* X = hMem to FilePath
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FileSearch >PULLW ZPQuickPtr4 ZPQuickPtr1 trashed by ExpandPStrYA
|
K.FileSearch >PULLW ZPQuickPtr4 ZPQuickPtr1 trashed by ExpandPStrYA
|
||||||
>PULLYA Get Search list
|
>PULLYA Get Search list
|
||||||
jsr S.ExpandPStrYA Expand it
|
jsr K.ExpandPStrYA Expand it
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
stx S.FileSearch.hSrch
|
stx K.FileSearch.hSrch
|
||||||
>STYA ZPQuickPtr2 expanded search list ;
|
>STYA ZPQuickPtr2 expanded search list ;
|
||||||
|
|
||||||
stz S.FileSearch.Index
|
stz K.FileSearch.Index
|
||||||
|
|
||||||
.1 stz KrnBuffer256 reset String
|
.1 stz KrnBuffer256 reset String
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
ldy S.FileSearch.Index
|
ldy K.FileSearch.Index
|
||||||
|
|
||||||
.2 tya
|
.2 tya
|
||||||
cmp (ZPQuickPtr2) end of src string ?
|
cmp (ZPQuickPtr2) end of src string ?
|
||||||
@ -66,7 +66,7 @@ S.FileSearch >PULLW ZPQuickPtr4 ZPQuickPtr1 trashed by ExpandPStrYA
|
|||||||
.3 txa
|
.3 txa
|
||||||
beq .98 String is empty....nothing to try
|
beq .98 String is empty....nothing to try
|
||||||
|
|
||||||
sty S.FileSearch.Index save current index
|
sty K.FileSearch.Index save current index
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
@ -81,32 +81,32 @@ S.FileSearch >PULLW ZPQuickPtr4 ZPQuickPtr1 trashed by ExpandPStrYA
|
|||||||
stx KrnBuffer256 set string length
|
stx KrnBuffer256 set string length
|
||||||
|
|
||||||
>LDYAI KrnBuffer256
|
>LDYAI KrnBuffer256
|
||||||
jsr S.MLIGetFileInfoYA
|
jsr K.MLIGetFileInfoYA
|
||||||
bcs .1 Failed...retry next path...
|
bcs .1 Failed...retry next path...
|
||||||
|
|
||||||
lda S.FileSearch.hSrch Discard Expanded hSrch list
|
lda K.FileSearch.hSrch Discard Expanded hSrch list
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
>LDYAI KrnBuffer256
|
>LDYAI KrnBuffer256
|
||||||
jmp S.NewPStrYA
|
jmp K.NewPStrYA
|
||||||
|
|
||||||
.98 lda S.FileSearch.hSrch Discard Expanded hSrch list
|
.98 lda K.FileSearch.hSrch Discard Expanded hSrch list
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
lda #SYSMGR.ERRFNF
|
lda #SYSMGR.ERRFNF
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FileSearch.File .BS 2
|
K.FileSearch.File .BS 2
|
||||||
S.FileSearch.hSrch .BS 1
|
K.FileSearch.hSrch .BS 1
|
||||||
S.FileSearch.Index .BS 1
|
K.FileSearch.Index .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.GetFullPathYA
|
* K.GetFullPathYA
|
||||||
* in :
|
* in :
|
||||||
* Y,A = Filename (PSTRING)
|
* Y,A = Filename (PSTRING)
|
||||||
* out :
|
* out :
|
||||||
* Y,A = FullPath (PSTRING)
|
* Y,A = FullPath (PSTRING)
|
||||||
* X = hMem of FullPath
|
* X = hMem of FullPath
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetFullPathYA >STYA ZPQuickPtr3 Ptr1 & 2 used by StrCpy
|
K.GetFullPathYA >STYA ZPQuickPtr3 Ptr1 & 2 used by StrCpy
|
||||||
lda (ZPQuickPtr3)
|
lda (ZPQuickPtr3)
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
@ -119,21 +119,21 @@ S.GetFullPathYA >STYA ZPQuickPtr3 Ptr1 & 2 used by StrCpy
|
|||||||
|
|
||||||
ldy #S.PS.hPREFIX
|
ldy #S.PS.hPREFIX
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>PUSHWI KrnBuffer256
|
>PUSHWI KrnBuffer256
|
||||||
jsr S.PStrCpy
|
jsr K.PStrCpy
|
||||||
|
|
||||||
.1 >PUSHW ZPQuickPtr3
|
.1 >PUSHW ZPQuickPtr3
|
||||||
>PUSHWI KrnBuffer256
|
>PUSHWI KrnBuffer256
|
||||||
jsr S.PStrCat
|
jsr K.PStrCat
|
||||||
|
|
||||||
>LDYAI KrnBuffer256
|
>LDYAI KrnBuffer256
|
||||||
jmp S.NewPStrYA
|
jmp K.NewPStrYA
|
||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.LoadFile
|
* K.LoadFile
|
||||||
* in :
|
* in :
|
||||||
* PULLW = PATH (Handled by....
|
* PULLW = PATH (Handled by....
|
||||||
* PULLB = MODE ...
|
* PULLB = MODE ...
|
||||||
@ -143,46 +143,78 @@ S.GetFullPathYA >STYA ZPQuickPtr3 Ptr1 & 2 used by StrCpy
|
|||||||
* Y,A = File Length
|
* Y,A = File Length
|
||||||
* X = hMem of Loaded File
|
* X = hMem of Loaded File
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.LoadFile jsr S.FOPEN
|
K.LoadFile >DEBUG
|
||||||
|
jsr K.FOPEN
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sta S.LoadFile.hFile
|
sta K.LoadFile.hFile
|
||||||
|
|
||||||
jsr S.FSTATA
|
ldx #SYS.FSEEK.END
|
||||||
>PUSHW S.LoadFile.Mem
|
jsr K.LoadFile.Seek
|
||||||
|
bcs .99
|
||||||
|
|
||||||
>PUSHW S.LoadFile.Len
|
lda K.LoadFile.hFile
|
||||||
|
jsr K.FTELLA
|
||||||
|
bcs .99
|
||||||
|
>STYA K.LoadFile.Len
|
||||||
|
phx
|
||||||
|
plx
|
||||||
|
bne .98 LEN > 65535 !!???
|
||||||
|
|
||||||
>PUSHB S.LoadFile.hFile
|
>PUSHYA push len
|
||||||
jsr S.FREAD
|
>PUSHBI 0
|
||||||
|
jsr K.GetMem
|
||||||
|
bcs .99
|
||||||
|
>STYA K.LoadFile.Mem
|
||||||
|
stx K.LoadFile.hMem
|
||||||
|
|
||||||
|
ldx #SYS.FSEEK.SET
|
||||||
|
jsr K.LoadFile.Seek
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>PUSHW K.LoadFile.Mem
|
||||||
|
>PUSHW K.LoadFile.Len
|
||||||
|
>PUSHB K.LoadFile.hFile
|
||||||
|
jsr K.FREAD
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jsr .99
|
jsr .99
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
|
>LDYA K.LoadFile.Len
|
||||||
|
ldx K.LoadFile.hMem
|
||||||
|
clc
|
||||||
|
.9 rts
|
||||||
|
|
||||||
|
.98 lda #SYSMGR.ERRFTB
|
||||||
|
|
||||||
.99 pha
|
.99 pha
|
||||||
lda S.LoadFile.hFile
|
lda K.LoadFile.hFile
|
||||||
jsr S.FCLOSEA
|
jsr K.FCLOSEA
|
||||||
pla
|
pla
|
||||||
sec
|
sec
|
||||||
|
rts
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.LoadFileYA
|
K.LoadFile.Seek >PUSHWI 0
|
||||||
|
>PUSHWI 0
|
||||||
|
txa
|
||||||
|
>PUSHA
|
||||||
|
>PUSHB K.LoadFile.hFile
|
||||||
|
jmp K.FSEEK
|
||||||
|
*--------------------------------------
|
||||||
|
* K.LoadFileYA
|
||||||
* in :
|
* in :
|
||||||
* Y,A = FilePath (PSTRING)
|
* Y,A = FilePath (PSTRING)
|
||||||
* out :
|
* out :
|
||||||
* Y,A = File Length
|
* Y,A = File Length
|
||||||
* X = hMem of Loaded File
|
* X = hMem of Loaded File
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.LoadFileYA jsr S.MLIOpenYA
|
K.LoadFileYA jsr K.MLIOpenYA
|
||||||
bcc .10
|
bcc .10
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.10 sta S.LoadFile.hRef save ref_num
|
.10 sta K.LoadFile.hRef save ref_num
|
||||||
stx S.LoadFile.hBuf save Prodos Buffer for freemem
|
stx K.LoadFile.hBuf save Prodos Buffer for freemem
|
||||||
jsr S.MLIGetEOFA
|
jsr K.MLIGetEOFA
|
||||||
bcs .98
|
bcs .98
|
||||||
|
|
||||||
phx Larger than 64k?
|
phx Larger than 64k?
|
||||||
@ -191,38 +223,38 @@ S.LoadFileYA jsr S.MLIOpenYA
|
|||||||
lda #SYSMGR.ERRFTB
|
lda #SYSMGR.ERRFTB
|
||||||
bra .98
|
bra .98
|
||||||
|
|
||||||
.1 >STYA S.LoadFile.Len save Length
|
.1 >STYA K.LoadFile.Len save Length
|
||||||
>PUSHYA Push Length for S.GetMem
|
>PUSHYA Push Length for K.GetMem
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .98
|
bcs .98
|
||||||
|
|
||||||
>STYA S.LoadFile.Mem
|
>STYA K.LoadFile.Mem
|
||||||
|
|
||||||
stx S.LoadFile.hMem save Segment hMem
|
stx K.LoadFile.hMem save Segment hMem
|
||||||
>PUSHW S.LoadFile.Len Push Length for S.MLIRead
|
>PUSHW K.LoadFile.Len Push Length for K.MLIRead
|
||||||
>PUSHW S.LoadFile.Mem Push PTR
|
>PUSHW K.LoadFile.Mem Push PTR
|
||||||
>PUSHB S.LoadFile.hRef Push ref_num
|
>PUSHB K.LoadFile.hRef Push ref_num
|
||||||
jsr S.MLIRead
|
jsr K.MLIRead
|
||||||
bcs .97
|
bcs .97
|
||||||
|
|
||||||
jsr .98 Close File....
|
jsr .98 Close File....
|
||||||
|
|
||||||
>LDYA S.LoadFile.Len Return File Length...
|
>LDYA K.LoadFile.Len Return File Length...
|
||||||
ldx S.LoadFile.hMem ...and hMem to Caller
|
ldx K.LoadFile.hMem ...and hMem to Caller
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.97 pha
|
.97 pha
|
||||||
lda S.LoadFile.hMem
|
lda K.LoadFile.hMem
|
||||||
jsr S.FreeMemA freemem because of failed load
|
jsr K.FreeMemA freemem because of failed load
|
||||||
pla
|
pla
|
||||||
|
|
||||||
.98 pha
|
.98 pha
|
||||||
lda S.LoadFile.hRef
|
lda K.LoadFile.hRef
|
||||||
jsr S.MLICloseA
|
jsr K.MLICloseA
|
||||||
lda S.LoadFile.hBuf
|
lda K.LoadFile.hBuf
|
||||||
jsr S.FreeMemA ProDOS IO Buffer
|
jsr K.FreeMemA ProDOS IO Buffer
|
||||||
pla
|
pla
|
||||||
|
|
||||||
.99 sec
|
.99 sec
|
||||||
@ -235,20 +267,20 @@ S.LoadFileYA jsr S.MLIOpenYA
|
|||||||
* PULLB = TYPE ...
|
* PULLB = TYPE ...
|
||||||
* PULLW = AUXTYPE ...FOPEN)
|
* PULLW = AUXTYPE ...FOPEN)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.SaveFile >PULLW S.LoadFile.Mem
|
K.SaveFile >PULLW K.LoadFile.Mem
|
||||||
>PULLW S.LoadFile.Len
|
>PULLW K.LoadFile.Len
|
||||||
|
|
||||||
jsr S.FOPEN
|
jsr K.FOPEN
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sta S.LoadFile.hFile
|
sta K.LoadFile.hFile
|
||||||
|
|
||||||
>PUSHW S.LoadFile.Mem
|
>PUSHW K.LoadFile.Mem
|
||||||
|
|
||||||
>PUSHW S.LoadFile.Len
|
>PUSHW K.LoadFile.Len
|
||||||
|
|
||||||
>PUSHB S.LoadFile.hFile
|
>PUSHB K.LoadFile.hFile
|
||||||
jsr S.FWRITE
|
jsr K.FWRITE
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jsr .99
|
jsr .99
|
||||||
@ -256,18 +288,20 @@ S.SaveFile >PULLW S.LoadFile.Mem
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.99 pha
|
.99 pha
|
||||||
lda S.LoadFile.hFile
|
lda K.LoadFile.hFile
|
||||||
jsr S.FCLOSEA
|
jsr K.FCLOSEA
|
||||||
pla
|
pla
|
||||||
sec
|
sec
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.LoadFile.Filename .BS 2
|
K.LoadFile.Filename .BS 2
|
||||||
S.LoadFile.hFile .BS 1
|
K.LoadFile.hFile .BS 1
|
||||||
S.LoadFile.hMem .BS 1
|
K.LoadFile.hMem .BS 1
|
||||||
S.LoadFile.Mem .BS 2
|
K.LoadFile.Mem .BS 2
|
||||||
S.LoadFile.Len .BS 2
|
K.LoadFile.Len .BS 2
|
||||||
|
K.LoadFile.hRef .BS 1
|
||||||
|
K.LoadFile.hBuf .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.FIO
|
SAVE SYS/KERNEL.S.FIO
|
||||||
|
@ -36,7 +36,7 @@ A2osX.GP.Start jmp A2osX.SYSCALL1
|
|||||||
.BS $BE20-*
|
.BS $BE20-*
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GO.Reset jsr GO.AUXLC
|
GO.Reset jsr GO.AUXLC
|
||||||
jmp S.KernelRun
|
jmp K.KernelRun
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
A2osX.SYSCALL1 phx
|
A2osX.SYSCALL1 phx
|
||||||
bit KERNEL.SYSCALL.FLAGS,x
|
bit KERNEL.SYSCALL.FLAGS,x
|
||||||
|
@ -73,17 +73,17 @@ Kernel.Init2 >LDAXI MSG.Init2
|
|||||||
|
|
||||||
jsr GO.AUXLC
|
jsr GO.AUXLC
|
||||||
|
|
||||||
jsr S.IrqMgrInit
|
jsr K.IrqMgrInit
|
||||||
bcs *
|
bcs *
|
||||||
jsr S.MemMgrInit
|
jsr K.MemMgrInit
|
||||||
bcs *
|
bcs *
|
||||||
jsr S.DevMgrInit
|
jsr K.DevMgrInit
|
||||||
bcs *
|
bcs *
|
||||||
jsr S.EvtMgrInit
|
jsr K.EvtMgrInit
|
||||||
bcs *
|
bcs *
|
||||||
jsr S.FltMgrInit
|
jsr K.FltMgrInit
|
||||||
bcs *
|
bcs *
|
||||||
jsr S.TskMgrInit
|
jsr K.TskMgrInit
|
||||||
bcs *
|
bcs *
|
||||||
|
|
||||||
jsr GO.MAINLC Make sure MAIN ZP...
|
jsr GO.MAINLC Make sure MAIN ZP...
|
||||||
@ -310,16 +310,16 @@ Kernel.Move ldy #0
|
|||||||
* Setup AuxLC $FFFE->Kernel IRQ Handler
|
* Setup AuxLC $FFFE->Kernel IRQ Handler
|
||||||
* if irq not handled, jmp (S.IrqMgrOldFFFE)
|
* if irq not handled, jmp (S.IrqMgrOldFFFE)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.IrqMgrInit php
|
K.IrqMgrInit php
|
||||||
sei
|
sei
|
||||||
>LDYA $FFFE
|
>LDYA $FFFE
|
||||||
cpy #S.IrqHandlerAuxLC
|
cpy #K.IrqHandlerAuxLC
|
||||||
bne .1
|
bne .1
|
||||||
cmp /S.IrqHandlerAuxLC
|
cmp /K.IrqHandlerAuxLC
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
.1 >STYA S.IrqMgrOldFFFE
|
.1 >STYA K.IrqMgrOldFFFE
|
||||||
>LDYAI S.IrqHandlerAuxLC
|
>LDYAI K.IrqHandlerAuxLC
|
||||||
>STYA $FFFE
|
>STYA $FFFE
|
||||||
|
|
||||||
.2
|
.2
|
||||||
@ -331,7 +331,7 @@ S.IrqMgrInit php
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MemMgrInit >LDYAI MemMgr.MHiMem
|
K.MemMgrInit >LDYAI MemMgr.MHiMem
|
||||||
>STYA MemMgr.HiMem
|
>STYA MemMgr.HiMem
|
||||||
>STYA MemMgr.Free
|
>STYA MemMgr.Free
|
||||||
>LDYAI MemMgr.MLoMem
|
>LDYAI MemMgr.MLoMem
|
||||||
@ -352,9 +352,9 @@ S.MemMgrInit >LDYAI MemMgr.MHiMem
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.DevMgrInit
|
* K.DevMgrInit
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.DevMgrInit ldx #S.DEV.SIZE*DevMgr.Count
|
K.DevMgrInit ldx #S.DEV.SIZE*DevMgr.Count
|
||||||
.1 lda DevMgr.NUL-1,x
|
.1 lda DevMgr.NUL-1,x
|
||||||
sta DevMgr.Table-1,x
|
sta DevMgr.Table-1,x
|
||||||
dex
|
dex
|
||||||
@ -370,9 +370,9 @@ S.DevMgrInit ldx #S.DEV.SIZE*DevMgr.Count
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.EvtMgrInit
|
* K.EvtMgrInit
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.EvtMgrInit lda #10
|
K.EvtMgrInit lda #10
|
||||||
sta EVTMGR.10TH.CNT
|
sta EVTMGR.10TH.CNT
|
||||||
|
|
||||||
lda A2osX.HZ
|
lda A2osX.HZ
|
||||||
@ -391,9 +391,9 @@ S.EvtMgrInit lda #10
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.TskMgrInit
|
* K.TskMgrInit
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.TskMgrInit stz TSKMGR.LASTID
|
K.TskMgrInit stz TSKMGR.LASTID
|
||||||
lda #1
|
lda #1
|
||||||
sta TSKMGR.SIZE One Slot Busy (Kernel PS=0)
|
sta TSKMGR.SIZE One Slot Busy (Kernel PS=0)
|
||||||
|
|
||||||
@ -473,7 +473,7 @@ S.TskMgrInit stz TSKMGR.LASTID
|
|||||||
>SYSCALL SYS.PutEnvYA
|
>SYSCALL SYS.PutEnvYA
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FltMgrInit stz FltMgr.Table
|
K.FltMgrInit stz FltMgr.Table
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -9,7 +9,7 @@ Kernel.Init3 ldx #DEVMGR.SELECT
|
|||||||
jsr pDevJmp
|
jsr pDevJmp
|
||||||
|
|
||||||
>LDYAI MSG.Init3
|
>LDYAI MSG.Init3
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
ldy #S.PS.hPREFIX
|
ldy #S.PS.hPREFIX
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
@ -17,18 +17,18 @@ Kernel.Init3 ldx #DEVMGR.SELECT
|
|||||||
|
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>LDYAI MSG.Prefix
|
>LDYAI MSG.Prefix
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
>PUSHWI STARTUP.CMDLINE
|
>PUSHWI STARTUP.CMDLINE
|
||||||
>LDYAI MSG.Startup
|
>LDYAI MSG.Startup
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
>LDYAI STARTUP.CMDLINE
|
>LDYAI STARTUP.CMDLINE
|
||||||
>SYSCALL SYS.CreateProcessYA
|
>SYSCALL SYS.CreateProcessYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYAI MSG.Init3.OK
|
>LDYAI MSG.Init3.OK
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
|
|
||||||
>LDYAI TskMgr.Table
|
>LDYAI TskMgr.Table
|
||||||
>STYA pPs
|
>STYA pPs
|
||||||
@ -37,7 +37,7 @@ Kernel.Init3 ldx #DEVMGR.SELECT
|
|||||||
|
|
||||||
.9 >PUSHA
|
.9 >PUSHA
|
||||||
>LDYAI MSG.StartupErr
|
>LDYAI MSG.StartupErr
|
||||||
>SYSCALL SYS.PSTROutYA
|
>SYSCALL SYS.PStrOutYA
|
||||||
bra *
|
bra *
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.Init3 >PSTRING "A2osX[Stage3]:Init\n"
|
MSG.Init3 >PSTRING "A2osX[Stage3]:Init\n"
|
||||||
|
@ -17,17 +17,17 @@ S.BrkHandlerAuxLC
|
|||||||
* if A2osX Drivers cannot clear IRQ,
|
* if A2osX Drivers cannot clear IRQ,
|
||||||
* must call regular System Handler
|
* must call regular System Handler
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.IrqHandlerAuxLC
|
K.IrqHandlerAuxLC
|
||||||
sta S.IrqMgr.A
|
sta K.IrqMgr.A
|
||||||
pla
|
pla
|
||||||
pha
|
pha
|
||||||
and #$10 BRK?
|
and #$10 BRK?
|
||||||
beq .10
|
beq .10
|
||||||
lda S.IrqMgr.A
|
lda K.IrqMgr.A
|
||||||
.82 jmp (S.IrqMgrOldFFFE)
|
.82 jmp (K.IrqMgrOldFFFE)
|
||||||
|
|
||||||
.10 stx S.IrqMgr.X
|
.10 stx K.IrqMgr.X
|
||||||
sty S.IrqMgr.Y
|
sty K.IrqMgr.Y
|
||||||
lda $fe
|
lda $fe
|
||||||
pha
|
pha
|
||||||
lda $ff
|
lda $ff
|
||||||
@ -48,7 +48,7 @@ S.IrqHandlerAuxLC
|
|||||||
and #S.DEV.F.IRQ
|
and #S.DEV.F.IRQ
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
jsr S.IrqHandlerJMP
|
jsr K.IrqHandlerJMP
|
||||||
bcc .8 CC, IRQ cleared by device
|
bcc .8 CC, IRQ cleared by device
|
||||||
|
|
||||||
.2 lda $fe CS,
|
.2 lda $fe CS,
|
||||||
@ -65,19 +65,19 @@ S.IrqHandlerAuxLC
|
|||||||
sta $ff
|
sta $ff
|
||||||
pla
|
pla
|
||||||
sta $fe
|
sta $fe
|
||||||
ldy S.IrqMgr.Y
|
ldy K.IrqMgr.Y
|
||||||
ldx S.IrqMgr.X
|
ldx K.IrqMgr.X
|
||||||
lda S.IrqMgr.A
|
lda K.IrqMgr.A
|
||||||
bcs .82
|
bcs .82
|
||||||
rti
|
rti
|
||||||
|
|
||||||
S.IrqHandlerJMP ldx #DEVMGR.IRQ
|
K.IrqHandlerJMP ldx #DEVMGR.IRQ
|
||||||
jmp ($fe)
|
jmp ($fe)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.IrqMgrOldFFFE .BS 2
|
K.IrqMgrOldFFFE .BS 2
|
||||||
S.IrqMgr.A .BS 1
|
K.IrqMgr.A .BS 1
|
||||||
S.IrqMgr.X .BS 1
|
K.IrqMgr.X .BS 1
|
||||||
S.IrqMgr.Y .BS 1
|
K.IrqMgr.Y .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.IRQ
|
SAVE SYS/KERNEL.S.IRQ
|
||||||
|
@ -7,70 +7,70 @@ AUTO 6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* $D000-D0FF KERNEL.SYSCALL Jmp Table
|
* $D000-D0FF KERNEL.SYSCALL Jmp Table
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KERNEL.SYSCALL .DA S.GetMem $00
|
KERNEL.SYSCALL .DA K.GetMem $00
|
||||||
.DA S.FreeMemA
|
.DA K.FreeMemA
|
||||||
.DA S.GetMemPtrA
|
.DA K.GetMemPtrA
|
||||||
.DA S.GetMemByIDA
|
.DA K.GetMemByIDA
|
||||||
.DA S.GetMemByNameYA
|
.DA K.GetMemByNameYA
|
||||||
.DA S.LoadStockObjectYA
|
.DA K.LoadStockObjectYA
|
||||||
.DA S.GetStockObjectA
|
.DA K.GetStockObjectA
|
||||||
.DA S.FreeStockObject
|
.DA K.FreeStockObject
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.NewPStrYA $10
|
.DA K.NewPStrYA $10
|
||||||
.DA S.PStrCpy
|
.DA K.PStrCpy
|
||||||
.DA S.PStrCat
|
.DA K.PStrCat
|
||||||
.DA S.PStrMatch
|
.DA K.PStrMatch
|
||||||
.DA S.PStrUprYA
|
.DA K.PStrUprYA
|
||||||
.DA S.PStrLwrYA
|
.DA K.PStrLwrYA
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA S.PStr2StrArrayYA
|
.DA K.PStr2StrArrayYA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.LoadDrvYA $20
|
.DA K.LoadDrvYA $20
|
||||||
.DA S.LoadLibYA
|
.DA K.LoadLibYA
|
||||||
.DA S.UnloadLibA
|
.DA K.UnloadLibA
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA S.TimeYA
|
.DA K.TimeYA
|
||||||
.DA S.CTime2Time
|
.DA K.CTime2Time
|
||||||
.DA S.PTime2Time
|
.DA K.PTime2Time
|
||||||
.DA S.StrFTime
|
.DA K.StrFTime
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA 0 $30
|
.DA 0 $30
|
||||||
.DA S.ExpandPStrYA
|
.DA K.ExpandPStrYA
|
||||||
.DA S.GetArgC
|
.DA K.GetArgC
|
||||||
.DA S.GetArgA
|
.DA K.GetArgA
|
||||||
.DA S.PutEnvYA
|
.DA K.PutEnvYA
|
||||||
.DA S.SetEnv
|
.DA K.SetEnv
|
||||||
.DA S.GetEnvYA
|
.DA K.GetEnvYA
|
||||||
.DA S.UnsetEnvYA
|
.DA K.UnsetEnvYA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.MLICreateFile $40
|
.DA K.MLICreateFile $40
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA S.MLISetFileInfo
|
.DA K.MLISetFileInfo
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.MLIGetFileInfoYA $50
|
.DA K.MLIGetFileInfoYA $50
|
||||||
.DA S.MLIOnline
|
.DA K.MLIOnline
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA S.MLIGetPrefixYA
|
.DA K.MLIGetPrefixYA
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA S.MLIOpenYA
|
.DA K.MLIOpenYA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.MLINewLine $60
|
.DA K.MLINewLine $60
|
||||||
.DA S.MLIRead
|
.DA K.MLIRead
|
||||||
.DA S.MLIWrite
|
.DA K.MLIWrite
|
||||||
.DA S.MLICloseA
|
.DA K.MLICloseA
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.MLIGetEOFA $70
|
.DA K.MLIGetEOFA $70
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
@ -79,30 +79,30 @@ KERNEL.SYSCALL .DA S.GetMem $00
|
|||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.GetDevByIDA $80
|
.DA K.GetDevByIDA $80
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA S.GetDevByNameYA
|
.DA K.GetDevByNameYA
|
||||||
.DA S.GetDevInfoA
|
.DA K.GetDevInfoA
|
||||||
.DA S.GetKeyboardEvent
|
.DA K.GetKeyboardEvent
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.ExecProcessNewEnvYA $90
|
.DA K.ExecProcessNewEnvYA $90
|
||||||
.DA S.ExecProcessYA
|
.DA K.ExecProcessYA
|
||||||
.DA S.CreateProcessNewEnvYA
|
.DA K.CreateProcessNewEnvYA
|
||||||
.DA S.CreateProcessYA
|
.DA K.CreateProcessYA
|
||||||
.DA S.GetPSByIDA
|
.DA K.GetPSByIDA
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA S.Sleep
|
.DA K.Sleep
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.CheckPrefixYA $A0
|
.DA K.CheckPrefixYA $A0
|
||||||
.DA S.FileSearch
|
.DA K.FileSearch
|
||||||
.DA S.GetFullPathYA
|
.DA K.GetFullPathYA
|
||||||
.DA S.LoadFileYA
|
|
||||||
.DA S.SaveFile
|
|
||||||
.DA 0
|
.DA 0
|
||||||
|
.DA K.LoadFile
|
||||||
|
.DA K.SaveFile
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -124,32 +124,32 @@ KERNEL.SYSCALL .DA S.GetMem $00
|
|||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.COutA $D0
|
.DA K.COutA $D0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA S.PSTROutYA
|
.DA K.PStrOutYA
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA S.HexOutA
|
.DA K.HexOutA
|
||||||
.DA S.HexOutYA
|
.DA K.HexOutYA
|
||||||
.DA S.DecOutA
|
.DA K.DecOutA
|
||||||
.DA S.DecOutYA
|
.DA K.DecOutYA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.FOPEN $E0
|
.DA K.FOPEN $E0
|
||||||
.DA S.FCLOSEA
|
.DA K.FCLOSEA
|
||||||
.DA S.FREAD
|
.DA K.FREAD
|
||||||
.DA S.FWRITE
|
.DA K.FWRITE
|
||||||
.DA S.FFLUSHA
|
.DA K.FFLUSHA
|
||||||
.DA S.FSEEK
|
.DA K.FSEEK
|
||||||
.DA S.FTELLA
|
.DA K.FTELLA
|
||||||
.DA S.FEOFA
|
.DA K.FEOFA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA S.REMOVEYA $F0
|
.DA K.REMOVEYA $F0
|
||||||
.DA S.RENAME
|
.DA K.RENAME
|
||||||
.DA S.STAT
|
.DA K.STAT
|
||||||
.DA S.FSTAT
|
.DA K.FSTAT
|
||||||
.DA S.OPENDIRYA
|
.DA K.OPENDIRYA
|
||||||
.DA S.READDIRA
|
.DA K.READDIRA
|
||||||
.DA S.CLOSEDIRA
|
.DA K.CLOSEDIRA
|
||||||
.DA S.MKDIRYA
|
.DA K.MKDIRYA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KERNEL.SYSCALL.FLAGS
|
KERNEL.SYSCALL.FLAGS
|
||||||
.DA 0 $00
|
.DA 0 $00
|
||||||
|
@ -5,30 +5,30 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.LoadLibYA
|
* K.LoadLibYA
|
||||||
* in :
|
* in :
|
||||||
* Y,A = PTR To Lib Name
|
* Y,A = PTR To Lib Name
|
||||||
* out :
|
* out :
|
||||||
* A = hMem To loaded LIB
|
* A = hMem To loaded LIB
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.LoadLibYA >STYA S.LoadLib.Name save libname for S.FileSearch
|
K.LoadLibYA >STYA K.LoadLib.Name save libname for K.FileSearch
|
||||||
>LDYAI ENV.LIB push ENVNAME=LIB
|
>LDYAI ENV.LIB push ENVNAME=LIB
|
||||||
jsr S.GetEnvYA get value for ENV=LIB
|
jsr K.GetEnvYA get value for ENV=LIB
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>PUSHYA Push $LIB value
|
>PUSHYA Push $LIB value
|
||||||
|
|
||||||
>PUSHW S.LoadLib.Name
|
>PUSHW K.LoadLib.Name
|
||||||
|
|
||||||
jsr S.FileSearch find libname in $LIB
|
jsr K.FileSearch find libname in $LIB
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
stx S.LoadLib.hFullName
|
stx K.LoadLib.hFullName
|
||||||
|
|
||||||
jsr S.LoadBinYA Y,A = filename full path
|
jsr K.LoadBinYA Y,A = filename full path
|
||||||
bcs .98
|
bcs .98
|
||||||
|
|
||||||
stx S.LoadLib.hMem
|
stx K.LoadLib.hMem
|
||||||
>STYA pLib
|
>STYA pLib
|
||||||
|
|
||||||
ldx #LIBMGR.LOAD
|
ldx #LIBMGR.LOAD
|
||||||
@ -38,34 +38,34 @@ S.LoadLibYA >STYA S.LoadLib.Name save libname for S.FileSearch
|
|||||||
|
|
||||||
jsr .98 Cleanup...
|
jsr .98 Cleanup...
|
||||||
|
|
||||||
lda S.LoadLib.hMem
|
lda K.LoadLib.hMem
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.97 pha
|
.97 pha
|
||||||
lda S.LoadLib.hMem
|
lda K.LoadLib.hMem
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
pla
|
pla
|
||||||
|
|
||||||
.98 pha
|
.98 pha
|
||||||
lda S.LoadLib.hFullName
|
lda K.LoadLib.hFullName
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
pla
|
pla
|
||||||
|
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.LoadLib.Name .BS 2
|
K.LoadLib.Name .BS 2
|
||||||
S.LoadLib.hFullName .BS 1
|
K.LoadLib.hFullName .BS 1
|
||||||
S.LoadLib.hMem .BS 1
|
K.LoadLib.hMem .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.UnloadLibA
|
* K.UnloadLibA
|
||||||
* in :
|
* in :
|
||||||
* A = hMem To Lib
|
* A = hMem To Lib
|
||||||
* out :
|
* out :
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.UnloadLibA pha
|
K.UnloadLibA pha
|
||||||
jsr S.GetMemByIDA
|
jsr K.GetMemByIDA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
ldy #S.MEM.REFCNT
|
ldy #S.MEM.REFCNT
|
||||||
lda (ZPQuickPtr1),y Get count of those referencing this lib
|
lda (ZPQuickPtr1),y Get count of those referencing this lib
|
||||||
@ -87,7 +87,7 @@ S.UnloadLibA pha
|
|||||||
ldx #LIBMGR.UNLOAD
|
ldx #LIBMGR.UNLOAD
|
||||||
jsr pLibJmp Call LIB.UNLOAD function
|
jsr pLibJmp Call LIB.UNLOAD function
|
||||||
pla
|
pla
|
||||||
jmp S.FreeMemA
|
jmp K.FreeMemA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ENV.LIB >PSTRING "LIB"
|
ENV.LIB >PSTRING "LIB"
|
||||||
MAN
|
MAN
|
||||||
|
@ -21,7 +21,7 @@ ZPMemMgrTmp3 .EQ ZPMEMMGR+6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* PUBLIC
|
* PUBLIC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.GetMem
|
* K.GetMem
|
||||||
* In:
|
* In:
|
||||||
* PULLB = FLAGS
|
* PULLB = FLAGS
|
||||||
* PULLW = Size Requested
|
* PULLW = Size Requested
|
||||||
@ -30,7 +30,7 @@ ZPMemMgrTmp3 .EQ ZPMEMMGR+6
|
|||||||
* X = S.MEM.ID
|
* X = S.MEM.ID
|
||||||
* CS on err
|
* CS on err
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetMem >PULLB MemMgr.ReqFlags store requested flags
|
K.GetMem >PULLB MemMgr.ReqFlags store requested flags
|
||||||
and #S.MEM.F.AUX
|
and #S.MEM.F.AUX
|
||||||
beq .11
|
beq .11
|
||||||
|
|
||||||
@ -241,18 +241,18 @@ MemMgr.SlotCnt .BS 1
|
|||||||
MemMgr.ReqFlags .BS 1 store requested Flags
|
MemMgr.ReqFlags .BS 1 store requested Flags
|
||||||
MemMgr.ReqSize .BS 2 store requested Size
|
MemMgr.ReqSize .BS 2 store requested Size
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.FreeMemA
|
* K.FreeMemA
|
||||||
* In:
|
* In:
|
||||||
* A = hMem To Free
|
* A = hMem To Free
|
||||||
* Out:
|
* Out:
|
||||||
* X,Y unmodified
|
* X,Y unmodified
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FreeMemA phy
|
K.FreeMemA phy
|
||||||
phx
|
phx
|
||||||
tax
|
tax
|
||||||
beq .8 Slot=0, reserved by Kernel
|
beq .8 Slot=0, reserved by Kernel
|
||||||
|
|
||||||
jsr S.GetMemByIDA
|
jsr K.GetMemByIDA
|
||||||
lda (ZPMemMgrSPtr)
|
lda (ZPMemMgrSPtr)
|
||||||
bpl * In use ?
|
bpl * In use ?
|
||||||
|
|
||||||
@ -269,7 +269,7 @@ S.FreeMemA phy
|
|||||||
pha save hMem
|
pha save hMem
|
||||||
>PUSHW ZPMemMgrSPtr
|
>PUSHW ZPMemMgrSPtr
|
||||||
pla
|
pla
|
||||||
jsr S.GetMemByIDA
|
jsr K.GetMemByIDA
|
||||||
lda (ZPMemMgrSPtr)
|
lda (ZPMemMgrSPtr)
|
||||||
bpl * ***MUST BE ALLOCATED***
|
bpl * ***MUST BE ALLOCATED***
|
||||||
|
|
||||||
@ -283,7 +283,7 @@ S.FreeMemA phy
|
|||||||
.2 lda MemMgr.LastSlot
|
.2 lda MemMgr.LastSlot
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
jsr S.GetMemByIDA
|
jsr K.GetMemByIDA
|
||||||
lda (ZPMemMgrSPtr)
|
lda (ZPMemMgrSPtr)
|
||||||
bmi .8
|
bmi .8
|
||||||
|
|
||||||
@ -305,14 +305,14 @@ S.FreeMemA phy
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.GetMemPtrA
|
* K.GetMemPtrA
|
||||||
* In:
|
* In:
|
||||||
* A = hMem
|
* A = hMem
|
||||||
* Out:
|
* Out:
|
||||||
* Y,A = PTR to MemBlock
|
* Y,A = PTR to MemBlock
|
||||||
* X unmodified
|
* X unmodified
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetMemPtrA jsr S.GetMemByIDA
|
K.GetMemPtrA jsr K.GetMemByIDA
|
||||||
ldy #S.MEM.PTR
|
ldy #S.MEM.PTR
|
||||||
lda (ZPMemMgrSPtr),y
|
lda (ZPMemMgrSPtr),y
|
||||||
pha
|
pha
|
||||||
@ -321,14 +321,14 @@ S.GetMemPtrA jsr S.GetMemByIDA
|
|||||||
ply
|
ply
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.GetMemByIDA
|
* K.GetMemByIDA
|
||||||
* In:
|
* In:
|
||||||
* A = hMem
|
* A = hMem
|
||||||
* Out:
|
* Out:
|
||||||
* Y,A = ZPMemMgrSPtr = PTR to S.MEM
|
* Y,A = ZPMemMgrSPtr = PTR to S.MEM
|
||||||
* X unmodified
|
* X unmodified
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetMemByIDA stz ZPMemMgrSPtr+1
|
K.GetMemByIDA stz ZPMemMgrSPtr+1
|
||||||
|
|
||||||
asl
|
asl
|
||||||
rol ZPMemMgrSPtr+1
|
rol ZPMemMgrSPtr+1
|
||||||
@ -354,7 +354,7 @@ S.GetMemByIDA stz ZPMemMgrSPtr+1
|
|||||||
* Y,A = ZPMemMgrSPtr = PTR to S.MEM
|
* Y,A = ZPMemMgrSPtr = PTR to S.MEM
|
||||||
* X = hMem
|
* X = hMem
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetMemByNameYA
|
K.GetMemByNameYA
|
||||||
>STYA ZPMemMgrTmp1 save BINPATH
|
>STYA ZPMemMgrTmp1 save BINPATH
|
||||||
>LDYAI MemMgr.Table
|
>LDYAI MemMgr.Table
|
||||||
>STYA ZPMemMgrTmp2
|
>STYA ZPMemMgrTmp2
|
||||||
@ -370,7 +370,7 @@ S.GetMemByNameYA
|
|||||||
lda (ZPMemMgrTmp2),y
|
lda (ZPMemMgrTmp2),y
|
||||||
beq .6
|
beq .6
|
||||||
|
|
||||||
jsr S.GetMemPtrA get pathname
|
jsr K.GetMemPtrA get pathname
|
||||||
bcs *
|
bcs *
|
||||||
>STYA ZPMemMgrTmp3
|
>STYA ZPMemMgrTmp3
|
||||||
|
|
||||||
@ -405,17 +405,17 @@ S.GetMemByNameYA
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.LoadStockObjectYA
|
K.LoadStockObjectYA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetStockObjectA
|
K.GetStockObjectA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FreeStockObject
|
K.FreeStockObject
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.SetLoMem
|
K.SetLoMem
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GarbageCollector
|
K.GarbageCollector
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -7,7 +7,7 @@ AUTO 6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* PUBLIC
|
* PUBLIC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MLICreateFile >PULLW MLICALL.PARAMS+1
|
K.MLICreateFile >PULLW MLICALL.PARAMS+1
|
||||||
>PULLB MLICALL.PARAMS+3 Access
|
>PULLB MLICALL.PARAMS+3 Access
|
||||||
>PULLB MLICALL.PARAMS+4 File type
|
>PULLB MLICALL.PARAMS+4 File type
|
||||||
>PULLW MLICALL.PARAMS+5 Aux type
|
>PULLW MLICALL.PARAMS+5 Aux type
|
||||||
@ -16,9 +16,9 @@ S.MLICreateFile >PULLW MLICALL.PARAMS+1
|
|||||||
>MLICALL MLICREATE
|
>MLICALL MLICREATE
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.MLISetFileInfo
|
* K.MLISetFileInfo
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MLISetFileInfo
|
K.MLISetFileInfo
|
||||||
>PULLW ZPQuickPtr1
|
>PULLW ZPQuickPtr1
|
||||||
>PULLW MLICALL.PARAMS+1
|
>PULLW MLICALL.PARAMS+1
|
||||||
ldy #$E
|
ldy #$E
|
||||||
@ -29,45 +29,45 @@ S.MLISetFileInfo
|
|||||||
>MLICALL MLISETFILEINFO
|
>MLICALL MLISETFILEINFO
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.MLIGetFileInfoYA
|
* K.MLIGetFileInfoYA
|
||||||
* in :
|
* in :
|
||||||
* Y,A = FileName
|
* Y,A = FileName
|
||||||
* out :
|
* out :
|
||||||
* Y,A = PTR To Buffer (L=15)
|
* Y,A = PTR To Buffer (L=15)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MLIGetFileInfoYA
|
K.MLIGetFileInfoYA
|
||||||
>STYA MLICALL.PARAMS+1
|
>STYA MLICALL.PARAMS+1
|
||||||
>MLICALL MLIGETFILEINFO
|
>MLICALL MLIGETFILEINFO
|
||||||
bcs .9
|
bcs .9
|
||||||
>LDYAI MLICALL.PARAMS+3
|
>LDYAI MLICALL.PARAMS+3
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.MLIOnline
|
* K.MLIOnline
|
||||||
* in :
|
* in :
|
||||||
* PULLB = Device
|
* PULLB = Device
|
||||||
* PULLW = Dest PTR
|
* PULLW = Dest PTR
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MLIOnline >PULLB MLICALL.PARAMS+1
|
K.MLIOnline >PULLB MLICALL.PARAMS+1
|
||||||
>PULLW MLICALL.PARAMS+2
|
>PULLW MLICALL.PARAMS+2
|
||||||
>MLICALL MLIONLINE
|
>MLICALL MLIONLINE
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MLIGetPrefixYA
|
K.MLIGetPrefixYA
|
||||||
>STYA MLICALL.PARAMS+1
|
>STYA MLICALL.PARAMS+1
|
||||||
>MLICALL MLIGETPREFIX
|
>MLICALL MLIGETPREFIX
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.MLIOpenYA
|
* K.MLIOpenYA
|
||||||
* in :
|
* in :
|
||||||
* YA = FileName
|
* YA = FileName
|
||||||
* out :
|
* out :
|
||||||
* A = ref_num
|
* A = ref_num
|
||||||
* X = buf hMem
|
* X = buf hMem
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MLIOpenYA >STYA MLICALL.PARAMS+1
|
K.MLIOpenYA >STYA MLICALL.PARAMS+1
|
||||||
>PUSHWI 1024 get a ProDOS IO buffer
|
>PUSHWI 1024 get a ProDOS IO buffer
|
||||||
>PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
>PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
phx save Prodos Buffer hMem
|
phx save Prodos Buffer hMem
|
||||||
@ -81,24 +81,24 @@ S.MLIOpenYA >STYA MLICALL.PARAMS+1
|
|||||||
.98 plx get back Prodos Buffer hMem
|
.98 plx get back Prodos Buffer hMem
|
||||||
pha save MLI error
|
pha save MLI error
|
||||||
txa
|
txa
|
||||||
jsr S.FreeMemA discard Prodos Buffer
|
jsr K.FreeMemA discard Prodos Buffer
|
||||||
pla get back MLI error
|
pla get back MLI error
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.MLINewline
|
* K.MLINewline
|
||||||
* in :
|
* in :
|
||||||
* PULLB = ref_num
|
* PULLB = ref_num
|
||||||
* PULLB = Enable Mask
|
* PULLB = Enable Mask
|
||||||
* PULLB = Newline Char
|
* PULLB = Newline Char
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MLINewLine >PULLB MLICALL.PARAMS+1
|
K.MLINewLine >PULLB MLICALL.PARAMS+1
|
||||||
>PULLB MLICALL.PARAMS+2
|
>PULLB MLICALL.PARAMS+2
|
||||||
>PULLB MLICALL.PARAMS+3
|
>PULLB MLICALL.PARAMS+3
|
||||||
>MLICALL MLINEWLINE
|
>MLICALL MLINEWLINE
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.MLIRead
|
* K.MLIRead
|
||||||
* in :
|
* in :
|
||||||
* PULLB = ref_num
|
* PULLB = ref_num
|
||||||
* PULLW = Dest PTR
|
* PULLW = Dest PTR
|
||||||
@ -106,7 +106,7 @@ S.MLINewLine >PULLB MLICALL.PARAMS+1
|
|||||||
* out :
|
* out :
|
||||||
* Y,A = Bytes Read
|
* Y,A = Bytes Read
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MLIRead >PULLB MLICALL.PARAMS+1
|
K.MLIRead >PULLB MLICALL.PARAMS+1
|
||||||
>PULLW MLICALL.PARAMS+2
|
>PULLW MLICALL.PARAMS+2
|
||||||
>PULLW MLICALL.PARAMS+4
|
>PULLW MLICALL.PARAMS+4
|
||||||
>MLICALL MLIREAD
|
>MLICALL MLIREAD
|
||||||
@ -114,7 +114,7 @@ S.MLIRead >PULLB MLICALL.PARAMS+1
|
|||||||
>LDYA MLICALL.PARAMS+6
|
>LDYA MLICALL.PARAMS+6
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.MLIWrite
|
* K.MLIWrite
|
||||||
* in :
|
* in :
|
||||||
* PULLB = ref_num
|
* PULLB = ref_num
|
||||||
* PULLW = Src PTR
|
* PULLW = Src PTR
|
||||||
@ -122,7 +122,7 @@ S.MLIRead >PULLB MLICALL.PARAMS+1
|
|||||||
* out :
|
* out :
|
||||||
* Y,A = Bytes Written
|
* Y,A = Bytes Written
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MLIWrite >PULLB MLICALL.PARAMS+1
|
K.MLIWrite >PULLB MLICALL.PARAMS+1
|
||||||
>PULLW MLICALL.PARAMS+2
|
>PULLW MLICALL.PARAMS+2
|
||||||
>PULLW MLICALL.PARAMS+4
|
>PULLW MLICALL.PARAMS+4
|
||||||
>MLICALL MLIWRITE
|
>MLICALL MLIWRITE
|
||||||
@ -130,22 +130,22 @@ S.MLIWrite >PULLB MLICALL.PARAMS+1
|
|||||||
>LDYA MLICALL.PARAMS+6
|
>LDYA MLICALL.PARAMS+6
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.MLICloseA
|
* K.MLICloseA
|
||||||
* in :
|
* in :
|
||||||
* A = ref_num
|
* A = ref_num
|
||||||
* out :
|
* out :
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MLICloseA sta MLICALL.PARAMS+1
|
K.MLICloseA sta MLICALL.PARAMS+1
|
||||||
>MLICALL MLICLOSE
|
>MLICALL MLICLOSE
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.MLIGetEOF
|
* K.MLIGetEOF
|
||||||
* in :
|
* in :
|
||||||
* A = ref_num
|
* A = ref_num
|
||||||
* out :
|
* out :
|
||||||
* Y,A,X = EOF
|
* Y,A,X = EOF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MLIGetEOFA sta MLICALL.PARAMS+1
|
K.MLIGetEOFA sta MLICALL.PARAMS+1
|
||||||
>MLICALL MLIGETEOF
|
>MLICALL MLIGETEOF
|
||||||
bcs .9
|
bcs .9
|
||||||
>LDYA MLICALL.PARAMS+2
|
>LDYA MLICALL.PARAMS+2
|
||||||
|
@ -37,7 +37,7 @@ S.PFTCHECKPATHYA
|
|||||||
|
|
||||||
ldy #S.PFT.HANDLER
|
ldy #S.PFT.HANDLER
|
||||||
lda (ZPQuickPtr2),y get hLib
|
lda (ZPQuickPtr2),y get hLib
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA .3+1
|
>STYA .3+1
|
||||||
|
|
||||||
lda S.PFT.SYSCALL getback #SYSCALL
|
lda S.PFT.SYSCALL getback #SYSCALL
|
||||||
@ -72,12 +72,12 @@ S.PFTCHECKFILESTK
|
|||||||
S.PFTCHECKFILEA
|
S.PFTCHECKFILEA
|
||||||
S.PFTCHECKDIRA stx S.PFT.SYSCALL save #SYSCALL
|
S.PFTCHECKDIRA stx S.PFT.SYSCALL save #SYSCALL
|
||||||
sta S.PFT.hFILE
|
sta S.PFT.hFILE
|
||||||
jsr S.GetMemPtrA X = unmidified
|
jsr K.GetMemPtrA X = unmidified
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
lda (ZPQuickPtr1)
|
lda (ZPQuickPtr1)
|
||||||
beq .9 Handler is 0, back to kernel....
|
beq .9 Handler is 0, back to kernel....
|
||||||
|
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA .1+1
|
>STYA .1+1
|
||||||
|
|
||||||
lda S.PFT.SYSCALL getback #SYSCALL
|
lda S.PFT.SYSCALL getback #SYSCALL
|
||||||
|
@ -5,56 +5,56 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.SelectProcessA
|
* K.SelectProcessA
|
||||||
* In : A=PSID
|
* In : A=PSID
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.SelectProcessA
|
K.SelectProcessA
|
||||||
tay
|
tay
|
||||||
bne S.SelectProcessN
|
bne K.SelectProcessN
|
||||||
S.SelectProcess0
|
K.SelectProcess0
|
||||||
>LDYAI TskMgr.Table Make PS #0 as current process
|
>LDYAI TskMgr.Table Make PS #0 as current process
|
||||||
>STYA pPs
|
>STYA pPs
|
||||||
bra S.SelectProcessDev
|
bra K.SelectProcessDev
|
||||||
S.SelectProcessN
|
K.SelectProcessN
|
||||||
jsr S.GetPSByIDA
|
jsr K.GetPSByIDA
|
||||||
bcs *
|
bcs *
|
||||||
>STYA pPs
|
>STYA pPs
|
||||||
|
|
||||||
S.SelectProcess ldy #S.PS.hCS
|
K.SelectProcess ldy #S.PS.hCS
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA pCode
|
>STYA pCode
|
||||||
|
|
||||||
ldy #S.PS.hDS
|
ldy #S.PS.hDS
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
beq S.SelectProcessDev
|
beq K.SelectProcessDev
|
||||||
|
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
>STYA pData
|
>STYA pData
|
||||||
|
|
||||||
S.SelectProcessDev
|
K.SelectProcessDev
|
||||||
ldy #S.PS.hOUTDEV
|
ldy #S.PS.hOUTDEV
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
jsr S.GetDevByIDA
|
jsr K.GetDevByIDA
|
||||||
>STYA pDev
|
>STYA pDev
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.GetPSByIDA
|
* K.GetPSByIDA
|
||||||
* In :
|
* In :
|
||||||
* A = PID
|
* A = PID
|
||||||
* Out :
|
* Out :
|
||||||
* Y,A = PTR to TSKSLOT
|
* Y,A = PTR to TSKSLOT
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetPSByIDA sta S.GetPSByIDA.PS
|
K.GetPSByIDA sta K.GetPSByIDA.PS
|
||||||
|
|
||||||
>LDYAI TskMgr.Table
|
>LDYAI TskMgr.Table
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
lda S.GetPSByIDA.PS
|
lda K.GetPSByIDA.PS
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
@ -72,7 +72,7 @@ S.GetPSByIDA sta S.GetPSByIDA.PS
|
|||||||
|
|
||||||
ldy #S.PS.ID
|
ldy #S.PS.ID
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
cmp S.GetPSByIDA.PS
|
cmp K.GetPSByIDA.PS
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
.3 cpx TSKMGR.SIZE
|
.3 cpx TSKMGR.SIZE
|
||||||
@ -86,9 +86,9 @@ S.GetPSByIDA sta S.GetPSByIDA.PS
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.GetPSByIDA.PS .BS 1
|
K.GetPSByIDA.PS .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.Sleep pla get PC LO
|
K.Sleep pla get PC LO
|
||||||
sec
|
sec
|
||||||
sbc pCode
|
sbc pCode
|
||||||
ldy #S.PS.PC
|
ldy #S.PS.PC
|
||||||
@ -104,71 +104,71 @@ S.Sleep pla get PC LO
|
|||||||
clc No error,
|
clc No error,
|
||||||
rts back to Kernel
|
rts back to Kernel
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.ExecProcessNewEnvYA
|
* K.ExecProcessNewEnvYA
|
||||||
* S.ExecProcessYA (Blocking Parent PID)
|
* K.ExecProcessYA (Blocking Parent PID)
|
||||||
* S.CreateProcessNewEnvYA
|
* K.CreateProcessNewEnvYA
|
||||||
* S.CreateProcessYA (Non Blocking)
|
* K.CreateProcessYA (Non Blocking)
|
||||||
* in :
|
* in :
|
||||||
* Y,A = PTR To Cmd Line
|
* Y,A = PTR To Cmd Line
|
||||||
* out :
|
* out :
|
||||||
* A = Child PSID
|
* A = Child PSID
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.ExecProcessNewEnvYA
|
K.ExecProcessNewEnvYA
|
||||||
ldx #S.PS.F.ENV+S.PS.F.HOLD
|
ldx #S.PS.F.ENV+S.PS.F.HOLD
|
||||||
.HS 2C bit abs
|
.HS 2C bit abs
|
||||||
S.ExecProcessYA ldx #S.PS.F.HOLD
|
K.ExecProcessYA ldx #S.PS.F.HOLD
|
||||||
.HS 2C bit abs
|
.HS 2C bit abs
|
||||||
S.CreateProcessNewEnvYA
|
K.CreateProcessNewEnvYA
|
||||||
ldx #S.PS.F.ENV
|
ldx #S.PS.F.ENV
|
||||||
.HS 2C bit abs
|
.HS 2C bit abs
|
||||||
S.CreateProcessYA
|
K.CreateProcessYA
|
||||||
ldx #0
|
ldx #0
|
||||||
stx S.CreateProcess.Flags
|
stx K.CreateProcess.Flags
|
||||||
|
|
||||||
jsr S.ExpandPStrYA
|
jsr K.ExpandPStrYA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
stx S.CreateProcess.hCmdLine
|
stx K.CreateProcess.hCmdLine
|
||||||
>STYA S.CreateProcess.CmdLine
|
>STYA K.CreateProcess.CmdLine
|
||||||
|
|
||||||
jsr S.CreateProcess.Child
|
jsr K.CreateProcess.Child
|
||||||
bcs .98
|
bcs .98
|
||||||
|
|
||||||
sta S.CreateProcess.CPSID
|
sta K.CreateProcess.CPSID
|
||||||
|
|
||||||
jsr S.CreateProcess.Init
|
jsr K.CreateProcess.Init
|
||||||
bcs .97
|
bcs .97
|
||||||
|
|
||||||
lda S.CreateProcess.CPSID
|
lda K.CreateProcess.CPSID
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.97 pha save error code
|
.97 pha save error code
|
||||||
lda S.CreateProcess.CPSID
|
lda K.CreateProcess.CPSID
|
||||||
jsr S.FreeProcessA
|
jsr K.FreeProcessA
|
||||||
pla get back error code
|
pla get back error code
|
||||||
|
|
||||||
.98 pha
|
.98 pha
|
||||||
lda S.CreateProcess.hCmdLine
|
lda K.CreateProcess.hCmdLine
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
pla
|
pla
|
||||||
|
|
||||||
.99 sec
|
.99 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.CreateProcess.Flags .BS 1
|
K.CreateProcess.Flags .BS 1
|
||||||
S.CreateProcess.hCmdLine .BS 1
|
K.CreateProcess.hCmdLine .BS 1
|
||||||
S.CreateProcess.CmdLine .BS 2
|
K.CreateProcess.CmdLine .BS 2
|
||||||
S.CreateProcess.CPSID .BS 1
|
K.CreateProcess.CPSID .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.CreateProcess.Child
|
* K.CreateProcess.Child
|
||||||
* in :
|
* in :
|
||||||
* out :
|
* out :
|
||||||
* A = PSID
|
* A = PSID
|
||||||
* we cannot use ZPQuickPtrs1 & 2
|
* we cannot use ZPQuickPtrs1 & 2
|
||||||
* because of calling S.NewPStrYA & S.DupEnvA
|
* because of calling K.NewPStrYA & S.DupEnvA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.CreateProcess.Child
|
K.CreateProcess.Child
|
||||||
>LDYAI TskMgr.Table+S.PS.SIZE
|
>LDYAI TskMgr.Table+S.PS.SIZE
|
||||||
>STYA ZPQuickPtr3
|
>STYA ZPQuickPtr3
|
||||||
|
|
||||||
@ -201,7 +201,7 @@ S.CreateProcess.Child
|
|||||||
.4 inc TSKMGR.LASTID Get a PSID not alredy running
|
.4 inc TSKMGR.LASTID Get a PSID not alredy running
|
||||||
beq .4 not = 0
|
beq .4 not = 0
|
||||||
lda TSKMGR.LASTID
|
lda TSKMGR.LASTID
|
||||||
jsr S.GetPSByIDA
|
jsr K.GetPSByIDA
|
||||||
bcc .4
|
bcc .4
|
||||||
|
|
||||||
ldy #S.PS.ID
|
ldy #S.PS.ID
|
||||||
@ -217,15 +217,15 @@ S.CreateProcess.Child
|
|||||||
bne .5
|
bne .5
|
||||||
|
|
||||||
lda #S.PS.F.ENV
|
lda #S.PS.F.ENV
|
||||||
bit S.CreateProcess.Flags need to create ENV & Prefix ?
|
bit K.CreateProcess.Flags need to create ENV & Prefix ?
|
||||||
beq .6 no...
|
beq .6 no...
|
||||||
|
|
||||||
sta (ZPQuickPtr3) Mark this PS with ENV flag
|
sta (ZPQuickPtr3) Mark this PS with ENV flag
|
||||||
|
|
||||||
ldy #S.PS.hPREFIX copy hPREFIX...
|
ldy #S.PS.hPREFIX copy hPREFIX...
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
jsr S.GetMemPtrA
|
jsr K.GetMemPtrA
|
||||||
jsr S.NewPStrYA
|
jsr K.NewPStrYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
txa
|
txa
|
||||||
@ -268,7 +268,7 @@ S.CreateProcess.Child
|
|||||||
sta (pPs),y
|
sta (pPs),y
|
||||||
|
|
||||||
lda #S.PS.F.HOLD
|
lda #S.PS.F.HOLD
|
||||||
bit S.CreateProcess.Flags
|
bit K.CreateProcess.Flags
|
||||||
beq .82
|
beq .82
|
||||||
|
|
||||||
ora (pPs)
|
ora (pPs)
|
||||||
@ -282,9 +282,9 @@ S.CreateProcess.Child
|
|||||||
clc Exit with A=PSID
|
clc Exit with A=PSID
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.CreateProcess.Init
|
K.CreateProcess.Init
|
||||||
>LDYA S.CreateProcess.CmdLine
|
>LDYA K.CreateProcess.CmdLine
|
||||||
jsr S.PStr2StrArrayYA
|
jsr K.PStr2StrArrayYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
phy save PTR to StrArray...
|
phy save PTR to StrArray...
|
||||||
@ -297,7 +297,7 @@ S.CreateProcess.Init
|
|||||||
pla Restore PTR...
|
pla Restore PTR...
|
||||||
ply
|
ply
|
||||||
|
|
||||||
jsr S.LoadBinYA A = BinPath hMem
|
jsr K.LoadBinYA A = BinPath hMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPQuickPtr4 save PTR to Code Segment
|
>STYA ZPQuickPtr4 save PTR to Code Segment
|
||||||
@ -316,7 +316,7 @@ S.CreateProcess.Init
|
|||||||
lda (ZPQuickPtr4),y
|
lda (ZPQuickPtr4),y
|
||||||
>PUSHAX Push DS.SIZE
|
>PUSHAX Push DS.SIZE
|
||||||
>PUSHBI S.MEM.F.INIT0 Clear DS
|
>PUSHBI S.MEM.F.INIT0 Clear DS
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
txa
|
txa
|
||||||
@ -328,10 +328,10 @@ S.CreateProcess.Init
|
|||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.FreeProcessA
|
* K.FreeProcessA
|
||||||
* In : A = PID to free
|
* In : A = PID to free
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.FreeProcessA jsr S.GetPSByIDA
|
K.FreeProcessA jsr K.GetPSByIDA
|
||||||
bcs *
|
bcs *
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
@ -339,7 +339,7 @@ S.FreeProcessA jsr S.GetPSByIDA
|
|||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
|
|
||||||
lda (ZPQuickPtr1) get S.PS.F
|
lda (ZPQuickPtr1) get S.PS.F
|
||||||
and #S.PS.F.ENV do we have to discard duplicated env & prefix ?
|
and #S.PS.F.ENV do we have to discard duplicated env & prefix ?
|
||||||
@ -349,25 +349,25 @@ S.FreeProcessA jsr S.GetPSByIDA
|
|||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
|
|
||||||
.3 ldy #S.PS.hPREFIX
|
.3 ldy #S.PS.hPREFIX
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
beq .4
|
beq .4
|
||||||
|
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
|
|
||||||
.4 ldy #S.PS.hDS
|
.4 ldy #S.PS.hDS
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
beq .5
|
beq .5
|
||||||
|
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
|
|
||||||
.5 ldy #S.PS.hCS
|
.5 ldy #S.PS.hCS
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
jsr S.FreeMemA
|
jsr K.FreeMemA
|
||||||
|
|
||||||
.8 lda #0
|
.8 lda #0
|
||||||
sta (ZPQuickPtr1) Mark TSKSLOT as free
|
sta (ZPQuickPtr1) Mark TSKSLOT as free
|
||||||
@ -380,11 +380,11 @@ S.FreeProcessA jsr S.GetPSByIDA
|
|||||||
* Out:
|
* Out:
|
||||||
* A = hMem to new ENV
|
* A = hMem to new ENV
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.DupEnvA jsr S.GetMemPtrA
|
S.DupEnvA jsr K.GetMemPtrA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
>PUSHWI K.ENV.SIZE
|
>PUSHWI K.ENV.SIZE
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
>STYA ZPQuickPtr2
|
>STYA ZPQuickPtr2
|
||||||
|
|
||||||
|
@ -5,9 +5,9 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.InsBin
|
* K.InsBin
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.InsBin >LDYA S.LoadBin.NewBase
|
K.InsBin >LDYA K.LoadBin.NewBase
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
ldy #H.BIN.CODE.LEN make AX = Code Len
|
ldy #H.BIN.CODE.LEN make AX = Code Len
|
||||||
@ -17,31 +17,31 @@ S.InsBin >LDYA S.LoadBin.NewBase
|
|||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
sta Rel.CodeLen+1
|
sta Rel.CodeLen+1
|
||||||
|
|
||||||
lda S.LoadBin.OldBase
|
lda K.LoadBin.OldBase
|
||||||
sta Rel.Start Make BX=Range Start=AUXTYPE
|
sta Rel.Start Make BX=Range Start=AUXTYPE
|
||||||
clc
|
clc
|
||||||
adc S.LoadBin.SegLen
|
adc K.LoadBin.SegLen
|
||||||
sta Rel.End Make CX=Range End=AUXTYPE+FILELEN
|
sta Rel.End Make CX=Range End=AUXTYPE+FILELEN
|
||||||
|
|
||||||
lda S.LoadBin.OldBase+1
|
lda K.LoadBin.OldBase+1
|
||||||
sta Rel.Start+1
|
sta Rel.Start+1
|
||||||
adc S.LoadBin.SegLen+1
|
adc K.LoadBin.SegLen+1
|
||||||
sta Rel.End+1
|
sta Rel.End+1
|
||||||
|
|
||||||
lda ZPQuickPtr1 Compute relocation offset in DX
|
lda ZPQuickPtr1 Compute relocation offset in DX
|
||||||
sec
|
sec
|
||||||
sbc S.LoadBin.OldBase
|
sbc K.LoadBin.OldBase
|
||||||
sta Rel.Offset DX=Offset=ZPQuickPtr1-AUXTYPE
|
sta Rel.Offset DX=Offset=ZPQuickPtr1-AUXTYPE
|
||||||
lda ZPQuickPtr1+1
|
lda ZPQuickPtr1+1
|
||||||
sbc S.LoadBin.OldBase+1
|
sbc K.LoadBin.OldBase+1
|
||||||
sta Rel.Offset+1
|
sta Rel.Offset+1
|
||||||
|
|
||||||
jmp S.BinRelocate
|
jmp S.BinRelocate
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.InsDrv
|
* K.InsDrv
|
||||||
* pDrv = .DRV File Loaded Address
|
* pDrv = .DRV File Loaded Address
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.InsDrv ldy #H.BIN.DRV.CODE.LEN
|
K.InsDrv ldy #H.BIN.DRV.CODE.LEN
|
||||||
lda (pDrv),y
|
lda (pDrv),y
|
||||||
sta Rel.CodeLen
|
sta Rel.CodeLen
|
||||||
iny
|
iny
|
||||||
@ -51,45 +51,45 @@ S.InsDrv ldy #H.BIN.DRV.CODE.LEN
|
|||||||
ldy #H.BIN.DRV.CODE.O
|
ldy #H.BIN.DRV.CODE.O
|
||||||
lda (pDrv),y
|
lda (pDrv),y
|
||||||
clc
|
clc
|
||||||
adc S.LoadBin.OldBase
|
adc K.LoadBin.OldBase
|
||||||
sta Rel.Start
|
sta Rel.Start
|
||||||
iny
|
iny
|
||||||
lda (pDrv),y
|
lda (pDrv),y
|
||||||
adc S.LoadBin.OldBase+1
|
adc K.LoadBin.OldBase+1
|
||||||
sta Rel.Start+1 set BX=End Of Code
|
sta Rel.Start+1 set BX=End Of Code
|
||||||
|
|
||||||
lda S.LoadBin.OldBase
|
lda K.LoadBin.OldBase
|
||||||
clc
|
clc
|
||||||
adc S.LoadBin.SegLen
|
adc K.LoadBin.SegLen
|
||||||
sta Rel.End
|
sta Rel.End
|
||||||
lda S.LoadBin.OldBase+1
|
lda K.LoadBin.OldBase+1
|
||||||
adc S.LoadBin.SegLen+1
|
adc K.LoadBin.SegLen+1
|
||||||
sta Rel.End+1 set CX=End Of Range
|
sta Rel.End+1 set CX=End Of Range
|
||||||
|
|
||||||
ldy #H.BIN.DRV.CODE.O
|
ldy #H.BIN.DRV.CODE.O
|
||||||
lda S.LoadBin.SegLen
|
lda K.LoadBin.SegLen
|
||||||
sec
|
sec
|
||||||
sbc (pDrv),y
|
sbc (pDrv),y
|
||||||
sta S.InsDrv.DRVLen
|
sta K.InsDrv.DRVLen
|
||||||
iny
|
iny
|
||||||
lda S.LoadBin.SegLen+1
|
lda K.LoadBin.SegLen+1
|
||||||
sbc (pDrv),y
|
sbc (pDrv),y
|
||||||
sta S.InsDrv.DRVLen+1 Compute DRV Len
|
sta K.InsDrv.DRVLen+1 Compute DRV Len
|
||||||
|
|
||||||
lda DevMgr.Free
|
lda DevMgr.Free
|
||||||
clc
|
clc
|
||||||
adc S.InsDrv.DRVLen
|
adc K.InsDrv.DRVLen
|
||||||
sta S.InsDrv.DRVEnd
|
sta K.InsDrv.DRVEnd
|
||||||
lda DevMgr.Free+1
|
lda DevMgr.Free+1
|
||||||
adc S.InsDrv.DRVLen+1
|
adc K.InsDrv.DRVLen+1
|
||||||
sta S.InsDrv.DRVEnd+1
|
sta K.InsDrv.DRVEnd+1
|
||||||
|
|
||||||
bcs .98 we crossed $FFFF, out of mem
|
bcs .98 we crossed $FFFF, out of mem
|
||||||
|
|
||||||
lda S.InsDrv.DRVEnd
|
lda K.InsDrv.DRVEnd
|
||||||
sec
|
sec
|
||||||
sbc #DevMgr.HiMem
|
sbc #DevMgr.HiMem
|
||||||
lda S.InsDrv.DRVEnd+1
|
lda K.InsDrv.DRVEnd+1
|
||||||
sbc /DevMgr.HiMem
|
sbc /DevMgr.HiMem
|
||||||
bcs .98 No More Room to load Driver....
|
bcs .98 No More Room to load Driver....
|
||||||
|
|
||||||
@ -134,9 +134,9 @@ S.InsDrv ldy #H.BIN.DRV.CODE.LEN
|
|||||||
|
|
||||||
jsr S.DrvRelocate
|
jsr S.DrvRelocate
|
||||||
|
|
||||||
jsr S.InsDrv.Move
|
jsr K.InsDrv.Move
|
||||||
|
|
||||||
>LDYA S.InsDrv.DrvEnd
|
>LDYA K.InsDrv.DrvEnd
|
||||||
>STYA DevMgr.Free
|
>STYA DevMgr.Free
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
@ -149,7 +149,7 @@ S.InsDrv ldy #H.BIN.DRV.CODE.LEN
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.InsDrv.Move ldy #H.BIN.DEV.HEADER.O
|
K.InsDrv.Move ldy #H.BIN.DEV.HEADER.O
|
||||||
lda (pDrv),y
|
lda (pDrv),y
|
||||||
clc
|
clc
|
||||||
adc pDrv
|
adc pDrv
|
||||||
@ -170,7 +170,7 @@ S.InsDrv.Move ldy #H.BIN.DEV.HEADER.O
|
|||||||
sta (ZPQuickPtr1),y
|
sta (ZPQuickPtr1),y
|
||||||
|
|
||||||
lda DevMgr.LastDevID
|
lda DevMgr.LastDevID
|
||||||
jsr S.GetDevByIDA
|
jsr K.GetDevByIDA
|
||||||
>STYA pDev
|
>STYA pDev
|
||||||
|
|
||||||
ldy #S.DEV.SIZE Make sure DevMgr.Table Ends with 0
|
ldy #S.DEV.SIZE Make sure DevMgr.Table Ends with 0
|
||||||
@ -202,8 +202,8 @@ S.InsDrv.Move ldy #H.BIN.DEV.HEADER.O
|
|||||||
lda DevMgr.Free+1
|
lda DevMgr.Free+1
|
||||||
sta ZPQuickPtr2+1 Make ZPQuickPtr2=Dest Ram Location
|
sta ZPQuickPtr2+1 Make ZPQuickPtr2=Dest Ram Location
|
||||||
|
|
||||||
ldy S.InsDrv.DrvLen
|
ldy K.InsDrv.DrvLen
|
||||||
ldx S.InsDrv.DrvLen+1
|
ldx K.InsDrv.DrvLen+1
|
||||||
|
|
||||||
.2 lda (ZPQuickPtr1)
|
.2 lda (ZPQuickPtr1)
|
||||||
sta (ZPQuickPtr2)
|
sta (ZPQuickPtr2)
|
||||||
@ -226,8 +226,8 @@ S.InsDrv.Move ldy #H.BIN.DEV.HEADER.O
|
|||||||
bra .2
|
bra .2
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.InsDrv.DrvLen .BS 2
|
K.InsDrv.DrvLen .BS 2
|
||||||
S.InsDrv.DrvEnd .BS 2
|
K.InsDrv.DrvEnd .BS 2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.BinRelocate :
|
* S.BinRelocate :
|
||||||
* ZPQuickPtr1 = Ptr to Code
|
* ZPQuickPtr1 = Ptr to Code
|
||||||
|
@ -5,16 +5,16 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.KernelRun jsr S.TskMgrRun
|
K.KernelRun jsr K.TskMgrRun
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr S.GetEvents
|
jsr K.GetEvents
|
||||||
bcs S.KernelRun CS=no event
|
bcs K.KernelRun CS=no event
|
||||||
|
|
||||||
jsr S.DispatchEvents
|
jsr S.DispatchEvents
|
||||||
bcc S.KernelRun CC=All Events Dispatched
|
bcc K.KernelRun CC=All Events Dispatched
|
||||||
|
|
||||||
jsr S.SelectProcess0
|
jsr K.SelectProcess0
|
||||||
|
|
||||||
stz pEvent
|
stz pEvent
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ S.KernelRun jsr S.TskMgrRun
|
|||||||
lda A2osX.SCRNDEVS-1,x
|
lda A2osX.SCRNDEVS-1,x
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
jsr S.GetDevByIDA
|
jsr K.GetDevByIDA
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
>STYA pDev
|
>STYA pDev
|
||||||
@ -65,9 +65,9 @@ S.KernelRun jsr S.TskMgrRun
|
|||||||
bpl .71
|
bpl .71
|
||||||
|
|
||||||
>LDYAI MSG.DumpEvent
|
>LDYAI MSG.DumpEvent
|
||||||
jsr S.PSTROutYA
|
jsr K.PStrOutYA
|
||||||
|
|
||||||
.8 jsr S.DestroyEvent
|
.8 jsr K.DestroyEvent
|
||||||
|
|
||||||
.81 lda pEvent
|
.81 lda pEvent
|
||||||
clc
|
clc
|
||||||
@ -76,11 +76,11 @@ S.KernelRun jsr S.TskMgrRun
|
|||||||
lda EVTMGR.COUNT
|
lda EVTMGR.COUNT
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
beq S.KernelRun
|
beq K.KernelRun
|
||||||
|
|
||||||
.9 jsr DevMgr.SYS.Select
|
.9 jsr DevMgr.SYS.Select
|
||||||
>LDYAI MSG.KRNLPANIC
|
>LDYAI MSG.KRNLPANIC
|
||||||
jsr S.PSTROutYA
|
jsr K.PStrOutYA
|
||||||
bra *
|
bra *
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.DumpEvent >PSTRING "!Unhandled Event:Flags=%h,DevID=%h,DATALO=%h,DATAHI=%h,W1=%H,W2=%H\n"
|
MSG.DumpEvent >PSTRING "!Unhandled Event:Flags=%h,DevID=%h,DATALO=%h,DATAHI=%h,W1=%H,W2=%H\n"
|
||||||
|
@ -5,26 +5,26 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.NewPStrYA
|
* K.NewPStrYA
|
||||||
* IN:
|
* IN:
|
||||||
* Y,A = PTR to buffer
|
* Y,A = PTR to buffer
|
||||||
* OUT:
|
* OUT:
|
||||||
* Y,A = PTR to String
|
* Y,A = PTR to String
|
||||||
* X = hMem (PSTRING)
|
* X = hMem (PSTRING)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.NewPStrYA >STYA ZPQuickPtr1
|
K.NewPStrYA >STYA ZPQuickPtr1
|
||||||
lda (ZPQuickPtr1)
|
lda (ZPQuickPtr1)
|
||||||
inc
|
inc
|
||||||
tay
|
tay
|
||||||
lda #0 Y,A = len of new string
|
lda #0 Y,A = len of new string
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>PUSHBI 0 0 = no option
|
>PUSHBI 0 0 = no option
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPQuickPtr2
|
>STYA ZPQuickPtr2
|
||||||
|
|
||||||
jsr S.PStrCpyPtr1Ptr2
|
jsr K.PStrCpyPtr1Ptr2
|
||||||
|
|
||||||
>LDYA ZPQuickPtr2
|
>LDYA ZPQuickPtr2
|
||||||
|
|
||||||
@ -34,17 +34,17 @@ S.NewPStrYA >STYA ZPQuickPtr1
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.PStrCpy
|
* K.PStrCpy
|
||||||
* IN:
|
* IN:
|
||||||
* PULLW = PSTR to DST (PSTRING)
|
* PULLW = PSTR to DST (PSTRING)
|
||||||
* PULLW = PSTR to SRC (PSTRING)
|
* PULLW = PSTR to SRC (PSTRING)
|
||||||
* OUT:
|
* OUT:
|
||||||
* DST = SRC (PSTRING)
|
* DST = SRC (PSTRING)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PStrCpy >PULLW ZPQuickPtr2 save DST
|
K.PStrCpy >PULLW ZPQuickPtr2 save DST
|
||||||
>PULLW ZPQuickPtr1 save SRC
|
>PULLW ZPQuickPtr1 save SRC
|
||||||
|
|
||||||
S.PStrCpyPtr1Ptr2
|
K.PStrCpyPtr1Ptr2
|
||||||
lda (ZPQuickPtr1)
|
lda (ZPQuickPtr1)
|
||||||
sta (ZPQuickPtr2)
|
sta (ZPQuickPtr2)
|
||||||
tay
|
tay
|
||||||
@ -58,14 +58,14 @@ S.PStrCpyPtr1Ptr2
|
|||||||
.2 clc
|
.2 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.PStrCat
|
* K.PStrCat
|
||||||
* IN:
|
* IN:
|
||||||
* PULLW = PSTR to DST (PSTRING)
|
* PULLW = PSTR to DST (PSTRING)
|
||||||
* PULLW = PSTR to SRC (PSTRING)
|
* PULLW = PSTR to SRC (PSTRING)
|
||||||
* OUT:
|
* OUT:
|
||||||
* DST = DST+SRC (PSTRING)
|
* DST = DST+SRC (PSTRING)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PStrCat >PULLW ZPQuickPtr2 save DST
|
K.PStrCat >PULLW ZPQuickPtr2 save DST
|
||||||
>PULLW ZPQuickPtr1 save SRC
|
>PULLW ZPQuickPtr1 save SRC
|
||||||
|
|
||||||
lda (ZPQuickPtr1)
|
lda (ZPQuickPtr1)
|
||||||
@ -93,7 +93,7 @@ S.PStrCat >PULLW ZPQuickPtr2 save DST
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.PStrMatch
|
* K.PStrMatch
|
||||||
* IN:
|
* IN:
|
||||||
* PULLB = PTR to String (PSTRING)
|
* PULLB = PTR to String (PSTRING)
|
||||||
* PULLB = PTR to Pattern (PSTRING)
|
* PULLB = PTR to Pattern (PSTRING)
|
||||||
@ -101,7 +101,7 @@ S.PStrCat >PULLW ZPQuickPtr2 save DST
|
|||||||
* cc = match
|
* cc = match
|
||||||
* cs = no match
|
* cs = no match
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PStrMatch >PULLW ZPQuickPtr2 pull String
|
K.PStrMatch >PULLW ZPQuickPtr2 pull String
|
||||||
>PULLW ZPQuickPtr1 pull Pattern
|
>PULLW ZPQuickPtr1 pull Pattern
|
||||||
|
|
||||||
lda (ZPQuickPTR1) Keep Pattern Length in X
|
lda (ZPQuickPTR1) Keep Pattern Length in X
|
||||||
@ -167,25 +167,25 @@ S.PStrMatch >PULLW ZPQuickPtr2 pull String
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.PStrUprYA
|
* K.PStrUprYA
|
||||||
* S.PStrLwrYA
|
* K.PStrLwrYA
|
||||||
* IN:
|
* IN:
|
||||||
* Y,A = PTR to String (PSTRING)
|
* Y,A = PTR to String (PSTRING)
|
||||||
* OUT:
|
* OUT:
|
||||||
* Uppercased/lowercased String in Buffer
|
* Uppercased/lowercased String in Buffer
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PStrUprYA ldx #0
|
K.PStrUprYA ldx #0
|
||||||
.HS 2C bit abs
|
.HS 2C bit abs
|
||||||
S.PStrLwrYA ldx #2
|
K.PStrLwrYA ldx #2
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
|
|
||||||
lda (ZPQuickPtr1)
|
lda (ZPQuickPtr1)
|
||||||
tay
|
tay
|
||||||
|
|
||||||
.1 lda (ZPQuickPtr1),y
|
.1 lda (ZPQuickPtr1),y
|
||||||
cmp S.PstrUprLwr,x
|
cmp K.PStrUprLwr,x
|
||||||
bcc .2
|
bcc .2
|
||||||
cmp S.PstrUprLwr+1,x
|
cmp K.PStrUprLwr+1,x
|
||||||
bcs .2
|
bcs .2
|
||||||
eor #$20
|
eor #$20
|
||||||
sta (ZPQuickPtr1),y
|
sta (ZPQuickPtr1),y
|
||||||
@ -195,16 +195,16 @@ S.PStrLwrYA ldx #2
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PstrUprLwr .AS "azAZ"
|
K.PStrUprLwr .AS "azAZ"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.PStr2StrArrayYA
|
* K.PStr2StrArrayYA
|
||||||
* In :
|
* In :
|
||||||
* Y,A = PTR to String
|
* Y,A = PTR to String
|
||||||
* Out :
|
* Out :
|
||||||
* Y,A = PTR to StrArray
|
* Y,A = PTR to StrArray
|
||||||
* X = hMem
|
* X = hMem
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PStr2StrArrayYA
|
K.PStr2StrArrayYA
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
lda (ZPQuickPtr1) Get mem size STRLEN+1
|
lda (ZPQuickPtr1) Get mem size STRLEN+1
|
||||||
ldx #0
|
ldx #0
|
||||||
@ -214,7 +214,7 @@ S.PStr2StrArrayYA
|
|||||||
|
|
||||||
.1 >PUSHAX
|
.1 >PUSHAX
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
jsr S.GetMem
|
jsr K.GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
phx save hMem
|
phx save hMem
|
||||||
phy save PTR.LO
|
phy save PTR.LO
|
||||||
|
@ -12,31 +12,31 @@ CENTURY0 .EQ 19
|
|||||||
YEAR0 .EQ 70
|
YEAR0 .EQ 70
|
||||||
DAY0 .EQ 4 day 0 was a thursday
|
DAY0 .EQ 4 day 0 was a thursday
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.TimeYA get System Time
|
* K.TimeYA get System Time
|
||||||
* In :
|
* In :
|
||||||
* Y,A = PTR to S.TIME
|
* Y,A = PTR to K.Time
|
||||||
* Out :
|
* Out :
|
||||||
* S.TIME filled with ProDOS MLI date/time
|
* K.Time filled with ProDOS MLI date/time
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.TimeYA >STYA ZPQuickPtr2
|
K.TimeYA >STYA ZPQuickPtr2
|
||||||
>MLICALL MLIGETTIME
|
>MLICALL MLIGETTIME
|
||||||
>LDYAI DATELO
|
>LDYAI DATELO
|
||||||
>STYA ZPQuickPtr1
|
>STYA ZPQuickPtr1
|
||||||
bra S.PTime2Time.1
|
bra K.PTime2Time.1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* In :
|
* In :
|
||||||
* PULLW = Src PDATE/TIME (DWORD)
|
* PULLW = Src PDATE/TIME (DWORD)
|
||||||
* PULLW = Dst PTR To S.TIME
|
* PULLW = Dst PTR To K.Time
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.PTime2Time >PULLW ZPQuickPtr1
|
K.PTime2Time >PULLW ZPQuickPtr1
|
||||||
>PULLW ZPQuickPtr2
|
>PULLW ZPQuickPtr2
|
||||||
|
|
||||||
S.PTime2Time.1 ldy #1
|
K.PTime2Time.1 ldy #1
|
||||||
lda (ZPQuickPtr1),y Get Year
|
lda (ZPQuickPtr1),y Get Year
|
||||||
lsr C is high bit of month
|
lsr C is high bit of month
|
||||||
ldy #S.TIME.YEAR
|
ldy #S.Time.YEAR
|
||||||
sta (ZPQuickPtr2),y set year
|
sta (ZPQuickPtr2),y set year
|
||||||
sta S.CTime.Year for conputing Century/WDAY later
|
sta K.CTime.Year for conputing Century/WDAY later
|
||||||
|
|
||||||
lda (ZPQuickPtr1) Get Month/day
|
lda (ZPQuickPtr1) Get Month/day
|
||||||
pha save Day
|
pha save Day
|
||||||
@ -45,7 +45,7 @@ S.PTime2Time.1 ldy #1
|
|||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
ldy #S.TIME.MONTH
|
ldy #S.Time.MONTH
|
||||||
sta (ZPQuickPtr2),y set month
|
sta (ZPQuickPtr2),y set month
|
||||||
|
|
||||||
pla get back day
|
pla get back day
|
||||||
@ -53,7 +53,7 @@ S.PTime2Time.1 ldy #1
|
|||||||
iny
|
iny
|
||||||
sta (ZPQuickPtr2),y set day
|
sta (ZPQuickPtr2),y set day
|
||||||
|
|
||||||
lda S.CTime.Year get back year
|
lda K.CTime.Year get back year
|
||||||
|
|
||||||
cmp #69 if before 70 CC,if > 70, CS
|
cmp #69 if before 70 CC,if > 70, CS
|
||||||
lda #0
|
lda #0
|
||||||
@ -61,7 +61,7 @@ S.PTime2Time.1 ldy #1
|
|||||||
eor #1 toggle C
|
eor #1 toggle C
|
||||||
adc #19 set date before 1970 -> 20xx
|
adc #19 set date before 1970 -> 20xx
|
||||||
sta (ZPQuickPtr2) set Century
|
sta (ZPQuickPtr2) set Century
|
||||||
sta S.CTime.Century for conputing WDAY later
|
sta K.CTime.Century for conputing WDAY later
|
||||||
|
|
||||||
ldy #2
|
ldy #2
|
||||||
lda (ZPQuickPtr1),y Get Min
|
lda (ZPQuickPtr1),y Get Min
|
||||||
@ -69,7 +69,7 @@ S.PTime2Time.1 ldy #1
|
|||||||
iny
|
iny
|
||||||
lda (ZPQuickPtr1),y Get Hour
|
lda (ZPQuickPtr1),y Get Hour
|
||||||
|
|
||||||
ldy #S.TIME.HOUR
|
ldy #S.Time.HOUR
|
||||||
sta (ZPQuickPtr2),y set hour
|
sta (ZPQuickPtr2),y set hour
|
||||||
iny
|
iny
|
||||||
txa
|
txa
|
||||||
@ -80,22 +80,22 @@ S.PTime2Time.1 ldy #1
|
|||||||
|
|
||||||
* 1/1/1970 was Thursday...if not leap, add one, if leap add 2
|
* 1/1/1970 was Thursday...if not leap, add one, if leap add 2
|
||||||
|
|
||||||
S.ComputeWDAY lda #3 Thursday : 4 (-1 for mod 7)
|
K.ComputeWDAY lda #3 Thursday : 4 (-1 for mod 7)
|
||||||
pha
|
pha
|
||||||
lda #19
|
lda #19
|
||||||
sta S.CTime.DWORD
|
sta K.CTime.DWORD
|
||||||
lda #70
|
lda #70
|
||||||
sta S.CTime.DWORD+1
|
sta K.CTime.DWORD+1
|
||||||
|
|
||||||
.1 ldy S.CTime.DWORD
|
.1 ldy K.CTime.DWORD
|
||||||
lda S.CTime.DWORD+1
|
lda K.CTime.DWORD+1
|
||||||
|
|
||||||
cpy S.CTime.Century
|
cpy K.CTime.Century
|
||||||
bne .2
|
bne .2
|
||||||
cmp S.CTime.Year
|
cmp K.CTime.Year
|
||||||
beq .4
|
beq .4
|
||||||
|
|
||||||
.2 jsr S.IsLeapYearYA CC = Leap
|
.2 jsr K.IsLeapYearYA CC = Leap
|
||||||
lda #0
|
lda #0
|
||||||
rol
|
rol
|
||||||
eor #1
|
eor #1
|
||||||
@ -108,32 +108,32 @@ S.ComputeWDAY lda #3 Thursday : 4 (-1 for mod 7)
|
|||||||
sbc #7 MOD 7
|
sbc #7 MOD 7
|
||||||
|
|
||||||
.3 pha
|
.3 pha
|
||||||
inc S.CTime.DWORD+1
|
inc K.CTime.DWORD+1
|
||||||
lda S.CTime.DWORD+1
|
lda K.CTime.DWORD+1
|
||||||
cmp #100
|
cmp #100
|
||||||
bne .1
|
bne .1
|
||||||
lda #0
|
lda #0
|
||||||
sta S.CTime.DWORD+1
|
sta K.CTime.DWORD+1
|
||||||
inc S.CTime.DWORD
|
inc K.CTime.DWORD
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.4 ldy #S.TIME.MONTH
|
.4 ldy #S.Time.MONTH
|
||||||
lda (ZPQuickPtr2),y get month
|
lda (ZPQuickPtr2),y get month
|
||||||
tax
|
tax
|
||||||
|
|
||||||
.5 lda S.StrFTime.MDAY-1,x get day count in this month
|
.5 lda K.StrFTime.MDAY-1,x get day count in this month
|
||||||
bne .6 february ?
|
bne .6 february ?
|
||||||
|
|
||||||
ldy S.CTime.Century
|
ldy K.CTime.Century
|
||||||
lda S.CTime.Year
|
lda K.CTime.Year
|
||||||
jsr S.IsLeapYearYA CC = Leap
|
jsr K.IsLeapYearYA CC = Leap
|
||||||
lda #0
|
lda #0
|
||||||
rol
|
rol
|
||||||
eor #1
|
eor #1
|
||||||
lsr
|
lsr
|
||||||
|
|
||||||
.6 pla
|
.6 pla
|
||||||
adc S.StrFTime.MDAY-1,x
|
adc K.StrFTime.MDAY-1,x
|
||||||
cmp #7
|
cmp #7
|
||||||
bcc .7
|
bcc .7
|
||||||
sbc #7
|
sbc #7
|
||||||
@ -144,7 +144,7 @@ S.ComputeWDAY lda #3 Thursday : 4 (-1 for mod 7)
|
|||||||
|
|
||||||
pla
|
pla
|
||||||
|
|
||||||
ldy #S.TIME.DAY
|
ldy #S.Time.DAY
|
||||||
adc (ZPQuickPtr2),y get month (1..31)
|
adc (ZPQuickPtr2),y get month (1..31)
|
||||||
dec adjust range 0.31 for MOD 7
|
dec adjust range 0.31 for MOD 7
|
||||||
|
|
||||||
@ -154,195 +154,195 @@ S.ComputeWDAY lda #3 Thursday : 4 (-1 for mod 7)
|
|||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.80 inc adjust range 1..7
|
.80 inc adjust range 1..7
|
||||||
ldy #S.TIME.WDAY
|
ldy #S.Time.WDAY
|
||||||
sta (ZPQuickPtr2),y
|
sta (ZPQuickPtr2),y
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.CTime2Time
|
* K.CTime2Time
|
||||||
* In :
|
* In :
|
||||||
* PULLW = Src CTIME DWORD
|
* PULLW = Src CTIME DWORD
|
||||||
* PULLW = Dst PTR To S.TIME
|
* PULLW = Dst PTR To K.Time
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.CTime2Time >PULLW ZPQuickPtr1
|
K.CTime2Time >PULLW ZPQuickPtr1
|
||||||
>PULLW ZPQuickPtr2
|
>PULLW ZPQuickPtr2
|
||||||
|
|
||||||
ldy #3
|
ldy #3
|
||||||
|
|
||||||
.1 lda (ZPQuickPtr1),y
|
.1 lda (ZPQuickPtr1),y
|
||||||
sta S.CTime.DWORD,y
|
sta K.CTime.DWORD,y
|
||||||
dey
|
dey
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
stz S.CTime.DivDay
|
stz K.CTime.DivDay
|
||||||
stz S.CTime.DivDay+1
|
stz K.CTime.DivDay+1
|
||||||
|
|
||||||
.2 lda S.CTime.DWORD
|
.2 lda K.CTime.DWORD
|
||||||
sta S.CTime.ModDay
|
sta K.CTime.ModDay
|
||||||
sec
|
sec
|
||||||
sbc #SECSDAY
|
sbc #SECSDAY
|
||||||
pha
|
pha
|
||||||
|
|
||||||
lda S.CTime.DWORD+1
|
lda K.CTime.DWORD+1
|
||||||
sta S.CTime.ModDay+1
|
sta K.CTime.ModDay+1
|
||||||
sbc /SECSDAY
|
sbc /SECSDAY
|
||||||
pha
|
pha
|
||||||
|
|
||||||
lda S.CTime.DWORD+2
|
lda K.CTime.DWORD+2
|
||||||
sta S.CTime.ModDay+2
|
sta K.CTime.ModDay+2
|
||||||
sbc #0
|
sbc #0
|
||||||
pha
|
pha
|
||||||
|
|
||||||
lda S.CTime.DWORD+3
|
lda K.CTime.DWORD+3
|
||||||
sbc #0
|
sbc #0
|
||||||
bcc .3 end of DIV/MOD ?
|
bcc .3 end of DIV/MOD ?
|
||||||
|
|
||||||
sta S.CTime.DWORD+3
|
sta K.CTime.DWORD+3
|
||||||
pla
|
pla
|
||||||
sta S.CTime.DWORD+2
|
sta K.CTime.DWORD+2
|
||||||
pla
|
pla
|
||||||
sta S.CTime.DWORD+1
|
sta K.CTime.DWORD+1
|
||||||
pla
|
pla
|
||||||
sta S.CTime.DWORD
|
sta K.CTime.DWORD
|
||||||
|
|
||||||
inc S.CTime.DivDay
|
inc K.CTime.DivDay
|
||||||
bne .2
|
bne .2
|
||||||
inc S.CTime.DivDay+1
|
inc K.CTime.DivDay+1
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
.3 pla
|
.3 pla
|
||||||
pla
|
pla
|
||||||
pla
|
pla
|
||||||
stz S.CTime.Div60
|
stz K.CTime.Div60
|
||||||
stz S.CTime.Div60+1
|
stz K.CTime.Div60+1
|
||||||
|
|
||||||
.4 lda S.CTime.ModDay
|
.4 lda K.CTime.ModDay
|
||||||
sta S.CTime.Mod
|
sta K.CTime.Mod
|
||||||
sec
|
sec
|
||||||
sbc #60
|
sbc #60
|
||||||
pha
|
pha
|
||||||
|
|
||||||
lda S.CTime.ModDay+1
|
lda K.CTime.ModDay+1
|
||||||
sbc #0
|
sbc #0
|
||||||
pha
|
pha
|
||||||
|
|
||||||
lda S.CTime.ModDay+2
|
lda K.CTime.ModDay+2
|
||||||
sbc #0
|
sbc #0
|
||||||
|
|
||||||
bcc .5
|
bcc .5
|
||||||
|
|
||||||
sta S.CTime.ModDay+2
|
sta K.CTime.ModDay+2
|
||||||
pla
|
pla
|
||||||
sta S.CTime.ModDay+1
|
sta K.CTime.ModDay+1
|
||||||
pla
|
pla
|
||||||
sta S.CTime.ModDay
|
sta K.CTime.ModDay
|
||||||
|
|
||||||
inc S.CTime.Div60
|
inc K.CTime.Div60
|
||||||
bne .4
|
bne .4
|
||||||
inc S.CTime.Div60+1
|
inc K.CTime.Div60+1
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
.5 pla
|
.5 pla
|
||||||
pla
|
pla
|
||||||
lda S.CTime.Mod
|
lda K.CTime.Mod
|
||||||
ldy #S.TIME.SECOND
|
ldy #S.Time.SECOND
|
||||||
sta (ZPQuickPtr2),y
|
sta (ZPQuickPtr2),y
|
||||||
|
|
||||||
stz S.CTime.Div3600
|
stz K.CTime.Div3600
|
||||||
|
|
||||||
.6 lda S.CTime.Div60
|
.6 lda K.CTime.Div60
|
||||||
sta S.CTime.Mod
|
sta K.CTime.Mod
|
||||||
sec
|
sec
|
||||||
sbc #60
|
sbc #60
|
||||||
pha
|
pha
|
||||||
|
|
||||||
lda S.CTime.Div60+1
|
lda K.CTime.Div60+1
|
||||||
sbc #0
|
sbc #0
|
||||||
pha
|
pha
|
||||||
|
|
||||||
bcc .7
|
bcc .7
|
||||||
|
|
||||||
sta S.CTime.Div60+1
|
sta K.CTime.Div60+1
|
||||||
pla
|
pla
|
||||||
sta S.CTime.Div60
|
sta K.CTime.Div60
|
||||||
|
|
||||||
inc S.CTime.Div3600
|
inc K.CTime.Div3600
|
||||||
bne .6
|
bne .6
|
||||||
|
|
||||||
.7 pla
|
.7 pla
|
||||||
|
|
||||||
lda S.CTime.Mod
|
lda K.CTime.Mod
|
||||||
dey ldy #S.TIME.MINUTE
|
dey ldy #S.Time.MINUTE
|
||||||
sta (ZPQuickPtr2),y
|
sta (ZPQuickPtr2),y
|
||||||
|
|
||||||
lda S.CTime.Div3600
|
lda K.CTime.Div3600
|
||||||
dey ldy #S.TIME.HOUR
|
dey ldy #S.Time.HOUR
|
||||||
sta (ZPQuickPtr2),y
|
sta (ZPQuickPtr2),y
|
||||||
|
|
||||||
lda S.CTime.DivDay WDAY computation : (DivDay + DAY0) mod 7
|
lda K.CTime.DivDay WDAY computation : (DivDay + DAY0) mod 7
|
||||||
clc
|
clc
|
||||||
adc #DAY0
|
adc #DAY0
|
||||||
pha
|
pha
|
||||||
lda S.CTime.DivDay+1
|
lda K.CTime.DivDay+1
|
||||||
adc /DAY0
|
adc /DAY0
|
||||||
eor #$ff
|
eor #$ff
|
||||||
tax
|
tax
|
||||||
pla
|
pla
|
||||||
|
|
||||||
.8 sta S.CTime.Mod
|
.8 sta K.CTime.Mod
|
||||||
sec
|
sec
|
||||||
sbc #7
|
sbc #7
|
||||||
bcs .8
|
bcs .8
|
||||||
inx
|
inx
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
lda S.CTime.Mod
|
lda K.CTime.Mod
|
||||||
ldy #S.TIME.WDAY
|
ldy #S.Time.WDAY
|
||||||
sta (ZPQuickPtr2),y
|
sta (ZPQuickPtr2),y
|
||||||
|
|
||||||
lda #CENTURY0
|
lda #CENTURY0
|
||||||
sta S.CTime.Century
|
sta K.CTime.Century
|
||||||
lda #YEAR0
|
lda #YEAR0
|
||||||
sta S.CTime.Year
|
sta K.CTime.Year
|
||||||
|
|
||||||
S.CTime2Time.Year
|
K.CTime2Time.Year
|
||||||
.1 ldy S.CTime.Century
|
.1 ldy K.CTime.Century
|
||||||
lda S.CTime.Year
|
lda K.CTime.Year
|
||||||
jsr S.IsLeapYearYA if Leap year CC
|
jsr K.IsLeapYearYA if Leap year CC
|
||||||
lda S.CTime.DivDay
|
lda K.CTime.DivDay
|
||||||
sbc #365
|
sbc #365
|
||||||
pha
|
pha
|
||||||
lda S.CTime.DivDay+1
|
lda K.CTime.DivDay+1
|
||||||
sbc /365
|
sbc /365
|
||||||
bcc .2
|
bcc .2
|
||||||
|
|
||||||
sta S.CTime.DivDay+1
|
sta K.CTime.DivDay+1
|
||||||
pla
|
pla
|
||||||
sta S.CTime.DivDay
|
sta K.CTime.DivDay
|
||||||
|
|
||||||
inc S.CTime.Year
|
inc K.CTime.Year
|
||||||
lda S.CTime.Year
|
lda K.CTime.Year
|
||||||
cmp #100
|
cmp #100
|
||||||
bne .1
|
bne .1
|
||||||
stz S.CTime.Year
|
stz K.CTime.Year
|
||||||
inc S.CTime.Century
|
inc K.CTime.Century
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.2 pla
|
.2 pla
|
||||||
lda S.CTime.Century
|
lda K.CTime.Century
|
||||||
* ldy #S.TIME.CENTURY
|
* ldy #S.Time.CENTURY
|
||||||
sta (ZPQuickPtr2)
|
sta (ZPQuickPtr2)
|
||||||
ldy #S.TIME.YEAR
|
ldy #S.Time.YEAR
|
||||||
lda S.CTime.Year
|
lda K.CTime.Year
|
||||||
sta (ZPQuickPtr2),y
|
sta (ZPQuickPtr2),y
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.StrFTime
|
* K.StrFTime
|
||||||
* In :
|
* In :
|
||||||
* PULLW = Src PTR To S.TIME
|
* PULLW = Src PTR To K.Time
|
||||||
* PULLW = Src PTR To Format String
|
* PULLW = Src PTR To Format String
|
||||||
* PULLW = Dst PTR To PSTR Buf
|
* PULLW = Dst PTR To PSTR Buf
|
||||||
* %a Abbreviated weekday name : Thu
|
* %a Abbreviated weekday name : Thu
|
||||||
@ -361,7 +361,7 @@ S.CTime2Time.Year
|
|||||||
* %Y Year four digits 2001
|
* %Y Year four digits 2001
|
||||||
* PULLW = Dst PSTR Buffer
|
* PULLW = Dst PSTR Buffer
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.StrFTime >PULLW ZPQuickPtr1
|
K.StrFTime >PULLW ZPQuickPtr1
|
||||||
>PULLW ZPQuickPtr2
|
>PULLW ZPQuickPtr2
|
||||||
>PULLW ZPQuickPtr3
|
>PULLW ZPQuickPtr3
|
||||||
|
|
||||||
@ -376,7 +376,7 @@ S.StrFTime >PULLW ZPQuickPtr1
|
|||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
phy
|
phy
|
||||||
jsr S.StrFTime.addChar
|
jsr K.StrFTime.addChar
|
||||||
ply
|
ply
|
||||||
.10 tya
|
.10 tya
|
||||||
cmp (ZPQuickPtr2)
|
cmp (ZPQuickPtr2)
|
||||||
@ -388,18 +388,18 @@ S.StrFTime >PULLW ZPQuickPtr1
|
|||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
iny
|
iny
|
||||||
ldx #S.StrFTime.JMPL-S.StrFTime.Tbl-1
|
ldx #K.StrFTime.JMPL-K.StrFTime.Tbl-1
|
||||||
|
|
||||||
.3 lda (ZPQuickPtr2),y
|
.3 lda (ZPQuickPtr2),y
|
||||||
cmp S.StrFTime.Tbl,x
|
cmp K.StrFTime.Tbl,x
|
||||||
beq .4
|
beq .4
|
||||||
dex
|
dex
|
||||||
bpl .3
|
bpl .3
|
||||||
beq .10
|
beq .10
|
||||||
|
|
||||||
.4 lda S.StrFTime.JMPL,x
|
.4 lda K.StrFTime.JMPL,x
|
||||||
sta .5+1
|
sta .5+1
|
||||||
lda S.StrFTime.JMPH,x
|
lda K.StrFTime.JMPH,x
|
||||||
sta .5+2
|
sta .5+2
|
||||||
phy
|
phy
|
||||||
.5 jsr $ffff
|
.5 jsr $ffff
|
||||||
@ -408,24 +408,24 @@ S.StrFTime >PULLW ZPQuickPtr1
|
|||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.StrFTime.A ldx #3 Max Len
|
K.StrFTime.A ldx #3 Max Len
|
||||||
.HS 2C Bit abs
|
.HS 2C Bit abs
|
||||||
|
|
||||||
S.StrFTime.AA ldx #15
|
K.StrFTime.AA ldx #15
|
||||||
>LDYAI S.StrFTime.DAY
|
>LDYAI K.StrFTime.DAY
|
||||||
>STYA ZPQuickPtr4
|
>STYA ZPQuickPtr4
|
||||||
ldy #S.TIME.WDAY
|
ldy #S.Time.WDAY
|
||||||
bra S.StrFTime.STR
|
bra K.StrFTime.STR
|
||||||
|
|
||||||
S.StrFTime.B ldx #3
|
K.StrFTime.B ldx #3
|
||||||
.HS 2C Bit abs
|
.HS 2C Bit abs
|
||||||
|
|
||||||
S.StrFTime.BB ldx #15
|
K.StrFTime.BB ldx #15
|
||||||
>LDYAI S.StrFTime.MON
|
>LDYAI K.StrFTime.MON
|
||||||
>STYA ZPQuickPtr4
|
>STYA ZPQuickPtr4
|
||||||
ldy #S.TIME.MONTH
|
ldy #S.Time.MONTH
|
||||||
|
|
||||||
S.StrFTime.STR lda (ZPQuickPtr1),y get required S.TIME field value
|
K.StrFTime.STR lda (ZPQuickPtr1),y get required S.Time field value
|
||||||
tay
|
tay
|
||||||
beq .8 Illegal value
|
beq .8 Illegal value
|
||||||
|
|
||||||
@ -444,7 +444,7 @@ S.StrFTime.STR lda (ZPQuickPtr1),y get required S.TIME field value
|
|||||||
.3 iny
|
.3 iny
|
||||||
lda (ZPQuickPtr4),y
|
lda (ZPQuickPtr4),y
|
||||||
phy
|
phy
|
||||||
jsr S.StrFTime.addChar
|
jsr K.StrFTime.addChar
|
||||||
pla
|
pla
|
||||||
cmp (ZPQuickPtr4)
|
cmp (ZPQuickPtr4)
|
||||||
beq .8
|
beq .8
|
||||||
@ -455,69 +455,69 @@ S.StrFTime.STR lda (ZPQuickPtr1),y get required S.TIME field value
|
|||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
|
|
||||||
S.StrFTime.D ldy #S.TIME.DAY
|
K.StrFTime.D ldy #S.Time.DAY
|
||||||
bra S.StrFTime.addDecPtr1Y
|
bra K.StrFTime.addDecPtr1Y
|
||||||
S.StrFTime.HH ldy #S.TIME.HOUR
|
K.StrFTime.HH ldy #S.Time.HOUR
|
||||||
bra S.StrFTime.addDecPtr1Y
|
bra K.StrFTime.addDecPtr1Y
|
||||||
S.StrFTime.II ldy #S.TIME.HOUR
|
K.StrFTime.II ldy #S.Time.HOUR
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
cmp #12
|
cmp #12
|
||||||
bcc .1
|
bcc .1
|
||||||
sbc #12
|
sbc #12
|
||||||
.1 bra S.StrFTime.addDecA
|
.1 bra K.StrFTime.addDecA
|
||||||
S.StrFTime.M ldy #S.TIME.MONTH
|
K.StrFTime.M ldy #S.Time.MONTH
|
||||||
bra S.StrFTime.addDecPtr1Y
|
bra K.StrFTime.addDecPtr1Y
|
||||||
S.StrFTime.MM ldy #S.TIME.MINUTE
|
K.StrFTime.MM ldy #S.Time.MINUTE
|
||||||
bra S.StrFTime.addDecPtr1Y
|
bra K.StrFTime.addDecPtr1Y
|
||||||
S.StrFTime.P ldy #S.TIME.HOUR
|
K.StrFTime.P ldy #S.Time.HOUR
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
cmp #12
|
cmp #12
|
||||||
bcc .1
|
bcc .1
|
||||||
lda #'p'
|
lda #'p'
|
||||||
.HS 2C bit abs
|
.HS 2C bit abs
|
||||||
.1 lda #'a'
|
.1 lda #'a'
|
||||||
jsr S.StrFTime.addChar
|
jsr K.StrFTime.addChar
|
||||||
lda #'m'
|
lda #'m'
|
||||||
bra S.StrFTime.addChar
|
bra K.StrFTime.addChar
|
||||||
S.StrFTime.SS ldy #S.TIME.SECOND
|
K.StrFTime.SS ldy #S.Time.SECOND
|
||||||
bra S.StrFTime.addDecPtr1Y
|
bra K.StrFTime.addDecPtr1Y
|
||||||
S.StrFTime.W ldy #S.TIME.WDAY
|
K.StrFTime.W ldy #S.Time.WDAY
|
||||||
bra S.StrFTime.addDecPtr1Y
|
bra K.StrFTime.addDecPtr1Y
|
||||||
S.StrFTime.YY ldy #S.TIME.CENTURY
|
K.StrFTime.YY ldy #S.Time.CENTURY
|
||||||
jsr S.StrFTime.addDecPtr1Y
|
jsr K.StrFTime.addDecPtr1Y
|
||||||
S.StrFTime.Y ldy #S.TIME.YEAR
|
K.StrFTime.Y ldy #S.Time.YEAR
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.StrFTime.addDecPtr1Y
|
K.StrFTime.addDecPtr1Y
|
||||||
lda (ZPQuickPtr1),y
|
lda (ZPQuickPtr1),y
|
||||||
S.StrFTime.addDecA
|
K.StrFTime.addDecA
|
||||||
sta S.StrFTime.BIN
|
sta K.StrFTime.BIN
|
||||||
stz S.StrFTime.DEC
|
stz K.StrFTime.DEC
|
||||||
sed
|
sed
|
||||||
ldx #8
|
ldx #8
|
||||||
|
|
||||||
.1 asl S.StrFTime.BIN
|
.1 asl K.StrFTime.BIN
|
||||||
|
|
||||||
lda S.StrFTime.DEC
|
lda K.StrFTime.DEC
|
||||||
adc S.StrFTime.DEC
|
adc K.StrFTime.DEC
|
||||||
sta S.StrFTime.DEC
|
sta K.StrFTime.DEC
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bne .1
|
bne .1
|
||||||
cld
|
cld
|
||||||
|
|
||||||
* lda S.StrFTime.DEC already in A
|
* lda K.StrFTime.DEC already in A
|
||||||
|
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
ora #$30
|
ora #$30
|
||||||
jsr S.StrFTime.addChar
|
jsr K.StrFTime.addChar
|
||||||
lda S.StrFTime.DEC
|
lda K.StrFTime.DEC
|
||||||
and #$0f
|
and #$0f
|
||||||
ora #$30
|
ora #$30
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.StrFTime.addChar
|
K.StrFTime.addChar
|
||||||
pha
|
pha
|
||||||
lda (ZPQuickPtr3)
|
lda (ZPQuickPtr3)
|
||||||
inc
|
inc
|
||||||
@ -527,38 +527,38 @@ S.StrFTime.addChar
|
|||||||
sta (ZPQuickPtr3),y
|
sta (ZPQuickPtr3),y
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.StrFTime.TBL .AS "aAbBdHImMpSwyY"
|
K.StrFTime.TBL .AS "aAbBdHImMpSwyY"
|
||||||
S.StrFTime.JMPL .DA #S.StrFTime.A
|
K.StrFTime.JMPL .DA #K.StrFTime.A
|
||||||
.DA #S.StrFTime.AA
|
.DA #K.StrFTime.AA
|
||||||
.DA #S.StrFTime.B
|
.DA #K.StrFTime.B
|
||||||
.DA #S.StrFTime.BB
|
.DA #K.StrFTime.BB
|
||||||
.DA #S.StrFTime.D
|
.DA #K.StrFTime.D
|
||||||
.DA #S.StrFTime.HH
|
.DA #K.StrFTime.HH
|
||||||
.DA #S.StrFTime.II
|
.DA #K.StrFTime.II
|
||||||
.DA #S.StrFTime.M
|
.DA #K.StrFTime.M
|
||||||
.DA #S.StrFTime.MM
|
.DA #K.StrFTime.MM
|
||||||
.DA #S.StrFTime.P
|
.DA #K.StrFTime.P
|
||||||
.DA #S.StrFTime.SS
|
.DA #K.StrFTime.SS
|
||||||
.DA #S.StrFTime.W
|
.DA #K.StrFTime.W
|
||||||
.DA #S.StrFTime.Y
|
.DA #K.StrFTime.Y
|
||||||
.DA #S.StrFTime.YY
|
.DA #K.StrFTime.YY
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.StrFTime.JMPH .DA /S.StrFTime.A
|
K.StrFTime.JMPH .DA /K.StrFTime.A
|
||||||
.DA /S.StrFTime.AA
|
.DA /K.StrFTime.AA
|
||||||
.DA /S.StrFTime.B
|
.DA /K.StrFTime.B
|
||||||
.DA /S.StrFTime.BB
|
.DA /K.StrFTime.BB
|
||||||
.DA /S.StrFTime.D
|
.DA /K.StrFTime.D
|
||||||
.DA /S.StrFTime.HH
|
.DA /K.StrFTime.HH
|
||||||
.DA /S.StrFTime.II
|
.DA /K.StrFTime.II
|
||||||
.DA /S.StrFTime.M
|
.DA /K.StrFTime.M
|
||||||
.DA /S.StrFTime.MM
|
.DA /K.StrFTime.MM
|
||||||
.DA /S.StrFTime.P
|
.DA /K.StrFTime.P
|
||||||
.DA /S.StrFTime.SS
|
.DA /K.StrFTime.SS
|
||||||
.DA /S.StrFTime.W
|
.DA /K.StrFTime.W
|
||||||
.DA /S.StrFTime.Y
|
.DA /K.StrFTime.Y
|
||||||
.DA /S.StrFTime.YY
|
.DA /K.StrFTime.YY
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.StrFTime.DAY >PSTRING "Monday"
|
K.StrFTime.DAY >PSTRING "Monday"
|
||||||
>PSTRING "Tuesday"
|
>PSTRING "Tuesday"
|
||||||
>PSTRING "Wednesday"
|
>PSTRING "Wednesday"
|
||||||
>PSTRING "Thursday"
|
>PSTRING "Thursday"
|
||||||
@ -566,7 +566,7 @@ S.StrFTime.DAY >PSTRING "Monday"
|
|||||||
>PSTRING "Saturday"
|
>PSTRING "Saturday"
|
||||||
>PSTRING "Sunday"
|
>PSTRING "Sunday"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.StrFTime.MON >PSTRING "January"
|
K.StrFTime.MON >PSTRING "January"
|
||||||
>PSTRING "February"
|
>PSTRING "February"
|
||||||
>PSTRING "March"
|
>PSTRING "March"
|
||||||
>PSTRING "April"
|
>PSTRING "April"
|
||||||
@ -589,7 +589,7 @@ S.StrFTime.MON >PSTRING "January"
|
|||||||
* CC = Leap
|
* CC = Leap
|
||||||
* CS = Not Leap
|
* CS = Not Leap
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.IsLeapYearYA cmp #0 Year = 00 ?
|
K.IsLeapYearYA cmp #0 Year = 00 ?
|
||||||
bne .1 no
|
bne .1 no
|
||||||
|
|
||||||
tya year = 00, get century in a
|
tya year = 00, get century in a
|
||||||
@ -605,20 +605,20 @@ S.IsLeapYearYA cmp #0 Year = 00 ?
|
|||||||
.9 clc Leap
|
.9 clc Leap
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.CTime.DWORD .BS 4
|
K.CTime.DWORD .BS 4
|
||||||
S.CTime.DivDay .BS 2
|
K.CTime.DivDay .BS 2
|
||||||
S.CTime.ModDay .BS 3
|
K.CTime.ModDay .BS 3
|
||||||
S.CTime.Div60 .BS 2
|
K.CTime.Div60 .BS 2
|
||||||
S.CTime.Div3600 .BS 1
|
K.CTime.Div3600 .BS 1
|
||||||
S.CTime.Mod .BS 1
|
K.CTime.Mod .BS 1
|
||||||
S.CTime.Century .BS 1
|
K.CTime.Century .BS 1
|
||||||
S.CTime.Year .BS 1
|
K.CTime.Year .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.StrFTime.BIN .BS 1
|
K.StrFTime.BIN .BS 1
|
||||||
S.StrFTime.DEC .BS 1 always < 100
|
K.StrFTime.DEC .BS 1 always < 100
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.StrFTime.MDAY .DA #3,#0,#3,#2,#3,#2,#3,#3,#2,#3,#2,#3
|
K.StrFTime.MDAY .DA #3,#0,#3,#2,#3,#2,#3,#3,#2,#3,#2,#3
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.TIME
|
SAVE SYS/KERNEL.S.Time
|
||||||
LOAD SYS/KERNEL.S
|
LOAD SYS/KERNEL.S
|
||||||
ASM
|
ASM
|
||||||
|
@ -5,9 +5,9 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* S.TskMgrRun
|
* K.TskMgrRun
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.TskMgrRun >LDYAI TskMgr.Table+S.PS.SIZE skip PS 0
|
K.TskMgrRun >LDYAI TskMgr.Table+S.PS.SIZE skip PS 0
|
||||||
>STYA pPs
|
>STYA pPs
|
||||||
|
|
||||||
lda TSKMGR.SIZE
|
lda TSKMGR.SIZE
|
||||||
@ -24,14 +24,14 @@ S.TskMgrRun >LDYAI TskMgr.Table+S.PS.SIZE skip PS 0
|
|||||||
|
|
||||||
ldy #S.PS.CID
|
ldy #S.PS.CID
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
jsr S.GetPSByIDA
|
jsr K.GetPSByIDA
|
||||||
bcc .7 yes, running....
|
bcc .7 yes, running....
|
||||||
|
|
||||||
lda (pPs) get S.PS.F
|
lda (pPs) get S.PS.F
|
||||||
and #$FF^S.PS.F.HOLD unmark as HOLD
|
and #$FF^S.PS.F.HOLD unmark as HOLD
|
||||||
sta (pPs)
|
sta (pPs)
|
||||||
|
|
||||||
.2 jsr S.SelectProcess
|
.2 jsr K.SelectProcess
|
||||||
|
|
||||||
lda (pPS)
|
lda (pPS)
|
||||||
bit #S.PS.F.INIT
|
bit #S.PS.F.INIT
|
||||||
@ -71,7 +71,7 @@ S.TskMgrRun >LDYAI TskMgr.Table+S.PS.SIZE skip PS 0
|
|||||||
|
|
||||||
ldy #S.PS.ID
|
ldy #S.PS.ID
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
jsr S.FreeProcessA
|
jsr K.FreeProcessA
|
||||||
bcs *
|
bcs *
|
||||||
|
|
||||||
.7 lda pPs
|
.7 lda pPs
|
||||||
@ -113,7 +113,7 @@ S.DispatchEvents
|
|||||||
bit #S.PS.F.EVENT Accept Events ?
|
bit #S.PS.F.EVENT Accept Events ?
|
||||||
beq .4
|
beq .4
|
||||||
|
|
||||||
jsr S.SelectProcess
|
jsr K.SelectProcess
|
||||||
|
|
||||||
stz pEvent
|
stz pEvent
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ S.DispatchEvents
|
|||||||
ldx #TSKMGR.DOEVENT
|
ldx #TSKMGR.DOEVENT
|
||||||
jsr pCodeJmp Call DOEVENT function
|
jsr pCodeJmp Call DOEVENT function
|
||||||
bcs .3
|
bcs .3
|
||||||
jsr S.DestroyEvent
|
jsr K.DestroyEvent
|
||||||
lda EVTMGR.COUNT
|
lda EVTMGR.COUNT
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
@ -156,7 +156,7 @@ S.DispatchEvents
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.TskMgrQuit clc
|
K.TskMgrQuit clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TSKMGR.SIZE .BS 1
|
TSKMGR.SIZE .BS 1
|
||||||
|
@ -43,7 +43,7 @@ ZPQuickPtr4 .EQ ZPKERNEL+6
|
|||||||
jsr Kernel.Init3
|
jsr Kernel.Init3
|
||||||
>DEBUGOA
|
>DEBUGOA
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
jmp S.KernelRun
|
jmp K.KernelRun
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB X.PRINTF.S
|
.INB X.PRINTF.S
|
||||||
.INB SYS/KERNEL.S.INIT2
|
.INB SYS/KERNEL.S.INIT2
|
||||||
@ -79,7 +79,7 @@ A2osX.D001.END .EQ *
|
|||||||
A2osX.D002 .EQ *
|
A2osX.D002 .EQ *
|
||||||
.PH $D000
|
.PH $D000
|
||||||
.INB SYS/KERNEL.S.REL
|
.INB SYS/KERNEL.S.REL
|
||||||
.INB SYS/KERNEL.S.TIME
|
.INB SYS/KERNEL.S.Time
|
||||||
.EP
|
.EP
|
||||||
A2osX.D002.END .EQ *
|
A2osX.D002.END .EQ *
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user