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

View File

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

View File

@ -359,7 +359,7 @@ RW.Print >STAX TmpPtr1
bne .1
.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.OK1 >CSTRING " Pages Detected."
RW.MSG.KO1 >CSTRING "Not Detected."

View File

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