From 42246deb3561c4aa7ebb37c5a5077dadfd55d944 Mon Sep 17 00:00:00 2001 From: sfja Date: Mon, 31 Mar 2025 15:23:24 +0200 Subject: [PATCH] use new charset --- vm/main.c | 295 +----------------------------------------------------- 1 file changed, 3 insertions(+), 292 deletions(-) diff --git a/vm/main.c b/vm/main.c index b493b3a..ab2d02e 100644 --- a/vm/main.c +++ b/vm/main.c @@ -183,8 +183,7 @@ void sdldevice_destroy(SdlDevice* device) SDL_Quit(); } -extern const bool charset[][ch_height][ch_width]; -extern const uint64_t charset_2[]; +extern const uint64_t charset[]; void sdldevice_set_char(IODevice* io_device, uint16_t offset, uint8_t value) { @@ -209,7 +208,7 @@ void sdldevice_set_char(IODevice* io_device, uint16_t offset, uint8_t value) for (int ch_y = 0; ch_y < ch_height; ++ch_y) { for (int ch_x = 0; ch_x < ch_width; ++ch_x) { bool ch - = charset_2[value] >> (ch_y * ch_width + (ch_width - ch_x - 1)) + = charset[value] >> (ch_y * ch_width + (ch_width - ch_x - 1)) & 1; for (int px_y = 0; px_y < px_height; ++px_y) { @@ -473,18 +472,6 @@ int main(void) // dump_program(program); - for (int i = 'A'; i <= 'Z'; ++i) { - uint64_t ch = 0; - for (int y = 0; y < ch_height; ++y) { - for (int x = 0; x < ch_width; ++x) { - if (charset[i][y][x]) { - ch |= 1ul << (y * ch_width + (ch_height - x - 1)); - } - } - } - printf("['%c'] = 0x%lX,\n", i, ch); - } - // return 0; MemDrive drive; @@ -506,7 +493,7 @@ const char* __asan_default_options(void) return "detect_leaks=0"; } -const uint64_t charset_2[] = { +const uint64_t charset[] = { [' '] = 0x0000000000000000, ['A'] = 0x66667E66667E1800, ['B'] = 0x7C7E667C667E7800, @@ -535,279 +522,3 @@ const uint64_t charset_2[] = { ['Y'] = 0x181818183C666600, ['Z'] = 0x7E7E30180C7E7E00, }; - -#define _ false, -#define t true, - -const bool charset[][ch_height][ch_width] = { - [' '] = { - { _ _ _ _ _ _ _ _ }, - { _ _ _ _ _ _ _ _ }, - { _ _ _ _ _ _ _ _ }, - { _ _ _ _ _ _ _ _ }, - { _ _ _ _ _ _ _ _ }, - { _ _ _ _ _ _ _ _ }, - { _ _ _ _ _ _ _ _ }, - { _ _ _ _ _ _ _ _ }, - }, - ['A'] = { - { _ _ _ _ _ _ _ _ }, - { _ _ _ t t _ _ _ }, - { _ t t t t t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t t t t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - }, - ['B'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t t t _ _ _ }, - { _ t t t t t t _ }, - { _ t t _ _ t t _ }, - { _ t t t t t _ _ }, - { _ t t _ _ t t _ }, - { _ t t t t t t _ }, - { _ t t t t t _ _ }, - }, - ['C'] = { - { _ _ _ _ _ _ _ _ }, - { _ _ t t t t _ _ }, - { _ t t t t t t _ }, - { _ t t _ _ _ _ _ }, - { _ t t _ _ _ _ _ }, - { _ t t _ _ _ _ _ }, - { _ t t t t t t _ }, - { _ _ t t t t _ _ }, - }, - ['D'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t t t t _ _ }, - { _ t t t t t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t t t t t _ }, - { _ t t t t t _ _ }, - }, - ['E'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - { _ t t _ _ _ _ _ }, - { _ t t t t t t _ }, - { _ t t _ _ _ _ _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - }, - ['F'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - { _ t t _ _ _ _ _ }, - { _ t t t t _ _ _ }, - { _ t t t t _ _ _ }, - { _ t t _ _ _ _ _ }, - { _ t t _ _ _ _ _ }, - }, - ['G'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - { _ t t _ _ _ _ _ }, - { _ t t _ t t t _ }, - { _ t t _ _ t t _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - }, - ['H'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - }, - ['I'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - { _ _ _ t t _ _ _ }, - { _ _ _ t t _ _ _ }, - { _ _ _ t t _ _ _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - }, - ['J'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - { _ _ _ _ _ t t _ }, - { _ _ _ _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t t t t t _ }, - { _ _ t t t t _ _ }, - }, - ['K'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ t t t _ }, - { _ t t t t t _ _ }, - { _ t t t t t _ _ }, - { _ t t _ t t t _ }, - { _ t t _ _ t t _ }, - }, - ['L'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t _ _ _ _ _ }, - { _ t t _ _ _ _ _ }, - { _ t t _ _ _ _ _ }, - { _ t t _ _ _ _ _ }, - { _ t t _ _ _ _ _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - }, - ['M'] = { - { _ _ _ _ _ _ _ _ }, - { t t t _ _ t t t }, - { t t t t t t t t }, - { t t _ t t _ t t }, - { t t _ _ _ _ t t }, - { t t _ _ _ _ t t }, - { t t _ _ _ _ t t }, - { t t _ _ _ _ t t }, - }, - ['N'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t _ _ t t _ }, - { _ t t t _ t t _ }, - { _ t t t t t t _ }, - { _ t t _ t t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - }, - ['O'] = { - { _ _ _ _ _ _ _ _ }, - { _ _ t t t t _ _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ _ t t t t _ _ }, - }, - ['P'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t t t t _ _ }, - { _ t t t t t _ _ }, - { _ t t _ _ t t _ }, - { _ t t t t t t _ }, - { _ t t t t t _ _ }, - { _ t t _ _ _ _ _ }, - { _ t t _ _ _ _ _ }, - }, - ['Q'] = { - { _ _ _ _ _ _ _ _ }, - { _ _ t t t t _ _ }, - { _ t t t t t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ t t t _ }, - { _ t t t t t t _ }, - { _ _ t t t t t t }, - }, - ['R'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t t t t _ _ }, - { _ t t t t t t _ }, - { _ t t _ _ t t _ }, - { _ t t t t t t _ }, - { _ t t t t t _ _ }, - { _ t t _ t t _ _ }, - { _ t t _ _ t t _ }, - }, - ['S'] = { - { _ _ _ _ _ _ _ _ }, - { _ _ t t t t _ _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ _ _ _ }, - { _ _ t t t t _ _ }, - { _ _ _ _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ _ t t t t _ _ }, - }, - ['T'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - { _ _ _ t t _ _ _ }, - { _ _ _ t t _ _ _ }, - { _ _ _ t t _ _ _ }, - { _ _ _ t t _ _ _ }, - { _ _ _ t t _ _ _ }, - }, - ['U'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t t t t t _ }, - { _ _ t t t t _ _ }, - }, - ['V'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t t t t t _ }, - { _ _ t t t t _ _ }, - { _ _ _ t t _ _ _ }, - }, - ['W'] = { - { _ _ _ _ _ _ _ _ }, - { t t _ _ _ _ t t }, - { t t _ _ _ _ t t }, - { t t _ _ _ _ t t }, - { t t _ t t _ t t }, - { t t _ t t _ t t }, - { t t t t t t t t }, - { t t t _ _ t t t }, - }, - ['X'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ _ t t t t _ _ }, - { _ _ t t t t _ _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - }, - ['Y'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t _ _ t t _ }, - { _ t t _ _ t t _ }, - { _ _ t t t t _ _ }, - { _ _ _ t t _ _ _ }, - { _ _ _ t t _ _ _ }, - { _ _ _ t t _ _ _ }, - { _ _ _ t t _ _ _ }, - }, - ['Z'] = { - { _ _ _ _ _ _ _ _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - { _ _ _ _ t t _ _ }, - { _ _ _ t t _ _ _ }, - { _ _ t t _ _ _ _ }, - { _ t t t t t t _ }, - { _ t t t t t t _ }, - }, -};