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;
|
(void)x;
|
||||||
puts("BANK1: hello from a banked function!");
|
puts("BANK1: hello from a banked function!");
|
||||||
puts("BANK1: window 3 phys page = ");
|
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('\n');
|
||||||
putchar('1');
|
putchar('1');
|
||||||
putchar('=');
|
putchar('=');
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ void bank2_func(int x) __banked
|
|||||||
(void)x;
|
(void)x;
|
||||||
puts("BANK2: hello from the second bank!");
|
puts("BANK2: hello from the second bank!");
|
||||||
puts("BANK2: window 3 phys page = ");
|
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('\n');
|
||||||
putchar('2');
|
putchar('2');
|
||||||
putchar('=');
|
putchar('=');
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ extern uint8_t bank_pages[]; /* filled by crt0_banked.s */
|
|||||||
static void show_w3(const char *who)
|
static void show_w3(const char *who)
|
||||||
{
|
{
|
||||||
puts(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');
|
putchar('\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,10 +26,10 @@ int main(void)
|
|||||||
show_w3("HOME: window 3 phys page = ");
|
show_w3("HOME: window 3 phys page = ");
|
||||||
|
|
||||||
puts("HOME: bank_pages[1] (BANK1 phys) = ");
|
puts("HOME: bank_pages[1] (BANK1 phys) = ");
|
||||||
print_hex(bank_pages[1]);
|
hex8(bank_pages[1]);
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
puts("HOME: bank_pages[2] (BANK2 phys) = ");
|
puts("HOME: bank_pages[2] (BANK2 phys) = ");
|
||||||
print_hex(bank_pages[2]);
|
hex8(bank_pages[2]);
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
|
|
||||||
puts("HOME: calling bank1_func(42)...");
|
puts("HOME: calling bank1_func(42)...");
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ void bank1_func(int x) __banked
|
|||||||
(void)x;
|
(void)x;
|
||||||
puts("BANK1: hello from a banked function (W1)!");
|
puts("BANK1: hello from a banked function (W1)!");
|
||||||
puts("BANK1: window 1 phys page = ");
|
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('\n');
|
||||||
putchar('1');
|
putchar('1');
|
||||||
putchar('=');
|
putchar('=');
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ void bank2_func(int x) __banked
|
|||||||
(void)x;
|
(void)x;
|
||||||
puts("BANK2: hello from the second bank (W1)!");
|
puts("BANK2: hello from the second bank (W1)!");
|
||||||
puts("BANK2: window 1 phys page = ");
|
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('\n');
|
||||||
putchar('2');
|
putchar('2');
|
||||||
putchar('=');
|
putchar('=');
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ extern uint8_t bank_pages[]; /* filled by crt0_banked.s */
|
|||||||
static void show_w1(const char *who)
|
static void show_w1(const char *who)
|
||||||
{
|
{
|
||||||
puts(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');
|
putchar('\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,10 +37,10 @@ int main(void)
|
|||||||
show_w1("HOME: window 1 phys page = ");
|
show_w1("HOME: window 1 phys page = ");
|
||||||
|
|
||||||
puts("HOME: bank_pages[1] (BANK1 phys) = ");
|
puts("HOME: bank_pages[1] (BANK1 phys) = ");
|
||||||
print_hex(bank_pages[1]);
|
hex8(bank_pages[1]);
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
puts("HOME: bank_pages[2] (BANK2 phys) = ");
|
puts("HOME: bank_pages[2] (BANK2 phys) = ");
|
||||||
print_hex(bank_pages[2]);
|
hex8(bank_pages[2]);
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
|
|
||||||
puts("HOME: calling bank1_func(42)...");
|
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_256.c libc/gfx/gfx_16.c \
|
||||||
libc/gfx/gfx_font.c libc/gfx/gfx_text_256.c \
|
libc/gfx/gfx_font.c libc/gfx/gfx_text_256.c \
|
||||||
libc/gfx/gfx_text_16.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/putchar.c libc/stdio/puts.c libc/stdio/file.c \
|
||||||
libc/stdio/hex_print.c libc/stdio/dec_print.c \
|
libc/stdio/hex_print.c libc/stdio/dec_print.c \
|
||||||
libc/stdio/solid_helpers.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; }
|
static inline void sprinter_page_w3(uint8_t page) { _io_page_w3 = page; }
|
||||||
|
|
||||||
/* ---- Sprinter-specific debug helpers ------------------------------ */
|
/* ---- Sprinter-specific debug helpers ------------------------------ */
|
||||||
/* Print one byte as two uppercase hex digits via putchar(). */
|
/* Use hex8() / hex16() / hex32() from <stdio.h> for hex debug output. */
|
||||||
void print_hex(uint8_t v);
|
|
||||||
|
|
||||||
#ifdef DEBUG_RT
|
#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