mirror of
https://github.com/A2osX/A2osX.git
synced 2025-03-19 07:29:38 +00:00
Kernel 0.93+
This commit is contained in:
parent
bfd315c387
commit
518bd1a81d
Binary file not shown.
@ -37,30 +37,33 @@ A2osX.QC.Start1 sei
|
||||
sec
|
||||
>LDYAI MSG.INIT1
|
||||
jsr A2osX.QC.PrintYA
|
||||
sec
|
||||
>LDYAI A2osX.QC.BOOT
|
||||
jsr A2osX.QC.PrintYA
|
||||
sec
|
||||
>LDYAI A2osX.QC.ROOT
|
||||
jsr A2osX.QC.PrintYA
|
||||
|
||||
.3 jsr MLI
|
||||
.DA #MLISETPREFIX
|
||||
.DA MLISETPREFIX00
|
||||
bcc .4
|
||||
|
||||
>LDYAI MSG.SETPREFIXKO
|
||||
clc
|
||||
jsr A2osX.QC.PrintYA
|
||||
>LDYAI A2osX.QC.BOOT
|
||||
sec
|
||||
jsr A2osX.QC.PrintYA
|
||||
|
||||
bra .3
|
||||
|
||||
.4 >LDYAI MSG.SETPREFIXOK
|
||||
clc
|
||||
jsr A2osX.QC.PrintYA
|
||||
>LDYAI A2osX.QC.BOOT
|
||||
sec
|
||||
jsr A2osX.QC.PrintYA
|
||||
|
||||
ldx A2osX.QC.BOOT
|
||||
stx $280 For appending SYS/KERNEL
|
||||
|
||||
stz $2C0,x
|
||||
|
||||
.5 lda A2osX.QC.BOOT,x
|
||||
sta $280,x
|
||||
sta $2C0-1,x BOOT sz for KERNEL
|
||||
@ -101,9 +104,7 @@ A2osX.QC.KLoad >LDYAI MSG.KLOAD
|
||||
cpy SYSKERNEL
|
||||
bne .2
|
||||
stx $280
|
||||
>LDYAI $280
|
||||
clc
|
||||
jsr A2osX.QC.PrintYA
|
||||
|
||||
jsr MLI
|
||||
.DA #MLIOPEN
|
||||
.DA MLIOPENK
|
||||
@ -125,14 +126,20 @@ A2osX.QC.KLoad >LDYAI MSG.KLOAD
|
||||
pla
|
||||
plp
|
||||
bcc .8
|
||||
.9 pha
|
||||
|
||||
.9 jsr PRBYTE
|
||||
|
||||
>LDYAI MSG.KLOAD.KO
|
||||
clc
|
||||
jsr A2osX.QC.PrintYA
|
||||
pla
|
||||
jsr PRBYTE
|
||||
sec
|
||||
.8 rts
|
||||
jsr A2osX.QC.PrintYA
|
||||
sec
|
||||
rts
|
||||
|
||||
.8 >LDYAI MSG.KLOAD.OK
|
||||
sec
|
||||
jsr A2osX.QC.PrintYA
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
A2osX.QC.PrintYA
|
||||
php
|
||||
@ -174,10 +181,11 @@ MLICLOSEK .DA #1
|
||||
SYSKERNEL >PSTR "sys/kernel"
|
||||
*--------------------------------------
|
||||
MSG.INIT1 >PSTR "A2osX[Stage1]:Init"
|
||||
MSG.SETPREFIXOK >PSTR "Set Prefix OK"
|
||||
MSG.SETPREFIXOK >PSTR "Prefix Set: "
|
||||
MSG.SETPREFIXKO >PSTR "Insert Vol:"
|
||||
MSG.KLOAD >PSTR "Loading Kernel:"
|
||||
MSG.KLOAD.KO >PSTR "Error While Loading Kernel."
|
||||
MSG.KLOAD >PSTR "Loading Kernel..."
|
||||
MSG.KLOAD.KO >PSTR " Error While Loading Kernel."
|
||||
MSG.KLOAD.OK >PSTR "Done."
|
||||
MSG.INIT1OK >PSTR "A2osX[Stage1]:Complete."
|
||||
*--------------------------------------
|
||||
.BS $1300-*
|
||||
|
32
A2osX.S.txt
32
A2osX.S.txt
@ -73,6 +73,7 @@ A2osX.Init1.128 jsr MLI
|
||||
bcs *
|
||||
|
||||
ldx Boot.Prefix
|
||||
|
||||
.1 lda Boot.Prefix,x
|
||||
sta A2osX.QC.B.BOOT,x
|
||||
sta A2osX.QC.B.ROOT,x
|
||||
@ -137,7 +138,9 @@ A2osX.RamDrv >LDYAI MSG.RAMDRV
|
||||
*--------------------------------------
|
||||
A2osX.EnumKM >LDYAI MSG.KMENUM
|
||||
jsr PrintFYA
|
||||
|
||||
jsr EnumKM
|
||||
|
||||
bcs *
|
||||
*--------------------------------------
|
||||
A2osX.SetupQC lda RRAMWRAMBNK2
|
||||
@ -195,6 +198,7 @@ A2osX.Screen80 lda #$8C Reset 80 col screen ($0C:HOME)
|
||||
bcs .98
|
||||
jsr .98
|
||||
bra A2osX.ScreenDLGR
|
||||
|
||||
.98 jsr MLI
|
||||
.DA #MLICLOSE
|
||||
.DA MLICLOSE00
|
||||
@ -343,6 +347,7 @@ EnumKM ldx #0
|
||||
iny
|
||||
cpx SYS
|
||||
bne .1
|
||||
|
||||
sty Boot.Prefix
|
||||
jsr MLI
|
||||
.DA #MLIOPEN
|
||||
@ -352,21 +357,28 @@ EnumKM ldx #0
|
||||
lda MLIOPEN01+5
|
||||
sta MLIREAD01+1
|
||||
sta MLICLOSE01+1
|
||||
|
||||
.2 jsr MLI
|
||||
.DA #MLIREAD
|
||||
.DA MLIREAD01
|
||||
bcs .98
|
||||
|
||||
lda #EnumKM.EPB
|
||||
sta EnumKM.EC
|
||||
|
||||
>LDYAI A2osX.ReadBuff+4
|
||||
>STYA EnumKM.BPTR
|
||||
|
||||
.3 >LDYA EnumKM.BPTR
|
||||
>STYA TmpPtr1
|
||||
|
||||
lda (TmpPtr1)
|
||||
and #$F0 Empty ?
|
||||
beq .5 yes, skip
|
||||
|
||||
and #$C0 anything out of type 1,2 or 3 ?
|
||||
bne .5 yes, skip
|
||||
|
||||
lda (TmpPtr1)
|
||||
and #$0F
|
||||
cmp KM.PREFIX at least enough chars for KM.*?
|
||||
@ -376,25 +388,34 @@ EnumKM ldx #0
|
||||
lda (TmpPtr1),y
|
||||
cmp #$06 'BIN'?
|
||||
bne .5 skip
|
||||
|
||||
ldy KM.PREFIX
|
||||
|
||||
.4 lda (TmpPtr1),y
|
||||
cmp KM.PREFIX,y
|
||||
bne .5
|
||||
|
||||
dey
|
||||
bne .4
|
||||
|
||||
jsr LoadKM
|
||||
|
||||
.5 lda EnumKM.BPTR
|
||||
clc
|
||||
adc #EnumKM.EL
|
||||
sta EnumKM.BPTR
|
||||
bcc .6
|
||||
|
||||
inc EnumKM.BPTR+1
|
||||
|
||||
.6 dec EnumKM.EC
|
||||
bne .3
|
||||
|
||||
bra .2
|
||||
|
||||
.98 cmp #MLI.E.EOF
|
||||
beq .8
|
||||
|
||||
pha
|
||||
jsr .8
|
||||
pla
|
||||
@ -411,10 +432,12 @@ EnumKM.EC .BS 1
|
||||
EnumKM.BPTR .BS 2
|
||||
*--------------------------------------
|
||||
LoadKM ldx Boot.Prefix
|
||||
|
||||
.1 lda Boot.Prefix,x
|
||||
sta KM.Filename,x
|
||||
dex
|
||||
bne .1
|
||||
|
||||
ldx Boot.Prefix
|
||||
lda (TmpPtr1)
|
||||
and #$0F
|
||||
@ -423,11 +446,13 @@ LoadKM ldx Boot.Prefix
|
||||
adc Boot.Prefix
|
||||
sta KM.Filename
|
||||
tax
|
||||
|
||||
.2 lda (TmpPtr1),y
|
||||
sta KM.Filename,x
|
||||
dex
|
||||
dey
|
||||
bne .2
|
||||
|
||||
lda #KM.Filename
|
||||
pha
|
||||
lda /KM.Filename
|
||||
@ -443,17 +468,22 @@ LoadKM ldx Boot.Prefix
|
||||
lda MLIOPEN02+5
|
||||
sta MLIREAD02+1
|
||||
sta MLICLOSE02+1
|
||||
|
||||
jsr MLI
|
||||
.DA #MLIREAD
|
||||
.DA MLIREAD02
|
||||
bcs .98
|
||||
|
||||
jsr .9
|
||||
jsr A2osX.KMLOAD
|
||||
|
||||
.98 pha
|
||||
jsr .9
|
||||
pla
|
||||
|
||||
sec
|
||||
rts
|
||||
|
||||
.9 jsr MLI
|
||||
.DA #MLICLOSE
|
||||
.DA MLICLOSE02
|
||||
@ -530,7 +560,7 @@ MLIQUIT01 .DA #4
|
||||
.DA #0
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
A2osX.LOGO >PSTR "A2OSX.LOGO"
|
||||
A2osX.LOGO >PSTR "A2osX.logo"
|
||||
SYS >PSTR "sys/"
|
||||
KM.PREFIX >PSTR "KM."
|
||||
*--------------------------------------
|
||||
|
@ -354,7 +354,7 @@ SLOTS .DA #0
|
||||
.DA #A2osX.S.DISABLE
|
||||
SLOTS.MAX .EQ *-SLOTS
|
||||
*--------------------------------------
|
||||
FILENAME .AZ "${ROOT}A2osX.KCONFIG"
|
||||
FILENAME .AZ "${ROOT}A2osX.kconfig"
|
||||
MSG.TOPBAR .AZ "\e[40;37m\e[7m\e[1;1HA2osX Kernel Config Utility : "
|
||||
MSG.TOPBAR.OK .AZ "KCONFIG File Successfully Loaded. \e[0m"
|
||||
MSG.TOPBAR.KO .AZ "Invalid/missing KCONFIG File. \e[0m"
|
||||
@ -382,8 +382,8 @@ MSG.SLOT.CLK .AZ "Clock Card"
|
||||
MSG.SLOT.DIS .AZ "<Disabled>"
|
||||
MSG.PROMPT .AZ "\e[24;80H"
|
||||
MSG.QUIT .AZ "\ec"
|
||||
MSG.QUIT.SAVED .AZ "\ecA2osX.KCONFIG file saved.\r\n\r\n"
|
||||
MSG.QUIT.ERR .AZ "\ecError [$%h] while writing A2osX.KCONFIG file.\r\n\r\n"
|
||||
MSG.QUIT.SAVED .AZ "\ecA2osX.kconfig file saved.\r\n\r\n"
|
||||
MSG.QUIT.ERR .AZ "\ecError [$%h] while writing A2osX.kconfig file.\r\n\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
@ -3,7 +3,7 @@ NEW
|
||||
.LIST OFF
|
||||
.OP 65816
|
||||
.OR $2000
|
||||
.TF PRODOS.203,TSYS
|
||||
.TF PRODOS.203TC,TSYS
|
||||
*--------------------------------------
|
||||
.INB INC/ZP.I
|
||||
.INB INC/IO.I
|
||||
|
@ -24,6 +24,11 @@ XDOS.MLI cld no decimal.
|
||||
stz p8error clear any previous errors.
|
||||
ldy #$01 find out if command is valid.
|
||||
lda (A3L),y get command #
|
||||
|
||||
* cmp #$D5
|
||||
* bne .77
|
||||
* >DEBUG
|
||||
*.77
|
||||
lsr and hash it to a range of 0-$1F
|
||||
lsr
|
||||
lsr
|
||||
|
@ -394,23 +394,31 @@ XDOS.NewLine ldy #$02 adjust newline status for open file.
|
||||
rts
|
||||
*--------------------------------------
|
||||
XDOS.GetFileInfoEx
|
||||
jsr lookfile see if file exists
|
||||
jsr findfile see if file exists
|
||||
bcs .9
|
||||
|
||||
ldy #3
|
||||
lda (A3L),y
|
||||
sta .2+1
|
||||
sta zpt
|
||||
iny
|
||||
lda (A3L),y
|
||||
sta .2+2
|
||||
sta zpt+1
|
||||
|
||||
ldy h_entln
|
||||
* ldy #S.FIEX.BLKPTR+2-1
|
||||
|
||||
.1 dey
|
||||
lda (zpt),y
|
||||
.2 sta $ffff,y
|
||||
tya
|
||||
bne .1
|
||||
*.1 lda d_filid,y
|
||||
* sta (zpt),y
|
||||
* dey
|
||||
* bpl .1
|
||||
|
||||
* ldx #7
|
||||
* ldy #S.FIEX.ACL+7
|
||||
|
||||
*.2 lda h_acl,x
|
||||
* sta (zpt),y
|
||||
* dex
|
||||
* dey
|
||||
* bpl .2
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -198,11 +198,13 @@ KConfigLoad >LDYAI MSG.KCREAD
|
||||
.DA MLIGETFILEINFOEX00
|
||||
bcc .1
|
||||
eor #MLI.E.BADCALL
|
||||
beq .2
|
||||
beq .2 regular ProDOS
|
||||
|
||||
.1 ror CORE.FSID ProDOS.FX detected
|
||||
ror CORE.FSID Bad file, but ProDOS.FX detected
|
||||
bra .9
|
||||
|
||||
.1 ror CORE.FSID File Present & ProDOS.FX detected
|
||||
|
||||
.2 jsr MLI
|
||||
.DA #MLIOPEN
|
||||
.DA MLIOPEN00
|
||||
@ -224,13 +226,12 @@ KConfigLoad >LDYAI MSG.KCREAD
|
||||
bcs .9
|
||||
|
||||
>LDYAI MSG.KCREAD.OK
|
||||
jsr PrintFYA
|
||||
bra .8
|
||||
|
||||
.9 >LDYAI MSG.KCREAD.KO
|
||||
jsr PrintFYA
|
||||
|
||||
.8 lda CORE.FSID
|
||||
|
||||
.8 jsr PrintFYA
|
||||
lda CORE.FSID
|
||||
beq .99
|
||||
|
||||
>LDYAI MSG.PRODOSFX
|
||||
@ -1126,7 +1127,6 @@ MSG.IRQ.POLL .AZ " Polling Mode."
|
||||
MSG.EVT .AZ "Event Manager..."
|
||||
MSG.TSK .AZ "Task Manager..."
|
||||
MSG.PWD .AZ "Password Manager..."
|
||||
MSG.BOOTROOT .AZ "Boot Path:%S\r\nRoot Path:%S\r\n"
|
||||
MSG.CTRLR .AZ "Ctrl-R Pressed, entering ROOT mode..."
|
||||
MSG.PWDINIT .AZ "Loading ETC/PASSWD file..."
|
||||
MSG.ETCINIT .AZ "Executing %s..."
|
||||
@ -1172,15 +1172,15 @@ PwdMgr.ROOT.Size .EQ *-PwdMgr.ROOT
|
||||
*--------------------------------------
|
||||
MLIGETFILEINFOEX00
|
||||
.DA #2
|
||||
>PSTR "A2osX.KCONFIG"
|
||||
.DA MLIOPEN00.FN
|
||||
.DA FIEX
|
||||
FIEX .BS S.FIEX
|
||||
*--------------------------------------
|
||||
MLIOPEN00 .DA #3
|
||||
.DA .1
|
||||
.DA MLIOPEN00.FN
|
||||
.DA $B000
|
||||
.BS 1
|
||||
.1 >PSTR "A2osX.KCONFIG"
|
||||
MLIOPEN00.FN >PSTR "A2osX.kconfig"
|
||||
*--------------------------------------
|
||||
MLIREAD00 .DA #4
|
||||
.BS 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user