more works towards CRT ROM layout

This commit is contained in:
FeralChild64 committed 2020-10-20 23:19:48 +02:00
1 parent 8bdaa180f0
commit c818d980a8
4 files changed
+31 -2

No files matched your search

@@ -1,5 +1,5 @@
;; #LAYOUT# STD * #TAKE
;; #LAYOUT# CRT BASIC_1 #TAKE-OFFSET -2F52
;; #LAYOUT# CRT BASIC_1 #TAKE-OFFSET -1F66
;; #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
;; #LAYOUT# * BASIC_0 #TAKE
;; #LAYOUT# * * #IGNORE
+9
View File
@@ -0,0 +1,9 @@
;; #LAYOUT# CRT KERNAL_0 #TAKE
;; #LAYOUT# * * #IGNORE
crt_init:
; XXX !!! provide implementation
rts
+9 -1
View File
@@ -39,12 +39,14 @@ hw_entry_reset:
; Also, https://codebase64.org/doku.php?id=base:assembling_your_own_cart_rom_image was used
; as it shows example startup sequence, to be followe by cartridge creators
!ifndef ROM_LAYOUT_CRT {
; C64 PRG p269
jsr cartridge_check
bne @1
jmp (ICART_COLD_START)
@1:
}
; Disable the screen (and set 40 columns) to prevent visual glitches later
ldx #$28
stx VIC_SCROLX
@@ -73,6 +75,12 @@ hw_entry_reset:
jsr JCINT
}
!ifdef ROM_LAYOUT_CRT {
; Init external ROM
jsr crt_init
}
; What do we do when finished? A C64 jumps into the BASIC ROM
cli ; allow interrupts to happen
+12
View File
@@ -65,6 +65,17 @@ RAMTAS:
ldx #>$0800
stx MEMSTR+1
!ifdef ROM_LAYOUT_CRT {
; Set RAM size in MEMSIZEK - skip memory test
ldy #$A0
sty MEMSIZK+1
rts
} else {
; Work out RAM size and put in MEMSIZK
; Try to modify $8000, if it fails then RAM ends at $7FFF, else $9FFF
@@ -101,6 +112,7 @@ ramtas_32k:
ldy #$80
bne ramtas_xxk ; branch always
}
} else ifdef CONFIG_PLATFORM_COMMANDER_X16 {