Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-11-28 23:06:22 +01:00
parent 0c83cbab62
commit 54e50b61ce
6 changed files with 59 additions and 41 deletions

Binary file not shown.

View File

@ -34,6 +34,9 @@ FilterMatch >LDA.G index
>LDYA ZPPtr2 CI compare >LDYA ZPPtr2 CI compare
>SYSCALL strupr >SYSCALL strupr
>LDYA ZPFileName
>SYSCALL strupr
.10 lda (ZPPtr2) Get first pattern byte .10 lda (ZPPtr2) Get first pattern byte
beq .8 Match always if empty beq .8 Match always if empty
@ -568,5 +571,5 @@ GetoDIRENT ldy #index
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE USR/SRC/BIN/X.FILEENUM.S SAVE USR/SRC/BIN/X.FILEENUM.S
LOAD USR/SRC/BIN/CP.S LOAD USR/SRC/BIN/LS.S
ASM ASM

View File

@ -33,7 +33,7 @@ XDOS.MLI cld no decimal.
and #$1F and #$1F
tax tax
lda (A3L),y check result to see if valid command # lda (A3L),y check result to see if valid command #
cmp scnums,x cmp XDOS.CmdNums,x
bne scnerr bne scnerr
iny index to call spec parm list. iny index to call spec parm list.
@ -45,13 +45,13 @@ XDOS.MLI cld no decimal.
pla pla
sta A3L sta A3L
* ldy #$00 * ldy #$00
lda pcntbl,x make sure parameter list has the correct # of parameters. lda XDOS.ParamCnt,x make sure parameter list has the correct # of parameters.
beq goclock clock has 0 parameters. beq goclock clock has 0 parameters.
cmp (A3L) ,y cmp (A3L) ,y
bne scperr error if wrong count. bne scperr error if wrong count.
lda scnums,x get call # again lda XDOS.CmdNums,x get call # again
cmp #MLIQUIT is it quit? cmp #MLIQUIT is it quit?
beq special if so, then call quit dispatcher beq special if so, then call quit dispatcher
@ -244,7 +244,7 @@ sysdeath1 tax death error code.
*-------------------------------------- *--------------------------------------
* ProDOS Block File Manager * ProDOS Block File Manager
*-------------------------------------- *--------------------------------------
XDOS.bfmgr lda disptch,x translate into command address. XDOS.bfmgr lda XDOS.CmdFlags,x translate into command address.
asl bit 7 indicates pathname to process asl bit 7 indicates pathname to process
sta cmdtemp sta cmdtemp
and #$3F bit 6 is refnum, 5 is time to process and #$3F bit 6 is refnum, 5 is time to process

View File

@ -734,7 +734,7 @@ sp_bufptr .HS 0000 data buffer
*-------------------------------------- *--------------------------------------
* data tables * data tables
*-------------------------------------- *--------------------------------------
scnums .HS D3D4D500 table of valid mli command numbers. XDOS.CmdNums .HS D3D4D500 table of valid mli command numbers.
.HS 40410000 .HS 40410000
.HS 808182 .HS 808182
.HS 65 .HS 65
@ -742,7 +742,7 @@ scnums .HS D3D4D500 table of valid mli command numbers.
.HS 00 .HS 00
.HS D0D1D2 .HS D0D1D2
pcntbl .HS 020202FF parameter counts for the calls XDOS.ParamCnt .HS 020202FF parameter counts for the calls
.HS 0201FFFF .HS 0201FFFF
.HS 030300 .HS 030300
.HS 04 .HS 04
@ -750,36 +750,42 @@ pcntbl .HS 020202FF parameter counts for the calls
.HS FF .HS FF
.HS 020202 .HS 020202
cmdtable .DA XDOS.Create
.DA XDOS.Destroy
.DA XDOS.Rename
.DA XDOS.SetFileInfo
.DA XDOS.GetFileInfo
.DA XDOS.Online
.DA XDOS.SetPrefix
.DA XDOS.GetPrefix
.DA XDOS.Open
.DA XDOS.NewLine
.DA XDOS.Read
.DA XDOS.Write
.DA XDOS.Close
.DA XDOS.Flush
.DA XDOS.SetMark
.DA XDOS.GetMark
.DA XDOS.SetEOF
.DA XDOS.GetEOF
.DA XDOS.SetBuf
.DA XDOS.GetBuf
.DA XDOS.SetFileInfoEx
.DA XDOS.GetFileInfoEx
* corresponding command function bytes * corresponding command function bytes
disptch .HS A0A1A2A3 XDOS.CmdFlags .HS A0A1A2A3
.HS 84050607 .HS 84050607
.HS 88494A4B .HS 88494A4B
.HS 2C2D4E4F .HS 2C2D4E4F
.HS 50515253 .HS 50515253
.HS 9495
cmdtable .DA XDOS.Create
.DA XDOS.Destroy
.DA XDOS.Rename
.DA XDOS.SetFileInfo
.DA XDOS.GetFileInfo
.DA XDOS.Online
.DA XDOS.SetPrefix
.DA XDOS.GetPrefix
.DA XDOS.Open
.DA XDOS.NewLine
.DA XDOS.Read
.DA XDOS.Write
.DA XDOS.Close
.DA XDOS.Flush
.DA XDOS.SetMark
.DA XDOS.GetMark
.DA XDOS.SetEOF
.DA XDOS.GetEOF
.DA XDOS.SetBuf
.DA XDOS.GetBuf
.DA XDOS.SetFileInfoEx
.DA XDOS.GetFileInfoEx
dinctbl .HS 0100000200 table to increment directory usage/eof counts dinctbl .HS 0100000200 table to increment directory usage/eof counts
.DO LOWERCASE=0 .DO LOWERCASE=0

View File

@ -391,7 +391,7 @@ K.ReadDir.ADDF
bne .1 bne .1
*-------------------------------------- *--------------------------------------
K.ReadDir.AddAccess K.ReadDir.AddAccess
ldy CORE.FSID lda CORE.FSID
sta K.S.STAT+S.STAT.FSID sta K.S.STAT+S.STAT.FSID
ldy #$1E ProDOS Access ldy #$1E ProDOS Access

View File

@ -196,14 +196,14 @@ KConfigLoad >LDYAI MSG.KCREAD
jsr MLI jsr MLI
.DA #MLIGETFILEINFOEX .DA #MLIGETFILEINFOEX
.DA MLIGETFILEINFOEX00 .DA MLIGETFILEINFOEX00
bcs .1 bcc .1
cmp #MLI.E.BADCALL
>LDYAI MSG.PRODOSFX beq .2
jsr PrintFYA
inc CORE.FSID .1 inc CORE.FSID
bra .9
.1 jsr MLI .2 jsr MLI
.DA #MLIOPEN .DA #MLIOPEN
.DA MLIOPEN00 .DA MLIOPEN00
bcs .9 bcs .9
@ -222,12 +222,21 @@ KConfigLoad >LDYAI MSG.KCREAD
pla pla
plp plp
bcs .9 bcs .9
>LDYAI MSG.KCREAD.OK >LDYAI MSG.KCREAD.OK
jsr PrintFYA jsr PrintFYA
rts bra .8
.9 >LDYAI MSG.KCREAD.KO .9 >LDYAI MSG.KCREAD.KO
jsr PrintFYA jsr PrintFYA
rts
.8 lda CORE.FSID
beq .99
>LDYAI MSG.PRODOSFX
jsr PrintFYA
.99 rts
*-------------------------------------- *--------------------------------------
* INIT3 Subs * INIT3 Subs
*-------------------------------------- *--------------------------------------
@ -1086,10 +1095,10 @@ TClock.SIG.Cnt .EQ *-TClock.SIG
*-------------------------------------- *--------------------------------------
MSG.Init2 .AZ "A2osX[Stage2]:Init\nRelocating Kernel...\n" MSG.Init2 .AZ "A2osX[Stage2]:Init\nRelocating Kernel...\n"
MSG.HZ .AZ "Kernel SYS Timer Set For %d0 hz Machine.\n" MSG.HZ .AZ "Kernel SYS Timer Set For %d0 hz Machine.\n"
MSG.PRODOSFX .AS "Running under ProDOS FX! Enabling lowercase mode.\n"
MSG.KCREAD .AZ "Reading Kernel Config File..." MSG.KCREAD .AZ "Reading Kernel Config File..."
MSG.KCREAD.OK .AZ "OK\n" MSG.KCREAD.OK .AZ "OK\n"
MSG.KCREAD.KO .AZ "\nError While Reading Kernel Config File, Using Default.\n" MSG.KCREAD.KO .AZ "\nError While Reading Kernel Config File, Using Default.\n"
MSG.PRODOSFX .AZ "!!!Running under ProDOS.FX!!! Enabling lowercase mode.\n"
MSG.Init2.OK .AZ "A2osX[Stage2]:Complete.\n" MSG.Init2.OK .AZ "A2osX[Stage2]:Complete.\n"
*-------------------------------------- *--------------------------------------
SYSSCREEN.TOP .AZ "A2osX 0.93 Console" SYSSCREEN.TOP .AZ "A2osX 0.93 Console"