DalSoRi R2 support

When provided with arcade OPL4 VGMs with ROM PCM data, switch to the DalSoRi 4MB mode so that it can fit all the sample data.

bitbucket:Laurens Holst
Assigned to
3 years ago
1 year, 10 months ago
No labels applied.

bitbucket:Laurens Holst 3 years ago · edit

The biggest unanswered question at the moment is how to detect the DalSoRi R2.

On msx.org I asked Jun how to best detect the DalSoRi R2:

I wonder what the best way to detect the presence of the DalSoRi R2.0 is. I reckon since the MSX-AUDIO BIOS is not loaded in the FlashROM by default (right?), I can’t simply search for an ID string in a slot.

Jun’s answer was:

I use following methods to test DalSoRi R2.

  1. Enable/disable RAM mode. RAM test must be success when enabled, otherwise it must be failed.
  2. Enable/disable I/O ports. Test if OPL4 is working for the selected port.

This methods were applied in upcoming FlashPack memory tool (fpmt.com) v0.6

Since the DalSoRi R2 uses memory-mapped I/O for its configuration, we need to scan all slots for this. Not by itself a problem for VGMPlay, however how that detection should happen exactly still needs to be figured out.

See the DalSoRi R2 user manual.

bitbucket:Laurens Holst 3 years ago · edit

Fixed a346324.

For the detection, first we look for slots which either have an MSX-AUDIO BIOS (“AUDIO” signature at 0080H), or slots which have empty FlashROM contents (8x FFH signature at 4000H). Then we attempt to disable the I/O ports via the config register at 6700H, if.

The signature detection is done first because otherwise it can unintentionally swap ROM banks, e.g. Nextor’s ASCII8 ROM which crashes the machine. Normally at 4000H there’s an “AB” signature so ROM mappers won’t match.

~grauw REPORTED FIXED 1 year, 10 months ago

Register here or Log in to comment, or comment via email.