use new charset
This commit is contained in:
parent
ab55a9ff16
commit
42246deb35
295
vm/main.c
295
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 _ },
|
||||
},
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user