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.
- Parsing a supported format is as easy as calling
(load-rom "path/to/my/rom.format")
. - Teaching romreader to parse a new rom is done using
defreader
. For an example, see the NES reader. - Accessing slots of a rom instance is done with
rom-metadata
,rom-binary
, androm-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. :)