BUGFIX:MLIQuit code not correctly relocated at LC2/$D100

This commit is contained in:
Rémy GIBERT 2015-03-16 22:35:08 +01:00
parent 8be8351136
commit f1135c8478
5 changed files with 40 additions and 39 deletions

Binary file not shown.

View File

@ -77,8 +77,8 @@ A2osX.Init1 jsr HOME
>LDAXI MSG.CPU >LDAXI MSG.CPU
jsr PrintCStrAX jsr PrintCStrAX
jsr Init6502 jsr Init6502 Y = CPU type
ldy A2osX.CPUTYPE sty A2osX.CPUTYPE
lda MSG.CPUTYPEH,y lda MSG.CPUTYPEH,y
tax tax
lda MSG.CPUTYPEL,y lda MSG.CPUTYPEL,y
@ -132,19 +132,34 @@ A2osX.Z80 >LDAXI MSG.Z80
>LDAXI MSG.Z80.OK >LDAXI MSG.Z80.OK
jsr PrintCStrAX jsr PrintCStrAX
bra A2osX.EnumKM bra A2osX.SetupQC
.1 >LDAXI MSG.Z80.KO .1 >LDAXI MSG.Z80.KO
jsr PrintCStrAX jsr PrintCStrAX
*-------------------------------------- *--------------------------------------
* WARNING :
*--------------------------------------
A2osX.SetupQC lda RRAMWRAMBNK2
lda RRAMWRAMBNK2
ldx #0
.1 lda A2osX.QC.B.Start,x
sta $D100,x
lda A2osX.QC.B.Start+$100,x
sta $D200,x
lda A2osX.GP.B.start,x
sta $D300,x
inx
bne .1
lda RROMBNK1
*--------------------------------------
A2osX.EnumKM >LDAXI MSG.KMENUM A2osX.EnumKM >LDAXI MSG.KMENUM
jsr PrintCStrAX jsr PrintCStrAX
jsr EnumKM jsr EnumKM
*-------------------------------------- *--------------------------------------
A2osX.MLIQuit >LDAXI MSG.STAGE0OK A2osX.MLIQuit >LDAXI MSG.STAGE0OK
jsr PrintCStrAX jsr PrintCStrAX
jsr SetupQuitCode
>DEBUG >DEBUG
@ -154,10 +169,10 @@ A2osX.MLIQuit >LDAXI MSG.STAGE0OK
bra * bra *
*-------------------------------------- *--------------------------------------
* Out: * Out:
* A = 0, 6502 * Y = 0, 6502
* A = 1, 65C02 * Y = 1, 65C02
* A = 2, R65C02 * Y = 2, R65C02
* A = 3, 65C816 * Y = 3, 65C816
*-------------------------------------- *--------------------------------------
Init6502 ldy #0 Test 6502 BCD bug Init6502 ldy #0 Test 6502 BCD bug
sed sed
@ -186,8 +201,7 @@ Init6502 ldy #0 Test 6502 BCD bug
dey y=1 -> 65C02 dey y=1 -> 65C02
.9 sty A2osX.CPUTYPE .9 rts
rts
*-------------------------------------- *--------------------------------------
DisableRamDRV php DisableRamDRV php
sei sei
@ -374,7 +388,7 @@ LoadKM ldx Boot.Prefix
>LDAXI KM.Filename >LDAXI KM.Filename
jsr PrintPStrAX jsr PrintPStrAX
jsr CROUT jsr CROUT
jsr MLI jsr MLI
.DA #MLIOPEN .DA #MLIOPEN
.DA MLIOPEN02 .DA MLIOPEN02
@ -389,6 +403,7 @@ LoadKM ldx Boot.Prefix
.DA MLIREAD02 .DA MLIREAD02
bcs .98 bcs .98
jsr .9 jsr .9
jsr A2osX.KMLOAD jsr A2osX.KMLOAD
jsr CROUT jsr CROUT
@ -402,22 +417,6 @@ LoadKM ldx Boot.Prefix
.DA #MLICLOSE .DA #MLICLOSE
.DA MLICLOSE02 .DA MLICLOSE02
.99 rts .99 rts
*--------------------------------------
SetupQuitCode lda RRAMWRAMBNK2
lda RRAMWRAMBNK2
ldx #0
.1 lda A2osX.QC.B.Start,x
sta $D100,x
lda A2osX.QC.B.Start+$100,x
sta $D200,x
lda A2osX.GP.B.start,x
sta $D300,x
inx
bne .1
lda RROMBNK1
rts
*-------------------------------------- *--------------------------------------
.INB A2OSX.S.TOOLS .INB A2OSX.S.TOOLS
*-------------------------------------- *--------------------------------------
@ -495,14 +494,15 @@ Z80Code.Start .HS 31FFFF START: LD SP,0FFFFH Init Stack
.HS 00 FLAG: .DB 0 .HS 00 FLAG: .DB 0
Z80Code.End .EQ * Z80Code.End .EQ *
Z80Code.Size .EQ Z80Code.End-Z80Code.Start Z80Code.Size .EQ Z80Code.End-Z80Code.Start
*--------------------------------------
.EP .EP
.INB A2OSX.S.QC
.INB A2OSX.S.GP
A2osX.End .EQ * A2osX.End .EQ *
A2osX.SIZE .EQ A2osX.End-A2osX.Start A2osX.SIZE .EQ A2osX.End-A2osX.Start
.DO A2osX.SIZE>$1000 .BS $1000-A2osX.SIZE
ERROR:A2osX.SIZE too big *--------------------------------------
.FIN .INB A2OSX.S.QC
.INB A2OSX.S.GP
*--------------------------------------
MAN MAN
SAVE A2OSX.S SAVE A2OSX.S
ASM ASM

View File

@ -187,10 +187,10 @@ NSC.Print >STAX TmpPtr1
bne .1 bne .1
.9 jmp CROUT .9 jmp CROUT
*-------------------------------------- *--------------------------------------
NSC.MSG0 >CSTRING "NSC ('No-Slot-Clock'/DS1216E) Driver For A2osX." NSC.MSG0 >CSTRING "NSC ('No-Slot-Clock'/DS1216E) Driver For A2osX"
NSC.MSG1 >CSTRING " A Clock Driver Is Already Installed." NSC.MSG1 >CSTRING "A Clock Driver Is Already Installed."
NSC.MSG2 >CSTRING " DS1216E Chip Not Detected." NSC.MSG2 >CSTRING "DS1216E Chip Not Detected."
NSC.MSG3 >CSTRING " DS1216E Driver Successfully Installed." NSC.MSG3 >CSTRING "DS1216E Driver Successfully Installed."
*-------------------------------------- *--------------------------------------
* Driver For DS1216E * Driver For DS1216E
*-------------------------------------- *--------------------------------------

View File

@ -359,7 +359,7 @@ RW.Print >STAX TmpPtr1
bne .1 bne .1
.9 jmp CROUT .9 jmp CROUT
*-------------------------------------- *--------------------------------------
RW.MSG >CSTRING "RAMWorks (I,II,III,z-Ram) Driver For A2osX." RW.MSG >CSTRING "RAMWorks (I,II,III,z-Ram) Driver For A2osX"
RW.MSG.OK >CSTRING "/RAM31 Device Already Installed." RW.MSG.OK >CSTRING "/RAM31 Device Already Installed."
RW.MSG.OK1 >CSTRING " Pages Detected." RW.MSG.OK1 >CSTRING " Pages Detected."
RW.MSG.KO1 >CSTRING "Not Detected." RW.MSG.KO1 >CSTRING "Not Detected."

View File

@ -1,4 +1,5 @@
PREFIX /A2OSX.BUILD PREFIX /A2OSX.BUILD
NEW NEW
BLOAD A BLOAD A
BSAVE A2OSX.SYSTEM,TSYS,A$2000,L$1FFA DELETE A2OSX.SYSTEM
BSAVE A2OSX.SYSTEM,TSYS,A$2000,L$1300