diff --git a/Floppies/A2OSX.BUILD.po b/Floppies/A2OSX.BUILD.po index 02203efa..7ababe85 100644 Binary files a/Floppies/A2OSX.BUILD.po and b/Floppies/A2OSX.BUILD.po differ diff --git a/Floppies/A2OSX.SRC.po b/Floppies/A2OSX.SRC.po index ea9ca48f..3f72d7ae 100644 Binary files a/Floppies/A2OSX.SRC.po and b/Floppies/A2OSX.SRC.po differ diff --git a/SBIN/KCONFIG.S.txt b/SBIN/KCONFIG.S.txt index b06991f7..de4cd64f 100644 --- a/SBIN/KCONFIG.S.txt +++ b/SBIN/KCONFIG.S.txt @@ -40,6 +40,8 @@ L.MSG.KCONF .DA MSG.KCONF L.MSG.FCONF .DA MSG.FCONF L.MSG.HZ .DA MSG.HZ L.MSG.CHROOT .DA MSG.CHROOT +L.MSG.DISABLED .DA MSG.DISABLED +L.MSG.ENABLED .DA MSG.ENABLED L.MSG.STATUSBAR .DA MSG.STATUSBAR L.MSG.SLOT .DA MSG.SLOT L.MSG.QUIT .DA MSG.QUIT @@ -97,6 +99,7 @@ CS.RUN.REPaint >LDYA L.MSG.FCONF CS.RUN.Loop >SYSCALL Sleep >SYSCALL GetC bcs CS.RUN.Loop + cmp #17 Ctrl-Q beq .8 @@ -109,16 +112,16 @@ CS.RUN.Loop >SYSCALL Sleep >LDYA L.MSG.QUIT.ERR bra .9 -.1 cmp #8 Ctrl-H +.1 cmp #20 Ctrl-T bne .2 - >DEBUG - jsr CS.RUN.HZ + + jsr CS.RUN.ToggleHZ bra CS.RUN.REPaint .2 cmp #3 Ctrl-C bne .3 - jsr CS.RUN.CHRoot + jsr CS.RUN.ToggleCHRoot bra CS.RUN.REPaint .3 cmp #'1' @@ -126,7 +129,7 @@ CS.RUN.Loop >SYSCALL Sleep cmp #'8' bcs CS.RUN.Loop and #$0f - jsr CS.RUN.Slot + jsr CS.RUN.ToggleSlotA bra CS.RUN.REPaint .8 >LDYA L.MSG.QUIT @@ -135,7 +138,7 @@ CS.RUN.Loop >SYSCALL Sleep sec rts *-------------------------------------- -CS.RUN.HZ ldy #hFileBuf +CS.RUN.ToggleHZ ldy #hFileBuf lda (pData),y >SYSCALL GetMemPtrA >STYA ZPTmp1 @@ -145,7 +148,8 @@ CS.RUN.HZ ldy #hFileBuf sta (ZPTmp1) rts *-------------------------------------- -CS.RUN.CHRoot ldy #hFileBuf +CS.RUN.ToggleCHRoot + ldy #hFileBuf lda (pData),y >SYSCALL GetMemPtrA >STYA ZPTmp1 @@ -156,7 +160,8 @@ CS.RUN.CHRoot ldy #hFileBuf sta (ZPTmp1),y rts *-------------------------------------- -CS.RUN.Slot pha +CS.RUN.ToggleSlotA + pha ldy #hFileBuf lda (pData),y @@ -178,6 +183,7 @@ CS.RUN.Load >PUSHWI UsrBuf256 >SYSCALL GetMemPtrA >PUSHYA >SYSCALL Stat + >DEBUG bcs .99 sec @@ -226,8 +232,25 @@ CS.RUN.Load >PUSHWI UsrBuf256 sec rts *-------------------------------------- -CS.RUN.Save - sec +CS.RUN.Save ldy #hFileBuf + lda (pData),y + >SYSCALL GetMemPtrA + >PUSHYA ptr + + >PUSHWI 16 LEN + + >PUSHWI 0 AUXTYPE + >PUSHBI 6 S.FILEINFO.TYPE.BIN + >PUSHBI SYS.FOpen.W+SYS.FOpen.X + + ldy #hFileName + lda (pData),y + + >SYSCALL GetMemPtrA + + >PUSHYA + + >SYSCALL SaveFile rts *-------------------------------------- CS.RUN.DumpConfYA @@ -239,8 +262,13 @@ CS.RUN.DumpConfYA >SYSCALL PPrintFYA ldy #8 - >PUSHB (ZPTmp1),y + lda (ZPTmp1),y + beq .10 + >LDYA L.MSG.ENABLED + bra .12 +.10 >LDYA L.MSG.DISABLED +.12 >PUSHYA >LDYA L.MSG.CHROOT >SYSCALL PPrintFYA @@ -311,14 +339,16 @@ SLOTS .DA #0 .DA #A2osX.SLOTS.NET .DA #A2osX.SLOTS.DISABLE SLOTS.MAX .EQ *-SLOTS -FILENAME >PSTR "%{A2OSX}KCONFIG" +FILENAME >PSTR "${A2OSX}KCONFIG" MSG.TOPBAR >PSTR "\ec\e[7m\e[1;1HA2osX Kernel Config Utility : " -MSG.TOPBAR.OK >PSTR "KCONFIG File Successfully Loaded. \e[0m\r\n" -MSG.TOPBAR.KO >PSTR "Invalid/missing KCONFIG File. \e[0m\r\n" +MSG.TOPBAR.OK >PSTR "KCONFIG File Successfully Loaded. \e[0m\r\n" +MSG.TOPBAR.KO >PSTR "Invalid/missing KCONFIG File. \e[0m\r\n" MSG.KCONF >PSTR "------ Actual Kernel Configuration ------\r\n" MSG.FCONF >PSTR "\e[13;1H------ KCONFIG File Configuration ------\r\n" -MSG.HZ >PSTR " Machine Type : %d0Hz\r\n" -MSG.CHROOT >PSTR " CHRoot to RAM : %d\r\n" +MSG.HZ >PSTR " Machine Timing : %d0Hz\r\n" +MSG.CHROOT >PSTR " CHRoot to /RAMx : %S\r\n" +MSG.ENABLED >PSTR "Enabled" +MSG.DISABLED >PSTR "Disabled" MSG.SLOT >PSTR " Slot #%d : %S\r\n" MSG.SLOT.NODEV >PSTR "" MSG.SLOT.Z80 >PSTR "Z80 CPU Board" @@ -331,7 +361,7 @@ MSG.SLOT.COM >PSTR "Communication Card" MSG.SLOT.XY >PSTR "XY Pointing Device" MSG.SLOT.NET >PSTR "Network Interface Card" MSG.SLOT.DIS >PSTR "" -MSG.STATUSBAR >PSTR "\e[7m\e[24;1HCtrl-Q:Quit,Ctrl-S:Save,Ctrl-H:Toggle Hz,Ctrl-C:Toggle CHRoot,1-7:En/Dis Slot# \e[0m" +MSG.STATUSBAR >PSTR "\e[7m\e[24;1HCtrl-Q:Quit,Ctrl-S:Save,Ctrl-T:Toggle Time,Ctrl-C:Toggle CHRoot,1-7:En/Dis Slot \e[0m" MSG.QUIT >PSTR "\ec" MSG.QUIT.ERR >PSTR "\ecError [$%h] While Writing KCONFIG File.\r\n\r\n" *-------------------------------------- diff --git a/SYS/KERNEL.S.DIR.txt b/SYS/KERNEL.S.DIR.txt index 595ebcc5..e50d1ad4 100644 --- a/SYS/KERNEL.S.DIR.txt +++ b/SYS/KERNEL.S.DIR.txt @@ -476,7 +476,7 @@ K.ReadDirA.ADDF lda /S.STAT.MODE.REG ldy ADDF.DST-1,x sta K.S.STAT,y dex - bpl .1 + bne .1 *-------------------------------------- K.ReadDirA.AddAccess ldy #$1E ProDOS Access diff --git a/SYS/KERNEL.S.FILE.txt b/SYS/KERNEL.S.FILE.txt index 883981b3..c5c0ea2d 100644 --- a/SYS/KERNEL.S.FILE.txt +++ b/SYS/KERNEL.S.FILE.txt @@ -364,10 +364,41 @@ K.Stat jsr PFT.CheckPathSTK >PULLW ZPPtr2 >MLICALL MLIGETFILEINFO bcs .9 - jsr FILE.MLI2STAT - clc + + lda #S.STAT.MODE.XO+S.STAT.MODE.WO+S.STAT.MODE.RO + + ldx K.MLI.PARAMS+S.FILEINFO.ACCESS + cpx #S.FILEINFO.ACCESS.FULL + beq .2 + +* cpx #S.FILEINFO.ACCESS.R + txa + beq .2 + lda #S.STAT.MODE.XO+S.STAT.MODE.RO + +.2 ldy #S.STAT.MODE + sta (ZPPtr2),y + + ldx #K.Stat.DST-K.Stat.SRC + +.3 ldy K.Stat.SRC-1,x + lda K.MLI.PARAMS,y + ldy K.Stat.DST-1,x + sta (ZPPtr2),y + dex + bne .3 + .9 rts *-------------------------------------- +K.Stat.SRC .DA #S.FILEINFO.TYPE +* .DA #S.FILEINFO.BLOCKSUSED,#S.FILEINFO.BLOCKSUSED+1 +* .DA # + .DA #S.FILEINFO.AUXTYPE,#S.FILEINFO.AUXTYPE+1 +K.Stat.DST .DA #S.STAT.P.TYPE +* .DA #S.STAT.BLOCKS,#S.STAT.BLOCKS+1 +* .DA #S.STAT.SIZE,#S.STAT.SIZE+1,#S.STAT.SIZE+2 + .DA #S.STAT.P.AUXTYPE,#S.STAT.P.AUXTYPE+1 +*-------------------------------------- FILE.SetIOBUF >PUSHWI 1024 get a ProDOS IOBUF >PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE jsr K.GetMem @@ -386,30 +417,6 @@ FILE.SetupPrt1A jsr K.GetMemPtrA sta K.MLI.PARAMS+1 rts *-------------------------------------- -FILE.MLI2STAT lda K.MLI.PARAMS+S.FILEINFO.ACCESS - cmp #S.FILEINFO.ACCESS.FULL - bne .1 - - lda #S.STAT.MODE.XO+S.STAT.MODE.WO+S.STAT.MODE.RO - bra .2 - -.1 and #S.FILEINFO.ACCESS.R - beq .2 - lda #S.STAT.MODE.XO+S.STAT.MODE.RO - -.2 ldy #S.STAT.MODE - sta (ZPPtr2),y - - ldx #2 - ldy #S.STAT.P.TYPE+2 - -.3 lda K.MLI.PARAMS+S.FILEINFO.TYPE,x - sta (ZPPtr2),y - dey - dex - bpl .3 - rts -*-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.FILE LOAD /A2OSX.SRC/SYS/KERNEL.S diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index d53315a2..ad14cb0e 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -192,8 +192,8 @@ K.LoadFile.Seek >PUSHWI 0 */-------------------------------------- * # SaveFile * ## In: -* PUSHW = SrcLen * PUSHW = SrcPtr +* PUSHW = SrcLen * PUSHW = AUXTYPE (Handled by.... * PUSHB = TYPE ... * PUSHB = MODE ... diff --git a/_Docs/KERNEL.md b/_Docs/KERNEL.md index 2ea38f17..a7178415 100644 --- a/_Docs/KERNEL.md +++ b/_Docs/KERNEL.md @@ -446,8 +446,8 @@ And return, if found, the full path to it. # SaveFile ## In: -+ PUSHW = SrcLen + PUSHW = SrcPtr ++ PUSHW = SrcLen + PUSHW = AUXTYPE (Handled by.... + PUSHB = TYPE ... + PUSHB = MODE ...