{
 "_sources": [
  {
   "type": "vendor-doc",
   "url": "https://github.com/patrickdowling/pfm2sid",
   "notes": "pfm2sid by Patrick Dowling, an emulated SID synth (reSID 0.16) for the PreenFM2 hardware: README.md, src/pfm2sid.cc (MidiHandler: notes, pitch bend, SysEx, receive channel) and src/sidbits/asid_parser.h/.cc (ASID) at 8031123.",
   "firmware": "pfm2sid-8031123",
   "commit": "8031123",
   "imported_at": "2026-10-26"
  }
 ],
 "_limitations": "pfm2sid at 8031123 (no published binary; built and flashed over SWD, or with the original bootloader at the cost of 256 KB). A different instrument on the PreenFM2 hardware: DIN MIDI only. In SID synth mode it plays notes and pitch bend on the receive channel set in its system menu; it handles no CC, Program Change or aftertouch. ASID SysEx (F0 2D ...) switches it to the ASID player on its own: start (4C), stop (4D), register frames (4E) and LCD text (4F) from an ASID host; only start and stop are mapped, the register frames are sent by the host software. Untested on hardware.",
 "device": {
  "name": "PreenFM2",
  "vendor": "PreenFM",
  "revision": "pfm2sid (SID synth firmware by Patrick Dowling)",
  "osc_prefix": "/preenfm2_pfm2sid",
  "manufacturer_id": [],
  "device_id": []
 },
 "sysex": {
  "header": [],
  "footer": [],
  "_notes": "ASID messages start with F0 2D."
 },
 "midi_out": {
  "default_channel": 0,
  "note_offset": 0
 },
 "commands": [
  {
   "osc": "/asid/start",
   "section": "ASID",
   "args": [],
   "_notes": "ASID start: switches to the ASID player.",
   "frame": [
    240,
    45,
    76,
    247
   ]
  },
  {
   "osc": "/asid/stop",
   "section": "ASID",
   "args": [],
   "_notes": "ASID stop.",
   "frame": [
    240,
    45,
    77,
    247
   ]
  }
 ]
}
