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# STD * #TAKE
|
||||||
;; #LAYOUT# CRT BASIC_1 #TAKE-OFFSET -2F52
|
;; #LAYOUT# CRT BASIC_1 #TAKE-OFFSET -1F66
|
||||||
;; #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
|
;; #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
|
||||||
;; #LAYOUT# * BASIC_0 #TAKE
|
;; #LAYOUT# * BASIC_0 #TAKE
|
||||||
;; #LAYOUT# * * #IGNORE
|
;; #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
|
; 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
|
; as it shows example startup sequence, to be followe by cartridge creators
|
||||||
|
|
||||||
|
!ifndef ROM_LAYOUT_CRT {
|
||||||
|
|
||||||
; C64 PRG p269
|
; C64 PRG p269
|
||||||
jsr cartridge_check
|
jsr cartridge_check
|
||||||
bne @1
|
bne @1
|
||||||
jmp (ICART_COLD_START)
|
jmp (ICART_COLD_START)
|
||||||
@1:
|
@1:
|
||||||
|
}
|
||||||
; Disable the screen (and set 40 columns) to prevent visual glitches later
|
; Disable the screen (and set 40 columns) to prevent visual glitches later
|
||||||
ldx #$28
|
ldx #$28
|
||||||
stx VIC_SCROLX
|
stx VIC_SCROLX
|
||||||
@@ -73,6 +75,12 @@ hw_entry_reset:
|
|||||||
jsr JCINT
|
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
|
; What do we do when finished? A C64 jumps into the BASIC ROM
|
||||||
cli ; allow interrupts to happen
|
cli ; allow interrupts to happen
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,17 @@ RAMTAS:
|
|||||||
ldx #>$0800
|
ldx #>$0800
|
||||||
stx MEMSTR+1
|
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
|
; Work out RAM size and put in MEMSIZK
|
||||||
; Try to modify $8000, if it fails then RAM ends at $7FFF, else $9FFF
|
; Try to modify $8000, if it fails then RAM ends at $7FFF, else $9FFF
|
||||||
|
|
||||||
@@ -101,6 +112,7 @@ ramtas_32k:
|
|||||||
|
|
||||||
ldy #$80
|
ldy #$80
|
||||||
bne ramtas_xxk ; branch always
|
bne ramtas_xxk ; branch always
|
||||||
|
}
|
||||||
|
|
||||||
} else ifdef CONFIG_PLATFORM_COMMANDER_X16 {
|
} else ifdef CONFIG_PLATFORM_COMMANDER_X16 {
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user