Skip to content

Semi-automatic extraction of data from microscopic images of Masked ROM.

License

Notifications You must be signed in to change notification settings

AdamLaurie/rompar

Repository files navigation

rompar

Masked ROM optical data extraction tool.

Latest version:

https://github.com/AdamLaurie/rompar

Original version by Adam Laurie, but significant changes by John McMaster, Caitlin Morgan, and Jessy Exum.

Rompar is an interactive tool for extracting bianry data out of mask ROM images. The computer vision method implemented is rather simple, but has proven useful in several projects. There is still a lot that can be added to rompar, and pull requests are welcome.

Installing

Ubuntu 16.04

sudo apt-get install python3-pyqt5
sudo pip3 install opencv-python

Windows

git clone https://github.com/AdamLaurie/rompar
cd rompar
virtualenv venv
venv\Scripts\activate
pip install opencv-python pyqt5
python rompar.py file.jpg 16 8

Usage

To start a new project out of a mask rom image:

rompar.py <IMAGE> <BITS PER GROUP> <ROWS PER GROUP>

To open an existing rompar grid project:

rompar.py --load <GRIDFILE>

When the rompar python package is installed, romparqt should be used instead of rompar.py.

The new QT ui differs greatly from the original project, but the original walked through example is still useful for seeing what Rompar can do:

For more information, check the tutorial in the help menu, and the shortcuts on the various menu items inside of Rompar.

Colors:

  • Green: detected as bright spot ("1")
  • Blue: detected as dark spot ("0")

There are some more advanced ML aspects that were explored but never merged in. This is still an open area to explore

Some ROMs can be post procssed into binaries using https://github.com/SiliconAnalysis/zorrom

Enjoy! Adam & Rompar contributors.

Release history

2.1.0

  • Better command line error handling
  • Improved similar die import optons: --dx/--dy
  • Bug fix: fix crash on bit groups of size 1
  • Windows installer

2.0.0

  • Qt GUI major rewrite

1.0.0

  • JSON save files instead of pickle
  • rompar library

0.2.0

  • Validate input better
  • Misc code cleanup

0.1.0

  • Adam Laurie original code