switching from MEGA65 native mode to legacy mode works now
This commit is contained in:
1 parent
0ed000de30
commit
64ae9ad75b
7 files changed
+74
-41
No files matched your search
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in new issue
Block a user