diff --git a/c64/kernal/jumptable/4000.internal_jumptable.s b/c64/kernal/jumptable/4000.internal_jumptable.s index ad6e41d8..7ac1ee32 100644 --- a/c64/kernal/jumptable/4000.internal_jumptable.s +++ b/c64/kernal/jumptable/4000.internal_jumptable.s @@ -1,9 +1,11 @@ #if (ROM_LAYOUT_M65 && SEGMENT_KERNAL_1) + // XXX this is for testing only sed sed rts + #endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen.s b/c64/kernal/screen/chrout_screen.s index d8dadce8..7886c080 100644 --- a/c64/kernal/screen/chrout_screen.s +++ b/c64/kernal/screen/chrout_screen.s @@ -120,8 +120,7 @@ chrout_screen_literal: chrout_screen_calc_lptr_done: - jsr screen_calculate_PNT_USER - jsr screen_calculate_PNTR_LNMX + jsr screen_calculate_pointers // FALLTROUGH diff --git a/c64/kernal/screen/e50a.plot.s b/c64/kernal/screen/e50a.plot.s index d23ea917..b3d9439b 100644 --- a/c64/kernal/screen/e50a.plot.s +++ b/c64/kernal/screen/e50a.plot.s @@ -24,7 +24,7 @@ plot_set: sty PNTR stx TBLX - jsr screen_calculate_PNT_USER + jsr screen_calculate_pointers // FALLTROUGH to save one byte on RTS diff --git a/c64/kernal/screen/e56c.screen_calculate_pointers.s b/c64/kernal/screen/e56c.screen_calculate_pointers.s new file mode 100644 index 00000000..b82cdb47 --- /dev/null +++ b/c64/kernal/screen/e56c.screen_calculate_pointers.s @@ -0,0 +1,19 @@ +#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) + +// +// Set pointer (PNT) to current screen line , described in: +// +// - [CM64] Computes Mapping the Commodore 64 - page 216 +// - http://sta.c64.org/cbm64scrfunc.html +// + +// XXX find out what the original ROM really recalculate + + +screen_calculate_pointers: + + jsr screen_calculate_PNT_USER + jmp screen_calculate_PNTR_LNMX + + +#endif // ROM layout diff --git a/c64/kernal/screen/e56c.screen_calculate_pnt_user.s b/c64/kernal/screen/screen_calculate_pnt_user.s similarity index 79% rename from c64/kernal/screen/e56c.screen_calculate_pnt_user.s rename to c64/kernal/screen/screen_calculate_pnt_user.s index 9a3ed016..0e454f13 100644 --- a/c64/kernal/screen/e56c.screen_calculate_pnt_user.s +++ b/c64/kernal/screen/screen_calculate_pnt_user.s @@ -1,10 +1,7 @@ #if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) // -// Set pointer (PNT) to current screen line , described in: -// -// - [CM64] Computes Mapping the Commodore 64 - page 216 -// - http://sta.c64.org/cbm64scrfunc.html +// Set pointers PNT and USER to current screen line //