From 6114f982ec40e341d2b157f413a69e7724c0d93e Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Wed, 4 Sep 2019 17:05:46 +0200 Subject: [PATCH] optimized hex byte printing, idea from Forum64 --- c64/basic/printf.s | 21 ++++++++++----------- c64/kernal/printf.s | 21 ++++++++++----------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/c64/basic/printf.s b/c64/basic/printf.s index ceb4337b..1769660a 100644 --- a/c64/basic/printf.s +++ b/c64/basic/printf.s @@ -139,20 +139,19 @@ printf_retreat: rts printf_printhexbyte: + ;; Print the hex value in .A as two digits, idea by Haubitze + sed pha lsr lsr lsr lsr - ora #$30 - cmp #$3A - bcc + - adc #6 -* jsr JCHROUT + cmp #$0A + adc #$30 + jsr JCHROUT pla - and #$0f - ora #$30 - cmp #$3A - bcc + - adc #6 -* jmp JCHROUT + and #$0F + cmp #$0A + adc #$30 + cld + jmp JCHROUT diff --git a/c64/kernal/printf.s b/c64/kernal/printf.s index 245e9636..ea9776c8 100644 --- a/c64/kernal/printf.s +++ b/c64/kernal/printf.s @@ -139,20 +139,19 @@ printf_retreat: rts printf_printhexbyte: + ;; Print the hex value in .A as two digits, idea by Haubitze + sed pha lsr lsr lsr lsr - ora #$30 - cmp #$3A - bcc + - adc #6 -* jsr JCHROUT + cmp #$0A + adc #$30 + jsr JCHROUT pla - and #$0f - ora #$30 - cmp #$3A - bcc + - adc #6 -* jmp JCHROUT + and #$0F + cmp #$0A + adc #$30 + cld + jmp JCHROUT