reios: font support

This commit is contained in:
Flyinghead 2019-07-31 13:01:12 +02:00
parent 7eaf89a7f2
commit 5913a8f11e
2 changed files with 164 additions and 1 deletions

114
core/reios/font.h Normal file
View File

@ -0,0 +1,114 @@
//
// Neep Bold by Jim Knoble
//
static unsigned char builtin_font[] = {
// Overbar
0x00, 0x07, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// ASCII 33-126
0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0x30, 0x33, 0x03, 0x30, 0x33, 0x03, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x33, 0x03, 0x30, 0x33, 0x03, 0x30, 0xff, 0xcf, 0xfc, 0x33, 0x03, 0x30, 0x33, 0x03, 0x30, 0xff, 0xcf, 0xfc, 0x33, 0x03, 0x30, 0x33, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x3f, 0x07, 0xf8, 0xed, 0xcc, 0xc8, 0xec, 0x07, 0xf0, 0x3f, 0x80, 0xdc, 0x4c, 0xce, 0xdc, 0x7f, 0x83, 0xf0, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x78, 0xcf, 0xcc, 0xcd, 0x8c, 0xd8, 0xff, 0x07, 0xe0, 0x06, 0x00, 0xc0, 0x0c, 0x01, 0x80, 0x1f, 0x83, 0xfc, 0x6c, 0xc6, 0xcc, 0xcf, 0xcc, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x7c, 0x0e, 0xe0, 0xc6, 0x0e, 0xe0, 0x7c, 0x03, 0x80, 0x7c, 0xce, 0xfc, 0xc7, 0x8c, 0x30, 0xc3, 0x0e, 0x78, 0x7f, 0xc3, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0xc0, 0x1c, 0x03, 0x80, 0x30, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x18, 0x03, 0x00, 0x60, 0x0c, 0x00, 0xc0, 0x18, 0x01, 0x80, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x18, 0x01, 0x80, 0x0c, 0x00, 0xc0, 0x06, 0x00, 0x30, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0x00, 0x18, 0x00, 0xc0, 0x06, 0x00, 0x60, 0x03, 0x00, 0x30, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x03, 0x00, 0x30, 0x06, 0x00, 0x60, 0x0c, 0x01, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x31, 0x81, 0xb0, 0x0e, 0x07, 0xfc, 0x7f, 0xc0, 0xe0, 0x1b, 0x03, 0x18, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x0f, 0xfc, 0xff, 0xc0, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x1c, 0x03, 0x80, 0x30, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, 0x7f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1e, 0x01, 0xe0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x00, 0xc0, 0x0c, 0x01, 0x80, 0x18, 0x03, 0x00, 0x30, 0x06, 0x00, 0x60, 0x0c, 0x00, 0xc0, 0x18, 0x01, 0x80, 0x30, 0x03, 0x00, 0x60, 0x06, 0x00, 0xc0, 0x0c, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1e, 0x03, 0xf0, 0x61, 0x86, 0x18, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0xcc, 0xcc, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0x61, 0x86, 0x18, 0x3f, 0x01, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x00, 0xc0, 0x1c, 0x03, 0xc0, 0x6c, 0x0c, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0x07, 0xf8, 0xe1, 0xc4, 0x0c, 0x00, 0xc0, 0x0c, 0x01, 0x80, 0x30, 0x06, 0x00, 0xc0, 0x18, 0x03, 0x00, 0x60, 0x0c, 0x00, 0xff, 0xcf, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xcf, 0xfc, 0x00, 0xc0, 0x18, 0x03, 0x00, 0x60, 0x0f, 0x00, 0xf8, 0x01, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x40, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0f, 0x00, 0xf0, 0x1b, 0x01, 0xb0, 0x33, 0x03, 0x30, 0x63, 0x06, 0x30, 0xc3, 0x0c, 0x30, 0xff, 0xcf, 0xfc, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0x8f, 0xf8, 0xc0, 0x0c, 0x00, 0xc0, 0x0d, 0xf0, 0xff, 0x8e, 0x1c, 0xc0, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x40, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0x07, 0xf8, 0xe1, 0xcc, 0x08, 0xc0, 0x0c, 0x00, 0xdf, 0x0f, 0xf8, 0xe1, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xcf, 0xfc, 0x00, 0xc0, 0x0c, 0x01, 0x80, 0x18, 0x03, 0x00, 0x30, 0x06, 0x00, 0x60, 0x0c, 0x00, 0xc0, 0x18, 0x01, 0x80, 0x30, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0x07, 0xf8, 0xe1, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xe1, 0xc7, 0xf8, 0x7f, 0x8e, 0x1c, 0xc0, 0xcc, 0x0c, 0xc0, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0x07, 0xf8, 0xe1, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xce, 0x1c, 0x7f, 0xc3, 0xec, 0x00, 0xc0, 0x0c, 0x40, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x01, 0xe0, 0x1e, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1e, 0x01, 0xe0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x01, 0xe0, 0x1e, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x1c, 0x03, 0x80, 0x30, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x80, 0x30, 0x06, 0x00, 0xc0, 0x18, 0x03, 0x00, 0x60, 0x03, 0x00, 0x18, 0x00, 0xc0, 0x06, 0x00, 0x30, 0x01, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0xff, 0x8f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x60, 0x03, 0x00, 0x18, 0x00, 0xc0, 0x06, 0x00, 0x30, 0x01, 0x80, 0x30, 0x06, 0x00, 0xc0, 0x18, 0x03, 0x00, 0x60, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7f, 0x07, 0xf8, 0x01, 0x80, 0x18, 0x03, 0x00, 0x60, 0x0c, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x00, 0x00, 0x00, 0x01, 0x80, 0x18, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1f, 0x03, 0xf8, 0x71, 0xce, 0x0c, 0xc3, 0xcc, 0x7c, 0xce, 0xcc, 0xcc, 0xcc, 0xcc, 0xec, 0xc7, 0xcc, 0x3c, 0xe0, 0x07, 0x00, 0x3f, 0x81, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0x07, 0xf8, 0xe1, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcf, 0xfc, 0xff, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfc, 0x0f, 0xe0, 0xc7, 0x0c, 0x30, 0xc3, 0x0c, 0x30, 0xc3, 0x0f, 0xe0, 0xff, 0x0c, 0x18, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x1c, 0xff, 0x8f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0x07, 0xf8, 0xe1, 0xcc, 0x08, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x8e, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfc, 0x0f, 0xe0, 0xc3, 0x0c, 0x18, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc1, 0x8c, 0x30, 0xfe, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xcf, 0xfc, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0f, 0xf0, 0xff, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xff, 0xcf, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xcf, 0xfc, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0f, 0xf0, 0xff, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0x07, 0xf8, 0xe1, 0xcc, 0x08, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x7c, 0xc7, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcf, 0xfc, 0xff, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7f, 0x87, 0xf8, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x7f, 0x87, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0f, 0xc0, 0xfc, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x40, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xcc, 0x18, 0xc3, 0x0c, 0x60, 0xcc, 0x0d, 0x80, 0xfc, 0x0e, 0xc0, 0xc6, 0x0c, 0x60, 0xc3, 0x0c, 0x30, 0xc1, 0x8c, 0x18, 0xc0, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xff, 0xcf, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xcc, 0x0c, 0xe1, 0xce, 0x1c, 0xf3, 0xcd, 0x2c, 0xde, 0xcc, 0xcc, 0xcc, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xce, 0x0c, 0xe0, 0xcf, 0x0c, 0xd0, 0xcd, 0x8c, 0xc8, 0xcc, 0xcc, 0xc4, 0xcc, 0x6c, 0xc2, 0xcc, 0x3c, 0xc1, 0xcc, 0x1c, 0xc0, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0x07, 0xf8, 0xe1, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0x0f, 0xf8, 0xc1, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc1, 0xcf, 0xf8, 0xff, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0x07, 0xf8, 0xe1, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0xcc, 0xcc, 0xce, 0xdc, 0x7f, 0x83, 0xf0, 0x07, 0x00, 0x3c, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0x0f, 0xf8, 0xc1, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc1, 0xcf, 0xf8, 0xff, 0x0f, 0x80, 0xdc, 0x0c, 0xe0, 0xc7, 0x0c, 0x38, 0xc1, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0x07, 0xf8, 0xe1, 0xcc, 0x08, 0xc0, 0x0e, 0x00, 0x78, 0x03, 0xe0, 0x0f, 0x00, 0x38, 0x01, 0xc0, 0x0c, 0x40, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xcf, 0xfc, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0x61, 0x86, 0x18, 0x33, 0x03, 0x30, 0x1e, 0x01, 0xe0, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0xcc, 0xcc, 0xcd, 0xec, 0xd2, 0xcf, 0x3c, 0x61, 0x86, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xcc, 0x0c, 0x61, 0x86, 0x18, 0x33, 0x03, 0x30, 0x1e, 0x01, 0xe0, 0x1e, 0x01, 0xe0, 0x33, 0x03, 0x30, 0x61, 0x86, 0x18, 0xc0, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xe1, 0xc7, 0xf8, 0x3f, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xcf, 0xfc, 0x00, 0xc0, 0x18, 0x01, 0x80, 0x30, 0x06, 0x00, 0xc0, 0x0c, 0x01, 0x80, 0x30, 0x06, 0x00, 0x60, 0x0c, 0x00, 0xff, 0xcf, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0xf8, 0x3f, 0x83, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0xf8, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x00, 0xc0, 0x0c, 0x00, 0x60, 0x06, 0x00, 0x30, 0x03, 0x00, 0x18, 0x01, 0x80, 0x0c, 0x00, 0xc0, 0x06, 0x00, 0x60, 0x03, 0x00, 0x30, 0x01, 0x80, 0x18, 0x00, 0xc0, 0x0c, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0xf0, 0x7f, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x07, 0xf0, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x1e, 0x01, 0xe0, 0x33, 0x03, 0x30, 0x61, 0x86, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xfc, 0x00, 0x00, 0x00,
0x00, 0x03, 0x80, 0x38, 0x01, 0xc0, 0x0c, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x3f, 0x80, 0x1c, 0x00, 0xc3, 0xfc, 0x7f, 0xce, 0x0c, 0xc1, 0xce, 0x3c, 0x7e, 0xc3, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0xf0, 0xdf, 0x8f, 0x1c, 0xe0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xe0, 0xcf, 0x1c, 0xdf, 0x8c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x7f, 0x8e, 0x1c, 0xc0, 0x8c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x8e, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc3, 0xcc, 0x7e, 0xce, 0x3c, 0xc1, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc1, 0xce, 0x3c, 0x7e, 0xc3, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x7f, 0x8e, 0x1c, 0xc0, 0xcf, 0xfc, 0xff, 0xcc, 0x00, 0xc0, 0x8e, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0f, 0x01, 0xf8, 0x39, 0xc3, 0x08, 0x30, 0x03, 0x00, 0x30, 0x0f, 0xf8, 0xff, 0x83, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x7e, 0xce, 0x3c, 0xc1, 0xcc, 0x0c, 0xc0, 0xcc, 0x1c, 0xe3, 0xc7, 0xec, 0x3c, 0xc0, 0x0c, 0x00, 0xc4, 0x0c, 0xe1, 0xc7, 0xf8, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0xf0, 0xdf, 0x8f, 0x1c, 0xe0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x06, 0x00, 0x60, 0x06, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x3e, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x01, 0xf0, 0x1f, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x04, 0x30, 0xe7, 0x07, 0xe0, 0x3c, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x18, 0xc3, 0x0c, 0x60, 0xcc, 0x0d, 0x80, 0xf8, 0x0e, 0xc0, 0xc6, 0x0c, 0x30, 0xc1, 0x8c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0xc0, 0x0f, 0x80, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x98, 0xff, 0xce, 0xec, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xf0, 0xdf, 0x8f, 0x1c, 0xe0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x7f, 0x8e, 0x1c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xf0, 0xdf, 0x8f, 0x1c, 0xe0, 0xcc, 0x0c, 0xc0, 0xce, 0x0c, 0xf1, 0xcd, 0xf8, 0xcf, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0x7e, 0xce, 0x3c, 0xc1, 0xcc, 0x0c, 0xc0, 0xcc, 0x1c, 0xe3, 0xc7, 0xec, 0x3c, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xf0, 0xdf, 0x8f, 0x1c, 0xe0, 0x8c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x7f, 0x8c, 0x1c, 0xf0, 0x87, 0xe0, 0x1f, 0x80, 0x3c, 0x40, 0xce, 0x1c, 0x7f, 0x83, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x03, 0x00, 0x30, 0x0f, 0xf8, 0xff, 0x83, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00, 0x30, 0x83, 0x9c, 0x1f, 0x80, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc1, 0xce, 0x3c, 0x7e, 0xc3, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0xc0, 0xcc, 0x0c, 0x61, 0x86, 0x18, 0x61, 0x83, 0x30, 0x33, 0x01, 0xe0, 0x1e, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0xcc, 0xcc, 0xcd, 0xec, 0xd2, 0xcf, 0x3c, 0x61, 0x86, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0xc0, 0xc6, 0x18, 0x33, 0x01, 0xe0, 0x0c, 0x01, 0xe0, 0x33, 0x06, 0x18, 0xc0, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x0c, 0xc0, 0xcc, 0x1c, 0xe3, 0xc7, 0xec, 0x3c, 0xc0, 0x0c, 0x00, 0xc4, 0x0c, 0xe1, 0xc7, 0xf8, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0xff, 0xc0, 0x18, 0x03, 0x00, 0x60, 0x0c, 0x01, 0x80, 0x30, 0x06, 0x00, 0xff, 0xcf, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x38, 0x07, 0x80, 0xe0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x01, 0xc0, 0x78, 0x07, 0x80, 0x1c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0e, 0x00, 0x78, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0x00, 0x78, 0x01, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xe0, 0x07, 0x80, 0x78, 0x0e, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x0c, 0x00, 0xc0, 0x1c, 0x07, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0xf8, 0xcc, 0xcc, 0xcc, 0xcc, 0x7c, 0xc3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// yen (supposedly)
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xfc, 0x00, 0x00, 0x00,
//
// ISO-8859-1
// Characters 160-255
//
// nbsp
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//
// JIS X0201
// Characters 160-255
//
};

View File

@ -19,6 +19,7 @@
#include "hw/holly/sb_mem.h"
#include "hw/naomi/naomi_cart.h"
#include "iso9660.h"
#include "font.h"
#include <map>
@ -34,6 +35,7 @@
#define dc_bios_entrypoint_gd_do_bioscall 0x8c0010F0
#define SYSINFO_ID_ADDR 0x8C001010
#define FONT_TABLE_ADDR 0xa0100020
static u8* biosrom;
static MemChip *flashrom;
@ -224,7 +226,29 @@ static void reios_sys_system() {
}
static void reios_sys_font() {
WARN_LOG(REIOS, "reios_sys_font");
u32 cmd = Sh4cntx.r[1];
switch (cmd)
{
case 0: // FONTROM_ADDRESS
debugf("FONTROM_ADDRESS");
Sh4cntx.r[0] = FONT_TABLE_ADDR; // in ROM
break;
case 1: // FONTROM_LOCK
debugf("FONTROM_LOCK");
Sh4cntx.r[0] = 0;
break;
case 2: // FONTROM_UNLOCK
debugf("FONTROM_UNLOCK");
Sh4cntx.r[0] = 0;
break;
default:
WARN_LOG(REIOS, "reios_sys_font cmd %x", cmd);
break;
}
}
static void reios_sys_flashrom() {
@ -716,6 +740,31 @@ bool reios_init(u8* rom, MemChip* flash) {
register_hook(dc_bios_entrypoint_gd_do_bioscall, &gd_do_bioscall);
u8 *pFont = rom + (FONT_TABLE_ADDR % BIOS_SIZE);
// 288 12 × 24 pixels (36 bytes) characters
// 7078 24 × 24 pixels (72 bytes) characters
// 129 32 × 32 pixels (128 bytes) characters
memset(pFont, 0, 536496);
FILE *font = fopen(get_readonly_data_path(DATA_PATH "font.bin").c_str(), "rb");
if (font == NULL)
{
INFO_LOG(REIOS, "font.bin not found. Using built-in font");
memcpy(pFont, builtin_font, sizeof(builtin_font));
}
else
{
fseek(font, 0, SEEK_END);
size_t size = ftell(font);
fseek(font, 0, SEEK_SET);
size_t nread = fread(pFont, 1, size, font);
fclose(font);
if (nread != size)
WARN_LOG(REIOS, "font.bin: read truncated");
else
INFO_LOG(REIOS, "font.bin: loaded %zd bytes", size);
}
return true;
}