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