From 54e50b61ce38567816f213a2be7b9664be414c15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 28 Nov 2019 23:06:22 +0100 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/X.FILEENUM.S.txt | 5 ++- ProDOS.FX/ProDOS.S.XDOS.A.txt | 8 ++--- ProDOS.FX/ProDOS.S.XDOS.F.txt | 58 +++++++++++++++++++--------------- SYS/KERNEL.S.DIRENT.txt | 2 +- SYS/KERNEL.S.INIT.txt | 27 ++++++++++------ 6 files changed, 59 insertions(+), 41 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 211563602ebf7fb764ebaf325de797e664ede07e..031a50fb782f411bfeed9636be3f53ff36d56637 100644 GIT binary patch delta 31215 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 JL_Y~g_Y~N}=Q{uZ diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index 7e0bfb45..c44c47e5 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -34,6 +34,9 @@ FilterMatch >LDA.G index >LDYA ZPPtr2 CI compare >SYSCALL strupr + >LDYA ZPFileName + >SYSCALL strupr + .10 lda (ZPPtr2) Get first pattern byte beq .8 Match always if empty @@ -568,5 +571,5 @@ GetoDIRENT ldy #index *-------------------------------------- MAN SAVE USR/SRC/BIN/X.FILEENUM.S -LOAD USR/SRC/BIN/CP.S +LOAD USR/SRC/BIN/LS.S ASM diff --git a/ProDOS.FX/ProDOS.S.XDOS.A.txt b/ProDOS.FX/ProDOS.S.XDOS.A.txt index b4bacb68..227173d0 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.A.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.A.txt @@ -33,7 +33,7 @@ XDOS.MLI cld no decimal. and #$1F tax lda (A3L),y check result to see if valid command # - cmp scnums,x + cmp XDOS.CmdNums,x bne scnerr iny index to call spec parm list. @@ -45,13 +45,13 @@ XDOS.MLI cld no decimal. pla sta A3L * 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. cmp (A3L) ,y bne scperr error if wrong count. - lda scnums,x get call # again + lda XDOS.CmdNums,x get call # again cmp #MLIQUIT is it quit? beq special if so, then call quit dispatcher @@ -244,7 +244,7 @@ sysdeath1 tax death error code. *-------------------------------------- * 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 sta cmdtemp and #$3F bit 6 is refnum, 5 is time to process diff --git a/ProDOS.FX/ProDOS.S.XDOS.F.txt b/ProDOS.FX/ProDOS.S.XDOS.F.txt index 43aff07e..a62554d7 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.F.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.F.txt @@ -734,7 +734,7 @@ sp_bufptr .HS 0000 data buffer *-------------------------------------- * data tables *-------------------------------------- -scnums .HS D3D4D500 table of valid mli command numbers. +XDOS.CmdNums .HS D3D4D500 table of valid mli command numbers. .HS 40410000 .HS 808182 .HS 65 @@ -742,7 +742,7 @@ scnums .HS D3D4D500 table of valid mli command numbers. .HS 00 .HS D0D1D2 -pcntbl .HS 020202FF parameter counts for the calls +XDOS.ParamCnt .HS 020202FF parameter counts for the calls .HS 0201FFFF .HS 030300 .HS 04 @@ -750,36 +750,42 @@ pcntbl .HS 020202FF parameter counts for the calls .HS FF .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 -disptch .HS A0A1A2A3 +XDOS.CmdFlags .HS A0A1A2A3 .HS 84050607 .HS 88494A4B .HS 2C2D4E4F .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 .DO LOWERCASE=0 diff --git a/SYS/KERNEL.S.DIRENT.txt b/SYS/KERNEL.S.DIRENT.txt index a8fba2bf..912aeb8a 100644 --- a/SYS/KERNEL.S.DIRENT.txt +++ b/SYS/KERNEL.S.DIRENT.txt @@ -391,7 +391,7 @@ K.ReadDir.ADDF bne .1 *-------------------------------------- K.ReadDir.AddAccess - ldy CORE.FSID + lda CORE.FSID sta K.S.STAT+S.STAT.FSID ldy #$1E ProDOS Access diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index e9a9ba03..5de2c2d9 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -196,14 +196,14 @@ KConfigLoad >LDYAI MSG.KCREAD jsr MLI .DA #MLIGETFILEINFOEX .DA MLIGETFILEINFOEX00 - bcs .1 - - >LDYAI MSG.PRODOSFX - jsr PrintFYA + bcc .1 + cmp #MLI.E.BADCALL + beq .2 - inc CORE.FSID +.1 inc CORE.FSID + bra .9 -.1 jsr MLI +.2 jsr MLI .DA #MLIOPEN .DA MLIOPEN00 bcs .9 @@ -222,12 +222,21 @@ KConfigLoad >LDYAI MSG.KCREAD pla plp bcs .9 + >LDYAI MSG.KCREAD.OK jsr PrintFYA - rts + bra .8 + .9 >LDYAI MSG.KCREAD.KO jsr PrintFYA - rts + +.8 lda CORE.FSID + beq .99 + + >LDYAI MSG.PRODOSFX + jsr PrintFYA + +.99 rts *-------------------------------------- * INIT3 Subs *-------------------------------------- @@ -1086,10 +1095,10 @@ TClock.SIG.Cnt .EQ *-TClock.SIG *-------------------------------------- MSG.Init2 .AZ "A2osX[Stage2]:Init\nRelocating Kernel...\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.OK .AZ "OK\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" *-------------------------------------- SYSSCREEN.TOP .AZ "A2osX 0.93 Console"