https://github.com/redline6561/romreader.git
git clone 'https://github.com/redline6561/romreader.git'
(ql:quickload :romreader)
You are strongly encouraged to use this library via Quicklisp. Simply start your lisp and run: (ql:quickload 'romreader).
If you're reading this, you're probably interested in parsing ROMs using Lisp. There are 3 things you can do with romreader: parse a rom it supports, teach it how to parse a new format, and access parts of a loaded rom.
(load-rom "path/to/my/rom.format").defreader. For an example, see the NES reader.rom-metadata, rom-binary, and rom-format.Thus far, I have been using a plist to store metadata and a vector to store the binary but feel free to use your own representations. rom-binary and rom-metadata don't care. :)