Drop print_hex.c — replaced by hex8() from hex_print.c
print_hex(uint8_t) was an early bare-metal helper doing exactly what
hex8() in the freshly-ported hex_print.c does (two-digit hex via
putchar()). hex8() is smaller (asm cp/sbc/daa nibble trick, no LUT)
and consistent with the dec8/hex16/dec16/hex32/dec32 family.
• Replaced print_hex() calls with hex8() in examples/banked and
examples/bankedbg.
• Removed libc/stdio/print_hex.c, dropped its prototype from
sprinter.h and its entry from lib/Makefile.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -7,7 +7,7 @@ void bank1_func(int x) __banked
|
||||
(void)x;
|
||||
puts("BANK1: hello from a banked function!");
|
||||
puts("BANK1: window 3 phys page = ");
|
||||
print_hex(_io_page_w3); /* should be BANK1's phys page */
|
||||
hex8(_io_page_w3); /* should be BANK1's phys page */
|
||||
putchar('\n');
|
||||
putchar('1');
|
||||
putchar('=');
|
||||
|
||||
@@ -7,7 +7,7 @@ void bank2_func(int x) __banked
|
||||
(void)x;
|
||||
puts("BANK2: hello from the second bank!");
|
||||
puts("BANK2: window 3 phys page = ");
|
||||
print_hex(_io_page_w3); /* should be BANK2's phys page */
|
||||
hex8(_io_page_w3); /* should be BANK2's phys page */
|
||||
putchar('\n');
|
||||
putchar('2');
|
||||
putchar('=');
|
||||
|
||||
@@ -13,7 +13,7 @@ extern uint8_t bank_pages[]; /* filled by crt0_banked.s */
|
||||
static void show_w3(const char *who)
|
||||
{
|
||||
puts(who);
|
||||
print_hex(_io_page_w3); /* current physical page mapped in window 3 */
|
||||
hex8(_io_page_w3); /* current physical page mapped in window 3 */
|
||||
putchar('\n');
|
||||
}
|
||||
|
||||
@@ -26,10 +26,10 @@ int main(void)
|
||||
show_w3("HOME: window 3 phys page = ");
|
||||
|
||||
puts("HOME: bank_pages[1] (BANK1 phys) = ");
|
||||
print_hex(bank_pages[1]);
|
||||
hex8(bank_pages[1]);
|
||||
putchar('\n');
|
||||
puts("HOME: bank_pages[2] (BANK2 phys) = ");
|
||||
print_hex(bank_pages[2]);
|
||||
hex8(bank_pages[2]);
|
||||
putchar('\n');
|
||||
|
||||
puts("HOME: calling bank1_func(42)...");
|
||||
|
||||
@@ -7,7 +7,7 @@ void bank1_func(int x) __banked
|
||||
(void)x;
|
||||
puts("BANK1: hello from a banked function (W1)!");
|
||||
puts("BANK1: window 1 phys page = ");
|
||||
print_hex(_io_page_w1); /* should be BANK1's phys page */
|
||||
hex8(_io_page_w1); /* should be BANK1's phys page */
|
||||
putchar('\n');
|
||||
putchar('1');
|
||||
putchar('=');
|
||||
|
||||
@@ -7,7 +7,7 @@ void bank2_func(int x) __banked
|
||||
(void)x;
|
||||
puts("BANK2: hello from the second bank (W1)!");
|
||||
puts("BANK2: window 1 phys page = ");
|
||||
print_hex(_io_page_w1); /* should be BANK2's phys page */
|
||||
hex8(_io_page_w1); /* should be BANK2's phys page */
|
||||
putchar('\n');
|
||||
putchar('2');
|
||||
putchar('=');
|
||||
|
||||
@@ -24,7 +24,7 @@ extern uint8_t bank_pages[]; /* filled by crt0_banked.s */
|
||||
static void show_w1(const char *who)
|
||||
{
|
||||
puts(who);
|
||||
print_hex(_io_page_w1); /* current physical page mapped in window 1 */
|
||||
hex8(_io_page_w1); /* current physical page mapped in window 1 */
|
||||
putchar('\n');
|
||||
}
|
||||
|
||||
@@ -37,10 +37,10 @@ int main(void)
|
||||
show_w1("HOME: window 1 phys page = ");
|
||||
|
||||
puts("HOME: bank_pages[1] (BANK1 phys) = ");
|
||||
print_hex(bank_pages[1]);
|
||||
hex8(bank_pages[1]);
|
||||
putchar('\n');
|
||||
puts("HOME: bank_pages[2] (BANK2 phys) = ");
|
||||
print_hex(bank_pages[2]);
|
||||
hex8(bank_pages[2]);
|
||||
putchar('\n');
|
||||
|
||||
puts("HOME: calling bank1_func(42)...");
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ LIBC_C := \
|
||||
libc/gfx/gfx_256.c libc/gfx/gfx_16.c \
|
||||
libc/gfx/gfx_font.c libc/gfx/gfx_text_256.c \
|
||||
libc/gfx/gfx_text_16.c \
|
||||
libc/stdio/getchar.c libc/stdio/print_hex.c \
|
||||
libc/stdio/getchar.c \
|
||||
libc/stdio/putchar.c libc/stdio/puts.c libc/stdio/file.c \
|
||||
libc/stdio/hex_print.c libc/stdio/dec_print.c \
|
||||
libc/stdio/solid_helpers.c \
|
||||
|
||||
@@ -113,8 +113,7 @@ static inline void sprinter_page_w2(uint8_t page) { _io_page_w2 = page; }
|
||||
static inline void sprinter_page_w3(uint8_t page) { _io_page_w3 = page; }
|
||||
|
||||
/* ---- Sprinter-specific debug helpers ------------------------------ */
|
||||
/* Print one byte as two uppercase hex digits via putchar(). */
|
||||
void print_hex(uint8_t v);
|
||||
/* Use hex8() / hex16() / hex32() from <stdio.h> for hex debug output. */
|
||||
|
||||
#ifdef DEBUG_RT
|
||||
/*
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
/*
|
||||
* print_hex — print a single byte as two uppercase hex digits.
|
||||
*
|
||||
* No printf yet; this is what bare-metal debug looks like in stage 3.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sprinter.h>
|
||||
|
||||
void print_hex(uint8_t v)
|
||||
{
|
||||
static const char digits[] = "0123456789ABCDEF";
|
||||
putchar(digits[(v >> 4) & 0x0F]);
|
||||
putchar(digits[v & 0x0F]);
|
||||
}
|
||||
Reference in New Issue
Block a user