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
jsr SETPWRC
ldx #$17
lda #$01
sta MEMTABL+$17 protect ProDOS MLI Page
ldx #$16
.1 stz MEMTABL,x Reset ProDOS memory bitmap
dex
bpl .1
bne .1
lda #$CF protect zero page, stack and page 1
sta MEMTABL
lda #$07
sta MEMTABL+$17 protect ProDOS & A2osX global page
lda #$8C Reset 80 col screen ($0C=FF=HOME)
jsr $C300
@ -76,10 +80,10 @@ A2osX.QC.Start1 sei
jsr A2osX.QC.CLoad
bcc .8
>LDAXI MSG.CLOADING.KO
jsr A2osX.QC.PrintAX
ldx #15
.5 lda A2OSXCONF.DEFAULT,x
@ -192,25 +196,29 @@ A2osX.QC.PrintAX
*--------------------------------------
MLISETPREFIX00 .DA #1
.DA A2osX.QC.Prefix
*--------------------------------------
MLIOPEN00 .DA #3
.DA MLIOPEN00.PATH
.DA MLIOPEN00.BUFF
.BS 1
*--------------------------------------
MLIREAD00K .DA #4
.BS 1
.DA MLIREAD00.ADDR
.DA $8000
.BS 2
*--------------------------------------
MLIREAD00C .DA #4
.BS 1
.DA MLIREAD01.ADDR
.DA 16
.BS 2
*--------------------------------------
MLICLOSE00 .DA #1
.BS 1
*--------------------------------------
SYSKERNEL >PSTR "SYS/KERNEL"
A2OSXCONF >PSTR "A2osX.CONF"
A2OSXCONF >PSTR "A2osX.KCONFIG"
*--------------------------------------
A2OSXCONF.DEFAULT
.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
*--------------------------------------
A2osX.HZ .EQ $BEF0
A2osX.RAMDRVDIS .EQ $BEF8 If $80, prevent ChRooting to /RAMx
A2osX.HZ .EQ $BEF0 5/6 for 50/60Hz
A2osX.CHROOT .EQ $BEF8 ChRooting to /RAMx
A2osX.SLOTS .EQ $BEF8 $BEF9->$BEFF, 7 slots
A2osX.SLOTS.Z80 .EQ $80
A2osX.SLOTS.VSDRIVE .EQ $81

View File

@ -36,13 +36,13 @@ L.FILENAME .DA FILENAME
L.MSG.TOPBAR .DA MSG.TOPBAR
L.MSG.TOPBAR.OK .DA MSG.TOPBAR.OK
L.MSG.TOPBAR.KO .DA MSG.TOPBAR.KO
L.MSG.STATUSBAR .DA MSG.STATUSBAR
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
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.XY
.DA MSG.SLOT.NET
.DA MSG.SLOT.DIS
.DA MSG.SLOT.DIS
L.MSG.PROMPT .DA MSG.PROMPT
.DA 0 End Of Reloc Table
*--------------------------------------
CS.INIT clc
@ -183,17 +184,16 @@ CS.RUN.Load >PUSHWI UsrBuf256
>SYSCALL GetMemPtrA
>PUSHYA
>SYSCALL Stat
>DEBUG
bcs .99
sec
lda UsrBuf256+S.STAT.SIZE
eor #16
bne .99
lda UsrBuf256+S.STAT.SIZE+1
ora UsrBuf256+S.STAT.SIZE+2
ora UsrBuf256+S.STAT.SIZE+3
bne .99
* sec
* lda UsrBuf256+S.STAT.SIZE
* eor #16
* bne .99
* lda UsrBuf256+S.STAT.SIZE+1
* ora UsrBuf256+S.STAT.SIZE+2
* ora UsrBuf256+S.STAT.SIZE+3
* bne .99
lda UsrBuf256+S.STAT.P.TYPE
eor #6
@ -217,9 +217,9 @@ CS.RUN.Load >PUSHWI UsrBuf256
rts
.99 >PUSHWI 16
>PUSHB S.MEM.F.INIT0
>PUSHBI S.MEM.F.INIT0
>SYSCALL GetMem
>STYA ZPTmp1
txa
@ -263,13 +263,12 @@ CS.RUN.DumpConfYA
ldy #8
lda (ZPTmp1),y
beq .10
>LDYA L.MSG.ENABLED
bne .10
>PUSHW L.MSG.DISABLED
bra .12
.10 >LDYA L.MSG.DISABLED
.10 >PUSHW L.MSG.ENABLED
.12 >PUSHYA
>LDYA L.MSG.CHROOT
.12 >LDYA L.MSG.CHROOT
>SYSCALL PPrintFYA
ldy #9 Slot 1
@ -300,13 +299,15 @@ CS.RUN.DumpConfYA
>LDYA L.MSG.SLOT
>SYSCALL PPrintFYA
ply
iny
cpy #16
bne .1
>LDYA L.MSG.PROMPT
>SYSCALL PPrintFYA
clc
rts
*--------------------------------------
@ -339,13 +340,15 @@ SLOTS .DA #0
.DA #A2osX.SLOTS.NET
.DA #A2osX.SLOTS.DISABLE
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.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.TOPBAR.OK >PSTR "KCONFIG File Successfully Loaded. \e[0m"
MSG.TOPBAR.KO >PSTR "Invalid/missing KCONFIG File. \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.KCONF >PSTR "\e[2;1H------ Actual Kernel 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.ENABLED >PSTR "Enabled"
MSG.DISABLED >PSTR "Disabled"
@ -361,7 +364,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-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.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
bcs .9
lda #S.STAT.MODE.XO+S.STAT.MODE.WO+S.STAT.MODE.RO
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
beq .2
* cpx #S.FILEINFO.ACCESS.R
txa
beq .2
lda #S.STAT.MODE.XO+S.STAT.MODE.RO
cpx #S.FILEINFO.ACCESS.R
beq .2
lda #0
.2 ldy #S.STAT.MODE
sta (ZPPtr2),y
@ -387,7 +388,7 @@ K.Stat jsr PFT.CheckPathSTK
sta (ZPPtr2),y
dex
bne .3
clc
.9 rts
*--------------------------------------
K.Stat.SRC .DA #S.FILEINFO.TYPE