From 2d6428446e79ea7176dca85fa5306cdcea9df64a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauri=20V=C3=B5sandi?= Date: Sat, 21 Jan 2023 09:53:09 +0200 Subject: [PATCH] Initial commit --- .gitignore | 1 + README.md | 44 ++++++++ extract-fonts.py | 122 +++++++++++++++++++++ firmware/mobitec-01682-r7-bib-01369-r9.bin | Bin 0 -> 131072 bytes firmware/mobitec-1682-r7-bib-01979-r3.bin | Bin 0 -> 131072 bytes 5 files changed, 167 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 extract-fonts.py create mode 100644 firmware/mobitec-01682-r7-bib-01369-r9.bin create mode 100644 firmware/mobitec-1682-r7-bib-01979-r3.bin diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..abc55b3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +samples/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..c60f708 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# Intro + +Mobitec flip-disc displays use MC27C1001 EPROM-s to store the +firmware (?) and fonts. +In the `firmware/` directory you can find two ROM dumps. + +# Useful commands + +To extract font sections: + +``` +dd if=mobitec-1682-r7-bib-01979-r3.bin of=mobitec-1682-r7-bib-01979-r3-fonts.bin skip=64 bs=1024 +dd if=mobitec-01682-r7-bib-01369-r9.bin of=mobitec-01682-r7-bib-01369-r9-fonts.bin skip=64 bs=1024 +``` + +For diffing font sections: + +``` +dhex mobitec-1682-r7-bib-01979-r3-fonts.bin mobitec-01682-r7-bib-01369-r9-fonts.bin +``` + +# Dump structure + +The firmware seems to be located in the first 7KiB and the font data +starts at 0x10000 offset. + +The font beginning marker seem to consist of a character from `a` to `z` +followed by at least 60 null characters. +They don't seem aligned or indexed in any way so easiest is just to scan +for known markers. + +After the beginning marker you can find the lookup table which maps +printable ASCII characters to a glyph address. +The lookup table is 190 bytes (95x 16-bit addresses) which correspond +to ASCII characters 32 up to 126. +Not all fonts include all characters, missing glyphs are represented by address 0. +Note that the glyph address is relative to the beginning of font structure, +beginning marker inclusive. + +At the glyph address first width and height of the glyph are found represented +by two 8-bit integers. The actual bitmap data follows in 8x8 pixel tiles +packed together as 8 bytes. + + diff --git a/extract-fonts.py b/extract-fonts.py new file mode 100644 index 0000000..49d6a27 --- /dev/null +++ b/extract-fonts.py @@ -0,0 +1,122 @@ +import json +import cv2 +import numpy as np + +""" +dd if=mobitec-1682-r7-bib-01979-r3.bin of=mobitec-1682-r7-bib-01979-r3-fonts.bin skip=64 bs=1024 +dd if=mobitec-01682-r7-bib-01369-r9.bin of=mobitec-01682-r7-bib-01369-r9-fonts.bin skip=64 bs=1024 +dhex mobitec-1682-r7-bib-01979-r3-fonts.bin mobitec-01682-r7-bib-01369-r9-fonts.bin +""" + +src = "mobitec-1682-r7-bib-01979-r3" +src = "mobitec-01682-r7-bib-01369-r9" + +with open("firmware/%s.bin" % src, "rb") as fh: + buf = fh.read()[65536:] + + +def scan_fonts(buf): + """ + Font start markers seem to be ascii character a..z followed by at least 60 nulls + """ + font_index = buf[0] + assert font_index == 0x61 + prev = 0 + done = False + while not done: + needle = b"%c" % (font_index + 1) + needle += 50 * b"\x00" + try: + font_offset = buf.index(needle) + except ValueError: + break + font_body = buf[prev:] + done = True + else: + font_body = buf[prev:font_offset] + if done: + break + font_marker_length = len(needle) + font_body = font_body[font_marker_length:] + while font_body.startswith(b"\x00"): + font_body = font_body[1:] + font_marker_length += 1 + yield font_index, font_body, font_marker_length + prev = font_offset + font_index += 1 + + +meta = [] +for font_index, font_body, font_marker_length in scan_fonts(buf): + print() + print("Parsing font %02x" % font_index) + + # Looks like yet another marker + assert font_body[0] == 3 + assert font_body[1] == 1 + + # Look up table consists of 95 16-bit integers + glyph_offsets = np.frombuffer(font_body[2:192], dtype=np.uint16) + prev = 0 + slices = [] + errors = set() + + for index, glyph_offset in enumerate(glyph_offsets): + if glyph_offset != 0: + glyph_offset -= font_marker_length + print("Found %d undecoded bytes between lookup table and first glyph" % len(font_body[192:192 + glyph_offset])) + break + + characters_present = "" + + for index, glyph_offset in enumerate(glyph_offsets): + if glyph_offset == 0: + characters_present += "_" + # No glyph + meta.append(None) + continue + else: + # The index goes from space (32) up to ~ (126) + character = chr(index + 32) + characters_present += "+" + + # Glyphs are relative to the font marker start + glyph_offset -= font_marker_length + + try: + height, width = font_body[glyph_offset], font_body[glyph_offset + 1] + except IndexError: + print("Failed to look up glyph for %s", repr(character)) + else: + jah = np.frombuffer((font_body[glyph_offset + 2:])[::-1], dtype=np.uint8)[::-1] + a = np.unpackbits(jah, axis=0) + try: + img = a[:width * 16].reshape((width, 16, 1)) + img = np.hstack([img[:, 8:, :], img[:, :8, :]]) + meta.append({ + "width": width, + "height": height, + "bitmap": img.tolist() + }) + img = 255 * img + + slices.append(img) + except ValueError: + pass + else: + blank_image = np.zeros((1, 16, 1), np.uint8) + blank_image[::] = 0 + slices.append(blank_image) + + if glyph_offset <= prev: + print("Glyph offsets not ordered") + prev = glyph_offset + print("Glyphs present:", characters_present) + img = np.vstack(slices) + + img = np.flip(np.swapaxes(img, 1, 0), 0) + s = img.shape * np.array(5) + img = cv2.resize(img, dsize=(s[1], s[0]), interpolation=cv2.INTER_NEAREST) + cv2.imwrite("samples/%s-%02x.png" % (src, font_index), img) + with open("samples/%s-%02x.json" % (src, font_index), "w") as fh: + fh.write(json.dumps({"glyphs": meta})) diff --git a/firmware/mobitec-01682-r7-bib-01369-r9.bin b/firmware/mobitec-01682-r7-bib-01369-r9.bin new file mode 100644 index 0000000000000000000000000000000000000000..3df1d838e7e883eff19483bbe9147b48c84338bf GIT binary patch literal 131072 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 literal 0 HcmV?d00001 diff --git a/firmware/mobitec-1682-r7-bib-01979-r3.bin b/firmware/mobitec-1682-r7-bib-01979-r3.bin new file mode 100644 index 0000000000000000000000000000000000000000..12bf494248d3bb34a0d8c4cc46538f2c662c7c5d GIT binary patch literal 131072 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 Lfr10?F$ew!gS&Q; literal 0 HcmV?d00001