mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-07 09:37:34 +00:00
Kernel version 0.9 : KCONFIG, bugfix in Stat and Loadfile....#1
This commit is contained in:
parent
e495429cbd
commit
aa032994d8
Binary file not shown.
Binary file not shown.
@ -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 "<NO DEVICE>"
|
||||
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 "<DISABLED>"
|
||||
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"
|
||||
*--------------------------------------
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 ...
|
||||
|
@ -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 ...
|
||||
|
Loading…
x
Reference in New Issue
Block a user