mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-02 02:31:33 +00:00
Kernel 0.9.2
This commit is contained in:
parent
be83829ab4
commit
b0bfcee198
Binary file not shown.
Binary file not shown.
@ -44,7 +44,7 @@ A2osX.QC.Start1 sei
|
||||
lda #$8C Reset 80 col screen ($0C=FF=HOME)
|
||||
jsr $C300
|
||||
|
||||
>LDAXI MSG.INIT1
|
||||
>LDYAI MSG.INIT1
|
||||
jsr A2osX.QC.PrintAX
|
||||
|
||||
.3 jsr MLI
|
||||
@ -52,16 +52,16 @@ A2osX.QC.Start1 sei
|
||||
.DA MLISETPREFIX00
|
||||
bcc .4
|
||||
|
||||
>LDAXI MSG.SETPREFIXKO
|
||||
>LDYAI MSG.SETPREFIXKO
|
||||
jsr A2osX.QC.PrintAX
|
||||
>LDAXI A2osX.QC.Prefix
|
||||
>LDYAI A2osX.QC.Prefix
|
||||
jsr A2osX.QC.PrintAX
|
||||
|
||||
>DEBUG
|
||||
|
||||
bra .3
|
||||
|
||||
.4 >LDAXI MSG.SETPREFIXOK
|
||||
.4 >LDYAI MSG.SETPREFIXOK
|
||||
jsr A2osX.QC.PrintAX
|
||||
|
||||
jsr A2osX.QC.KLoad
|
||||
@ -72,13 +72,13 @@ A2osX.QC.Start1 sei
|
||||
* bit RROMBNK1
|
||||
* jsr SETPWRC
|
||||
|
||||
.8 >LDAXI MSG.INIT1OK
|
||||
.8 >LDYAI MSG.INIT1OK
|
||||
jsr A2osX.QC.PrintAX
|
||||
|
||||
>DEBUGOA
|
||||
jmp $2000
|
||||
*--------------------------------------
|
||||
A2osX.QC.KLoad >LDAXI MSG.KLOAD
|
||||
A2osX.QC.KLoad >LDYAI MSG.KLOAD
|
||||
jsr A2osX.QC.PrintAX
|
||||
|
||||
ldx A2osX.QC.Prefix
|
||||
@ -94,7 +94,7 @@ A2osX.QC.KLoad >LDAXI MSG.KLOAD
|
||||
|
||||
stx A2osX.QC.Prefix
|
||||
|
||||
>LDAXI A2osX.QC.Prefix
|
||||
>LDYAI A2osX.QC.Prefix
|
||||
jsr A2osX.QC.PrintAX
|
||||
|
||||
jsr MLI
|
||||
@ -121,7 +121,7 @@ A2osX.QC.KLoad >LDAXI MSG.KLOAD
|
||||
plp
|
||||
bcc .9
|
||||
|
||||
>LDAXI MSG.KLOAD.KO
|
||||
>LDYAI MSG.KLOAD.KO
|
||||
jsr A2osX.QC.PrintAX
|
||||
|
||||
.9 rts
|
||||
|
68
A2osX.S.txt
68
A2osX.S.txt
@ -55,35 +55,35 @@ A2osX.Init1 ldx #$FF init 6502 stack to highest
|
||||
|
||||
bit RROMBNK1
|
||||
jsr HOME
|
||||
>LDAXI MSG.INIT0
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.INIT0
|
||||
jsr PrintFYA
|
||||
|
||||
>LDAXI MSG.SYSMEM
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.SYSMEM
|
||||
jsr PrintFYA
|
||||
|
||||
lda MACHID
|
||||
and #MACHID.M
|
||||
cmp #MACHID.M.128
|
||||
beq .1
|
||||
|
||||
>LDAXI MSG.SYSMEM.KO
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.SYSMEM.KO
|
||||
jsr PrintFYA
|
||||
bra *
|
||||
|
||||
.1 lda #$8C Reset 80 col screen ($0C:HOME)
|
||||
jsr $C300
|
||||
|
||||
>LDAXI MSG.INIT0
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.INIT0
|
||||
jsr PrintFYA
|
||||
|
||||
>LDAXI MSG.SYSMEM
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.SYSMEM
|
||||
jsr PrintFYA
|
||||
|
||||
>LDAXI MSG.SYSMEM.OK
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.SYSMEM.OK
|
||||
jsr PrintFYA
|
||||
|
||||
>LDAXI MSG.CPU
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.CPU
|
||||
jsr PrintFYA
|
||||
|
||||
sed Test 6502 BCD bug
|
||||
lda #$99
|
||||
@ -92,12 +92,12 @@ A2osX.Init1 ldx #$FF init 6502 stack to highest
|
||||
cld
|
||||
bpl .2 if minus, BUG!, we have 6502
|
||||
|
||||
>LDAXI MSG.CPU.KO
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.CPU.KO
|
||||
jsr PrintFYA
|
||||
bra *
|
||||
|
||||
.2 >LDAXI MSG.CPU.OK
|
||||
jsr PrintFAX
|
||||
.2 >LDYAI MSG.CPU.OK
|
||||
jsr PrintFYA
|
||||
*--------------------------------------
|
||||
A2osX.CloseAll stz LEVEL Back To FILE LEVEL 0
|
||||
|
||||
@ -106,8 +106,8 @@ A2osX.CloseAll stz LEVEL Back To FILE LEVEL 0
|
||||
.DA MLICLOSE01
|
||||
bcs *
|
||||
*--------------------------------------
|
||||
A2osX.Prefix >LDAXI MSG.BOOTPREFIX
|
||||
jsr PrintFAX
|
||||
A2osX.Prefix >LDYAI MSG.BOOTPREFIX
|
||||
jsr PrintFYA
|
||||
jsr MLI
|
||||
.DA #MLIGETPREFIX
|
||||
.DA MLIGETPREFIX01
|
||||
@ -124,24 +124,24 @@ A2osX.Prefix >LDAXI MSG.BOOTPREFIX
|
||||
bne .1
|
||||
jsr CROUT
|
||||
*--------------------------------------
|
||||
A2osX.RamDrv >LDAXI MSG.RAMDRV
|
||||
jsr PrintFAX
|
||||
A2osX.RamDrv >LDYAI MSG.RAMDRV
|
||||
jsr PrintFYA
|
||||
|
||||
jsr DisableRamDRV
|
||||
bcc .2
|
||||
|
||||
tax
|
||||
bne .1
|
||||
>LDAXI MSG.RAMDRV.KO0
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.RAMDRV.KO0
|
||||
jsr PrintFYA
|
||||
bra A2osX.SetupQC
|
||||
|
||||
.1 >LDAXI MSG.RAMDRV.KO1
|
||||
jsr PrintFAX
|
||||
.1 >LDYAI MSG.RAMDRV.KO1
|
||||
jsr PrintFYA
|
||||
bra A2osX.SetupQC
|
||||
|
||||
.2 >LDAXI MSG.RAMDRV.OK
|
||||
jsr PrintFAX
|
||||
.2 >LDYAI MSG.RAMDRV.OK
|
||||
jsr PrintFYA
|
||||
*--------------------------------------
|
||||
A2osX.SetupQC lda RRAMWRAMBNK2
|
||||
lda RRAMWRAMBNK2
|
||||
@ -159,12 +159,12 @@ A2osX.SetupQC lda RRAMWRAMBNK2
|
||||
|
||||
lda RROMBNK1
|
||||
*--------------------------------------
|
||||
A2osX.EnumKM >LDAXI MSG.KMENUM
|
||||
jsr PrintFAX
|
||||
A2osX.EnumKM >LDYAI MSG.KMENUM
|
||||
jsr PrintFYA
|
||||
jsr EnumKM
|
||||
*--------------------------------------
|
||||
A2osX.MLIQuit >LDAXI MSG.INIT0OK
|
||||
jsr PrintFAX
|
||||
A2osX.MLIQuit >LDYAI MSG.INIT0OK
|
||||
jsr PrintFYA
|
||||
|
||||
>DEBUGOA
|
||||
jsr MLI
|
||||
@ -336,8 +336,8 @@ LoadKM ldx Boot.Prefix
|
||||
lda /KM.Filename
|
||||
pha
|
||||
|
||||
>LDAXI MSG.KMLOAD
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.KMLOAD
|
||||
jsr PrintFYA
|
||||
|
||||
jsr MLI
|
||||
.DA #MLIOPEN
|
||||
|
@ -351,6 +351,7 @@ AUTO 4,1
|
||||
dec
|
||||
bne :1
|
||||
pla
|
||||
rts
|
||||
.FIN
|
||||
.EM
|
||||
*--------------------------------------
|
||||
@ -360,11 +361,6 @@ AUTO 4,1
|
||||
ldy #]1
|
||||
lda /]1
|
||||
.EM
|
||||
*--------------------------------------
|
||||
.MA LDAXI
|
||||
lda #]1
|
||||
ldx /]1
|
||||
.EM
|
||||
*--------------------------------------
|
||||
.MA LDYA
|
||||
.DO ]#=2
|
||||
|
@ -198,7 +198,8 @@ GetDynPort inc DYNPORT.LAST
|
||||
|
||||
bcs .1
|
||||
|
||||
>LDAXI K.DYNPORT.START
|
||||
lda #K.DYNPORT.START
|
||||
ldx /K.DYNPORT.START
|
||||
sta DYNPORT.LAST
|
||||
stx DYNPORT.LAST+1
|
||||
rts CC
|
||||
|
@ -10,9 +10,219 @@ Kernel.Init2 sei
|
||||
stx A2osX.SaveSM
|
||||
stx A2osX.SaveSX
|
||||
|
||||
sta CLRALTZP Make sure MAIN ZP is enabled for X.PRINT.F
|
||||
ldx #Kernel.ZP.S-1
|
||||
|
||||
.1 lda Kernel.ZP,x
|
||||
sta CHARGET,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
ldx #0
|
||||
sta CLRALTZP
|
||||
|
||||
>LDYAI MSG.Init2
|
||||
jsr PrintFYA
|
||||
|
||||
>LDYAI A2osX.MAIN
|
||||
>STYA ZPPtr1
|
||||
>LDYAI CORE.Run
|
||||
>STYA ZPPtr2
|
||||
>LDYAI A2osX.MAIN.S^$FFFF
|
||||
|
||||
jsr Kernel.Move
|
||||
|
||||
>LDYAI A2osX.AUX
|
||||
>STYA A1L Src Start Address (MAIN)
|
||||
>LDYAI A2osX.GP
|
||||
>STYA A2L Src End Address (MAIN)
|
||||
>LDYAI X.GUIOSD
|
||||
>STYA A4L Dst Address (AUX)
|
||||
sec Main To Aux
|
||||
jsr AuxMove
|
||||
|
||||
>LDYAI A2osX.GP
|
||||
>STYA ZPPtr1
|
||||
>LDYAI A2osX.SYSCALL
|
||||
>STYA ZPPtr2
|
||||
>LDYAI A2osX.GP.S^$FFFF
|
||||
|
||||
jsr Kernel.Move
|
||||
|
||||
sta SETALTZP
|
||||
bit RRAMWRAMBNK2
|
||||
bit RRAMWRAMBNK2
|
||||
|
||||
>LDYAI A2osX.D2
|
||||
>STYA ZPPtr1
|
||||
>LDYAI $D000
|
||||
>STYA ZPPtr2
|
||||
>LDYAI A2osX.D2.S^$FFFF
|
||||
|
||||
jsr Kernel.Move
|
||||
|
||||
bit RRAMWRAMBNK1
|
||||
bit RRAMWRAMBNK1
|
||||
|
||||
>LDYAI A2osX.D1
|
||||
>STYA ZPPtr1
|
||||
>LDYAI $D000
|
||||
>STYA ZPPtr2
|
||||
>LDYAI A2osX.D1.S^$FFFF
|
||||
|
||||
jsr Kernel.Move
|
||||
|
||||
>LDYAI A2osX.E0
|
||||
>STYA ZPPtr1
|
||||
>LDYAI $E000
|
||||
>STYA ZPPtr2
|
||||
>LDYAI A2osX.E0.S^$FFFF
|
||||
|
||||
jsr Kernel.Move
|
||||
|
||||
bit RROMBNK1
|
||||
sta CLRALTZP
|
||||
cli
|
||||
|
||||
jsr KConfigLoad
|
||||
|
||||
lda A2osX.HZ
|
||||
pha
|
||||
>LDYAI MSG.HZ
|
||||
jsr PrintFYA
|
||||
|
||||
>LDYAI MSG.Init2.OK
|
||||
jsr PrintFYA
|
||||
*--------------------------------------
|
||||
>DEBUGOA
|
||||
*--------------------------------------
|
||||
Kernel.Init3 sta SETALTZP
|
||||
bit RRAMWRAMBNK1
|
||||
bit RRAMWRAMBNK1
|
||||
|
||||
lda #$ff Make sure we are in Kernel Mode during setup
|
||||
sta IRQ.InKernel
|
||||
|
||||
jsr SysScrInit
|
||||
|
||||
jsr MemMgrInit
|
||||
|
||||
>LDYAI FD.NULL
|
||||
jsr DevMgrInit.AddCDev
|
||||
|
||||
>LDYAI FD.SYS
|
||||
jsr DevMgrInit.AddCDev
|
||||
|
||||
jsr PS0.Init
|
||||
|
||||
>DEBUG
|
||||
>LDYAI MSG.Init3
|
||||
>SYSCALL printf
|
||||
>DEBUG
|
||||
|
||||
jsr CPU.Init
|
||||
|
||||
jsr DevMgrInit
|
||||
|
||||
jsr IrqMgrInit
|
||||
bcs *
|
||||
|
||||
jsr EvtMgrInit
|
||||
|
||||
jsr FltMgrInit
|
||||
|
||||
jsr TskMgrInit
|
||||
bcs *
|
||||
|
||||
ldy #S.PS.hPREFIX
|
||||
lda (pPs),y
|
||||
>SYSCALL GetMemPtr
|
||||
|
||||
>PUSHYA
|
||||
>LDYAI MSG.Prefix
|
||||
>SYSCALL printf
|
||||
|
||||
>PUSHWI STARTUP.CMDLINE
|
||||
>LDYAI MSG.Startup
|
||||
>SYSCALL printf
|
||||
|
||||
>LDYAI STARTUP.CMDLINE
|
||||
>SYSCALL ExpandStr
|
||||
phx Save Expanded CMDLINE for discard
|
||||
|
||||
>SYSCALL CreatePS
|
||||
|
||||
bcs .9
|
||||
pla
|
||||
>SYSCALL FreeMem ...discard...
|
||||
|
||||
>LDYAI MSG.Init3.OK
|
||||
>SYSCALL printf
|
||||
|
||||
>DEBUGOA
|
||||
|
||||
jmp CORE.Run
|
||||
|
||||
.9 >PUSHA
|
||||
>LDYAI MSG.StartupErr
|
||||
>SYSCALL printf
|
||||
bra * No need to discard Expanded CMDLINE
|
||||
*--------------------------------------
|
||||
* INIT2 Subs
|
||||
*--------------------------------------
|
||||
Kernel.Move >STYA ZPPtr3
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 inc ZPPtr3
|
||||
bne .2
|
||||
inc ZPPtr3+1
|
||||
beq .9
|
||||
|
||||
.2 lda (ZPPtr1),y
|
||||
sta (ZPPtr2),y
|
||||
iny
|
||||
bne .1
|
||||
|
||||
inc ZPPtr1+1
|
||||
inc ZPPtr2+1
|
||||
bne .1
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
KConfigLoad >LDYAI MSG.KCREAD
|
||||
jsr PrintFYA
|
||||
|
||||
jsr MLI
|
||||
.DA #MLIOPEN
|
||||
.DA MLIOPEN00
|
||||
bcs .9
|
||||
|
||||
lda MLIOPEN00+5
|
||||
sta MLIREAD00+1
|
||||
sta MLICLOSE00+1
|
||||
|
||||
jsr MLI
|
||||
.DA #MLIREAD
|
||||
.DA MLIREAD00
|
||||
php
|
||||
pha
|
||||
jsr MLI
|
||||
.DA #MLICLOSE
|
||||
.DA MLICLOSE00
|
||||
pla
|
||||
plp
|
||||
bcs .9
|
||||
|
||||
>LDYAI MSG.KCREAD.OK
|
||||
jsr PrintFYA
|
||||
rts
|
||||
|
||||
.9 >LDYAI MSG.KCREAD.KO
|
||||
jsr PrintFYA
|
||||
rts
|
||||
*--------------------------------------
|
||||
* INIT3 Subs
|
||||
*--------------------------------------
|
||||
SysScrInit ldx #0
|
||||
|
||||
ldy #0
|
||||
|
||||
@ -58,257 +268,51 @@ Kernel.Init2 sei
|
||||
inx
|
||||
cpx #40
|
||||
bne .4
|
||||
|
||||
>LDAXI MSG.Init2
|
||||
jsr PrintFAX
|
||||
|
||||
sta CLRALTZP
|
||||
|
||||
ldx #Kernel.ZP.S-1
|
||||
|
||||
.1 lda Kernel.ZP,x
|
||||
sta CHARGET,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
sta CLRALTZP
|
||||
|
||||
>LDAXI MSG.MAIN
|
||||
jsr PrintFAX
|
||||
|
||||
>LDYAI A2osX.MAIN
|
||||
>STYA ZPPtr1
|
||||
>LDYAI CORE.Run
|
||||
>STYA ZPPtr2
|
||||
>LDYAI A2osX.MAIN.S^$FFFF
|
||||
|
||||
jsr Kernel.Move
|
||||
|
||||
>LDAXI MSG.AUX
|
||||
jsr PrintFAX
|
||||
|
||||
>LDYAI A2osX.AUX
|
||||
>STYA A1L Src Start Address (MAIN)
|
||||
>LDYAI A2osX.GP
|
||||
>STYA A2L Src End Address (MAIN)
|
||||
|
||||
>LDYAI X.GUIOSD
|
||||
>STYA A4L Dst Address (AUX)
|
||||
|
||||
sec Main To Aux
|
||||
jsr AuxMove
|
||||
|
||||
>LDAXI MSG.GP
|
||||
jsr PrintFAX
|
||||
|
||||
>LDYAI A2osX.GP
|
||||
>STYA ZPPtr1
|
||||
>LDYAI A2osX.SYSCALL
|
||||
>STYA ZPPtr2
|
||||
>LDYAI A2osX.GP.S^$FFFF
|
||||
|
||||
jsr Kernel.Move
|
||||
|
||||
sta CLRALTZP
|
||||
|
||||
>LDAXI MSG.D2
|
||||
jsr PrintFAX
|
||||
|
||||
sta SETALTZP
|
||||
bit RRAMWRAMBNK2
|
||||
bit RRAMWRAMBNK2
|
||||
|
||||
>LDYAI A2osX.D2
|
||||
>STYA ZPPtr1
|
||||
>LDYAI $D000
|
||||
>STYA ZPPtr2
|
||||
>LDYAI A2osX.D2.S^$FFFF
|
||||
|
||||
jsr Kernel.Move
|
||||
|
||||
sta CLRALTZP
|
||||
|
||||
>LDAXI MSG.D1
|
||||
jsr PrintFAX
|
||||
|
||||
sta SETALTZP
|
||||
bit RRAMWRAMBNK1
|
||||
bit RRAMWRAMBNK1
|
||||
|
||||
>LDYAI A2osX.D1
|
||||
>STYA ZPPtr1
|
||||
>LDYAI $D000
|
||||
>STYA ZPPtr2
|
||||
>LDYAI A2osX.D1.S^$FFFF
|
||||
|
||||
jsr Kernel.Move
|
||||
|
||||
sta CLRALTZP
|
||||
|
||||
>LDAXI MSG.E0
|
||||
jsr PrintFAX
|
||||
|
||||
sta SETALTZP
|
||||
bit RRAMWRAMBNK1
|
||||
bit RRAMWRAMBNK1
|
||||
|
||||
>LDYAI A2osX.E0
|
||||
>STYA ZPPtr1
|
||||
>LDYAI $E000
|
||||
>STYA ZPPtr2
|
||||
>LDYAI A2osX.E0.S^$FFFF
|
||||
|
||||
jsr Kernel.Move
|
||||
|
||||
sta CLRALTZP Make MAIN ZP is enabled for X.PRINT.F
|
||||
|
||||
cli
|
||||
|
||||
jsr KConfigLoad
|
||||
|
||||
lda A2osX.HZ
|
||||
pha push HZ
|
||||
>LDAXI MSG.HZ
|
||||
jsr PrintFAX
|
||||
|
||||
jsr CPU.Init
|
||||
|
||||
>LDAXI MSG.Init2.OK
|
||||
jsr PrintFAX
|
||||
*--------------------------------------
|
||||
>DEBUGOA
|
||||
*--------------------------------------
|
||||
Kernel.Init3 sta SETALTZP
|
||||
bit RRAMWRAMBNK1
|
||||
bit RRAMWRAMBNK1
|
||||
|
||||
lda #$ff Make sure we are in Kernel Mode during setup
|
||||
sta IRQ.InKernel
|
||||
|
||||
>LDAXI MSG.Init3
|
||||
jsr PrintFAX
|
||||
>DEBUG
|
||||
jsr MemMgrInit
|
||||
|
||||
jsr DevMgrInit
|
||||
bcs *
|
||||
|
||||
jsr IrqMgrInit
|
||||
bcs *
|
||||
|
||||
jsr EvtMgrInit
|
||||
bcs *
|
||||
|
||||
jsr FltMgrInit
|
||||
bcs *
|
||||
|
||||
jsr TskMgrInit
|
||||
bcs *
|
||||
|
||||
jsr PS0Init
|
||||
|
||||
ldy #S.PS.hPREFIX
|
||||
lda (pPs),y
|
||||
>SYSCALL GetMemPtr
|
||||
|
||||
>PUSHYA
|
||||
>LDYAI MSG.Prefix
|
||||
>SYSCALL PrintF
|
||||
|
||||
>PUSHWI STARTUP.CMDLINE
|
||||
>LDYAI MSG.Startup
|
||||
>SYSCALL PrintF
|
||||
|
||||
>LDYAI STARTUP.CMDLINE
|
||||
>SYSCALL ExpandStr
|
||||
phx Save Expanded CMDLINE for discard
|
||||
|
||||
>SYSCALL CreatePS
|
||||
|
||||
bcs .9
|
||||
pla
|
||||
>SYSCALL FreeMem ...discard...
|
||||
|
||||
>LDYAI MSG.Init3.OK
|
||||
>SYSCALL PrintF
|
||||
|
||||
>DEBUGOA
|
||||
|
||||
jmp CORE.Run
|
||||
|
||||
.9 >PUSHA
|
||||
>LDYAI MSG.StartupErr
|
||||
>SYSCALL PrintF
|
||||
bra * No need to discard Expanded CMDLINE
|
||||
*--------------------------------------
|
||||
Kernel.Move >STYA ZPPtr3
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 inc ZPPtr3
|
||||
bne .2
|
||||
inc ZPPtr3+1
|
||||
beq .9
|
||||
|
||||
.2 lda (ZPPtr1),y
|
||||
sta (ZPPtr2),y
|
||||
iny
|
||||
bne .1
|
||||
|
||||
inc ZPPtr1+1
|
||||
inc ZPPtr2+1
|
||||
bne .1
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
KConfigLoad >LDAXI MSG.KCREAD
|
||||
jsr PrintFAX
|
||||
|
||||
jsr MLI
|
||||
.DA #MLIOPEN
|
||||
.DA MLIOPEN00
|
||||
bcs .9
|
||||
|
||||
lda MLIOPEN00+5
|
||||
sta MLIREAD00+1
|
||||
sta MLICLOSE00+1
|
||||
|
||||
jsr MLI
|
||||
.DA #MLIREAD
|
||||
.DA MLIREAD00
|
||||
php
|
||||
pha
|
||||
jsr MLI
|
||||
.DA #MLICLOSE
|
||||
.DA MLICLOSE00
|
||||
pla
|
||||
plp
|
||||
bcs .9
|
||||
|
||||
>LDAXI MSG.KCREAD.OK
|
||||
jsr PrintFAX
|
||||
rts
|
||||
|
||||
.9 >LDAXI MSG.KCREAD.KO
|
||||
jsr PrintFAX
|
||||
rts
|
||||
*--------------------------------------
|
||||
CPU.Init >LDAXI MSG.CPU
|
||||
jsr PrintFAX
|
||||
PS0.Init >LDYAI CORE.S.PS0 Select Process 0 (Kernel)
|
||||
>STYA pPs
|
||||
|
||||
>LDYAI K.STACKTOP
|
||||
>STYA pStack
|
||||
|
||||
>PUSHBI 0
|
||||
>LDYAI DEV.SYS
|
||||
>SYSCALL open
|
||||
bcs .9
|
||||
|
||||
ldy #S.PS.hStdIn
|
||||
sta (pPs),y
|
||||
sta CORE.S.PS0+S.PS.hStdIn
|
||||
iny #S.PS.hStdOut
|
||||
sta (pPs),y
|
||||
sta CORE.S.PS0+S.PS.hStdOut
|
||||
iny #S.PS.hStdErr
|
||||
sta (pPs),y
|
||||
sta CORE.S.PS0+S.PS.hStdErr
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CPU.Init >LDYAI MSG.CPU
|
||||
>SYSCALL printf
|
||||
|
||||
jsr Detect6502 A = CPU type
|
||||
sta A2osX.CPUTYPE
|
||||
ldx MSG.CPUTYPEH,y
|
||||
lda MSG.CPUTYPEL,y
|
||||
jsr PrintFAX
|
||||
|
||||
ldx MSG.CPUTYPEL,y
|
||||
lda MSG.CPUTYPEH,y
|
||||
tay
|
||||
|
||||
>SYSCALL printf
|
||||
|
||||
lda MACHID
|
||||
and #MACHID.T
|
||||
cmp #MACHID.T.IIc
|
||||
beq CPU.Init.Z80
|
||||
|
||||
>LDAXI MSG.CPU.SPEED
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.CPU.SPEED
|
||||
>SYSCALL printf
|
||||
|
||||
stz A2osX.RANDOM16
|
||||
stz A2osX.RANDOM16+1
|
||||
@ -367,11 +371,12 @@ CPU.Init >LDAXI MSG.CPU
|
||||
pha push CPU speed LO
|
||||
lda A2osX.CPUSPEED
|
||||
pha push CPU speed HI
|
||||
>LDAXI MSG.CPU.SPEEDOK
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.CPU.SPEEDOK
|
||||
>SYSCALL printf
|
||||
|
||||
CPU.Init.Z80 >LDAXI MSG.Z80
|
||||
jsr PrintFAX
|
||||
CPU.Init.Z80 >LDYAI MSG.Z80
|
||||
>SYSCALL printf
|
||||
|
||||
jsr DetectZ80
|
||||
bcs .9
|
||||
sta A2osX.Z80SLOT
|
||||
@ -381,12 +386,12 @@ CPU.Init.Z80 >LDAXI MSG.Z80
|
||||
lda #A2osX.S.Z80
|
||||
sta A2osX.S,x
|
||||
|
||||
>LDAXI MSG.Z80.OK
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.Z80.OK
|
||||
>SYSCALL printf
|
||||
rts
|
||||
|
||||
.9 >LDAXI MSG.Z80.KO
|
||||
jsr PrintFAX
|
||||
.9 >LDYAI MSG.Z80.KO
|
||||
>SYSCALL printf
|
||||
rts
|
||||
*--------------------------------------
|
||||
* Out:
|
||||
@ -481,7 +486,7 @@ MemMgrInit >LDYAI Mem.MHiMem
|
||||
* if irq not handled, jmp (S.IrqMgrOldFFFE)
|
||||
*--------------------------------------
|
||||
IrqMgrInit >LDYAI MSG.IRQ
|
||||
>SYSCALL PrintF
|
||||
>SYSCALL printf
|
||||
|
||||
php
|
||||
sei
|
||||
@ -512,7 +517,7 @@ IrqMgrInit >LDYAI MSG.IRQ
|
||||
>STYA GP.IrqH.JSR+1
|
||||
|
||||
>LDYAI MSG.IRQ.CLOCK
|
||||
>SYSCALL PrintF
|
||||
>SYSCALL printf
|
||||
|
||||
clc
|
||||
rts
|
||||
@ -528,7 +533,7 @@ IrqMgrInit >LDYAI MSG.IRQ
|
||||
>STYA GP.IrqH.JSR+1
|
||||
|
||||
>LDYAI MSG.IRQ.VBL
|
||||
>SYSCALL PrintF
|
||||
>SYSCALL printf
|
||||
|
||||
clc
|
||||
rts
|
||||
@ -539,7 +544,7 @@ IrqMgrInit >LDYAI MSG.IRQ
|
||||
sta SYS.BASL0+38
|
||||
|
||||
>LDYAI MSG.IRQ.POLL
|
||||
>SYSCALL PrintF
|
||||
>SYSCALL printf
|
||||
|
||||
clc
|
||||
rts
|
||||
@ -701,13 +706,7 @@ IrqMgrInit.HZ2Tick
|
||||
rts
|
||||
*--------------------------------------
|
||||
DevMgrInit >LDYAI MSG.DEV
|
||||
>SYSCALL PrintF
|
||||
|
||||
>LDYAI FD.NULL
|
||||
jsr DevMgrInit.AddCDev
|
||||
|
||||
>LDYAI FD.SYS
|
||||
jsr DevMgrInit.AddCDev
|
||||
>SYSCALL printf
|
||||
|
||||
lda DEVCNT
|
||||
sta DevMgrInit.DEVCNT
|
||||
@ -883,20 +882,14 @@ DevMgrInit.AddCDev
|
||||
.2 sta $ffff,x SELF MODIFIED
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
|
||||
jsr $ffff
|
||||
|
||||
|
||||
inc DevMgr.DevCnt
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 lda #K.E.OOH
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
EvtMgrInit >LDYAI MSG.EVT
|
||||
>SYSCALL printf
|
||||
|
||||
lda #$A5
|
||||
sta A2osX.TIMER16
|
||||
lda #$9B
|
||||
@ -909,6 +902,7 @@ EvtMgrInit >LDYAI MSG.EVT
|
||||
*--------------------------------------
|
||||
FltMgrInit >LDYAI MSG.FLT
|
||||
>SYSCALL printf
|
||||
|
||||
stz Flt.Table
|
||||
clc
|
||||
rts
|
||||
@ -916,8 +910,6 @@ FltMgrInit >LDYAI MSG.FLT
|
||||
TskMgrInit >LDYAI MSG.TSK
|
||||
>SYSCALL printf
|
||||
|
||||
jsr CORE.PSSelect0
|
||||
|
||||
>LDYAI K.ENV.SIZE get a buffer for ENV
|
||||
>SYSCALL GetMem0 make sure blank!!
|
||||
bcs .9
|
||||
@ -967,29 +959,6 @@ TskMgrInit >LDYAI MSG.TSK
|
||||
>SYSCALL PutEnv
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
PS0Init >LDYAI CORE.S.PS0 Select Process 0 (Kernel)
|
||||
>STYA pPs
|
||||
|
||||
>LDYAI K.STACKTOP
|
||||
>STYA pStack
|
||||
|
||||
>PUSHBI 0
|
||||
>LDYAI DEV.SYS
|
||||
>SYSCALL open
|
||||
|
||||
ldy #S.PS.hStdIn
|
||||
sta (pPs),y
|
||||
sta CORE.S.PS0+S.PS.hStdIn
|
||||
iny #S.PS.hStdOut
|
||||
sta (pPs),y
|
||||
sta CORE.S.PS0+S.PS.hStdOut
|
||||
iny #S.PS.hStdErr
|
||||
sta (pPs),y
|
||||
sta CORE.S.PS0+S.PS.hStdErr
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
* Modified CHARGET/CHARGOT for ROM CALL
|
||||
* CHRGET .EQ $B1 - C8
|
||||
*--------------------------------------
|
||||
@ -1026,14 +995,7 @@ TClock.SIG .HS 0878282c58ff700538b00118b8087848
|
||||
.HS 8a489848adffcf201ac86868ba8df807
|
||||
*--------------------------------------
|
||||
SYSSCREEN.TOP .AZ "A2osX System Screen"
|
||||
MSG.Init2 .AZ "A2osX[Stage2]:Init\n"
|
||||
MSG.ZP .AZ "Installing KERNEL...\n - $0000 ZP...\n"
|
||||
MSG.MAIN .AZ " - $1100 Main...\n"
|
||||
MSG.AUX .AZ " - $0C00 Aux...\n"
|
||||
MSG.GP .AZ " - $BD00 Global Page...\n"
|
||||
MSG.D1 .AZ " - $D000 Bank1...\n"
|
||||
MSG.D2 .AZ " - $D000 Bank2...\n"
|
||||
MSG.E0 .AZ " - $E000...\n"
|
||||
MSG.Init2 .AZ "A2osX[Stage2]:Init\nRelocating Kernel...\n"
|
||||
MSG.HZ .AZ "Kernel SYS Timer Set For %d0 hz Machine.\n"
|
||||
MSG.Init2.OK .AZ "A2osX[Stage2]:Complete.\n"
|
||||
*--------------------------------------
|
||||
@ -1099,8 +1061,8 @@ FD.NULL .DA #S.FD.T.CDEV
|
||||
.DA #0 HANDLER
|
||||
.DA #0 BUSID
|
||||
.DA #DEVID.NULL
|
||||
.DA 0 BUSPTR
|
||||
.DA DRV.NULL
|
||||
.DA 0 ROMPTR
|
||||
.AZ "NULL" NAME
|
||||
.HS 000000
|
||||
*--------------------------------------
|
||||
@ -1108,8 +1070,8 @@ FD.SYS .DA #S.FD.T.CDEV
|
||||
.DA #0 HANDLER
|
||||
.DA #0 BUSID
|
||||
.DA #DEVID.SYS
|
||||
.DA 0 BUSPTR
|
||||
.DA DRV.SYS
|
||||
.DA 0 ROMPTR
|
||||
.AZ "SYS" NAME
|
||||
.HS 00000000
|
||||
*--------------------------------------
|
||||
@ -1117,8 +1079,8 @@ FD.BDEV .DA #S.FD.T.BDEV
|
||||
.DA #0 HANDLER
|
||||
.DA #0 BUSID
|
||||
.DA #0 DEVID
|
||||
.BS 2 BUSPTR
|
||||
.BS 2 DRVPTR
|
||||
.BS 2 ROMPTR
|
||||
.AZ "S1D1" NAME
|
||||
.HS 000000
|
||||
*--------------------------------------
|
||||
|
@ -20,7 +20,7 @@ K.Open.I jsr IO.SetMLIPathYA local pathname...
|
||||
|
||||
ldx #5 /DEV/
|
||||
cpx K.MLI.PATH
|
||||
bcc K.Open.REG
|
||||
bcs K.Open.REG
|
||||
|
||||
.1 lda K.MLI.PATH,x
|
||||
cmp IO.DEVDIR,x
|
||||
@ -28,22 +28,39 @@ K.Open.I jsr IO.SetMLIPathYA local pathname...
|
||||
dex
|
||||
bne .1
|
||||
|
||||
K.Open.DEV ldy #K.MLI.PATH+5 skip /DEV/
|
||||
lda /K.MLI.PATH+5
|
||||
K.Open.DEV ldy #K.MLI.PATH+6 skip L/DEV/
|
||||
lda /K.MLI.PATH+6
|
||||
|
||||
jsr K.GetDevByName
|
||||
bcs .9
|
||||
|
||||
>STYA pFD
|
||||
stx .8+1 DEVID
|
||||
|
||||
ldy #S.FD.DEV.DRVPTR
|
||||
lda (pFD),y
|
||||
sta .1+1
|
||||
iny
|
||||
lda (pFD),y
|
||||
sta .1+2
|
||||
|
||||
.9 >RET 1
|
||||
>PULLA get flags
|
||||
ldx #IOCTL.OPEN
|
||||
.1 jsr $ffff SELF MODIFIED
|
||||
bcs .99
|
||||
|
||||
.8 lda #$ff SELF MODIFIED
|
||||
.99 rts
|
||||
|
||||
.9 >RET 1 discard flags
|
||||
|
||||
K.Open.REG >LDYAI K.MLI.PATH
|
||||
>STYA K.MLI.PARAMS+1
|
||||
|
||||
|
||||
sta K.S.IOCTL
|
||||
lda (pStack)
|
||||
* sta K.S.IOCTL
|
||||
|
||||
>RET 1
|
||||
*--------------------------------------
|
||||
* int close(int fd);
|
||||
*--------------------------------------
|
||||
@ -191,9 +208,18 @@ K.IOCTL.9 rts
|
||||
* ## ASM
|
||||
* **In:**
|
||||
*\--------------------------------------
|
||||
IO.SELECT jsr K.GetMemPtr
|
||||
IO.SELECT cmp DevMgr.DevCnt
|
||||
bcs .9
|
||||
|
||||
tax
|
||||
|
||||
ldy FD.Table.PTRLO,x
|
||||
lda FD.Table.PTRHI,x
|
||||
>STYA pFD
|
||||
rts
|
||||
|
||||
.9 lda #MLI.E.NODEV
|
||||
rts
|
||||
*--------------------------------------
|
||||
IO.PullMLIPath >PULLYA
|
||||
IO.SetMLIPathYA >STYA .1+1
|
||||
|
@ -17,6 +17,7 @@ AUTO 4,1
|
||||
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.INIT
|
||||
.INB /A2OSX.SRC/X.PRINTF.S
|
||||
|
||||
A2osX.MAIN .PH $1100
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.CORE
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.DRV
|
||||
|
@ -15,8 +15,8 @@ AUTO 6
|
||||
*--------------------------------------
|
||||
TmpPtr1 .EQ $0
|
||||
*--------------------------------------
|
||||
AT.INIT >LDAXI MSG.INIT
|
||||
jsr PrintFAX
|
||||
AT.INIT >LDYAI MSG.INIT
|
||||
jsr PrintFYA
|
||||
|
||||
lda #$F9
|
||||
sta TmpPtr1
|
||||
@ -43,8 +43,8 @@ AT.INIT >LDAXI MSG.INIT
|
||||
beq .4
|
||||
|
||||
pha
|
||||
>LDAXI MSG.FAILED
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.FAILED
|
||||
jsr PrintFYA
|
||||
rts
|
||||
|
||||
.3 dec TmpPtr1+1
|
||||
@ -52,8 +52,8 @@ AT.INIT >LDAXI MSG.INIT
|
||||
cmp #$C0
|
||||
bne .1
|
||||
|
||||
>LDAXI MSG.NOHW
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.NOHW
|
||||
jsr PrintFYA
|
||||
rts
|
||||
|
||||
.4 stx WC.Flag
|
||||
@ -63,8 +63,8 @@ AT.INIT >LDAXI MSG.INIT
|
||||
and #$0f
|
||||
pha Push slot #
|
||||
phy Push Type #
|
||||
>LDAXI MSG.HWOK
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.HWOK
|
||||
jsr PrintFYA
|
||||
|
||||
>LDYA MLI+1
|
||||
>STYA GO.OLDMLI+1
|
||||
@ -80,16 +80,16 @@ AT.INIT >LDAXI MSG.INIT
|
||||
|
||||
>STYA MLI+1
|
||||
|
||||
.5 >LDAXI MSG.ATINIT
|
||||
jsr PrintFAX
|
||||
.5 >LDYAI MSG.ATINIT
|
||||
jsr PrintFYA
|
||||
|
||||
jsr GO.WSCARD
|
||||
.DA #MLIATALK
|
||||
.DA MLIATALK.PARAMS
|
||||
bcs .9
|
||||
|
||||
>LDAXI MSG.IRQ
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.IRQ
|
||||
jsr PrintFYA
|
||||
|
||||
jsr MLI
|
||||
.DA #MLIALLOCIRQ
|
||||
@ -98,29 +98,29 @@ AT.INIT >LDAXI MSG.INIT
|
||||
|
||||
cli
|
||||
|
||||
>LDAXI MSG.PREFIX1
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.PREFIX1
|
||||
jsr PrintFYA
|
||||
|
||||
jsr GO.OLDMLI
|
||||
.DA #MLIGETPREFIX
|
||||
.DA MLIGETPREFIX.PARAMS
|
||||
bcs .9
|
||||
|
||||
>LDAXI MSG.PREFIX2
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.PREFIX2
|
||||
jsr PrintFYA
|
||||
|
||||
jsr GO.WSCARD
|
||||
.DA #MLISETPREFIX
|
||||
.DA MLIGETPREFIX.PARAMS
|
||||
bcs .9
|
||||
|
||||
>LDAXI MSG.OK
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.OK
|
||||
jsr PrintFYA
|
||||
rts
|
||||
|
||||
.9 pha
|
||||
>LDAXI MSG.KO
|
||||
jsr PrintFAX
|
||||
>LDYAI MSG.KO
|
||||
jsr PrintFYA
|
||||
rts
|
||||
*--------------------------------------
|
||||
GO.WSCARD jmp $ffff Self Modifed
|
||||
|
@ -16,20 +16,20 @@ AUTO 6
|
||||
TmpPtr1 .EQ $0
|
||||
TmpPtr2 .EQ $2
|
||||
*--------------------------------------
|
||||
NSC.Init >LDAXI NSC.MSG0
|
||||
NSC.Init >LDYAI NSC.MSG0
|
||||
jsr NSC.Print
|
||||
lda MACHID
|
||||
and #MACHID.CLK Clock already installed ?
|
||||
beq .1
|
||||
|
||||
>LDAXI NSC.MSG1
|
||||
>LDYAI NSC.MSG1
|
||||
jsr NSC.Print
|
||||
rts
|
||||
|
||||
.1 jsr NSC.Detect
|
||||
bcc .2
|
||||
|
||||
>LDAXI NSC.MSG2
|
||||
>LDYAI NSC.MSG2
|
||||
jsr NSC.Print
|
||||
rts
|
||||
|
||||
@ -39,7 +39,7 @@ NSC.Init >LDAXI NSC.MSG0
|
||||
ora #MACHID.CLK
|
||||
sta MACHID
|
||||
|
||||
>LDAXI NSC.MSG3
|
||||
>LDYAI NSC.MSG3
|
||||
jsr NSC.Print
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -26,22 +26,22 @@ RW.BLOCK .EQ $A00
|
||||
*--------------------------------------
|
||||
RWBankSelect .EQ $C073
|
||||
*--------------------------------------
|
||||
RW.Init >LDAXI RW.MSG
|
||||
jsr PrintFAX
|
||||
RW.Init >LDYAI RW.MSG
|
||||
jsr PrintFYA
|
||||
|
||||
jsr RW.Detect1
|
||||
bcs .10
|
||||
|
||||
>LDAXI RW.MSG.OK
|
||||
jsr PrintFAX
|
||||
>LDYAI RW.MSG.OK
|
||||
jsr PrintFYA
|
||||
|
||||
rts
|
||||
|
||||
.10 jsr RW.Detect2
|
||||
bcc .1
|
||||
|
||||
>LDAXI RW.MSG.KO1
|
||||
jsr PrintFAX
|
||||
>LDYAI RW.MSG.KO1
|
||||
jsr PrintFYA
|
||||
rts
|
||||
|
||||
.1 pha Push Page count
|
||||
@ -55,28 +55,28 @@ RW.Init >LDAXI RW.MSG
|
||||
phx Push Kbyte LO
|
||||
pha Push Kbyte HI
|
||||
|
||||
>LDAXI RW.MSG.OK1
|
||||
jsr PrintFAX
|
||||
>LDYAI RW.MSG.OK1
|
||||
jsr PrintFYA
|
||||
|
||||
jsr RW.Install
|
||||
bcc .2
|
||||
|
||||
>LDAXI RW.MSG.KO2
|
||||
jsr PrintFAX
|
||||
>LDYAI RW.MSG.KO2
|
||||
jsr PrintFYA
|
||||
rts
|
||||
|
||||
.2 >LDAXI RW.MSG.OK2
|
||||
jsr PrintFAX
|
||||
.2 >LDYAI RW.MSG.OK2
|
||||
jsr PrintFYA
|
||||
|
||||
jsr RW.Format
|
||||
bcc .3
|
||||
|
||||
>LDAXI RW.MSG.KO3
|
||||
jsr PrintFAX
|
||||
>LDYAI RW.MSG.KO3
|
||||
jsr PrintFYA
|
||||
rts
|
||||
|
||||
.3 >LDAXI RW.MSG.OK3
|
||||
jsr PrintFAX
|
||||
.3 >LDYAI RW.MSG.OK3
|
||||
jsr PrintFYA
|
||||
rts
|
||||
*--------------------------------------
|
||||
RW.Detect1 jsr MLI
|
||||
|
@ -18,8 +18,8 @@ ADT.CMD.VSD .EQ $C5 "E": Virtual Drive Command Envelope
|
||||
ADT.CMD.PING .EQ $D9 "Y": PING
|
||||
DRV.EntryPoint .EQ $BF41
|
||||
*--------------------------------------
|
||||
VSDRIVE.Init >LDAXI VSDRIVE.MSG0
|
||||
jsr PrintFAX
|
||||
VSDRIVE.Init >LDYAI VSDRIVE.MSG0
|
||||
jsr PrintFYA
|
||||
|
||||
jsr VSDRIVE.Check
|
||||
bcs .90
|
||||
@ -36,49 +36,49 @@ VSDRIVE.Init >LDAXI VSDRIVE.MSG0
|
||||
and #$0F
|
||||
pha slot n
|
||||
|
||||
>LDAXI VSDRIVE.SSCOK
|
||||
jsr PrintFAX
|
||||
>LDYAI VSDRIVE.SSCOK
|
||||
jsr PrintFYA
|
||||
|
||||
jsr VSDRIVE.Ping
|
||||
|
||||
bcs .92
|
||||
|
||||
>LDAXI VSDRIVE.SRVOK
|
||||
jsr PrintFAX
|
||||
>LDYAI VSDRIVE.SRVOK
|
||||
jsr PrintFYA
|
||||
|
||||
jsr VSDRIVE.SetSlot
|
||||
bcs .91
|
||||
|
||||
pha Push slot
|
||||
pha 2 times
|
||||
>LDAXI VSDRIVE.DEVOK
|
||||
jsr PrintFAX
|
||||
>LDYAI VSDRIVE.DEVOK
|
||||
jsr PrintFYA
|
||||
|
||||
jsr VSDRIVE.Install
|
||||
|
||||
>LDAXI VSDRIVE.OK
|
||||
jsr PrintFAX
|
||||
>LDYAI VSDRIVE.OK
|
||||
jsr PrintFYA
|
||||
rts
|
||||
|
||||
.90 >LDAXI VSDRIVE.DRVKO
|
||||
jsr PrintFAX
|
||||
.90 >LDYAI VSDRIVE.DRVKO
|
||||
jsr PrintFYA
|
||||
rts
|
||||
|
||||
.91 >LDAXI VSDRIVE.NOSLOT
|
||||
jsr PrintFAX
|
||||
.91 >LDYAI VSDRIVE.NOSLOT
|
||||
jsr PrintFYA
|
||||
rts
|
||||
|
||||
.92 pha Push EC
|
||||
>LDAXI VSDRIVE.SRVKO
|
||||
jsr PrintFAX
|
||||
>LDYAI VSDRIVE.SRVKO
|
||||
jsr PrintFYA
|
||||
|
||||
inc .1+1
|
||||
lda .1+1
|
||||
cmp #$C8
|
||||
bne .2 Go try next SSC....
|
||||
|
||||
.99 >LDAXI VSDRIVE.SSCKO
|
||||
jsr PrintFAX
|
||||
.99 >LDYAI VSDRIVE.SSCKO
|
||||
jsr PrintFYA
|
||||
rts
|
||||
*--------------------------------------
|
||||
VSDRIVE.Check bit RRAMWRAMBNK2
|
||||
|
@ -3,33 +3,33 @@ PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
PrintFAX sta PrintFAX.Next+1
|
||||
stx PrintFAX.Next+2
|
||||
PrintFYA sty PrintFYA.Next+1
|
||||
sta PrintFYA.Next+2
|
||||
|
||||
pla
|
||||
sta PrintFAX.99+1
|
||||
sta PrintFYA.99+1
|
||||
pla
|
||||
sta PrintFAX.98+1
|
||||
sta PrintFYA.98+1
|
||||
|
||||
lda $C011 RDLCBNK2
|
||||
sta PrintFAX.91+1
|
||||
sta PrintFYA.91+1
|
||||
lda $C012 RDLCRAM
|
||||
sta PrintFAX.90+1
|
||||
sta PrintFYA.90+1
|
||||
|
||||
lda $C08A RROMBNK1, make sure $D000-$FFFF ROM selected
|
||||
lda $CFFF get access to $C800-$CFFF internal ROM
|
||||
|
||||
PrintFAX.1 stz X.b0Flag
|
||||
PrintFYA.1 stz X.b0Flag
|
||||
stz X.DigitCount
|
||||
|
||||
jsr PrintFAX.Next
|
||||
beq PrintFAX.90
|
||||
jsr PrintFYA.Next
|
||||
beq PrintFYA.90
|
||||
|
||||
cmp #'%'
|
||||
bne .7
|
||||
|
||||
.2 jsr PrintFAX.Next
|
||||
beq PrintFAX.90
|
||||
.2 jsr PrintFYA.Next
|
||||
beq PrintFYA.90
|
||||
|
||||
cmp #'0'
|
||||
bne .3
|
||||
@ -43,24 +43,24 @@ PrintFAX.1 stz X.b0Flag
|
||||
sta X.DigitCount
|
||||
bra .2
|
||||
|
||||
.4 ldx #PrintFAX.Tbl-PrintFAX.Esc-1
|
||||
.4 ldx #PrintFYA.Tbl-PrintFYA.Esc-1
|
||||
|
||||
.5 cmp PrintFAX.Esc,x
|
||||
.5 cmp PrintFYA.Esc,x
|
||||
beq .6
|
||||
dex
|
||||
bpl .5
|
||||
bra PrintFAX.1
|
||||
bra PrintFYA.1
|
||||
|
||||
.6 txa
|
||||
asl
|
||||
tax
|
||||
jmp (PrintFAX.Tbl,x)
|
||||
jmp (PrintFYA.Tbl,x)
|
||||
|
||||
.7 cmp #'\'
|
||||
bne .8
|
||||
|
||||
jsr PrintFAX.Next
|
||||
beq PrintFAX.90
|
||||
jsr PrintFYA.Next
|
||||
beq PrintFYA.90
|
||||
|
||||
cmp #'n'
|
||||
bne .8
|
||||
@ -68,46 +68,46 @@ PrintFAX.1 stz X.b0Flag
|
||||
|
||||
.8 ora #$80
|
||||
jsr $FDED COUT
|
||||
bra PrintFAX.1
|
||||
bra PrintFYA.1
|
||||
|
||||
PrintFAX.90 lda #$ff
|
||||
bpl PrintFAX.98 ROM was selected, nothing to do
|
||||
PrintFYA.90 lda #$ff
|
||||
bpl PrintFYA.98 ROM was selected, nothing to do
|
||||
|
||||
PrintFAX.91 lda #$ff
|
||||
bmi PrintFAX.92 RAM bank 2 was selected
|
||||
PrintFYA.91 lda #$ff
|
||||
bmi PrintFYA.92 RAM bank 2 was selected
|
||||
|
||||
ldx #$8B RRAMWRAMBNK1
|
||||
.HS 2C bit abs
|
||||
|
||||
PrintFAX.92 ldx #$83 RRAMWRAMBNK2
|
||||
PrintFYA.92 ldx #$83 RRAMWRAMBNK2
|
||||
|
||||
lda $C000,x
|
||||
lda $C000,x
|
||||
|
||||
PrintFAX.98 lda #$ff Self modified RTS HI
|
||||
PrintFYA.98 lda #$ff Self modified RTS HI
|
||||
pha
|
||||
PrintFAX.99 lda #$ff Self modified RTS LOPrintFAXPrintFAX
|
||||
PrintFYA.99 lda #$ff Self modified RTS LOPrintFYAPrintFYA
|
||||
pha
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
PrintFAX.Next lda $ffff
|
||||
PrintFYA.Next lda $ffff
|
||||
beq .8
|
||||
inc PrintFAX.Next+1
|
||||
inc PrintFYA.Next+1
|
||||
bne .8
|
||||
inc PrintFAX.Next+2 Always !=0
|
||||
inc PrintFYA.Next+2 Always !=0
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
PrintFAX.Esc .AS "dDhHS"
|
||||
PrintFAX.Tbl .DA PrintFAX.D
|
||||
.DA PrintFAX.DD
|
||||
.DA PrintFAX.H
|
||||
.DA PrintFAX.HH
|
||||
.DA PrintFAX.S
|
||||
PrintFYA.Esc .AS "dDhHS"
|
||||
PrintFYA.Tbl .DA PrintFYA.D
|
||||
.DA PrintFYA.DD
|
||||
.DA PrintFYA.H
|
||||
.DA PrintFYA.HH
|
||||
.DA PrintFYA.S
|
||||
*--------------------------------------
|
||||
PrintFAX.D ldx #0
|
||||
PrintFYA.D ldx #0
|
||||
.HS D0 bne
|
||||
PrintFAX.DD plx
|
||||
PrintFYA.DD plx
|
||||
pla
|
||||
sta X.HexBuffer
|
||||
stx X.HexBuffer+1
|
||||
@ -186,15 +186,15 @@ PrintFAX.DD plx
|
||||
cpy #6
|
||||
bne .6
|
||||
|
||||
.9 jmp PrintFAX.1
|
||||
.9 jmp PrintFYA.1
|
||||
*--------------------------------------
|
||||
PrintFAX.HH pla
|
||||
PrintFYA.HH pla
|
||||
jsr $FDDA PRBYTE
|
||||
PrintFAX.H pla
|
||||
PrintFYA.H pla
|
||||
jsr $FDDA PRBYTE
|
||||
jmp PrintFAX.1
|
||||
jmp PrintFYA.1
|
||||
*--------------------------------------
|
||||
PrintFAX.S pla
|
||||
PrintFYA.S pla
|
||||
sta .1+2
|
||||
sta .2+2
|
||||
|
||||
@ -216,7 +216,7 @@ PrintFAX.S pla
|
||||
dex
|
||||
bne .2
|
||||
|
||||
.9 jmp PrintFAX.1
|
||||
.9 jmp PrintFYA.1
|
||||
*--------------------------------------
|
||||
X.HexBuffer .BS 2
|
||||
X.BCDBuffer .BS 3
|
||||
|
Loading…
x
Reference in New Issue
Block a user