added memory mapping routines to CRT memory layout
This commit is contained in:
1 parent
9c29c86a6d
commit
cb2ec4e9f3
2 files changed
+37
-6
No files matched your search
@@ -36,6 +36,7 @@
|
|||||||
|
|
||||||
;; #ALIAS# map_end = KERNAL_0.map_end
|
;; #ALIAS# map_end = KERNAL_0.map_end
|
||||||
;; #ALIAS# map_NORMAL = KERNAL_0.map_NORMAL
|
;; #ALIAS# map_NORMAL = KERNAL_0.map_NORMAL
|
||||||
|
;; #ALIAS# map_BASIC_1 = KERNAL_0.map_BASIC_1
|
||||||
|
|
||||||
;; #ALIAS# M65_MODEGET = KERNAL_0.M65_MODEGET
|
;; #ALIAS# M65_MODEGET = KERNAL_0.M65_MODEGET
|
||||||
;; #ALIAS# M65_MODESET = KERNAL_0.M65_MODESET
|
;; #ALIAS# M65_MODESET = KERNAL_0.M65_MODESET
|
||||||
|
|||||||
@@ -35,6 +35,10 @@
|
|||||||
; bit 0 - 1 = flash mode activated by jumper
|
; bit 0 - 1 = flash mode activated by jumper
|
||||||
|
|
||||||
|
|
||||||
|
crt_init_fail:
|
||||||
|
|
||||||
|
+panic P_ERR_ROM_MISMATCH
|
||||||
|
|
||||||
crt_init:
|
crt_init:
|
||||||
|
|
||||||
; Setup the cart
|
; Setup the cart
|
||||||
@@ -44,8 +48,7 @@ crt_init:
|
|||||||
|
|
||||||
; Bank-in the first ROM bank
|
; Bank-in the first ROM bank
|
||||||
|
|
||||||
lda #%00000000
|
jsr map_BASIC_1
|
||||||
sta $DE00
|
|
||||||
|
|
||||||
; Check if ROM revision matches the cartridge
|
; Check if ROM revision matches the cartridge
|
||||||
|
|
||||||
@@ -53,18 +56,45 @@ crt_init:
|
|||||||
@1:
|
@1:
|
||||||
iny
|
iny
|
||||||
lda $E4B9, y ; Kernal ROM revision address
|
lda $E4B9, y ; Kernal ROM revision address
|
||||||
cmp $9FEC, y
|
cmp $9FEC, y ; cartridge ROM revision address
|
||||||
bne crt_init_fail
|
bne crt_init_fail
|
||||||
cmp #$00
|
cmp #$00
|
||||||
bne @1
|
bne @1
|
||||||
|
|
||||||
; Unmap cartridge memory XXX provide separate map functions
|
; FALLTROUGH
|
||||||
|
|
||||||
|
map_NORMAL:
|
||||||
|
|
||||||
|
; Unmap cartridge memory
|
||||||
|
|
||||||
|
php
|
||||||
|
pha
|
||||||
|
|
||||||
lda #%00000010
|
lda #%00000010
|
||||||
|
|
||||||
|
; FALLTROUGH
|
||||||
|
|
||||||
|
map_NORMAL_common:
|
||||||
|
|
||||||
sta $DE00
|
sta $DE00
|
||||||
|
|
||||||
|
pla
|
||||||
|
plp
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
crt_init_fail:
|
map_BASIC_1:
|
||||||
|
|
||||||
+panic P_ERR_ROM_MISMATCH
|
php
|
||||||
|
pha
|
||||||
|
|
||||||
|
lda #%00000000
|
||||||
|
beq map_NORMAL_common
|
||||||
|
|
||||||
|
map_KERNAL_1:
|
||||||
|
|
||||||
|
php
|
||||||
|
pha
|
||||||
|
|
||||||
|
lda #%00010000
|
||||||
|
bne map_NORMAL_common
|
||||||
Reference in new issue
Block a user