switching from MEGA65 native mode to legacy mode works now

This commit is contained in:
FeralChild64 committed 2020-08-28 23:15:17 +02:00
1 parent 0ed000de30
commit 64ae9ad75b
7 files changed
+74 -41

No files matched your search

+2
View File
@@ -36,6 +36,8 @@
.label setup_irq_timer = KERNAL_0.setup_irq_timer
.label wait_x_bars = KERNAL_0.wait_x_bars
.label viciv_unhide = KERNAL_0.viciv_unhide
.label viciv_init = KERNAL_0.viciv_init
.label viciv_shutdown = KERNAL_0.viciv_shutdown
.label m65_scrtab_txtwidth = KERNAL_0.m65_scrtab_txtwidth
.label m65_scrtab_txtheight = KERNAL_0.m65_scrtab_txtheight
+27
View File
@@ -0,0 +1,27 @@
// #LAYOUT# M65 KERNAL_0 #TAKE
// #LAYOUT# * * #IGNORE
//
// Routine to initialize VIC-IV for entering MEGA65 native mode
//
viciv_init:
// Switch VIC to VIC-IV mode
jsr viciv_unhide
// Disable badlines and slow interrupt emulation
lda #$00
sta MISC_EMU
// Set misc VIC-IV flags
lda #%01000000 // enable C65 character set
sta VIC_CTRLA
// XXX enable 48 MHz mode in VIC_CTRLC
rts
@@ -0,0 +1,29 @@
// #LAYOUT# M65 KERNAL_0 #TAKE
// #LAYOUT# * * #IGNORE
//
// Routine to shutdown VIC-IV for leaving MEGA65 native mode
//
viciv_shutdown:
// Switch VIC to VIC-IV mode, temporarily
jsr viciv_unhide
// Reenable badlines and slow interrupt emulation
lda #$03
sta MISC_EMU
// Set misc VIC-IV flags
lda #%00000000
sta VIC_CTRLA // enable C64 character set
sta VIC_CTRLB // disable extended resolution and attributes
// Hide VIC-IV registers and quit
sta VIC_KEY
rts
+2 -8
View File
@@ -1,15 +1,11 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 * #IGNORE
// #LAYOUT# * KERNAL_0 #TAKE
// #LAYOUT# M65 KERNAL_0 #TAKE
// #LAYOUT# * * #IGNORE
//
// Routine to unhide Mega65 extra registers
// Routine to unhide MEGA65 extra registers
//
#if ROM_LAYOUT_M65
viciv_unhide:
lda #$47
@@ -18,5 +14,3 @@ viciv_unhide:
sta VIC_KEY
rts
#endif