mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-27 00:29:29 +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.FCONF .DA MSG.FCONF
|
||||||
L.MSG.HZ .DA MSG.HZ
|
L.MSG.HZ .DA MSG.HZ
|
||||||
L.MSG.CHROOT .DA MSG.CHROOT
|
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.STATUSBAR .DA MSG.STATUSBAR
|
||||||
L.MSG.SLOT .DA MSG.SLOT
|
L.MSG.SLOT .DA MSG.SLOT
|
||||||
L.MSG.QUIT .DA MSG.QUIT
|
L.MSG.QUIT .DA MSG.QUIT
|
||||||
|
@ -97,6 +99,7 @@ CS.RUN.REPaint >LDYA L.MSG.FCONF
|
||||||
CS.RUN.Loop >SYSCALL Sleep
|
CS.RUN.Loop >SYSCALL Sleep
|
||||||
>SYSCALL GetC
|
>SYSCALL GetC
|
||||||
bcs CS.RUN.Loop
|
bcs CS.RUN.Loop
|
||||||
|
|
||||||
cmp #17 Ctrl-Q
|
cmp #17 Ctrl-Q
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
|
@ -109,16 +112,16 @@ CS.RUN.Loop >SYSCALL Sleep
|
||||||
>LDYA L.MSG.QUIT.ERR
|
>LDYA L.MSG.QUIT.ERR
|
||||||
bra .9
|
bra .9
|
||||||
|
|
||||||
.1 cmp #8 Ctrl-H
|
.1 cmp #20 Ctrl-T
|
||||||
bne .2
|
bne .2
|
||||||
>DEBUG
|
|
||||||
jsr CS.RUN.HZ
|
jsr CS.RUN.ToggleHZ
|
||||||
bra CS.RUN.REPaint
|
bra CS.RUN.REPaint
|
||||||
|
|
||||||
.2 cmp #3 Ctrl-C
|
.2 cmp #3 Ctrl-C
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
jsr CS.RUN.CHRoot
|
jsr CS.RUN.ToggleCHRoot
|
||||||
bra CS.RUN.REPaint
|
bra CS.RUN.REPaint
|
||||||
|
|
||||||
.3 cmp #'1'
|
.3 cmp #'1'
|
||||||
|
@ -126,7 +129,7 @@ CS.RUN.Loop >SYSCALL Sleep
|
||||||
cmp #'8'
|
cmp #'8'
|
||||||
bcs CS.RUN.Loop
|
bcs CS.RUN.Loop
|
||||||
and #$0f
|
and #$0f
|
||||||
jsr CS.RUN.Slot
|
jsr CS.RUN.ToggleSlotA
|
||||||
bra CS.RUN.REPaint
|
bra CS.RUN.REPaint
|
||||||
|
|
||||||
.8 >LDYA L.MSG.QUIT
|
.8 >LDYA L.MSG.QUIT
|
||||||
|
@ -135,7 +138,7 @@ CS.RUN.Loop >SYSCALL Sleep
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.HZ ldy #hFileBuf
|
CS.RUN.ToggleHZ ldy #hFileBuf
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
>SYSCALL GetMemPtrA
|
>SYSCALL GetMemPtrA
|
||||||
>STYA ZPTmp1
|
>STYA ZPTmp1
|
||||||
|
@ -145,7 +148,8 @@ CS.RUN.HZ ldy #hFileBuf
|
||||||
sta (ZPTmp1)
|
sta (ZPTmp1)
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.CHRoot ldy #hFileBuf
|
CS.RUN.ToggleCHRoot
|
||||||
|
ldy #hFileBuf
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
>SYSCALL GetMemPtrA
|
>SYSCALL GetMemPtrA
|
||||||
>STYA ZPTmp1
|
>STYA ZPTmp1
|
||||||
|
@ -156,7 +160,8 @@ CS.RUN.CHRoot ldy #hFileBuf
|
||||||
sta (ZPTmp1),y
|
sta (ZPTmp1),y
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.Slot pha
|
CS.RUN.ToggleSlotA
|
||||||
|
pha
|
||||||
|
|
||||||
ldy #hFileBuf
|
ldy #hFileBuf
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
|
@ -178,6 +183,7 @@ CS.RUN.Load >PUSHWI UsrBuf256
|
||||||
>SYSCALL GetMemPtrA
|
>SYSCALL GetMemPtrA
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>SYSCALL Stat
|
>SYSCALL Stat
|
||||||
|
>DEBUG
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
sec
|
sec
|
||||||
|
@ -226,8 +232,25 @@ CS.RUN.Load >PUSHWI UsrBuf256
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.Save
|
CS.RUN.Save ldy #hFileBuf
|
||||||
sec
|
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
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.DumpConfYA
|
CS.RUN.DumpConfYA
|
||||||
|
@ -239,8 +262,13 @@ CS.RUN.DumpConfYA
|
||||||
>SYSCALL PPrintFYA
|
>SYSCALL PPrintFYA
|
||||||
|
|
||||||
ldy #8
|
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
|
>LDYA L.MSG.CHROOT
|
||||||
>SYSCALL PPrintFYA
|
>SYSCALL PPrintFYA
|
||||||
|
|
||||||
|
@ -311,14 +339,16 @@ SLOTS .DA #0
|
||||||
.DA #A2osX.SLOTS.NET
|
.DA #A2osX.SLOTS.NET
|
||||||
.DA #A2osX.SLOTS.DISABLE
|
.DA #A2osX.SLOTS.DISABLE
|
||||||
SLOTS.MAX .EQ *-SLOTS
|
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 >PSTR "\ec\e[7m\e[1;1HA2osX Kernel Config Utility : "
|
||||||
MSG.TOPBAR.OK >PSTR "KCONFIG File Successfully Loaded. \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.TOPBAR.KO >PSTR "Invalid/missing KCONFIG File. \e[0m\r\n"
|
||||||
MSG.KCONF >PSTR "------ Actual Kernel Configuration ------\r\n"
|
MSG.KCONF >PSTR "------ Actual Kernel Configuration ------\r\n"
|
||||||
MSG.FCONF >PSTR "\e[13;1H------ KCONFIG File Configuration ------\r\n"
|
MSG.FCONF >PSTR "\e[13;1H------ KCONFIG File Configuration ------\r\n"
|
||||||
MSG.HZ >PSTR " Machine Type : %d0Hz\r\n"
|
MSG.HZ >PSTR " Machine Timing : %d0Hz\r\n"
|
||||||
MSG.CHROOT >PSTR " CHRoot to RAM : %d\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 >PSTR " Slot #%d : %S\r\n"
|
||||||
MSG.SLOT.NODEV >PSTR "<NO DEVICE>"
|
MSG.SLOT.NODEV >PSTR "<NO DEVICE>"
|
||||||
MSG.SLOT.Z80 >PSTR "Z80 CPU Board"
|
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.XY >PSTR "XY Pointing Device"
|
||||||
MSG.SLOT.NET >PSTR "Network Interface Card"
|
MSG.SLOT.NET >PSTR "Network Interface Card"
|
||||||
MSG.SLOT.DIS >PSTR "<DISABLED>"
|
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 >PSTR "\ec"
|
||||||
MSG.QUIT.ERR >PSTR "\ecError [$%h] While Writing KCONFIG File.\r\n\r\n"
|
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
|
ldy ADDF.DST-1,x
|
||||||
sta K.S.STAT,y
|
sta K.S.STAT,y
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bne .1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.ReadDirA.AddAccess
|
K.ReadDirA.AddAccess
|
||||||
ldy #$1E ProDOS Access
|
ldy #$1E ProDOS Access
|
||||||
|
|
|
@ -364,10 +364,41 @@ K.Stat jsr PFT.CheckPathSTK
|
||||||
>PULLW ZPPtr2
|
>PULLW ZPPtr2
|
||||||
>MLICALL MLIGETFILEINFO
|
>MLICALL MLIGETFILEINFO
|
||||||
bcs .9
|
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
|
.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
|
FILE.SetIOBUF >PUSHWI 1024 get a ProDOS IOBUF
|
||||||
>PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
>PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
||||||
jsr K.GetMem
|
jsr K.GetMem
|
||||||
|
@ -386,30 +417,6 @@ FILE.SetupPrt1A jsr K.GetMemPtrA
|
||||||
sta K.MLI.PARAMS+1
|
sta K.MLI.PARAMS+1
|
||||||
rts
|
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
|
MAN
|
||||||
SAVE /A2OSX.SRC/SYS/KERNEL.S.FILE
|
SAVE /A2OSX.SRC/SYS/KERNEL.S.FILE
|
||||||
LOAD /A2OSX.SRC/SYS/KERNEL.S
|
LOAD /A2OSX.SRC/SYS/KERNEL.S
|
||||||
|
|
|
@ -192,8 +192,8 @@ K.LoadFile.Seek >PUSHWI 0
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # SaveFile
|
* # SaveFile
|
||||||
* ## In:
|
* ## In:
|
||||||
* PUSHW = SrcLen
|
|
||||||
* PUSHW = SrcPtr
|
* PUSHW = SrcPtr
|
||||||
|
* PUSHW = SrcLen
|
||||||
* PUSHW = AUXTYPE (Handled by....
|
* PUSHW = AUXTYPE (Handled by....
|
||||||
* PUSHB = TYPE ...
|
* PUSHB = TYPE ...
|
||||||
* PUSHB = MODE ...
|
* PUSHB = MODE ...
|
||||||
|
|
|
@ -446,8 +446,8 @@ And return, if found, the full path to it.
|
||||||
# SaveFile
|
# SaveFile
|
||||||
|
|
||||||
## In:
|
## In:
|
||||||
+ PUSHW = SrcLen
|
|
||||||
+ PUSHW = SrcPtr
|
+ PUSHW = SrcPtr
|
||||||
|
+ PUSHW = SrcLen
|
||||||
+ PUSHW = AUXTYPE (Handled by....
|
+ PUSHW = AUXTYPE (Handled by....
|
||||||
+ PUSHB = TYPE ...
|
+ PUSHB = TYPE ...
|
||||||
+ PUSHB = MODE ...
|
+ PUSHB = MODE ...
|
||||||
|
|
Loading…
Reference in New Issue
Block a user