joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.66k stars 378 forks source link

PC-98: Disable OPL capture #445

Closed Corak667 closed 6 years ago

Corak667 commented 6 years ago

Hi, tried to capture OPL to DRO on PC98 machine - permanent crashes. Are you planning to somehow emulate PC98 OPN commands with identical OPL instructions (it will be VERY great feature ever) or just block that feature there?

joncampbell123 commented 6 years ago

Since OPL capture is tied to the OPL2 and OPL3 on IBM PC emulation, I will have DOSBox-X disable the OPL capture command when entering PC-98 mode.

joncampbell123 commented 6 years ago

Also, the crash is caused by the fact that when entering PC-98 mode, the Adlib emulation frees itself and unregisters itself, but the mapper handler is still registered. The mapper handler, when you press the shortcut, still assumes Adlib emulation is allocated and registered. Since it is not, that means a NULL pointer dereference, and crash.

Corak667 commented 6 years ago

So capturing FM OPL output is no way to DRO format? No OPN frequency/instruments presets convertor to OPL modes, or it should be made separately or have no sense? There is S98 format already for capturing OPN music. Can it be implemented then?

joncampbell123 commented 6 years ago

FM synthesis on PC-98 is more involved than just the FM chip, there are other functions as well.

If there is a recording format for raw 9801-86 I/O, then future development should enable recording to that format in PC-98 mode rather than hack OPL recording to translate it.

joncampbell123 commented 6 years ago

Fixed.

If you can provide documentation on a recording format for 9801-86 music, feel free to open another issue and provide information on how to implement it.

I know there's one for NES music (a snapshot of the game's music routine) and SNES music (a snapshot of the data and code loaded to the SNES's SPC chip), so there's probably one defined by now for PC-98 FM music as well.

Corak667 commented 6 years ago

There is: http://www.vgmpf.com/Wiki/index.php/S98 http://vgmrips.net/wiki/S98_File_Format http://vgmrips.net/mirror/s98spec3.txt http://www.freewebs.com/snakemeat/tools/specs/s98spec3.txt http://vgmrips.net/forum/viewtopic.php?t=731

joncampbell123 commented 6 years ago

I'll open an issue for it now.

446