From c54b2eb90d6ea44bcbc9dfd6f4c7c1d5ee01588a Mon Sep 17 00:00:00 2001 From: Ain <41307858+nero@users.noreply.github.com> Date: Sat, 7 Dec 2019 18:35:59 +0100 Subject: [PATCH] Add CP437 8x8 font --- src/cp437.bmp | Bin 0 -> 2178 bytes src/utils/bmp2font.c | 45 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 src/cp437.bmp create mode 100644 src/utils/bmp2font.c diff --git a/src/cp437.bmp b/src/cp437.bmp new file mode 100644 index 0000000000000000000000000000000000000000..73981a943d672e0c1c17652f2d8118218b5afe2b GIT binary patch literal 2178 zcmb7F&ub(_6n-0_^w3P^_#le`**~BmFzG{)fxUS0B6!(T!$Ns!As~za%Sv`n9{dOP z;L(f!fd`>*;H`%uxebAdVL-@UL~@#Kq^b6MJrg%BqWEU2s=xkTyu;m4mV^?yX?y)Av;53l%m7#-zv@&4p+ z`ntc*4-PcUt^OVU`ui{N4*5^u9@9Vgq$#@{E*!puQk?ewK8vH_Z>V3>w}yRJMEhb(83~e9fFI+#b-E_(6z*k;K8Z0(lCh%%LQ=?-NI!L33qY-6m)%5(Hdu&BiW`3McFTD357@tEI zoo^G%Mu7hwa`hiz`%YWE>nlPUPIMg=5LxZD@zb9^7+8fc-yOm#o z=gPGsT{FmbfLeg_5MaYwYeg0k)&3&Jh;@-1B`Y6u&cIn&15q92eH3qXGNh_11VZ#o zQ$vR+#;DFHxD^vR=Z~d|X7EqcZN_L~HwslFCXaA0&d7h2 z?T*Ey>x3=nvy^pd3gE@1Zn;H+d#?cQ1U?XA<+2Mf5cO%tTSH%hMrxCF+wEY&^)S>Sbt zyL&5VJJ#))pvexh8U@-r3YIOG`BBg95xYGX0*9iGuD3Xb?n{U8IOo`h&>jW1^aKUv zZNC~>x2y>l4wv+Z`?DQ(r&HD6It(Zriq}(r!mId#p7rDL7#|NiPvQ3F3H|W0s>Xp| zxfh9#KehDjuij^{kAF^L$)GCj?srKG=2Tz|MvSwV7 L`rEbB(-(gN64BZ! literal 0 HcmV?d00001 diff --git a/src/utils/bmp2font.c b/src/utils/bmp2font.c new file mode 100644 index 0000000..d9a2066 --- /dev/null +++ b/src/utils/bmp2font.c @@ -0,0 +1,45 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +FILE* in; +FILE* out; +void *addr; + +void copyline(int c) { + uint8_t *ptr = addr + 0x82 + (128/8)*(127 - c); + int i; + for (i=0; i<16; i++) { + fputc(*ptr++, out); + } +} + +int main(int argc, char** argv) { + struct stat sbuf; + + in = fopen(argv[1], "r+"); + out = fopen(argv[2], "w"); + + fstat(fileno(in), &sbuf); + + if (sbuf.st_size != 2178) { + printf("File must be a 128x128 pixel 1 bit monochrome bmp\n"); + exit(1); + } + + addr = mmap(NULL, sbuf.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fileno(in), 0); + + int i, j; + for(j=0; j<8; j++) { + for(i=0; i<16; i++) { + copyline(j+i*8); + } + } +}