Kernel version 0.9 : KCONFIG, bugfix in Quit Code preventing saved config load

This commit is contained in:
Rémy GIBERT 2017-04-13 18:04:05 +02:00
parent aa032994d8
commit 61615d2be9
7 changed files with 53 additions and 41 deletions

View File

@ -33,14 +33,18 @@ A2osX.QC.Start1 sei
>STYA POWERUP >STYA POWERUP
jsr SETPWRC jsr SETPWRC
ldx #$17 lda #$01
sta MEMTABL+$17 protect ProDOS MLI Page
ldx #$16
.1 stz MEMTABL,x Reset ProDOS memory bitmap .1 stz MEMTABL,x Reset ProDOS memory bitmap
dex dex
bpl .1 bne .1
lda #$CF protect zero page, stack and page 1 lda #$CF protect zero page, stack and page 1
sta MEMTABL sta MEMTABL
lda #$07
sta MEMTABL+$17 protect ProDOS & A2osX global page
lda #$8C Reset 80 col screen ($0C=FF=HOME) lda #$8C Reset 80 col screen ($0C=FF=HOME)
jsr $C300 jsr $C300
@ -76,10 +80,10 @@ A2osX.QC.Start1 sei
jsr A2osX.QC.CLoad jsr A2osX.QC.CLoad
bcc .8 bcc .8
>LDAXI MSG.CLOADING.KO >LDAXI MSG.CLOADING.KO
jsr A2osX.QC.PrintAX jsr A2osX.QC.PrintAX
ldx #15 ldx #15
.5 lda A2OSXCONF.DEFAULT,x .5 lda A2OSXCONF.DEFAULT,x
@ -192,25 +196,29 @@ A2osX.QC.PrintAX
*-------------------------------------- *--------------------------------------
MLISETPREFIX00 .DA #1 MLISETPREFIX00 .DA #1
.DA A2osX.QC.Prefix .DA A2osX.QC.Prefix
*--------------------------------------
MLIOPEN00 .DA #3 MLIOPEN00 .DA #3
.DA MLIOPEN00.PATH .DA MLIOPEN00.PATH
.DA MLIOPEN00.BUFF .DA MLIOPEN00.BUFF
.BS 1 .BS 1
*--------------------------------------
MLIREAD00K .DA #4 MLIREAD00K .DA #4
.BS 1 .BS 1
.DA MLIREAD00.ADDR .DA MLIREAD00.ADDR
.DA $8000 .DA $8000
.BS 2 .BS 2
*--------------------------------------
MLIREAD00C .DA #4 MLIREAD00C .DA #4
.BS 1 .BS 1
.DA MLIREAD01.ADDR .DA MLIREAD01.ADDR
.DA 16 .DA 16
.BS 2 .BS 2
*--------------------------------------
MLICLOSE00 .DA #1 MLICLOSE00 .DA #1
.BS 1 .BS 1
*-------------------------------------- *--------------------------------------
SYSKERNEL >PSTR "SYS/KERNEL" SYSKERNEL >PSTR "SYS/KERNEL"
A2OSXCONF >PSTR "A2osX.CONF" A2OSXCONF >PSTR "A2osX.KCONFIG"
*-------------------------------------- *--------------------------------------
A2OSXCONF.DEFAULT A2OSXCONF.DEFAULT
.DA #6 60hz .DA #6 60hz

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -124,8 +124,8 @@ A2osX.RANDOM16 .EQ $BEEE WORD
*-------------------------------------- *--------------------------------------
* $BEF0->$BEFF : Kernel Config Block * $BEF0->$BEFF : Kernel Config Block
*-------------------------------------- *--------------------------------------
A2osX.HZ .EQ $BEF0 A2osX.HZ .EQ $BEF0 5/6 for 50/60Hz
A2osX.RAMDRVDIS .EQ $BEF8 If $80, prevent ChRooting to /RAMx A2osX.CHROOT .EQ $BEF8 ChRooting to /RAMx
A2osX.SLOTS .EQ $BEF8 $BEF9->$BEFF, 7 slots A2osX.SLOTS .EQ $BEF8 $BEF9->$BEFF, 7 slots
A2osX.SLOTS.Z80 .EQ $80 A2osX.SLOTS.Z80 .EQ $80
A2osX.SLOTS.VSDRIVE .EQ $81 A2osX.SLOTS.VSDRIVE .EQ $81

View File

@ -36,13 +36,13 @@ L.FILENAME .DA FILENAME
L.MSG.TOPBAR .DA MSG.TOPBAR L.MSG.TOPBAR .DA MSG.TOPBAR
L.MSG.TOPBAR.OK .DA MSG.TOPBAR.OK L.MSG.TOPBAR.OK .DA MSG.TOPBAR.OK
L.MSG.TOPBAR.KO .DA MSG.TOPBAR.KO L.MSG.TOPBAR.KO .DA MSG.TOPBAR.KO
L.MSG.STATUSBAR .DA MSG.STATUSBAR
L.MSG.KCONF .DA MSG.KCONF 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.DISABLED .DA MSG.DISABLED
L.MSG.ENABLED .DA MSG.ENABLED L.MSG.ENABLED .DA MSG.ENABLED
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
L.MSG.QUIT.ERR .DA MSG.QUIT.ERR L.MSG.QUIT.ERR .DA MSG.QUIT.ERR
@ -56,7 +56,8 @@ T.MSG.SLOT.DESC .DA MSG.SLOT.NODEV
.DA MSG.SLOT.COM .DA MSG.SLOT.COM
.DA MSG.SLOT.XY .DA MSG.SLOT.XY
.DA MSG.SLOT.NET .DA MSG.SLOT.NET
.DA MSG.SLOT.DIS .DA MSG.SLOT.DIS
L.MSG.PROMPT .DA MSG.PROMPT
.DA 0 End Of Reloc Table .DA 0 End Of Reloc Table
*-------------------------------------- *--------------------------------------
CS.INIT clc CS.INIT clc
@ -183,17 +184,16 @@ CS.RUN.Load >PUSHWI UsrBuf256
>SYSCALL GetMemPtrA >SYSCALL GetMemPtrA
>PUSHYA >PUSHYA
>SYSCALL Stat >SYSCALL Stat
>DEBUG
bcs .99 bcs .99
sec * sec
lda UsrBuf256+S.STAT.SIZE * lda UsrBuf256+S.STAT.SIZE
eor #16 * eor #16
bne .99 * bne .99
lda UsrBuf256+S.STAT.SIZE+1 * lda UsrBuf256+S.STAT.SIZE+1
ora UsrBuf256+S.STAT.SIZE+2 * ora UsrBuf256+S.STAT.SIZE+2
ora UsrBuf256+S.STAT.SIZE+3 * ora UsrBuf256+S.STAT.SIZE+3
bne .99 * bne .99
lda UsrBuf256+S.STAT.P.TYPE lda UsrBuf256+S.STAT.P.TYPE
eor #6 eor #6
@ -217,9 +217,9 @@ CS.RUN.Load >PUSHWI UsrBuf256
rts rts
.99 >PUSHWI 16 .99 >PUSHWI 16
>PUSHB S.MEM.F.INIT0 >PUSHBI S.MEM.F.INIT0
>SYSCALL GetMem >SYSCALL GetMem
>STYA ZPTmp1 >STYA ZPTmp1
txa txa
@ -263,13 +263,12 @@ CS.RUN.DumpConfYA
ldy #8 ldy #8
lda (ZPTmp1),y lda (ZPTmp1),y
beq .10 bne .10
>LDYA L.MSG.ENABLED >PUSHW L.MSG.DISABLED
bra .12 bra .12
.10 >LDYA L.MSG.DISABLED .10 >PUSHW L.MSG.ENABLED
.12 >PUSHYA .12 >LDYA L.MSG.CHROOT
>LDYA L.MSG.CHROOT
>SYSCALL PPrintFYA >SYSCALL PPrintFYA
ldy #9 Slot 1 ldy #9 Slot 1
@ -300,13 +299,15 @@ CS.RUN.DumpConfYA
>LDYA L.MSG.SLOT >LDYA L.MSG.SLOT
>SYSCALL PPrintFYA >SYSCALL PPrintFYA
ply ply
iny iny
cpy #16 cpy #16
bne .1 bne .1
>LDYA L.MSG.PROMPT
>SYSCALL PPrintFYA
clc clc
rts rts
*-------------------------------------- *--------------------------------------
@ -339,13 +340,15 @@ 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}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"
MSG.TOPBAR.KO >PSTR "Invalid/missing KCONFIG File. \e[0m\r\n" MSG.TOPBAR.KO >PSTR "Invalid/missing KCONFIG File. \e[0m"
MSG.KCONF >PSTR "------ Actual Kernel Configuration ------\r\n" 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.KCONF >PSTR "\e[2;1H------ 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 Timing : %d0Hz\r\n" MSG.HZ >PSTR " Machine Timing : %d0 Hz\r\n"
MSG.CHROOT >PSTR " CHRoot to /RAMx : %S\r\n" MSG.CHROOT >PSTR " CHRoot to /RAMx : %S\r\n"
MSG.ENABLED >PSTR "Enabled" MSG.ENABLED >PSTR "Enabled"
MSG.DISABLED >PSTR "Disabled" MSG.DISABLED >PSTR "Disabled"
@ -361,7 +364,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-T:Toggle Time,Ctrl-C:Toggle CHRoot,1-7:En/Dis Slot \e[0m" MSG.PROMPT >PSTR "\e[24;80H"
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"
*-------------------------------------- *--------------------------------------

View File

@ -365,17 +365,18 @@ K.Stat jsr PFT.CheckPathSTK
>MLICALL MLIGETFILEINFO >MLICALL MLIGETFILEINFO
bcs .9 bcs .9
lda #S.STAT.MODE.XO+S.STAT.MODE.WO+S.STAT.MODE.RO
ldx K.MLI.PARAMS+S.FILEINFO.ACCESS ldx K.MLI.PARAMS+S.FILEINFO.ACCESS
lda #S.STAT.MODE.XO+S.STAT.MODE.WO+S.STAT.MODE.RO
cpx #S.FILEINFO.ACCESS.FULL cpx #S.FILEINFO.ACCESS.FULL
beq .2 beq .2
* cpx #S.FILEINFO.ACCESS.R
txa
beq .2
lda #S.STAT.MODE.XO+S.STAT.MODE.RO lda #S.STAT.MODE.XO+S.STAT.MODE.RO
cpx #S.FILEINFO.ACCESS.R
beq .2
lda #0
.2 ldy #S.STAT.MODE .2 ldy #S.STAT.MODE
sta (ZPPtr2),y sta (ZPPtr2),y
@ -387,7 +388,7 @@ K.Stat jsr PFT.CheckPathSTK
sta (ZPPtr2),y sta (ZPPtr2),y
dex dex
bne .3 bne .3
clc
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
K.Stat.SRC .DA #S.FILEINFO.TYPE K.Stat.SRC .DA #S.FILEINFO.TYPE