mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-05 10:04:48 +00:00
Kernel version 0.9 : New KCONFIG utility for Kernel Tuning
This commit is contained in:
parent
c2a1526ce7
commit
8c20ced888
Binary file not shown.
Binary file not shown.
346
SBIN/KCONFIG.S.txt
Normal file
346
SBIN/KCONFIG.S.txt
Normal file
@ -0,0 +1,346 @@
|
|||||||
|
PR#3
|
||||||
|
PREFIX /A2OSX.BUILD
|
||||||
|
NEW
|
||||||
|
INC 1
|
||||||
|
AUTO 6
|
||||||
|
.LIST OFF
|
||||||
|
.OP 65C02
|
||||||
|
.OR $2000
|
||||||
|
.TF /A2OSX.BUILD/SBIN/KCONFIG
|
||||||
|
*--------------------------------------
|
||||||
|
.INB /A2OSX.BUILD/INC/MACROS.I
|
||||||
|
.INB /A2OSX.BUILD/INC/A2OSX.I
|
||||||
|
*--------------------------------------
|
||||||
|
ZPTmp1 .EQ ZPBIN
|
||||||
|
ZPTmp2 .EQ ZPBIN+2
|
||||||
|
*--------------------------------------
|
||||||
|
* File Header (16 Bytes)
|
||||||
|
*--------------------------------------
|
||||||
|
CS.START cld
|
||||||
|
jmp (.1,x)
|
||||||
|
.DA #$61 6502,Level 1 (65c02)
|
||||||
|
.DA #1 BIN Layout Version 1
|
||||||
|
.DA 0
|
||||||
|
.DA CS.END-CS.START
|
||||||
|
.DA DS.END-DS.START Data Segment to Allocate
|
||||||
|
.DA 0
|
||||||
|
.DA 0
|
||||||
|
*--------------------------------------
|
||||||
|
* Relocation Table
|
||||||
|
*--------------------------------------
|
||||||
|
.1 .DA CS.INIT
|
||||||
|
.DA CS.RUN
|
||||||
|
.DA CS.DOEVENT
|
||||||
|
.DA CS.QUIT
|
||||||
|
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.KCONF .DA MSG.KCONF
|
||||||
|
L.MSG.FCONF .DA MSG.FCONF
|
||||||
|
L.MSG.HZ .DA MSG.HZ
|
||||||
|
L.MSG.CHROOT .DA MSG.CHROOT
|
||||||
|
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
|
||||||
|
T.MSG.SLOT.DESC .DA MSG.SLOT.NODEV
|
||||||
|
.DA MSG.SLOT.Z80
|
||||||
|
.DA MSG.SLOT.VSD
|
||||||
|
.DA MSG.SLOT.ATK
|
||||||
|
.DA MSG.SLOT.DII
|
||||||
|
.DA MSG.SLOT.BLK
|
||||||
|
.DA MSG.SLOT.PRT
|
||||||
|
.DA MSG.SLOT.COM
|
||||||
|
.DA MSG.SLOT.XY
|
||||||
|
.DA MSG.SLOT.NET
|
||||||
|
.DA MSG.SLOT.DIS
|
||||||
|
.DA 0 End Of Reloc Table
|
||||||
|
*--------------------------------------
|
||||||
|
CS.INIT clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN >LDYA L.FILENAME
|
||||||
|
>SYSCALL ExpandPStrYA
|
||||||
|
txa
|
||||||
|
ldy #hFileName
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
>LDYA L.MSG.TOPBAR
|
||||||
|
>SYSCALL PPrintFYA
|
||||||
|
|
||||||
|
jsr CS.RUN.Load
|
||||||
|
bcs .1
|
||||||
|
>LDYA L.MSG.TOPBAR.OK
|
||||||
|
bra .2
|
||||||
|
.1 >LDYA L.MSG.TOPBAR.KO
|
||||||
|
|
||||||
|
.2 >SYSCALL PPrintFYA
|
||||||
|
|
||||||
|
>LDYA L.MSG.KCONF
|
||||||
|
>SYSCALL PPrintFYA
|
||||||
|
|
||||||
|
>LDYAI A2osX.HZ
|
||||||
|
jsr CS.RUN.DumpConfYA
|
||||||
|
|
||||||
|
>LDYA L.MSG.STATUSBAR
|
||||||
|
>SYSCALL PPrintFYA
|
||||||
|
|
||||||
|
CS.RUN.REPaint >LDYA L.MSG.FCONF
|
||||||
|
>SYSCALL PPrintFYA
|
||||||
|
|
||||||
|
ldy #hFileBuf
|
||||||
|
lda (pData),y
|
||||||
|
>SYSCALL GetMemPtrA
|
||||||
|
jsr CS.RUN.DumpConfYA
|
||||||
|
|
||||||
|
CS.RUN.Loop >SYSCALL Sleep
|
||||||
|
>SYSCALL GetC
|
||||||
|
bcs CS.RUN.Loop
|
||||||
|
cmp #17 Ctrl-Q
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
cmp #19 Ctrl-S
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
jsr CS.RUN.Save
|
||||||
|
bcc .8
|
||||||
|
>PUSHA
|
||||||
|
>LDYA L.MSG.QUIT.ERR
|
||||||
|
bra .9
|
||||||
|
|
||||||
|
.1 cmp #8 Ctrl-H
|
||||||
|
bne .2
|
||||||
|
>DEBUG
|
||||||
|
jsr CS.RUN.HZ
|
||||||
|
bra CS.RUN.REPaint
|
||||||
|
|
||||||
|
.2 cmp #3 Ctrl-C
|
||||||
|
bne .3
|
||||||
|
|
||||||
|
jsr CS.RUN.CHRoot
|
||||||
|
bra CS.RUN.REPaint
|
||||||
|
|
||||||
|
.3 cmp #'1'
|
||||||
|
bcc CS.RUN.Loop
|
||||||
|
cmp #'8'
|
||||||
|
bcs CS.RUN.Loop
|
||||||
|
and #$0f
|
||||||
|
jsr CS.RUN.Slot
|
||||||
|
bra CS.RUN.REPaint
|
||||||
|
|
||||||
|
.8 >LDYA L.MSG.QUIT
|
||||||
|
.9 >SYSCALL PPrintFYA
|
||||||
|
lda #0
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.HZ ldy #hFileBuf
|
||||||
|
lda (pData),y
|
||||||
|
>SYSCALL GetMemPtrA
|
||||||
|
>STYA ZPTmp1
|
||||||
|
|
||||||
|
lda (ZPTmp1)
|
||||||
|
eor #3
|
||||||
|
sta (ZPTmp1)
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.CHRoot ldy #hFileBuf
|
||||||
|
lda (pData),y
|
||||||
|
>SYSCALL GetMemPtrA
|
||||||
|
>STYA ZPTmp1
|
||||||
|
|
||||||
|
ldy #8
|
||||||
|
lda (ZPTmp1),y
|
||||||
|
eor #$FF
|
||||||
|
sta (ZPTmp1),y
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.Slot pha
|
||||||
|
|
||||||
|
ldy #hFileBuf
|
||||||
|
lda (pData),y
|
||||||
|
>SYSCALL GetMemPtrA
|
||||||
|
>STYA ZPTmp1
|
||||||
|
|
||||||
|
pla
|
||||||
|
clc
|
||||||
|
adc #8
|
||||||
|
tay
|
||||||
|
lda (ZPTmp1),y
|
||||||
|
eor #$FF
|
||||||
|
sta (ZPTmp1),y
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.Load >PUSHWI UsrBuf256
|
||||||
|
ldy #hFileName
|
||||||
|
lda (pData),y
|
||||||
|
>SYSCALL GetMemPtrA
|
||||||
|
>PUSHYA
|
||||||
|
>SYSCALL Stat
|
||||||
|
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
|
||||||
|
|
||||||
|
lda UsrBuf256+S.STAT.P.TYPE
|
||||||
|
eor #6
|
||||||
|
bne .99
|
||||||
|
|
||||||
|
>PUSHWI 0 Aux type
|
||||||
|
>PUSHBI 6 S.FILEINFO.TYPE.BIN
|
||||||
|
>PUSHBI SYS.FOpen.R
|
||||||
|
ldy #hFileName
|
||||||
|
lda (pData),y
|
||||||
|
|
||||||
|
>SYSCALL GetMemPtrA
|
||||||
|
|
||||||
|
>PUSHYA
|
||||||
|
>SYSCALL LoadFile
|
||||||
|
bcs .99
|
||||||
|
txa
|
||||||
|
|
||||||
|
ldy #hFileBuf
|
||||||
|
sta (pData),y
|
||||||
|
rts
|
||||||
|
|
||||||
|
.99 >PUSHWI 16
|
||||||
|
>PUSHB S.MEM.F.INIT0
|
||||||
|
>SYSCALL GetMem
|
||||||
|
|
||||||
|
>STYA ZPTmp1
|
||||||
|
|
||||||
|
txa
|
||||||
|
ldy #hFileBuf
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
lda #6
|
||||||
|
sta (ZPTmp1)
|
||||||
|
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.Save
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.DumpConfYA
|
||||||
|
>STYA ZPTmp1
|
||||||
|
|
||||||
|
>PUSHB (ZPTmp1)
|
||||||
|
|
||||||
|
>LDYA L.MSG.HZ
|
||||||
|
>SYSCALL PPrintFYA
|
||||||
|
|
||||||
|
ldy #8
|
||||||
|
>PUSHB (ZPTmp1),y
|
||||||
|
|
||||||
|
>LDYA L.MSG.CHROOT
|
||||||
|
>SYSCALL PPrintFYA
|
||||||
|
|
||||||
|
ldy #9 Slot 1
|
||||||
|
|
||||||
|
.1 lda (ZPTmp1),y
|
||||||
|
|
||||||
|
ldx #SLOTS.MAX-1
|
||||||
|
|
||||||
|
.2 cmp SLOTS,x
|
||||||
|
beq .3
|
||||||
|
|
||||||
|
dex
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
.3 phy
|
||||||
|
txa
|
||||||
|
asl
|
||||||
|
tax
|
||||||
|
|
||||||
|
>PUSHB T.MSG.SLOT.DESC+1,x
|
||||||
|
>PUSHB T.MSG.SLOT.DESC,x
|
||||||
|
|
||||||
|
pla
|
||||||
|
pha
|
||||||
|
sec
|
||||||
|
sbc #8
|
||||||
|
>PUSHA Slot
|
||||||
|
|
||||||
|
>LDYA L.MSG.SLOT
|
||||||
|
>SYSCALL PPrintFYA
|
||||||
|
|
||||||
|
|
||||||
|
ply
|
||||||
|
iny
|
||||||
|
cpy #16
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.DOEVENT sec do not discard TIMER event
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.QUIT ldy #hFileBuf
|
||||||
|
lda (pData),y
|
||||||
|
beq .1
|
||||||
|
>SYSCALL FreeMemA
|
||||||
|
|
||||||
|
.1 ldy #hFileName
|
||||||
|
lda (pData),y
|
||||||
|
beq .8
|
||||||
|
>SYSCALL FreeMemA
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.END
|
||||||
|
SLOTS .DA #0
|
||||||
|
.DA #A2osX.SLOTS.Z80
|
||||||
|
.DA #A2osX.SLOTS.VSDRIVE
|
||||||
|
.DA #A2osX.SLOTS.ATCARD
|
||||||
|
.DA #A2osX.SLOTS.DII
|
||||||
|
.DA #A2osX.SLOTS.BLK
|
||||||
|
.DA #A2osX.SLOTS.SP
|
||||||
|
.DA #A2osX.SLOTS.COM
|
||||||
|
.DA #A2osX.SLOTS.XY
|
||||||
|
.DA #A2osX.SLOTS.NET
|
||||||
|
.DA #A2osX.SLOTS.DISABLE
|
||||||
|
SLOTS.MAX .EQ *-SLOTS
|
||||||
|
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.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.SLOT >PSTR " Slot #%d : %S\r\n"
|
||||||
|
MSG.SLOT.NODEV >PSTR "<NO DEVICE>"
|
||||||
|
MSG.SLOT.Z80 >PSTR "Z80 CPU Board"
|
||||||
|
MSG.SLOT.VSD >PSTR "SSC Shared Driver for VSDRIVE"
|
||||||
|
MSG.SLOT.ATK >PSTR "AppleTalk Board"
|
||||||
|
MSG.SLOT.DII >PSTR "Disk II Controller"
|
||||||
|
MSG.SLOT.BLK >PSTR "Generic Block/SCSI Controller"
|
||||||
|
MSG.SLOT.PRT >PSTR "SmartPort Controller"
|
||||||
|
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.QUIT >PSTR "\ec"
|
||||||
|
MSG.QUIT.ERR >PSTR "\ecError [$%h] While Writing KCONFIG File.\r\n\r\n"
|
||||||
|
*--------------------------------------
|
||||||
|
.DUMMY
|
||||||
|
.OR 0
|
||||||
|
DS.START
|
||||||
|
hFileName .BS 1
|
||||||
|
hFileBuf .BS 1
|
||||||
|
DS.END .ED
|
||||||
|
MAN
|
||||||
|
SAVE /A2OSX.SRC/SBIN/KCONFIG.S
|
||||||
|
ASM
|
Loading…
Reference in New Issue
Block a user