From c9ba1731959a4f34f8e2772aacffc855b5fb6b9a Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Thu, 9 Jan 2020 23:01:07 +0100 Subject: [PATCH] small size optimization of screen code --- c64/kernal/screen/chrout_screen.s | 5 +--- c64/kernal/screen/screen_calculate_pntr.s | 30 ------------------- ...te_lnmx.s => screen_calculate_pntr_lnmx.s} | 27 +++++++++++++++++ 3 files changed, 28 insertions(+), 34 deletions(-) delete mode 100644 c64/kernal/screen/screen_calculate_pntr.s rename c64/kernal/screen/{screen_calculate_lnmx.s => screen_calculate_pntr_lnmx.s} (59%) diff --git a/c64/kernal/screen/chrout_screen.s b/c64/kernal/screen/chrout_screen.s index d164a776..36f80d85 100644 --- a/c64/kernal/screen/chrout_screen.s +++ b/c64/kernal/screen/chrout_screen.s @@ -120,14 +120,11 @@ chrout_screen_literal: chrout_screen_calc_lptr_done: jsr screen_calculate_PNT_USER - jsr screen_calculate_PNTR - jsr screen_calculate_LNMX + jsr screen_calculate_PNTR_LNMX // FALLTROUGH chrout_screen_done: - // YYY should we update character under cursor here? or in cursor_show_if_enabled? - jsr cursor_show_if_enabled jmp chrout_done_success diff --git a/c64/kernal/screen/screen_calculate_pntr.s b/c64/kernal/screen/screen_calculate_pntr.s deleted file mode 100644 index 4fa2ea32..00000000 --- a/c64/kernal/screen/screen_calculate_pntr.s +++ /dev/null @@ -1,30 +0,0 @@ - -// -// Sets PNTR in a proper range (0-39 or 40-79) depending on the -// - - -screen_calculate_PNTR: - - ldy TBLX - lda LDTBL, y - php - jsr screen_get_clipped_PNTR - plp - bmi screen_calculate_PNTR_0_39 - - // FALLTROUGH - -screen_calculate_PNTR_40_79: - - tya - clc - adc #40 - tay - - // FALLTROUGH - -screen_calculate_PNTR_0_39: - - sty PNTR - rts diff --git a/c64/kernal/screen/screen_calculate_lnmx.s b/c64/kernal/screen/screen_calculate_pntr_lnmx.s similarity index 59% rename from c64/kernal/screen/screen_calculate_lnmx.s rename to c64/kernal/screen/screen_calculate_pntr_lnmx.s index 59a75515..b6645ba8 100644 --- a/c64/kernal/screen/screen_calculate_lnmx.s +++ b/c64/kernal/screen/screen_calculate_pntr_lnmx.s @@ -1,9 +1,36 @@ // +// Sets PNTR in a proper range (0-39 or 40-79) // Sets LNMX to 39 or 79 // +screen_calculate_PNTR_LNMX: + + ldy TBLX + lda LDTBL, y + php + jsr screen_get_clipped_PNTR + plp + bmi screen_calculate_PNTR_0_39 + + // FALLTROUGH + +screen_calculate_PNTR_40_79: + + tya + clc + adc #40 + tay + + // FALLTROUGH + +screen_calculate_PNTR_0_39: + + sty PNTR + + // FALLTROUGH + screen_calculate_LNMX: ldy TBLX