Wohlstand / OPL3BankEditor

A small cross-platform editor of the OPL3 FM banks of different formats (Downloads in README below)
GNU General Public License v3.0
143 stars 12 forks source link

Try to provide support for Windows 98 to provide testing on real OPL3 chip (by allowing build on Qt 4.4.3) #12

Closed Wohlstand closed 5 years ago

Wohlstand commented 7 years ago

Having Windows 98 support can allow custom interface driver installing (or better: simple running of a background wrapper which a DOS utility) to support instrument testing on the real OPL2/OPL3 chip. Last Qt version officially supported Windows 98 is 4.4.3.

The Editor must be compatible with both Qt 4 (without of testing through the emulator), and latest Qt 5.

Wohlstand commented 7 years ago

Alternate solution without porting bank editor itself: create the mini-server that will serve a network proxy to forward OPL2 / OPL3 chip commands.

Wohlstand commented 7 years ago

Okay, now it finally works under Windows 98, but with no sound (because of different and incompatible sound API in Qt 4). That required me of making own Qt 4.4.3 assembly under MinGW 5.3 because of wide C++11 usage (Originally Qt 4.3 was designed for MinGW 3.2). Also, because of errors in legacy Qt code, I had to develop the patch to make Qt 4.4.3 be buildable under MinGW 5.3. The Windows 98 version will have two sound backends: Windows Audio, and OPL3 raw wrapper compiled for DOS.

Wohlstand commented 7 years ago

Through OpenWatcom compiler I had recogonized that Win32 apps are can use outp() / inp() calls to work with a chip. So, I had to build a dll that passes data to chip's registers, and I have load it dynamically when I detecting Windows 9x in the editor. So, this task is comleted. Need to test working on some other machines.

Wohlstand commented 7 years ago

The last thing still be - provide support for both emulator and real chip testing with ability to toggle them. Also, make an ability to change chip's port number (on some sound cards it has different addresses, so, provide AdLib / SoundBlaster / ProAudioSelbrum / CMedia to choose an actual address of OPL3 chip).

Wohlstand commented 6 years ago

Audio output was made by @jpcima by using RtAudio library that works on Windows 98 by using WinMM and DirectSound output things are working on Win98.

Wohlstand commented 5 years ago

I made the support for OPL2 chip for the issue #153. To use it, the OPL Proxy plugin should detect OPL3 or OPL2 and report which chip is actually in use.

Wohlstand commented 5 years ago

I think, now, this task is completely made.