mirror of
https://github.com/A2osX/A2osX.git
synced 2024-08-12 14:29:33 +00:00
Kernel 0.9.1 : Code reorganization & move to CSTR (PS switcher, LS, IRQ & VBL)
This commit is contained in:
parent
38c8649e23
commit
c85f3c62c4
Binary file not shown.
Binary file not shown.
98
BIN/LS.S.txt
98
BIN/LS.S.txt
@ -29,9 +29,10 @@ CS.START cld
|
|||||||
.DA #$61 6502,Level 1 (65c02)
|
.DA #$61 6502,Level 1 (65c02)
|
||||||
.DA #1 BIN Layout Version 1
|
.DA #1 BIN Layout Version 1
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA CS.END-CS.START Code Length To Relocate
|
.DA CS.END-CS.START CS
|
||||||
.DA DS.END-DS.START Data Segment to Allocate
|
.DA DS.END-DS.START DS
|
||||||
.DA 0
|
.DA #16 SS
|
||||||
|
.DA #8 ZP
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Relocation Table
|
* Relocation Table
|
||||||
@ -47,20 +48,15 @@ L.MSG.DIREXT .DA MSG.DIREXT
|
|||||||
L.MSG.FILE .DA MSG.FILE
|
L.MSG.FILE .DA MSG.FILE
|
||||||
L.MSG.FILEEXT .DA MSG.FILEEXT
|
L.MSG.FILEEXT .DA MSG.FILEEXT
|
||||||
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
|
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
|
||||||
L.STAT .DA STAT
|
|
||||||
L.TIME.Format .DA TIME.Format
|
L.TIME.Format .DA TIME.Format
|
||||||
L.TIME.Create .DA TIME.Create
|
|
||||||
L.TIME.Mod .DA TIME.Mod
|
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT >SYSCALL GetArgC
|
CS.INIT ldy #S.PS.ARGC
|
||||||
sta ArgCount
|
lda (pPs),y
|
||||||
|
>STA.G ArgCount
|
||||||
|
beq .7
|
||||||
|
|
||||||
.1 dec ArgCount
|
.1 >SYSCALL GetArg.A
|
||||||
beq .5
|
|
||||||
|
|
||||||
lda ArgCount
|
|
||||||
>SYSCALL GetArg.A
|
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
|
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
@ -89,15 +85,18 @@ CS.INIT >SYSCALL GetArgC
|
|||||||
.3 ldy OptionVars-1,x
|
.3 ldy OptionVars-1,x
|
||||||
lda #$80
|
lda #$80
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
bra .1
|
bra .7
|
||||||
|
|
||||||
.4 >LDYA ZPPtr1
|
.4 >LDYA ZPPtr1
|
||||||
jsr InitSrcDirYA
|
jsr InitSrcDirYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
bra .1 scan for any other args
|
>LDA.G ArgCount
|
||||||
|
dec
|
||||||
|
sta (pData),y
|
||||||
|
bne .1 scan for any other args
|
||||||
|
|
||||||
.5 ldy #index
|
.7 ldy #index
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
@ -217,17 +216,14 @@ CS.RUN.DEV ldy #bLong
|
|||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.DIR ldy #bAllmostAll
|
CS.RUN.DIR >LDA.G bAllmostAll
|
||||||
lda (pData),y
|
|
||||||
bpl .10
|
bpl .10
|
||||||
|
|
||||||
ldy #1
|
lda (ZPFileName)
|
||||||
lda (ZPFileName),y
|
|
||||||
cmp #'.'
|
cmp #'.'
|
||||||
beq .5
|
beq .5
|
||||||
|
|
||||||
.10 ldy #bLong
|
.10 >LDA.G bLong
|
||||||
lda (pData),y
|
|
||||||
bmi .4
|
bmi .4
|
||||||
|
|
||||||
>PUSHW ZPFileName
|
>PUSHW ZPFileName
|
||||||
@ -235,19 +231,19 @@ CS.RUN.DIR ldy #bAllmostAll
|
|||||||
>SYSCALL PrintF.YA
|
>SYSCALL PrintF.YA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #80/MAX.COL-2
|
ldy #0
|
||||||
sec
|
|
||||||
sbc (ZPFileName)
|
|
||||||
beq .2
|
|
||||||
tax
|
|
||||||
|
|
||||||
.1 lda #' '
|
.1 lda (ZPFileName),y
|
||||||
phx
|
beq .11
|
||||||
|
|
||||||
|
.11 lda #' '
|
||||||
|
phy
|
||||||
>SYSCALL PutChar.A
|
>SYSCALL PutChar.A
|
||||||
plx
|
ply
|
||||||
bcs .9
|
bcs .9
|
||||||
dex
|
iny
|
||||||
bne .1
|
cpy #16
|
||||||
|
bne .11
|
||||||
|
|
||||||
.2 jsr CS.RUN.UpdateColCnt
|
.2 jsr CS.RUN.UpdateColCnt
|
||||||
bcc .5
|
bcc .5
|
||||||
@ -271,8 +267,7 @@ CS.RUN.DIR ldy #bAllmostAll
|
|||||||
lda (pData),y
|
lda (pData),y
|
||||||
bpl .8
|
bpl .8
|
||||||
|
|
||||||
ldy #1
|
lda (ZPFileName)
|
||||||
lda (ZPFileName),y
|
|
||||||
cmp #'.'
|
cmp #'.'
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
@ -354,7 +349,8 @@ CS.RUN.PUSHEXTRA
|
|||||||
lda (ZPFileStat),y
|
lda (ZPFileStat),y
|
||||||
beq .1 Month=0.....invalid date/time
|
beq .1 Month=0.....invalid date/time
|
||||||
|
|
||||||
>PUSHW L.TIME.Mod
|
>LEA.G TIME.Mod
|
||||||
|
>PUSHYA
|
||||||
>PUSHW L.TIME.Format
|
>PUSHW L.TIME.Format
|
||||||
lda ZPFileStat
|
lda ZPFileStat
|
||||||
clc
|
clc
|
||||||
@ -369,7 +365,8 @@ CS.RUN.PUSHEXTRA
|
|||||||
lda (ZPFileStat),y
|
lda (ZPFileStat),y
|
||||||
beq .2 Month=0.....invalid date/time
|
beq .2 Month=0.....invalid date/time
|
||||||
|
|
||||||
>PUSHW L.TIME.Create
|
>LEA.G TIME.Create
|
||||||
|
>PUSHYA
|
||||||
>PUSHW L.TIME.Format
|
>PUSHW L.TIME.Format
|
||||||
lda ZPFileStat
|
lda ZPFileStat
|
||||||
clc
|
clc
|
||||||
@ -380,8 +377,10 @@ CS.RUN.PUSHEXTRA
|
|||||||
>PUSHYA
|
>PUSHYA
|
||||||
>SYSCALL StrFTime
|
>SYSCALL StrFTime
|
||||||
|
|
||||||
.2 >PUSHW L.TIME.Mod ModTime
|
.2 >LEA.G TIME.Mod
|
||||||
>PUSHW L.TIME.Create Create Time
|
>PUSHYA
|
||||||
|
>LEA.G TIME.Create
|
||||||
|
>PUSHYA
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.UpdateColCnt
|
CS.RUN.UpdateColCnt
|
||||||
@ -472,12 +471,12 @@ CS.END
|
|||||||
OptionList >PSTR "ALRalr"
|
OptionList >PSTR "ALRalr"
|
||||||
OptionVars .DA #bAllmostAll,#bLong,#bRecurse,#bAllmostAll,#bLong,#bRecurse
|
OptionVars .DA #bAllmostAll,#bLong,#bRecurse,#bAllmostAll,#bLong,#bRecurse
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.DEVEXT >CSTR "%15S S%d,D%d Blocks Used:%5D,Total:%5D\r\n"
|
MSG.DEVEXT >CSTR "%15s S%d,D%d Blocks Used:%5D Total:%5D\r\n"
|
||||||
MSG.DIR >CSTR "%S/"
|
MSG.DIR >CSTR "%s/"
|
||||||
MSG.ENTER >CSTR "Directory:%S\r\n"
|
MSG.ENTER >CSTR "Directory:%s\r\n"
|
||||||
MSG.DIREXT >CSTR "%16S <dir> %a %s %s\r\n"
|
MSG.DIREXT >CSTR "%16s <dir> %a %s %s\r\n"
|
||||||
MSG.FILE >CSTR "%19S"
|
MSG.FILE >CSTR "%19s"
|
||||||
MSG.FILEEXT >CSTR "%15S %S $%H %a %10u %s %s\r\n"
|
MSG.FILEEXT >CSTR "%15s %S $%H %a %10u %s %s\r\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PRODOS.FT.HEX .HS 0406FAFCFDE2FF
|
PRODOS.FT.HEX .HS 0406FAFCFDE2FF
|
||||||
PRODOS.FT.TXT >PSTR "TXT"
|
PRODOS.FT.TXT >PSTR "TXT"
|
||||||
@ -490,16 +489,19 @@ PRODOS.FT.TXT >PSTR "TXT"
|
|||||||
PRODOS.FT.DFLT >PSTR "$ "
|
PRODOS.FT.DFLT >PSTR "$ "
|
||||||
TIME.NODATE >CSTR " <No-Date> "
|
TIME.NODATE >CSTR " <No-Date> "
|
||||||
TIME.Format >CSTR "%d-%b-%y %H:%M"
|
TIME.Format >CSTR "%d-%b-%y %H:%M"
|
||||||
TIME.Create .BS 20
|
|
||||||
TIME.Mod .BS 20
|
|
||||||
HEXDIGIT .AS '0123456789ABCDEF'
|
HEXDIGIT .AS '0123456789ABCDEF'
|
||||||
STAT .BS S.STAT
|
|
||||||
ArgCount .BS 1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
|
ArgCount .BS 1
|
||||||
Index .BS 1
|
Index .BS 1
|
||||||
|
STAT .BS S.STAT
|
||||||
|
TIME.Create .BS 20
|
||||||
|
TIME.Mod .BS 20
|
||||||
|
|
||||||
|
hFullPath .BS 1
|
||||||
|
bExists .BS 1
|
||||||
hDIRs .BS X.MAX.RECURSE
|
hDIRs .BS X.MAX.RECURSE
|
||||||
hDIRENTs .BS X.MAX.RECURSE
|
hDIRENTs .BS X.MAX.RECURSE
|
||||||
oDIRENTs .BS X.MAX.RECURSE*2
|
oDIRENTs .BS X.MAX.RECURSE*2
|
||||||
|
@ -22,9 +22,10 @@ CS.START cld
|
|||||||
.DA #$61 6502,Level 1 (65c02)
|
.DA #$61 6502,Level 1 (65c02)
|
||||||
.DA #1 BIN Layout Version 1
|
.DA #1 BIN Layout Version 1
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA CS.END-CS.START Code Length To Relocate
|
.DA CS.END-CS.START CS
|
||||||
.DA 0 Data Segment to Allocate
|
.DA DS.END-DS.START DS
|
||||||
.DA 0
|
.DA #16 SS
|
||||||
|
.DA #4 ZP
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Relocation Table
|
* Relocation Table
|
||||||
@ -37,7 +38,6 @@ L.MSG0 .DA MSG0
|
|||||||
L.MSG1 .DA MSG1
|
L.MSG1 .DA MSG1
|
||||||
L.MSG2.C .DA MSG2.C
|
L.MSG2.C .DA MSG2.C
|
||||||
L.MSG2.B .DA MSG2.B
|
L.MSG2.B .DA MSG2.B
|
||||||
L.DEV.SIZE .DA DEV.SIZE
|
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT clc
|
CS.INIT clc
|
||||||
@ -46,11 +46,9 @@ CS.INIT clc
|
|||||||
CS.RUN >LDYA L.MSG0
|
CS.RUN >LDYA L.MSG0
|
||||||
>SYSCALL PrintF.YA
|
>SYSCALL PrintF.YA
|
||||||
|
|
||||||
stz DEV.ID
|
>LDA.G DEV.ID
|
||||||
|
|
||||||
lda DEV.ID
|
.1 >SYSCALL GetDevByID.A
|
||||||
|
|
||||||
.1 >SYSCALL GetDevByIDA
|
|
||||||
bcs .7
|
bcs .7
|
||||||
|
|
||||||
>STYA ZPPTR1
|
>STYA ZPPTR1
|
||||||
@ -59,8 +57,8 @@ CS.RUN >LDYA L.MSG0
|
|||||||
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda DEV.ID
|
>LDA.G DEV.ID
|
||||||
>SYSCALL GetDevByIDA
|
>SYSCALL GetDevByID.A
|
||||||
>STYA pDev
|
>STYA pDev
|
||||||
|
|
||||||
ldx #DEVMGR.STATUS
|
ldx #DEVMGR.STATUS
|
||||||
@ -77,8 +75,9 @@ CS.RUN >LDYA L.MSG0
|
|||||||
lda #10
|
lda #10
|
||||||
>SYSCALL PutChar.A
|
>SYSCALL PutChar.A
|
||||||
|
|
||||||
.7 inc DEV.ID
|
.7 >LDA.G DEV.ID
|
||||||
lda DEV.ID
|
inc
|
||||||
|
sta (pData),y
|
||||||
cmp #K.DEV.MAX
|
cmp #K.DEV.MAX
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
@ -106,28 +105,51 @@ DumpHeader ldy #S.DEV.DRV.JMP+1
|
|||||||
>PUSHB (ZPPTR1),y
|
>PUSHB (ZPPTR1),y
|
||||||
|
|
||||||
ldy #S.DEV.S
|
ldy #S.DEV.S
|
||||||
>PUSHB (ZPPTR1),y
|
lda (ZPPTR1),y
|
||||||
sta DEV.S
|
>STA.G DEV.S
|
||||||
|
|
||||||
>PUSHB DEV.ID
|
ldy #DEV.SFLAGS+7
|
||||||
|
ldx #7
|
||||||
|
|
||||||
|
.1 lsr
|
||||||
|
pha
|
||||||
|
lda #'-'
|
||||||
|
bcc .2
|
||||||
|
lda MSG.SFLAGS,x
|
||||||
|
|
||||||
|
.2 sta (pData),y
|
||||||
|
pla
|
||||||
|
dey
|
||||||
|
dex
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
>LEA.G DEV.SFLAGS
|
||||||
|
>PUSHYA
|
||||||
|
|
||||||
|
>LDA.G DEV.ID
|
||||||
|
>PUSHA
|
||||||
|
|
||||||
>LDYA L.MSG1
|
>LDYA L.MSG1
|
||||||
>SYSCALL PrintF.YA
|
>SYSCALL PrintF.YA
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DumpStatus bit DEV.S
|
DumpStatus >LDA.G DEV.S
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
ldy #S.DEVSTAT.SIZE
|
ldy #S.DEVSTAT.SIZE
|
||||||
lda (ZPPTR2),y
|
lda (ZPPTR2),y
|
||||||
sta DEV.SIZE
|
>STA.G DEV.SIZE
|
||||||
iny
|
|
||||||
|
ldy #S.DEVSTAT.SIZE+1
|
||||||
lda (ZPPTR2),y
|
lda (ZPPTR2),y
|
||||||
sta DEV.SIZE+1
|
>STA.G DEV.SIZE+1
|
||||||
iny
|
|
||||||
|
ldy #S.DEVSTAT.SIZE+2
|
||||||
lda (ZPPTR2),y
|
lda (ZPPTR2),y
|
||||||
sta DEV.SIZE+2
|
>STA.G DEV.SIZE+2
|
||||||
>PUSHW L.DEV.SIZE
|
|
||||||
|
>LEA.G DEV.SIZE
|
||||||
|
>PUSHYA
|
||||||
|
|
||||||
.1 ldy #S.DEVSTAT.VERSION+1
|
.1 ldy #S.DEVSTAT.VERSION+1
|
||||||
>PUSHB (ZPPTR2),y
|
>PUSHB (ZPPTR2),y
|
||||||
@ -148,7 +170,7 @@ DumpStatus bit DEV.S
|
|||||||
dey
|
dey
|
||||||
>PUSHB (ZPPTR2),y
|
>PUSHB (ZPPTR2),y
|
||||||
|
|
||||||
bit DEV.S
|
>LDA.G DEV.S
|
||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
>LDYA L.MSG2.B
|
>LDYA L.MSG2.B
|
||||||
@ -166,13 +188,21 @@ CS.QUIT clc
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
MSG0 >CSTR "ID Status Flags Name Addr. Typ/Sub IDString Version Size (BLK)\r\n"
|
MSG0 >CSTR "ID Status Flags Name Addr. Typ/Sub IDString Version Size (BLK)\r\n"
|
||||||
MSG1 >CSTR "%03d %b %b %4S $%H "
|
MSG1 >CSTR "%03d %s %b %4s $%H "
|
||||||
MSG2.B >CSTR "$%h/$%h %16S %03d.%03d %10u"
|
MSG2.B >CSTR "$%h/$%h %16S %03d.%03d %10u"
|
||||||
MSG2.C >CSTR "$%h/$%h %16S %03d.%03d n/a"
|
MSG2.C >CSTR "$%h/$%h %16S %03d.%03d n/a"
|
||||||
|
MSG.SFLAGS .AS "BWRLNEIO"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
.DUMMY
|
||||||
|
.OR 0
|
||||||
|
DS.START
|
||||||
DEV.ID .BS 1
|
DEV.ID .BS 1
|
||||||
DEV.S .BS 1
|
DEV.S .BS 1
|
||||||
DEV.SIZE .BS 4
|
DEV.SIZE .BS 4
|
||||||
|
DEV.SFLAGS .BS 9
|
||||||
|
DS.END
|
||||||
|
.ED
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE /A2OSX.SRC/BIN/LSDEV.S
|
SAVE /A2OSX.SRC/BIN/LSDEV.S
|
||||||
ASM
|
ASM
|
||||||
|
26
BIN/PS.S.txt
26
BIN/PS.S.txt
@ -20,9 +20,10 @@ CS.START cld
|
|||||||
.DA #$61 6502,Level 1 (65c02)
|
.DA #$61 6502,Level 1 (65c02)
|
||||||
.DA #1 BIN Layout Version 1
|
.DA #1 BIN Layout Version 1
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA CS.END-CS.START Code Length To Relocate
|
.DA CS.END-CS.START CS
|
||||||
.DA 0 Data Segment to Allocate
|
.DA DS.END-DS.START DS
|
||||||
.DA 0
|
.DA #16 SS
|
||||||
|
.DA #2 ZP
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Relocation Table
|
* Relocation Table
|
||||||
@ -47,14 +48,15 @@ CS.RUN >LDYA pData
|
|||||||
lda (pData) PS.COUNT
|
lda (pData) PS.COUNT
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
|
.1 >LDA.G PS.Index
|
||||||
|
inc
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
.1 dec
|
|
||||||
asl
|
|
||||||
tay
|
tay
|
||||||
|
|
||||||
lda (pData),y PID
|
lda (pData),y PID
|
||||||
|
|
||||||
|
>SYSCALL GetMemPtr.A
|
||||||
|
>STYA ZPPTR1
|
||||||
|
|
||||||
ldy #S.PS.hARGS
|
ldy #S.PS.hARGS
|
||||||
lda (ZPPTR1),y
|
lda (ZPPTR1),y
|
||||||
@ -74,13 +76,6 @@ CS.RUN >LDYA pData
|
|||||||
>LDYA L.MSG1
|
>LDYA L.MSG1
|
||||||
>SYSCALL PrintF.YA
|
>SYSCALL PrintF.YA
|
||||||
|
|
||||||
.4 lda ZPPTR1
|
|
||||||
clc
|
|
||||||
adc #S.PS
|
|
||||||
sta ZPPTR1
|
|
||||||
bcc .5
|
|
||||||
inc ZPPTR1+1
|
|
||||||
|
|
||||||
.7 lda (pData) PS.COUNT
|
.7 lda (pData) PS.COUNT
|
||||||
dec
|
dec
|
||||||
sta (pData)
|
sta (pData)
|
||||||
@ -104,7 +99,8 @@ MSG1 >CSTR "%03d %b %03d %S\r\n"
|
|||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
PS.COUNT .BS 1
|
PS.COUNT .BS 1
|
||||||
PS.DATA .BS K.PS.MAX+K.PS.MAX
|
PS.DATA .BS K.PS.MAX
|
||||||
|
PS.Index .BS 1
|
||||||
DS.END
|
DS.END
|
||||||
.ED
|
.ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -17,27 +17,33 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
|
|||||||
bcc .10
|
bcc .10
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.10 stx .90+1
|
.10 >STYA ZPPtr1
|
||||||
>STYA ZPPtr1
|
txa
|
||||||
|
>STA.G hFullPath
|
||||||
|
|
||||||
lda (ZPPtr1)
|
ldy #1
|
||||||
cmp #1
|
lda (ZPPtr1),y
|
||||||
beq .5 we have '/'
|
beq .5 we have '/'
|
||||||
|
|
||||||
>PUSHW L.STAT
|
>LEA.G STAT
|
||||||
|
>PUSHYA
|
||||||
>PUSHW ZPPtr1
|
>PUSHW ZPPtr1
|
||||||
>SYSCALL Stat
|
>SYSCALL Stat
|
||||||
ror
|
ror
|
||||||
sta .30+1 save file exists for later.....
|
>STA.G bExists save file exists for later.....
|
||||||
bmi .1 File/DIR does not exists, go extract pattern
|
bmi .1 File/DIR does not exists, go extract pattern
|
||||||
|
|
||||||
lda STAT+S.STAT.P.TYPE
|
>LDA.G STAT+S.STAT.P.TYPE
|
||||||
cmp #$0f
|
cmp #$0f
|
||||||
beq .5 TYPE=DIR, do not extract wildcard
|
beq .5 TYPE=DIR, do not extract wildcard
|
||||||
|
|
||||||
.1 lda (ZPPtr1) Get Src Path Len
|
ldy #0
|
||||||
tay
|
|
||||||
|
|
||||||
|
.1 iny
|
||||||
|
lda (ZPPtr1),y Get Src Path Len
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
dey
|
||||||
ldx #0 Init Wildcard count
|
ldx #0 Init Wildcard count
|
||||||
|
|
||||||
.2 lda (ZPPtr1),y search backward for a /
|
.2 lda (ZPPtr1),y search backward for a /
|
||||||
@ -53,36 +59,29 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
|
|||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
.3 tya
|
.3 tya
|
||||||
cmp (ZPPtr1)
|
* cmp (ZPPtr1)
|
||||||
beq .5 Make sure at least one char
|
* beq .5 Make sure at least one char
|
||||||
|
|
||||||
txa
|
txa
|
||||||
bne .31 we have wc, go extract....
|
bne .4 we have wc, go extract....
|
||||||
|
|
||||||
.30 lda #$ff no wc, remember if file exists?
|
.30 lda #$ff no wc, remember if file exists?
|
||||||
bmi .91 no, file not found....
|
bmi .91 no, file not found....
|
||||||
|
|
||||||
.31 ldx #0
|
.4 tya save / pos to trunk string later
|
||||||
phy save / pos to trunk string later
|
>STA.G index
|
||||||
|
|
||||||
.4 iny
|
|
||||||
inx
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
sta UsrBuf256,x
|
|
||||||
tya
|
tya
|
||||||
cmp (ZPPtr1)
|
clc
|
||||||
bne .4
|
adc ZPPtr1
|
||||||
|
tay
|
||||||
|
lda ZPPtr1+1
|
||||||
|
adc #0
|
||||||
|
|
||||||
pla get back / pos
|
>SYSCALL Newstr.YA
|
||||||
sta (ZPPtr1) trunk it for Opendir
|
|
||||||
stx UsrBuf256 set pattern len
|
|
||||||
|
|
||||||
>LDYAI UsrBuf256
|
|
||||||
>SYSCALL NewPstrYA
|
|
||||||
bcs .9
|
bcs .9
|
||||||
txa
|
txa
|
||||||
ldy #hFilter
|
>STA.G hFilter
|
||||||
sta (pData),y
|
|
||||||
|
|
||||||
.5 >LDYAI 256
|
.5 >LDYAI 256
|
||||||
>SYSCALL GetMem.YA Get a 256 buffer to store BasePath
|
>SYSCALL GetMem.YA Get a 256 buffer to store BasePath
|
||||||
@ -90,28 +89,26 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
|
|||||||
|
|
||||||
>STYA ZPPtr2
|
>STYA ZPPtr2
|
||||||
txa
|
txa
|
||||||
ldy #hSrcBasePath
|
>STA.G hSrcBasePath
|
||||||
sta (pData),y
|
|
||||||
|
|
||||||
lda (ZPPtr1)
|
>LDA.G index
|
||||||
pha
|
|
||||||
tay
|
tay
|
||||||
|
|
||||||
.6 lda (ZPPtr1),y
|
|
||||||
sta (ZPPtr2),y
|
|
||||||
dey
|
dey
|
||||||
bne .6
|
|
||||||
|
|
||||||
ply
|
|
||||||
lda #'/'
|
lda #'/'
|
||||||
cmp (ZPPtr1),y
|
cmp (ZPPtr1),y
|
||||||
beq .7
|
beq .51
|
||||||
|
|
||||||
iny
|
iny
|
||||||
sta (ZPPtr2),y
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
.7 tya
|
.51 lda #0
|
||||||
sta (ZPPtr2)
|
sta (ZPPtr1),y Trunk before filter string
|
||||||
|
|
||||||
|
ldy #$ff
|
||||||
|
|
||||||
|
.6 iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sta (ZPPtr2),y
|
||||||
|
bne .6
|
||||||
|
|
||||||
>LDYA ZPPtr2
|
>LDYA ZPPtr2
|
||||||
>SYSCALL OpenDir.YA
|
>SYSCALL OpenDir.YA
|
||||||
@ -132,7 +129,7 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
|
|||||||
|
|
||||||
.91 lda #MLI.ERR.FNOTFND
|
.91 lda #MLI.ERR.FNOTFND
|
||||||
.9 pha
|
.9 pha
|
||||||
.90 lda #$ff self modified
|
.90 >LDA.G hFullPath
|
||||||
>SYSCALL FreeMem.A
|
>SYSCALL FreeMem.A
|
||||||
pla
|
pla
|
||||||
sec
|
sec
|
||||||
@ -146,12 +143,13 @@ InitDstDirYA >SYSCALL GetFullPath.YA
|
|||||||
stx .90+1
|
stx .90+1
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
|
|
||||||
>PUSHW L.STAT
|
>LEA.G STAT
|
||||||
|
>PUSHYA
|
||||||
>PUSHW ZPPtr1
|
>PUSHW ZPPtr1
|
||||||
>SYSCALL Stat
|
>SYSCALL Stat
|
||||||
bcs .1 File/DIR does not exists, go extract DstFileName
|
bcs .1 File/DIR does not exists, go extract DstFileName
|
||||||
|
|
||||||
lda STAT+S.STAT.P.TYPE
|
>LDA.G STAT+S.STAT.P.TYPE
|
||||||
cmp #$0f
|
cmp #$0f
|
||||||
beq .5 Dst is a directory...no destfilename
|
beq .5 Dst is a directory...no destfilename
|
||||||
|
|
||||||
@ -236,8 +234,12 @@ InitDstDirYA >SYSCALL GetFullPath.YA
|
|||||||
GetNextEntry jsr GetEntry
|
GetNextEntry jsr GetEntry
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda (ZPFileName) Save actual file len for setting up
|
ldy #0
|
||||||
tax new offset later
|
|
||||||
|
.10 iny
|
||||||
|
lda (ZPFileName),y Save actual file len for setting up
|
||||||
|
bne .10
|
||||||
|
phy new offset later
|
||||||
|
|
||||||
lda ZPFileStat
|
lda ZPFileStat
|
||||||
clc
|
clc
|
||||||
@ -265,7 +267,7 @@ GetNextEntry jsr GetEntry
|
|||||||
adc #oDIRENTs-1
|
adc #oDIRENTs-1
|
||||||
tay
|
tay
|
||||||
|
|
||||||
txa Get back previous file len
|
pla Get back previous file len
|
||||||
|
|
||||||
sec
|
sec
|
||||||
adc (pData),y
|
adc (pData),y
|
||||||
@ -290,17 +292,26 @@ GetNextEntry jsr GetEntry
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.1 jsr GetEntry.ReadDir
|
.1 pla
|
||||||
|
jsr GetEntry.ReadDir
|
||||||
bcs .9
|
bcs .9
|
||||||
lda (ZPFileName)
|
lda (ZPFileName)
|
||||||
beq .99
|
beq .99
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
.2 iny
|
||||||
|
lda (ZPFileName),y
|
||||||
|
bne .2
|
||||||
|
tya
|
||||||
|
|
||||||
sec
|
sec
|
||||||
adc ZPFileName
|
adc ZPFileName
|
||||||
sta ZPFileStat
|
sta ZPFileStat
|
||||||
lda ZPFileName+1
|
lda ZPFileName+1
|
||||||
adc #0
|
adc #0
|
||||||
sta ZPFileStat+1
|
sta ZPFileStat+1
|
||||||
|
|
||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
@ -451,7 +462,7 @@ EnterSubDirYA.1 lda (pData),y
|
|||||||
|
|
||||||
>PUSHW ZPPtr2
|
>PUSHW ZPPtr2
|
||||||
>PUSHW ZPPtr1
|
>PUSHW ZPPtr1
|
||||||
>SYSCALL PStrCat
|
>SYSCALL StrCat
|
||||||
|
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
inc
|
inc
|
||||||
@ -541,3 +552,5 @@ BasePath..1 lda (pData),y
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE /A2OSX.SRC/BIN/X.FILEENUM.S
|
SAVE /A2OSX.SRC/BIN/X.FILEENUM.S
|
||||||
|
LOAD /A2OSX.SRC/BIN/LS.S
|
||||||
|
ASM
|
||||||
|
@ -372,7 +372,7 @@ S.DEV.BUSID .EQ 6
|
|||||||
S.DEV.DEVID .EQ 7
|
S.DEV.DEVID .EQ 7
|
||||||
S.DEV.ROM.JMP .EQ 8 word
|
S.DEV.ROM.JMP .EQ 8 word
|
||||||
*
|
*
|
||||||
S.DEV.NAME .EQ 11 L+4 MAX
|
S.DEV.NAME .EQ 11 4+\0 MAX
|
||||||
*
|
*
|
||||||
S.DEV .EQ 16
|
S.DEV .EQ 16
|
||||||
*----------- Smartport ----------------
|
*----------- Smartport ----------------
|
||||||
|
27
README.md
27
README.md
@ -73,10 +73,7 @@ Several subprojects are now indentified :
|
|||||||
|
|
||||||
## General Information:
|
## General Information:
|
||||||
|
|
||||||
** Kernel 0.9.1 rewrite in progress **
|
Kernel API is confined in Aux LC Bank 1 & 2 to leave enough room at $EOOO for Drivers.
|
||||||
|
|
||||||
(Kernel 0.9 has been archived)
|
|
||||||
It is confined in Aux LC Bank 1 & 2 to leave enough room at $EOOO for Drivers.
|
|
||||||
Network drivers, Mouse, DHGR.DRV can load and fit in Aux LC.
|
Network drivers, Mouse, DHGR.DRV can load and fit in Aux LC.
|
||||||
Now it's time to make all external BINs use new API, then GUI development will resume.
|
Now it's time to make all external BINs use new API, then GUI development will resume.
|
||||||
|
|
||||||
@ -101,11 +98,11 @@ OApple+1,OApple+2,OApple+3 to switch between screens : Kernel Log, text, DHGR.
|
|||||||
|
|
||||||
| Name | Status | Comment | K.Ver |
|
| Name | Status | Comment | K.Ver |
|
||||||
| ---- | ------ | ------- | ------|
|
| ---- | ------ | ------- | ------|
|
||||||
| INSDRV | Working | | 0.9 |
|
| INSDRV | Working | | 0.9.1 |
|
||||||
| GETTY | Working | | 0.9 |
|
| GETTY | Working | | 0.9.1 |
|
||||||
| LOGIN | In Progress | no auth using /etc/passd yet | 0.9 |
|
| LOGIN | In Progress | no auth using /etc/passd yet | 0.9.1 |
|
||||||
| SHELL | Working | (See Internal Shell commands) | 0.9 |
|
| SHELL | Working | (See Internal Shell commands) | 0.9.1 |
|
||||||
| KCONFIG | Working | Kernel Configuration Utility | 0.9 |
|
| KCONFIG | Working | Kernel Configuration Utility | 0.9.1 |
|
||||||
| ---- | ------ | ------- | ----- |
|
| ---- | ------ | ------- | ----- |
|
||||||
| TCPIP | Working | Socket API.ARP,IP,ICMP,UDP & TCP ok | 0.9 |
|
| TCPIP | Working | Socket API.ARP,IP,ICMP,UDP & TCP ok | 0.9 |
|
||||||
| DHCPCLNT| Working | rewritten to use new Socket API | 0.9 |
|
| DHCPCLNT| Working | rewritten to use new Socket API | 0.9 |
|
||||||
@ -149,7 +146,7 @@ note : '$VAR' does NOT expand Variable
|
|||||||
|
|
||||||
| Name | Status | Comment | K.Ver |
|
| Name | Status | Comment | K.Ver |
|
||||||
| ---- | ------ | ------- | ----- |
|
| ---- | ------ | ------- | ----- |
|
||||||
| Console.DRV | Working | ANSI support in Progress. | 0.9 |
|
| Console.DRV | Working | ANSI support in Progress. | 0.9.1 |
|
||||||
| SSC.DRV | Working | Apple "Super Serial Card" Driver | 0.9 |
|
| SSC.DRV | Working | Apple "Super Serial Card" Driver | 0.9 |
|
||||||
| SSC.I.DRV | Working | Apple "Super Serial Card" Driver (IRQ enabled) | 0.9 |
|
| SSC.I.DRV | Working | Apple "Super Serial Card" Driver (IRQ enabled) | 0.9 |
|
||||||
| PIC.DRV | In Progress | Apple "Parallel Interface Card" Driver, renamed from PPIC.DRV | 0.9 |
|
| PIC.DRV | In Progress | Apple "Parallel Interface Card" Driver, renamed from PPIC.DRV | 0.9 |
|
||||||
@ -164,9 +161,9 @@ note : '$VAR' does NOT expand Variable
|
|||||||
## BIN,External Shell commands:
|
## BIN,External Shell commands:
|
||||||
| Name | Status | Comment | K.Ver |
|
| Name | Status | Comment | K.Ver |
|
||||||
| ---- | ------ | ------- | ----- |
|
| ---- | ------ | ------- | ----- |
|
||||||
| MEM | Working | Old dump behavior is now MEMDUMP. New MEM command displays MEMSTAT (Main, Aux & Kernel Memory) | 0.9 |
|
| MEM | Working | Old dump behavior is now MEMDUMP. New MEM command displays MEMSTAT (Main, Aux & Kernel Memory) | 0.9.1 |
|
||||||
| LSDEV | Working | | 0.9 |
|
| LSDEV | Working | | 0.9.1 |
|
||||||
| PS | Working | | 0.9 |
|
| PS | Working | | 0.9.1 |
|
||||||
| MD | Working | | 0.9 |
|
| MD | Working | | 0.9 |
|
||||||
| LS | Working | -A : Do Not Print . & .. | 0.9 |
|
| LS | Working | -A : Do Not Print . & .. | 0.9 |
|
||||||
| | | -L : long listing with size/date... | |
|
| | | -L : long listing with size/date... | |
|
||||||
@ -182,7 +179,7 @@ note : '$VAR' does NOT expand Variable
|
|||||||
| | | -Q : Quiet | |
|
| | | -Q : Quiet | |
|
||||||
| | | -R : Recurse subdirectories | |
|
| | | -R : Recurse subdirectories | |
|
||||||
| | | -Y : Dont't Prompt For Override | |
|
| | | -Y : Dont't Prompt For Override | |
|
||||||
| CAT | Working | -A : Show All non printable caracters | 0.9 |
|
| CAT | Working | -A : Show All non printable caracters | 0.9.1 |
|
||||||
| | | -N : Number all output lines | |
|
| | | -N : Number all output lines | |
|
||||||
| | | -S : Suppress repeated empty output lines | |
|
| | | -S : Suppress repeated empty output lines | |
|
||||||
| CHTYP | In Progress | -C : Continue On Error | 0.9 |
|
| CHTYP | In Progress | -C : Continue On Error | 0.9 |
|
||||||
@ -207,7 +204,7 @@ note : '$VAR' does NOT expand Variable
|
|||||||
| Name | Status | Comment | K.Ver |
|
| Name | Status | Comment | K.Ver |
|
||||||
| ---- | ------ | ------- | ----- |
|
| ---- | ------ | ------- | ----- |
|
||||||
| ASM | In Progress | S-C MASM based multi CPU assembler | 0.9 |
|
| ASM | In Progress | S-C MASM based multi CPU assembler | 0.9 |
|
||||||
| MEMDUMP | Working | | 0.9 |
|
| MEMDUMP | Working | | 0.9.1 |
|
||||||
| RPCDUMP | Working | tool based on UDP socket API, renamed from RPCINFO | 0.9 |
|
| RPCDUMP | Working | tool based on UDP socket API, renamed from RPCINFO | 0.9 |
|
||||||
|
|
||||||
## Misc
|
## Misc
|
||||||
|
@ -212,6 +212,9 @@ Cmd.Exec.EXT.TXT
|
|||||||
* BIN : Launch "/PATH/CMD ARGS"
|
* BIN : Launch "/PATH/CMD ARGS"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Cmd.Exec.EXT.BIN
|
Cmd.Exec.EXT.BIN
|
||||||
|
lda (ZPPTR2) Some ARGS ?
|
||||||
|
beq .1
|
||||||
|
|
||||||
jsr Cmd.Exec.EXT.SEP Add a space....
|
jsr Cmd.Exec.EXT.SEP Add a space....
|
||||||
|
|
||||||
>PUSHW ZPPTR2
|
>PUSHW ZPPTR2
|
||||||
|
@ -163,7 +163,7 @@ CSH.Run jsr CSH.GetBuf
|
|||||||
>STA.G bCmdBufexec
|
>STA.G bCmdBufexec
|
||||||
|
|
||||||
>LDA.G bEcho
|
>LDA.G bEcho
|
||||||
* beq .80
|
beq .80
|
||||||
|
|
||||||
>PUSHW ZPCMDBuf
|
>PUSHW ZPCMDBuf
|
||||||
>LDYA L.MSG.ECHO
|
>LDYA L.MSG.ECHO
|
||||||
|
@ -156,7 +156,7 @@ CS.RUN >LDA.G bReadMode READ Command ?
|
|||||||
jsr CMD.Parse
|
jsr CMD.Parse
|
||||||
|
|
||||||
>LDA.G CmdBuflen
|
>LDA.G CmdBuflen
|
||||||
beq .8 Empty line
|
beq .10 Empty line
|
||||||
|
|
||||||
jsr HIS.Add
|
jsr HIS.Add
|
||||||
|
|
||||||
@ -539,7 +539,7 @@ CSHCMDS >PSTR "IF"
|
|||||||
>PSTR "FLOAT"
|
>PSTR "FLOAT"
|
||||||
.HS 00
|
.HS 00
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.GREETINGS >CSTR "\r\nA2osX-Shell\r\n\r\n"
|
MSG.GREETINGS >CSTR "\r\nA2osX-Shell 0.9.1\r\n\r\n"
|
||||||
MSG.PROMPT >CSTR "%s$ "
|
MSG.PROMPT >CSTR "%s$ "
|
||||||
MSG.ECHO >CSTR ">%s\r\n"
|
MSG.ECHO >CSTR ">%s\r\n"
|
||||||
MSG.ERROR >CSTR "[$%h]:%S.\r\n"
|
MSG.ERROR >CSTR "[$%h]:%S.\r\n"
|
||||||
|
@ -514,8 +514,6 @@ IrqMgrInit >LDYAI MSG.IRQ
|
|||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
sta K.IrqMgrVBL.MRM+1
|
sta K.IrqMgrVBL.MRM+1
|
||||||
|
|
||||||
bit RROMBNK2 Renable ROM to allow MOUSE II firmware works properly
|
|
||||||
|
|
||||||
ldy #SETMOUSE
|
ldy #SETMOUSE
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
sta .7+1
|
sta .7+1
|
||||||
@ -526,15 +524,19 @@ IrqMgrInit >LDYAI MSG.IRQ
|
|||||||
stx .7+2
|
stx .7+2
|
||||||
ldy K.IrqMgrVBL.n0
|
ldy K.IrqMgrVBL.n0
|
||||||
|
|
||||||
|
bit RROMBNK2 Renable ROM to allow MOUSE II firmware works properly
|
||||||
|
|
||||||
.7 jsr $ffff self Modified, CALL SETMOUSE
|
.7 jsr $ffff self Modified, CALL SETMOUSE
|
||||||
bcs *
|
bcs *
|
||||||
|
|
||||||
bit RRAMWRAMBNK1 Back To LC Ram
|
bit RRAMWRAMBNK1 Back To LC Ram
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
|
|
||||||
inc K.IrkMgr.VBL set=1 awaiting IrqMgr confirmation
|
inc K.IrkMgr.VBL set=1 awaiting IrqMgr confirmation
|
||||||
|
|
||||||
plp
|
plp
|
||||||
|
lda #"V"
|
||||||
|
sta SYS.BASL0+37
|
||||||
|
|
||||||
>LDYAI MSG.IRQ.VBL
|
>LDYAI MSG.IRQ.VBL
|
||||||
>SYSCALL PrintF.YA
|
>SYSCALL PrintF.YA
|
||||||
clc
|
clc
|
||||||
@ -674,11 +676,11 @@ DevMgrInit.AddDev
|
|||||||
|
|
||||||
lda DEV.HEADER+S.DEV.BUSID
|
lda DEV.HEADER+S.DEV.BUSID
|
||||||
ora #$30
|
ora #$30
|
||||||
sta DEV.HEADER+S.DEV.NAME+2 SnDy
|
sta DEV.HEADER+S.DEV.NAME+1 SnDy
|
||||||
|
|
||||||
lda DEV.HEADER+S.DEV.DEVID
|
lda DEV.HEADER+S.DEV.DEVID
|
||||||
ora #$30
|
ora #$30
|
||||||
sta DEV.HEADER+S.DEV.NAME+4 SxDn
|
sta DEV.HEADER+S.DEV.NAME+3 SxDn
|
||||||
|
|
||||||
ldy #S.DEV-1
|
ldy #S.DEV-1
|
||||||
|
|
||||||
@ -702,7 +704,7 @@ DEV.HEADER clc
|
|||||||
.BS 1 DEV.ID
|
.BS 1 DEV.ID
|
||||||
.BS 2 ROM.JMP
|
.BS 2 ROM.JMP
|
||||||
.BS 1
|
.BS 1
|
||||||
>PSTR "S1D1" 5 bytes
|
>CSTR "S1D1" 5 bytes
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SmartPort.OFS .HS 010305
|
SmartPort.OFS .HS 010305
|
||||||
SmartPort.SIG .HS 200003
|
SmartPort.SIG .HS 200003
|
||||||
|
@ -60,15 +60,16 @@ K.IrkMgr.VBLINT .BS 1
|
|||||||
* ProDOS IRQ Manager (GP)
|
* ProDOS IRQ Manager (GP)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.IrqHandler lda K.IrkMgr.VBL
|
K.IrqHandler lda K.IrkMgr.VBL
|
||||||
beq .10 0, totally disabled....
|
beq K.IrqHandler.DEV 0, totally disabled....
|
||||||
|
|
||||||
|
K.IrqHandler.VBL
|
||||||
jsr K.IrqMgrVBL.MSM SERVEMOUSE
|
jsr K.IrqMgrVBL.MSM SERVEMOUSE
|
||||||
bcs .10 Not From Mouse
|
bcs K.IrqHandler.DEV Not From Mouse
|
||||||
|
|
||||||
ldx K.IrqMgrVBL.0n
|
ldx K.IrqMgrVBL.0n
|
||||||
lda $778,x
|
lda $778,x
|
||||||
and #$08 IRQ was caused by VBL ?
|
and #$08 IRQ was caused by VBL ?
|
||||||
beq .10
|
beq K.IrqHandler.DEV
|
||||||
|
|
||||||
ldx K.IrqMgrVBL.MRM+2 $Cn
|
ldx K.IrqMgrVBL.MRM+2 $Cn
|
||||||
ldy K.IrqMgrVBL.n0
|
ldy K.IrqMgrVBL.n0
|
||||||
@ -77,13 +78,16 @@ K.IrqHandler lda K.IrkMgr.VBL
|
|||||||
inc K.IrkMgr.VBLINT
|
inc K.IrkMgr.VBLINT
|
||||||
|
|
||||||
lda SYS.BASL0+37
|
lda SYS.BASL0+37
|
||||||
eor #'V'
|
eor #$80
|
||||||
sta SYS.BASL0+37 Confirm VBL signal valid for EvtMgr
|
sta SYS.BASL0+37
|
||||||
|
sec
|
||||||
|
ror K.IrkMgr.VBL Confirm VBL signal valid for EvtMgr
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
*--------------------------------------
|
||||||
.10 >LDYAI DevMgr.Table
|
K.IrqHandler.DEV
|
||||||
|
>LDYAI DevMgr.Table
|
||||||
>STYA $fe
|
>STYA $fe
|
||||||
|
|
||||||
ldx DevMgr.Count
|
ldx DevMgr.Count
|
||||||
|
@ -173,12 +173,11 @@ PS.CreateChild ldx #0
|
|||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PS.CmdLine2Args >STYA ZPPtr1
|
PS.CmdLine2Args >STYA ZPPtr1
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.1 lda (ZPPtr1),y compute strlen in Y,X
|
.1 lda (ZPPtr1),y compute strlen in Y,X
|
||||||
beq .2
|
beq .2
|
||||||
cmp #'"' skip "" in computation....
|
cmp #'"' skip " in computation....
|
||||||
beq .1
|
beq .1
|
||||||
iny
|
iny
|
||||||
bne .1 max 255
|
bne .1 max 255
|
||||||
@ -227,9 +226,11 @@ PS.CmdLine2Args >STYA ZPPtr1
|
|||||||
lda #0
|
lda #0
|
||||||
|
|
||||||
.70 sta (ZPPtr2) yes, set this token len
|
.70 sta (ZPPtr2) yes, set this token len
|
||||||
|
|
||||||
.71 inc ZPPtr2
|
.71 inc ZPPtr2
|
||||||
bne .72
|
bne .72
|
||||||
inc ZPPtr2+1
|
inc ZPPtr2+1
|
||||||
|
|
||||||
.72 iny
|
.72 iny
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
@ -358,21 +359,22 @@ PS.DupEnv.A jsr K.GetMemPtr.A
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.GetPSList.YA >STYA ZPPtr1
|
K.GetPSList.YA >STYA ZPPtr1
|
||||||
|
|
||||||
lda CORE.PSCount
|
|
||||||
sta (ZPPtr1)
|
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
ldy #1
|
ldy #0
|
||||||
|
|
||||||
.1 lda PS.Table.PID,x
|
.1 lda PS.Table.PID,x
|
||||||
sta (ZPPtr1),y
|
beq .2
|
||||||
iny
|
|
||||||
lda PS.Table.hMem,x
|
lda PS.Table.hMem,x
|
||||||
sta (ZPPtr1),y
|
|
||||||
iny
|
iny
|
||||||
inx
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
.2 inx
|
||||||
cpx CORE.PSCount
|
cpx CORE.PSCount
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
|
.9 tya
|
||||||
|
sta (ZPPtr1)
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
@ -1073,11 +1073,13 @@ PrintF.SS ldy #$00 PSTR
|
|||||||
.2 lda PADLEN
|
.2 lda PADLEN
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
.3 lda PADCHAR
|
.3 cpy PADLEN
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
lda PADCHAR
|
||||||
jsr Printf.Cout
|
jsr Printf.Cout
|
||||||
bcs .9
|
bcs .9
|
||||||
iny
|
iny
|
||||||
cpy PADLEN
|
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
|
Loading…
Reference in New Issue
Block a user