First post, by bristlehog
I am developing AIL/MIDPAK, AIL/32 and Miles Sound System compatible MIDI drivers for Innovation SSI-2001 sound card. This card is based on MOS6581 (SID) sound chip which is very capable, albeit limited by 3 simultaneous voices and monophonic playback only. Since only two known species of Innovation SSI-2001 remain, a clone project is ongoing.
To simplify my task (I am an inexperienced programmer), I took Tandy driver and modified it to work with Innovation SSI-2001 (thanks to Dosbox SVN-Daum for its emulation). Find attached current driver version. Only the default IO address (280h) is currently supported.
For example game videos, look below post.
It is obvious that MOS6581 capabilities aren't even nearly maxed out (only sawtooth waveforms with constant ADSR parameters are used) by this Tandy-style driver.
Alternative solution would be developing a more powerful driver based on OPL2/OPL3 AIL code, with static patch library; yet limit of 3 voices only is really tough, leaving two voices available for melodies if drums are present. Any opinions?
Anyway, here's current driver, working with Dosbox SVN-Daum; you may test it with AIL/MIDPAK games and PX MIDI player (INNOV.ADV); AIL/32 games and XP32 (A32INNOV.DLL), Miles Sound System games and XMIPLAY (INNOV.MDI). Feedback is welcome.
I have to credit these people for this project:
John Miles - for his AIL source code, very powerful and quite easy to understand library.
yvan256 - for his scans of Innovation SSI-2001 programming manual
shock__ - for his idea of Innovation SSI-2001 clone, which in its turn gave me an idea to develop drivers
A.P.$lasH and Bato-San (both from old-games.ru forum) - for answering my newbieish assembly questions
Hardware comparisons and game system requirements: https://technical.city