more works towards CRT ROM layout
This commit is contained in:
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
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
;; #LAYOUT# CRT KERNAL_0 #TAKE
|
||||
;; #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
crt_init:
|
||||
|
||||
; XXX !!! provide implementation
|
||||
|
||||
rts
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
Reference in new issue
Block a user