mirror of
https://github.com/Godzil/MB701-Reverse.git
synced 2025-12-12 09:58:57 +01:00
Fix typo, mistake and add more info.
This commit is contained in:
parent
c91336c6fe
commit
f2fe97098e
35
PIXB.md
35
PIXB.md
@ -7,11 +7,9 @@ PIXB File format
|
|||||||
struct PIXBFile:
|
struct PIXBFile:
|
||||||
struct Header:
|
struct Header:
|
||||||
char[4] = "PIXB"
|
char[4] = "PIXB"
|
||||||
uint16_t unknown
|
uint16_t: unknown
|
||||||
uint32_t Version (?)
|
uint16_t: Canvas size
|
||||||
uint16_t Canvas size
|
char[24]: unknown
|
||||||
uint32_t unknoxn
|
|
||||||
char[16]: unknown
|
|
||||||
|
|
||||||
char[928]: data
|
char[928]: data
|
||||||
```
|
```
|
||||||
@ -35,9 +33,35 @@ Canvas size can take only 3 values:
|
|||||||
- 1: 24x24 canvas
|
- 1: 24x24 canvas
|
||||||
- 2: 32x32 canvas
|
- 2: 32x32 canvas
|
||||||
|
|
||||||
|
The unknown part do store information, but it is unknown as the main application hasn't been reversed yet.
|
||||||
|
The iOS/Android app does not seems to use any of it, not the official windows conversion app.
|
||||||
|
|
||||||
|
## Example unpacking code
|
||||||
|
|
||||||
|
```python3
|
||||||
|
import struct
|
||||||
|
|
||||||
|
[...]
|
||||||
|
|
||||||
|
def unpack7to8(data):
|
||||||
|
ret = []
|
||||||
|
val = struct.unpack("<Q", data + b"\0")[0]
|
||||||
|
for i in range(8):
|
||||||
|
ret.append(val & 0x7F)
|
||||||
|
val = val >> 7
|
||||||
|
return ret
|
||||||
|
```
|
||||||
|
|
||||||
|
This function take a binary string and return an array with pixel value in order left to right.
|
||||||
|
|
||||||
|
You can find in [pixb2img.py](sample_tools/pixb2img.py) a fully functional example application reading a PIXB file and converting it into an
|
||||||
|
image format of your choice.
|
||||||
|
|
||||||
## Color palette
|
## Color palette
|
||||||
|
|
||||||
|
The palette here is described in hexadecimal as in `0xRRGGBB`.
|
||||||
|
Depending on the tool you are using you make need to swap the red and blue components.
|
||||||
|
|
||||||
```
|
```
|
||||||
0xFFFFFF, 0xE9BFA8, 0xECC7AC, 0xEFCFB0, 0xF4DDB7, 0xF7E4BB, 0xF7E4BB, 0xFAEBBE, 0xFDF2C1, 0xFFF9C4,
|
0xFFFFFF, 0xE9BFA8, 0xECC7AC, 0xEFCFB0, 0xF4DDB7, 0xF7E4BB, 0xF7E4BB, 0xFAEBBE, 0xFDF2C1, 0xFFF9C4,
|
||||||
0xF2F2C3, 0xE3EBC5, 0xD4E3C0, 0xC5DBBE, 0xC5DDCC, 0xC4DEDA, 0xC4E0E8, 0xC4E1F5, 0xC8D9EE, 0xCBD0E6,
|
0xF2F2C3, 0xE3EBC5, 0xD4E3C0, 0xC5DBBE, 0xC5DDCC, 0xC4DEDA, 0xC4E0E8, 0xC4E1F5, 0xC8D9EE, 0xCBD0E6,
|
||||||
@ -50,4 +74,3 @@ Canvas size can take only 3 values:
|
|||||||
0x825B1A, 0x8F701A, 0x9E8519, 0xAD9B16, 0xBAAC12, 0x98981F, 0x6F8127, 0x456C2B, 0x005A2C, 0x006145,
|
0x825B1A, 0x8F701A, 0x9E8519, 0xAD9B16, 0xBAAC12, 0x98981F, 0x6F8127, 0x456C2B, 0x005A2C, 0x006145,
|
||||||
0x006864, 0x007086, 0x0077A4, 0x266992, 0x3F537A, 0x4A3762, 0x500D4D, 0x560C3E, 0x58102E, 0x591320
|
0x006864, 0x007086, 0x0077A4, 0x266992, 0x3F537A, 0x4A3762, 0x500D4D, 0x560C3E, 0x58102E, 0x591320
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
40
README.md
40
README.md
@ -1,16 +1,40 @@
|
|||||||
MB701 Reverse engeneering effort
|
MB701 Reverse engineering effort
|
||||||
================================
|
================================
|
||||||
|
|
||||||
This git repository include all the file related to the reverse engineering of the MinBay MB701 Pixel Art Board.
|
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 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 complete, there are
|
||||||
|
still unknown part, but they are decipherable as is.
|
||||||
|
|
||||||
The second goal is to understand the update format and potentially allowing to use the board for executing your own code.
|
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.
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
The [update_files](update_files) folder include all the known update file released by MinBay.
|
The [update_files](update_files) folder include all the known update file released by MinBay.
|
||||||
|
|
||||||
### Note about update
|
The [sample_tools](sample_tools) folder include sample application in python handling the different
|
||||||
About update, **DO NOT** try to update the MB701 using anything else than a PC under windows, and potentially linux. The way they handle FAT is weird and Mac OS seems to have issues with saving the update file properly leading the board to crash in weird way.
|
type of file related to the MB701.
|
||||||
|
|
||||||
|
### Quick note about updating your MB701
|
||||||
|
About update, **DO NOT** try to update the MB701 using anything else than a PC under windows, and
|
||||||
|
potentially linux. The way they handle FAT is weird and Mac OS seems to have issues with saving
|
||||||
|
the update file properly leading the board to crash in weird way.
|
||||||
|
|
||||||
|
### TODO
|
||||||
|
- [ ] Documenting the update file format
|
||||||
|
- [ ] Creating a sample tool to create animated an gif from a .dat file
|
||||||
|
- [ ] Finish the the pixb2img to crop image if wanted (it only show imaged in their full 32x32 format)
|
||||||
|
- [ ] Hardware documentation, there is definitely a serial port and other port on the board.
|
||||||
|
- [ ] Maybe add datasheet of the components used on the board.
|
||||||
|
|
||||||
|
## Note
|
||||||
|
This repository is obviously not related in anyway with MinBay the creators of the MB701.
|
||||||
|
|
||||||
|
For more information about the MB701 and MinBay go do their website: https://minbay.com
|
||||||
|
|
||||||
|
If you have any information missing in this repository, feel free to contact me, especially if you have firmware that
|
||||||
|
I did not manage to save from their website and saved here.
|
||||||
Loading…
x
Reference in New Issue
Block a user