diff --git a/Floppies/A2OSX.BUILD.po b/Floppies/A2OSX.BUILD.po index 965c6531..3bbda754 100644 Binary files a/Floppies/A2OSX.BUILD.po and b/Floppies/A2OSX.BUILD.po differ diff --git a/Floppies/A2OSX.SRC.po b/Floppies/A2OSX.SRC.po index 6dd6c1f6..1ae46345 100644 Binary files a/Floppies/A2OSX.SRC.po and b/Floppies/A2OSX.SRC.po differ diff --git a/SBIN/KCONFIG.S.txt b/SBIN/KCONFIG.S.txt new file mode 100644 index 00000000..b06991f7 --- /dev/null +++ b/SBIN/KCONFIG.S.txt @@ -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 "" +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 "" +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