commit bcfe6ca583c202f29d8af7f43e2705dbadea26f0 Author: Godzil Date: Sat Nov 12 22:58:28 2022 +0000 first commit diff --git a/PIXB.md b/PIXB.md new file mode 100644 index 0000000..a868447 --- /dev/null +++ b/PIXB.md @@ -0,0 +1,53 @@ +PIXB File format +================ + + ## Basic structure + +``` +struct PIXBFile: + struct Header: + char[4] = "PIXB" + uint16_t unknown + uint32_t Version (?) + uint16_t Canvas size + uint32_t unknoxn + char[16]: unknown + + char[928]: data +``` + +Each pixels is stored in a 7 bit packed format which allow to store 8 pixel in 7 bytes: + +| bit 56-50 | bit 49-43 | bit 42-36 | bit 35-29 | bit 28-22 | bit 21-15 | bit 14-8 | bit 7-0 | +|-----------|-----------|-----------|-----------|-----------|-----------|----------|---------| +| pixel 7 | pixel 6 | pixel 5 | pixel 4 | pixel 3 | piexl 2 | pixel 1 | pixel 0 | + + +Only value between 0 and 99 are valid, the palette only have 100 entry, all value equal or higher to 100 are +considered to be color 0 + +Also, the file is always the same size and always contain enough space to store the 32x32 size. + +If the image is using a 16x16 canvas or 24x24 canvas, the start of the image is shifted by a couple of pixels + +Canvas size can take only 3 values: + - 0: 16x16 canvas + - 1: 24x24 canvas + - 2: 32x32 canvas + + +## Color palette + +``` +0xFFFFFF, 0xE9BFA8, 0xECC7AC, 0xEFCFB0, 0xF4DDB7, 0xF7E4BB, 0xF7E4BB, 0xFAEBBE, 0xFDF2C1, 0xFFF9C4, +0xF2F2C3, 0xE3EBC5, 0xD4E3C0, 0xC5DBBE, 0xC5DDCC, 0xC4DEDA, 0xC4E0E8, 0xC4E1F5, 0xC8D9EE, 0xCBD0E6, +0xCEC5DE, 0xD0BAD5, 0xD6BBCB, 0xDDBDC0, 0xE3BEB4, 0xD1D1D2, 0xD37859, 0xD88A5F, 0xDE9B64, 0xE3AB69, +0xE9BA6E, 0xEFC972, 0xF4D777, 0xFAE57A, 0xFFF387, 0xE4E47E, 0xC6D57D, 0xA5C57C, 0x82B47B, 0x81B798, +0x7FBAB5, 0x7DBDD0, 0x7BBFE9, 0x8AB4DD, 0x96A3CE, 0x9F8EBB, 0xA572A6, 0xB17495, 0xBD7683, 0xC8776F, +0x7D7E7F, 0xC1001F, 0xC63F1F, 0xCC5E1E, 0xD4791D, 0xDC931A, 0xE5AB14, 0xEEC200, 0xF6D800, 0xFFEC00, +0xD4D51D, 0xA2BD30, 0x6BA53A, 0x118F40, 0x009266, 0x00958E, 0x0099B7, 0x009CDD, 0x348ECB, 0x5A76B2, +0x6F5496, 0x7E177A, 0x901366, 0xA20E50, 0xB20039, 0x1F1E21, 0x551415, 0x5F2517, 0x693618, 0x754819, +0x825B1A, 0x8F701A, 0x9E8519, 0xAD9B16, 0xBAAC12, 0x98981F, 0x6F8127, 0x456C2B, 0x005A2C, 0x006145, +0x006864, 0x007086, 0x0077A4, 0x266992, 0x3F537A, 0x4A3762, 0x500D4D, 0x560C3E, 0x58102E, 0x591320 +``` + diff --git a/README.md b/README.md new file mode 100644 index 0000000..12697e4 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +MB701 Reverse engeneeering effort +================================= + +This git repository include all the file related to the reverse engineering of the MinBay MB701 Pixel Art Board. + +The goal is to document as much as possible the file format used by the Pixel Art Board, both the [.PIX](PIXB.md) and [.DAT](PTCR.md) file, reverse on them is near complte, there are still unknown part but they are decypherable as is. + +The second goal is to understand the update format and potentially allowing to use the board for executing your own code. + +An effort to find how the Bluetooth is workind is also underway but too early to document it. Up so far all I can say is that it use BLE. diff --git a/update_files/MB701-Upgrade1.3.11.dat b/update_files/MB701-Upgrade1.3.11.dat new file mode 100644 index 0000000..a7efad8 Binary files /dev/null and b/update_files/MB701-Upgrade1.3.11.dat differ diff --git a/update_files/MB701-Upgrade1.3.27.dat b/update_files/MB701-Upgrade1.3.27.dat new file mode 100644 index 0000000..8d6daef Binary files /dev/null and b/update_files/MB701-Upgrade1.3.27.dat differ diff --git a/update_files/MB701-Upgrade1.3.30.dat b/update_files/MB701-Upgrade1.3.30.dat new file mode 100644 index 0000000..97c339a Binary files /dev/null and b/update_files/MB701-Upgrade1.3.30.dat differ diff --git a/update_files/MB701-Upgrade1.3.45.dat b/update_files/MB701-Upgrade1.3.45.dat new file mode 100644 index 0000000..d796270 Binary files /dev/null and b/update_files/MB701-Upgrade1.3.45.dat differ diff --git a/update_files/MB701-Upgrade1.3.47.dat b/update_files/MB701-Upgrade1.3.47.dat new file mode 100644 index 0000000..d90af6c Binary files /dev/null and b/update_files/MB701-Upgrade1.3.47.dat differ diff --git a/update_files/MB701-Upgrade1.3.51.dat b/update_files/MB701-Upgrade1.3.51.dat new file mode 100644 index 0000000..32df668 Binary files /dev/null and b/update_files/MB701-Upgrade1.3.51.dat differ diff --git a/update_files/MB701-Upgrade1.3.53.dat b/update_files/MB701-Upgrade1.3.53.dat new file mode 100644 index 0000000..8339e32 Binary files /dev/null and b/update_files/MB701-Upgrade1.3.53.dat differ