A2osX/BIN/KCONFIG.S.txt

412 lines
8.0 KiB
Plaintext
Raw Permalink Normal View History

NEW
2018-11-17 17:17:13 +00:00
PREFIX
2018-08-08 15:13:37 +00:00
AUTO 4,1
.LIST OFF
.OP 65C02
.OR $2000
2019-12-04 13:46:58 +00:00
.TF bin/kconfig
*--------------------------------------
2020-08-25 10:56:00 +00:00
.INB inc/macros.i
.INB inc/mli.i
.INB inc/a2osx.i
*--------------------------------------
2019-09-27 14:53:44 +00:00
.DUMMY
.OR ZPBIN
ZS.START
ZPCfgPtr .BS 2
ZPTmp1 .BS 2
hFileBuf .BS 1
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
CS.START cld
jmp (.1,x)
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
2019-09-27 14:53:44 +00:00
.DA #S.PS.F.EVENT
.DA #0
.DA CS.END-CS.START Code Size (without Constants)
.DA DS.END-DS.START Data Segment Size
.DA #64 Stack Size
.DA #ZS.END-ZS.START Zero Page Size
.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.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
2019-01-21 21:45:47 +00:00
L.MSG.PMODE .DA MSG.PMODE
L.MSG.TTYS .DA MSG.TTYS
L.MSG.DISABLED .DA MSG.DISABLED
L.MSG.ENABLED .DA MSG.ENABLED
L.MSG.SLOT .DA MSG.SLOT
L.MSG.QUIT .DA MSG.QUIT
2019-09-27 14:53:44 +00:00
L.MSG.QUIT.SAVED
.DA MSG.QUIT.SAVED
L.MSG.QUIT.ERR .DA MSG.QUIT.ERR
T.MSG.SLOT.DESC .DA MSG.SLOT.NODEV
.DA MSG.SLOT.Z80
.DA MSG.SLOT.VXD
.DA MSG.SLOT.ATK
.DA MSG.SLOT.DII
.DA MSG.SLOT.BLK
2018-12-01 19:39:44 +00:00
.DA MSG.SLOT.SP
.DA MSG.SLOT.COM
.DA MSG.SLOT.XY
2018-12-01 19:39:44 +00:00
.DA MSG.SLOT.NIC
.DA MSG.SLOT.CLK
.DA MSG.SLOT.DIS
2019-10-03 06:25:27 +00:00
L.MSG.PROMPT .DA MSG.PROMPT
.DA 0 End Of Reloc Table
*--------------------------------------
CS.INIT clc
rts
*--------------------------------------
2020-02-14 16:32:52 +00:00
CS.RUN >PUSHW L.MSG.TOPBAR
>PUSHW A2osX.KVER
2020-05-04 20:46:21 +00:00
>PUSHBI 2
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
jsr CS.RUN.Load
bcs .1
2020-02-14 16:32:52 +00:00
>LDYA L.MSG.TOPBAR.OK
bra .2
2019-01-04 13:17:31 +00:00
2020-02-14 16:32:52 +00:00
.1 >LDYA L.MSG.TOPBAR.KO
2020-02-14 16:32:52 +00:00
.2 >PUSHYA
>PUSHBI 0
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2019-10-23 15:12:58 +00:00
2020-02-14 16:32:52 +00:00
>PUSHW L.MSG.KCONF
2018-08-22 15:23:27 +00:00
>PUSHBI 0
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2019-10-23 15:12:58 +00:00
2018-10-08 05:55:28 +00:00
>LDYAI A2osX.KCONFIG
jsr CS.RUN.DumpConfYA
2019-10-23 15:12:58 +00:00
2020-02-14 16:32:52 +00:00
>PUSHW L.MSG.STATUSBAR
2018-08-22 15:23:27 +00:00
>PUSHBI 0
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2020-02-14 16:32:52 +00:00
CS.RUN.REPaint >PUSHW L.MSG.FCONF
>PUSHBI 0
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2019-10-23 15:12:58 +00:00
>LDYA ZPCfgPtr
jsr CS.RUN.DumpConfYA
2019-02-20 16:07:43 +00:00
CS.RUN.Loop >SYSCALL GetChar
bcs .99
cmp #17 Ctrl-Q
2020-02-14 16:32:52 +00:00
bne .11
jmp .8
.11 cmp #19 Ctrl-S
bne .1
jsr CS.RUN.Save
2019-09-27 14:53:44 +00:00
bcc .10
2020-02-14 16:32:52 +00:00
tax
>PUSHW L.MSG.QUIT.ERR
txa
>PUSHA
2018-10-29 08:41:10 +00:00
>PUSHBI 1
2019-09-27 14:53:44 +00:00
bra .9
2020-02-14 16:32:52 +00:00
.10 >PUSHW L.MSG.QUIT.SAVED
bra .80
2019-10-03 06:25:27 +00:00
.99 rts
.1 cmp #20 Ctrl-T
bne .2
lda (ZPCfgPtr)
eor #3
sta (ZPCfgPtr)
bra CS.RUN.REPaint
2020-02-14 16:32:52 +00:00
.2 cmp #3 Ctrl-C
bne .3
2020-02-14 16:32:52 +00:00
lda #A2osX.F.CHROOT
bra .31
.3 cmp #16 Ctrl-P
bne .4
2020-02-14 16:32:52 +00:00
lda #A2osX.F.PMODE
.31 jsr CS.RUN.ToggleA
jmp CS.RUN.REPaint
2019-01-21 21:45:47 +00:00
.4 cmp #25 Ctrl-Y
bne .5
2020-02-14 16:32:52 +00:00
2019-01-21 21:45:47 +00:00
ldy #1
lda (ZPCfgPtr),y
2020-01-11 17:13:27 +00:00
and #7
2019-01-21 21:45:47 +00:00
inc
sta (ZPCfgPtr),y
2019-09-27 14:53:44 +00:00
jmp CS.RUN.REPaint
2019-10-23 15:12:58 +00:00
2019-10-03 06:25:27 +00:00
.5 cmp #'1'
bcc CS.RUN.Loop
cmp #'8'
bcs CS.RUN.Loop
2020-02-14 16:32:52 +00:00
and #$0f
2020-02-14 16:32:52 +00:00
ora #8
tay
2019-10-23 15:12:58 +00:00
2020-02-14 16:32:52 +00:00
lda #$FF
jsr CS.RUN.ToggleAatY
2018-08-22 15:23:27 +00:00
jmp CS.RUN.REPaint
2019-10-23 15:12:58 +00:00
2020-02-14 16:32:52 +00:00
.8 >PUSHW L.MSG.QUIT
.80 >PUSHBI 0
2020-02-28 07:21:46 +00:00
.9 >SYSCALL PrintF
2018-10-29 08:41:10 +00:00
lda #0
sec
rts
*--------------------------------------
2020-02-14 16:32:52 +00:00
CS.RUN.ToggleA ldy #8
CS.RUN.ToggleAatY
eor (ZPCfgPtr),y
sta (ZPCfgPtr),y
rts
*--------------------------------------
2020-05-04 20:46:21 +00:00
CS.RUN.Load >PUSHW L.FILENAME
>PUSHEA.G StatBuf
>SYSCALL Stat
bcs .99
2020-02-14 16:32:52 +00:00
>LDA.G StatBuf+S.STAT.P.TYPE
2018-10-08 05:55:28 +00:00
eor #S.FI.T.SYS
bne .99
2020-06-25 21:20:22 +00:00
>PUSHW L.FILENAME
2018-10-02 15:52:30 +00:00
>PUSHBI O.RDONLY
2020-06-25 21:20:22 +00:00
>PUSHBI S.FI.T.SYS
>PUSHWI A2osX.KCONFIG
>SYSCALL LoadFile
bcs .99
2019-09-27 14:53:44 +00:00
stx hFileBuf
txa
2018-07-18 15:30:42 +00:00
>SYSCALL GetMemPtr
>STYA ZPCfgPtr
* clc
rts
2019-10-23 15:12:58 +00:00
.99 >LDYAI 16
2019-01-21 21:45:47 +00:00
>SYSCALL GetMem
>STYA ZPCfgPtr
2019-09-27 14:53:44 +00:00
stx hFileBuf
2019-10-23 15:12:58 +00:00
ldy #0
2019-01-21 21:45:47 +00:00
.1 lda A2osX.KCONFIG,y
2019-01-04 13:17:31 +00:00
sta (ZPCfgPtr),y
2019-10-23 15:12:58 +00:00
iny
cpy #9
bne .1
lda #0
.2 sta (ZPCfgPtr),y
iny
cpy #16
bne .2
sec
rts
*--------------------------------------
2020-06-25 21:20:22 +00:00
CS.RUN.Save >PUSHW L.FILENAME
2018-10-08 05:55:28 +00:00
>PUSHBI O.WRONLY+O.CREATE+O.TRUNC
2020-06-25 21:20:22 +00:00
>PUSHBI S.FI.T.SYS
>PUSHWI A2osX.KCONFIG
>SYSCALL FOpen
bcs .9
pha save hFile
2021-05-14 20:58:20 +00:00
>PUSHA
2018-07-25 15:26:14 +00:00
>PUSHW ZPCfgPtr
2021-05-14 20:58:20 +00:00
>PUSHWI 16 LEN
pla
pha
>SYSCALL FWrite
bcc .1
tax
pla
phx
2018-07-20 05:43:11 +00:00
>SYSCALL FClose
pla
sec
rts
2021-05-14 20:58:20 +00:00
.1 pla
2018-07-20 05:43:11 +00:00
>SYSCALL FClose
.9 rts
*--------------------------------------
CS.RUN.DumpConfYA
>STYA ZPTmp1
2020-02-14 16:32:52 +00:00
>PUSHW L.MSG.HZ
>PUSHB (ZPTmp1)
2018-08-22 15:23:27 +00:00
>PUSHBI 1
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2020-02-14 16:32:52 +00:00
>PUSHW L.MSG.CHROOT
ldy #8
lda (ZPTmp1),y
and #A2osX.F.CHROOT
bne .10
>LDYA L.MSG.DISABLED
bra .12
2020-02-14 16:32:52 +00:00
2019-10-03 06:25:27 +00:00
.10 >LDYA L.MSG.ENABLED
.12 >PUSHYA
2018-08-22 15:23:27 +00:00
>PUSHBI 2
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2020-02-14 16:32:52 +00:00
>PUSHW L.MSG.PMODE
ldy #8
lda (ZPTmp1),y
and #A2osX.F.PMODE
bne .13
>LDYA L.MSG.DISABLED
bra .14
2019-10-03 06:25:27 +00:00
.13 >LDYA L.MSG.ENABLED
.14 >PUSHYA
2018-08-22 15:23:27 +00:00
>PUSHBI 2
2020-02-14 16:32:52 +00:00
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2020-02-14 16:32:52 +00:00
>PUSHW L.MSG.TTYS
2019-01-21 21:45:47 +00:00
ldy #1
lda (ZPTmp1),y
>PUSHA
>PUSHBI 1
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2019-10-23 15:12:58 +00:00
ldy #9 Slot 1
2020-02-14 16:32:52 +00:00
.1 >PUSHW L.MSG.SLOT
lda (ZPTmp1),y
ldx #SLOTS.MAX-1
.2 cmp SLOTS,x
beq .3
dex
bne .2
2019-10-23 15:12:58 +00:00
.3 phy
2020-02-14 16:32:52 +00:00
tya
sec
sbc #8
>PUSHA Slot
2020-02-14 16:32:52 +00:00
txa
asl
tax
>PUSHW T.MSG.SLOT.DESC,x
2018-08-22 15:23:27 +00:00
>PUSHBI 3
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
ply
iny
cpy #16
bne .1
2020-02-14 16:32:52 +00:00
2020-02-18 15:34:56 +00:00
>PUSHW L.MSG.PROMPT
2018-08-22 15:23:27 +00:00
>PUSHBI 0
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
clc
rts
*--------------------------------------
CS.DOEVENT sec do not discard TIMER event
rts
*--------------------------------------
2019-09-27 14:53:44 +00:00
CS.QUIT lda hFileBuf
beq .8
2018-07-18 15:30:42 +00:00
>SYSCALL FreeMem
.8 clc
rts
*--------------------------------------
CS.END
SLOTS .DA #0
.DA #A2osX.S.Z80
2023-04-23 15:20:27 +00:00
.DA #A2osX.S.VXD
.DA #A2osX.S.ATK
.DA #A2osX.S.D2
.DA #A2osX.S.BLK
.DA #A2osX.S.SP
.DA #A2osX.S.COM
.DA #A2osX.S.XY
.DA #A2osX.S.NIC
2018-12-01 19:39:44 +00:00
.DA #A2osX.S.CLK
.DA #A2osX.S.DISABLE
SLOTS.MAX .EQ *-SLOTS
*--------------------------------------
2019-12-09 15:53:14 +00:00
FILENAME .AZ "${ROOT}A2osX.kconfig"
MSG.TOPBAR .CZ "\e[40;37m\e[7m\e[1;1HA2osX %d.%d Kernel Config Utility : "
MSG.TOPBAR.OK .CZ "KCONFIG File Successfully Loaded. \e[0m"
MSG.TOPBAR.KO .CZ "Invalid/missing KCONFIG File. \e[0m"
MSG.STATUSBAR .CZ "\e[40;37m\e[7m\e[24;1H(1-7):En/Dis Slot, Ctrl:(Q)uit,(S)ave,(T)iming,(C)HRoot,(P)reemptive,TT(Y)s \e[0m"
MSG.KCONF .CZ "\e[93;44m\e[2;1H------ Actual Kernel Configuration ------\e[K\r\n"
MSG.FCONF .CZ "\e[93;44m\e[13;1H------ KCONFIG File Configuration -------\e[K\r\n"
MSG.HZ .CZ " Machine Timing : %d0 Hz\e[K\r\n"
MSG.CHROOT .CZ " CHRoot to /RAMx : %10s"
MSG.PMODE .CZ " Preemptive Mode : %s\e[K\r\n"
MSG.TTYS .CZ " #TTYs : %d\e[K\r\n"
MSG.ENABLED .CZ "Enabled "
MSG.DISABLED .CZ "Disabled"
MSG.SLOT .CZ " Slot #%d : %s\e[K\r\n"
MSG.SLOT.NODEV .CZ "<Enabled>"
MSG.SLOT.Z80 .CZ "Z80 CPU Board"
MSG.SLOT.VXD .CZ "VxDrive"
MSG.SLOT.ATK .CZ "AppleTalk Board"
MSG.SLOT.DII .CZ "Disk ][ Controller"
MSG.SLOT.BLK .CZ "Generic Block/SCSI Controller"
MSG.SLOT.SP .CZ "SmartPort Controller"
MSG.SLOT.COM .CZ "Communication Card"
MSG.SLOT.XY .CZ "XY Pointing Device"
MSG.SLOT.NIC .CZ "Network Interface Card"
MSG.SLOT.CLK .CZ "Clock Card"
MSG.SLOT.DIS .CZ "<Disabled>"
MSG.PROMPT .CZ "\e[24;80H"
MSG.QUIT .CZ "\ec"
MSG.QUIT.SAVED .CZ "\ecA2osX.kconfig file saved.\r\n\r\n"
MSG.QUIT.ERR .CZ "\ecError [$%h] while writing A2osX.kconfig file.\r\n\r\n"
*--------------------------------------
.DUMMY
.OR 0
DS.START
StatBuf .BS S.STAT
DS.END .ED
MAN
2020-08-25 10:56:00 +00:00
SAVE usr/src/bin/kconfig.s
ASM