diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index efcb4196..d9742227 100644 Binary files a/bin/basic_generic.rom and b/bin/basic_generic.rom differ diff --git a/bin/basic_testing.rom b/bin/basic_testing.rom index 55fd256f..a941ab69 100644 Binary files a/bin/basic_testing.rom and b/bin/basic_testing.rom differ diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index a8c2391b..e9d78188 100644 Binary files a/bin/basic_ultimate64.rom and b/bin/basic_ultimate64.rom differ diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index 1f749203..bac972c3 100644 Binary files a/bin/kernal_generic.rom and b/bin/kernal_generic.rom differ diff --git a/bin/kernal_testing.rom b/bin/kernal_testing.rom index f7142493..926bc7ae 100644 Binary files a/bin/kernal_testing.rom and b/bin/kernal_testing.rom differ diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index 38ef4355..88d88c6c 100644 Binary files a/bin/kernal_ultimate64.rom and b/bin/kernal_ultimate64.rom differ diff --git a/bin/mega65.rom b/bin/mega65.rom index f19d079d..7724db1c 100644 Binary files a/bin/mega65.rom and b/bin/mega65.rom differ diff --git a/c64/,,config_mega65.s b/c64/,,config_mega65.s index 07259720..add9c08e 100644 --- a/c64/,,config_mega65.s +++ b/c64/,,config_mega65.s @@ -122,7 +122,7 @@ // #define CONFIG_BANNER_SIMPLE // #define CONFIG_BANNER_FANCY #define CONFIG_BANNER_BRAND -#define CONFIG_SHOW_FEATURES +// #define CONFIG_SHOW_FEATURES // #define CONFIG_SHOW_PAL_NTSC diff --git a/c64/aliases/,aliases_cpu.s b/c64/aliases/,aliases_cpu.s index 392e15cf..cf99d957 100644 --- a/c64/aliases/,aliases_cpu.s +++ b/c64/aliases/,aliases_cpu.s @@ -156,7 +156,7 @@ .pseudocommand bcs_16 dst { #if HAS_OPCODES_65CE02 - .var offset = mod($10000 + dst.getValue() - *, $10000) + .var offset = mod($10000 + dst.getValue() - *, $10000) -2 .byte $B3, mod(offset, $100), floor(offset / $100) #else bcc __l @@ -168,7 +168,7 @@ __l: .pseudocommand bcc_16 dst { #if HAS_OPCODES_65CE02 - .var offset = mod($10000 + dst.getValue() - *, $10000) + .var offset = mod($10000 + dst.getValue() - *, $10000) -2 .byte $93, mod(offset, $100), floor(offset / $100) #else bcs __l @@ -179,8 +179,8 @@ __l: .pseudocommand beq_16 dst { -#if HAS_OPCODES_65CE02 && XXX_DISABLED // XXX causes problems with XEMU, investigate why - .var offset = mod($10000 + dst.getValue() - *, $10000) +#if HAS_OPCODES_65CE02 + .var offset = mod($10000 + dst.getValue() - *, $10000) -2 .byte $F3, mod(offset, $100), floor(offset / $100) #else bne __l @@ -191,8 +191,8 @@ __l: .pseudocommand bne_16 dst { -#if HAS_OPCODES_65CE02 && XXX_DISABLED // XXX causes problems with XEMU, investigate why - .var offset = mod($10000 + dst.getValue() - *, $10000) +#if HAS_OPCODES_65CE02 + .var offset = mod($10000 + dst.getValue() - *, $10000) -2 .byte $D3, mod(offset, $100), floor(offset / $100) #else beq __l @@ -204,7 +204,7 @@ __l: .pseudocommand bmi_16 dst { #if HAS_OPCODES_65CE02 - .var offset = mod($10000 + dst.getValue() - *, $10000) + .var offset = mod($10000 + dst.getValue() - *, $10000) -2 .byte $33, mod(offset, $100), floor(offset / $100) #else bpl __l @@ -216,7 +216,7 @@ __l: .pseudocommand bpl_16 dst { #if HAS_OPCODES_65CE02 - .var offset = mod($10000 + dst.getValue() - *, $10000) + .var offset = mod($10000 + dst.getValue() - *, $10000) -2 .byte $13, mod(offset, $100), floor(offset / $100) #else bmi __l @@ -228,7 +228,7 @@ __l: .pseudocommand bvc_16 dst { #if HAS_OPCODES_65CE02 - .var offset = mod($10000 + dst.getValue() - *, $10000) + .var offset = mod($10000 + dst.getValue() - *, $10000) -2 .byte $53, mod(offset, $100), floor(offset / $100) #else bvs __l @@ -240,7 +240,7 @@ __l: .pseudocommand bvs_16 dst { #if HAS_OPCODES_65CE02 - .var offset = mod($10000 + dst.getValue() - *, $10000) + .var offset = mod($10000 + dst.getValue() - *, $10000) -2 .byte $73, mod(offset, $100), floor(offset / $100) #else bvc __l diff --git a/c64/kernal/screen/chrout_screen_jumptable_codes.s b/c64/kernal/screen/chrout_screen_jumptable_codes.s index 57252b9f..4281f0fc 100644 --- a/c64/kernal/screen/chrout_screen_jumptable_codes.s +++ b/c64/kernal/screen/chrout_screen_jumptable_codes.s @@ -91,6 +91,8 @@ chrout_screen_jumptable_hi: #else +.if (mod(*, $2) == 1) { nop } // align code so that vector never crosses page boundary + chrout_screen_jumptable: .word chrout_screen_CLR @@ -116,6 +118,8 @@ chrout_screen_jumptable: .word chrout_screen_DEL .word chrout_screen_RETURN +.if (mod(*, $2) == 0) { nop } // make sure routine size is always the same, needed by build system + #endif