Export Hoot memory dumps to VOPM instruments
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

README.md 1.7KB

5 år sedan
12345678910111213141516171819202122232425262728293031
  1. # hootvopm
  2. This script converts a [Hoot](http://snesmusic.org/hoot/v2/) memory dump into an .opm instrument pack, suitable for the VOPM VST plugin. It's an extremely rudimentary way of extracting FM instruments from games, but it works.
  3. ## Usage
  4. `./hootopna.py -t chip_type input_file`
  5. Output is dumped straight to stdout; redirect it to a file if you want to save it.
  6. ### Currently-supported chip types
  7. * OPM
  8. * OPN
  9. * OPNA (equivalent to OPN)
  10. ## Capturing memory in hoot
  11. * Left- and right-clicking the "driver work" area flips between available memory pages. Scrolling the wheel in this area scrolls through the current page; you can also use Ctrl-(Up/Down/PgUp/PgDn) for this purpose.
  12. * When you see the area you need to capture, use Ctrl-C to copy it to the clipboard. This copies the entire page to the clipboard in a human-readable format, with 16 comma-separated hex bytes per line (plus a comma at the end for whatever reason, but this is ignored).
  13. * Paste this into a file, trimming it down to get the register area of the FM sound chip. Save it as whatever.
  14. ### Tips
  15. * Most chips (read: all of the ones currently supported by this script) have a 256-byte register area, meaning you'll need to trim it down to 16 lines.
  16. * From what I've seen, the chip's register area almost always resides on the first page, starting either at 0x0000 or 0x0100.
  17. ## Known issues
  18. * Since the script looks at a simple static memory dump, it has no way of capturing certain data, instead replacing it with placeholders. These include:
  19. * LFO data
  20. * Operator on/off state; all operators are considered to be in use (this *could* potentially be inferred, though)
  21. * Panning, though VOPM doesn't seem to use this