From 2388d022aab466464839f5466ebb90fd180e2c2d Mon Sep 17 00:00:00 2001 From: Karri Kaksonen Date: Sat, 2 Apr 2022 11:47:37 +0300 Subject: [PATCH] Add the build tools for the font --- libsrc/atari7800/buildfont160.py | 30 ++++++++++++++++++++++++++++ libsrc/atari7800/font160.data | Bin 0 -> 8192 bytes libsrc/atari7800/font160flipped.png | Bin 0 -> 2957 bytes 3 files changed, 30 insertions(+) create mode 100644 libsrc/atari7800/buildfont160.py create mode 100644 libsrc/atari7800/font160.data create mode 100644 libsrc/atari7800/font160flipped.png diff --git a/libsrc/atari7800/buildfont160.py b/libsrc/atari7800/buildfont160.py new file mode 100644 index 000000000..bb944e335 --- /dev/null +++ b/libsrc/atari7800/buildfont160.py @@ -0,0 +1,30 @@ +blen = 0 + +def gb(val): + b = val[0] << 6 + b = b + (val[1] << 4) + b = b + (val[2] << 2) + b = b + val[3] + return '$' + hex(b)[2:4] + +def printline(f, val): + f.write(" .byte " + + gb(val[0:4]) + ', ' + + gb(val[4:8]) + ', ' + + gb(val[8:12]) + ', ' + + gb(val[12:16]) + ', ' + + gb(val[16:20]) + ', ' + + gb(val[20:24]) + ', ' + + gb(val[24:28]) + ', ' + + gb(val[28:32]) + '\n') + +fname='font160' +with open(fname + '.data', 'rb') as f: + data = f.read() +fname= fname + '.s' +with open(fname, 'w') as f: + f.write(" .export _font160\n") + f.write(' .rodata\n') + f.write("_font160:\n") + for i in range(0, int(len(data)/32)): + printline(f, data[i * 32:i * 32 + 32]) diff --git a/libsrc/atari7800/font160.data b/libsrc/atari7800/font160.data new file mode 100644 index 0000000000000000000000000000000000000000..79d2d83c3591585b230651e7c8142a130755a331 GIT binary patch literal 8192 zcmeHJ3v%5s2y~MB-?{7$ke@p30iuZoEXyLl5uQBHxxSv~3lH}*l?eIY^`F1M_w#(? z;eM|{{&)T7FYxm`KX|y`Ymon4|M&&IyoTnn=Hz3--(%jf9M*${HI{%xCxKYe=q6^h zx*a+$08OWn=g@-sOf_NkVO1qqMXT24s@^IntK|~D%$(N^r6XGJOE>SAej58?a`G|Z z?=kOK&NmiVrzL=fN@X7#U6m0R8Lnv4z_G=u7YCs-uXyr=Sms6M)*A z8XL79^GFD0#pt;|Osz_KtU39Z@b{Q^EawLctkV)eL#48hjjqawiwsw^Y2esmRq~S8 zXNvr#r_)o6eAQ7z-BZwq#0fy{O^uCOk9i~nvtsnzAEp*4e_6ipb)io}#~vZiiFp9` zgW4U(7dko9n%hna%EI-Q@)ig!iH_sg!ayVT@GDg@QzV!-K(}ii*sL&D44+elP_5w7Ltxc!+Pd&wfqbHhlt?&1;dIL@+7sE<=0%lXif=s3>ep%x*x?dz~i?c4xe0>={k z7BR7TsfVOiuJ8L2cT9(O+#c%S?&pS)zUD{q9-)g+k;v1Q@#|)QnOb}ElPnu77C`$t zEJK3M4bbi2xD54bzImyKzfLY`+#hDO+!B8aMU7QfB zlO*vFm4J1PZB&AbKn-o+ark%LDrP=>T1cf~_Z$6rKhr3dbD%J{m@|ec;lg#tN?bPg ze+^Smu|QCj$`nrru!4>6E>6I3g;V|>yDMUECXWpm|GOMEHb8eI)EQ+e0Ooer9&)$hp-h*Gc4}x z^lFPO5%}74w#kviHhRm{0ZPMlUSN9ohRl#A#W3+&ua(BC^lLN_Na`_ka-N5agm8>CpjRnCg05Dh@gs>qtSct3d~l zXUC)`vH53L*3UWY4c{^V{0WdvQ@|hnagOu2!!e&?KuIif6sUOi%nK)K;ETt5t~tPn zyX8Z>B#|@!bUvOXPlqIw3O1OE;bw{IT&>q zj!o|V$8QOM1JN7i$>5#?&=MoBDw*KhntmmK=dP!%L^Pb3R!OiJS@EeR~-SsohZEH1+#JblK=q`64I7X?Bsm{(YvrhCIa&etf#c}-Nm^!?W{bo z_XEJ(mE#Gkk~cXMhFkr&WuoRgbyYsNDhUAYMByDTSk0O>e9oFe)p34ZDT69j8g&cw dVIr_O;fi)S5BOUzvE^7FAAz|Gk3fmn`U9J)83h0U literal 0 HcmV?d00001 diff --git a/libsrc/atari7800/font160flipped.png b/libsrc/atari7800/font160flipped.png new file mode 100644 index 0000000000000000000000000000000000000000..a99a13657addb8e2c0ae3797643869ebea4a87ef GIT binary patch literal 2957 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 D!48YU literal 0 HcmV?d00001