// SPDX-License-Identifier: WTFPL // original idea: https://nanacchig7.blogspot.com/2026/03/msx.html // zcc +msx -subtype=msxdos nana-20260302.c -o nana0302.com #include #include #define PCG_TABLE 0x0000 static void init_screen(void) { unsigned char i; // screen 1 // color 15, 4, 7 for (i = 0; i < 224; i++) putchar(i + 32); } static void modify_font(unsigned char *d) { int i, j; unsigned char p, q, r, s; for (i = 0; i < 8; i++) { p = 0xa0; q = 0x80; r = 0x40; s = 0x00; for (j = 0; j < 6; j++) { if ((*d & p) == q) s |= r; p >>= 1; q >>= 1; r >>= 1; } *d++ |= s; } } static void modify_chars(void) { unsigned char i; unsigned char d[8]; for (i = 0; i < 224; i++) { msx_vread(PCG_TABLE + (i + 32) * 8 + j, d, 8); modify_font(d); msx_vwrite(d, PCG_TABLE + (i + 32) * 8 + j, 8); } } int main(int argc, char *argv[]) { init_screen(); modify_chars(); return 0; }