Closed Wohlstand closed 5 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.
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.
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.
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).
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.
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.
I think, now, this task is completely made.
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.