Innovation SSI-2001 MIDI driver

Schedules and announcements about program releases.

Innovation SSI-2001 MIDI driver

Postby bristlehog » 2014-5-06 @ 18:09

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.

Examples:

Led Zeppelin - Stairway To Heaven
Doom E1M1

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 - for answering my newbieish assembly questions
Attachments
A32INNOV.zip
(5.69 KiB) Downloaded 136 times
INNOVADV.zip
(4.84 KiB) Downloaded 139 times
INNOVMDI.zip
(2.38 KiB) Downloaded 124 times
Last edited by bristlehog on 2014-10-19 @ 10:43, edited 20 times in total.
User avatar
bristlehog
Oldbie
 
Posts: 1565
Joined: 2013-4-11 @ 17:56
Location: Russia

Re: Innovation SSI-2001 MIDI driver

Postby bristlehog » 2014-5-06 @ 19:47

The Elder Scrolls: Arena now has SSI-2001 support :dead:
Last edited by bristlehog on 2014-5-09 @ 18:22, edited 1 time in total.
User avatar
bristlehog
Oldbie
 
Posts: 1565
Joined: 2013-4-11 @ 17:56
Location: Russia

Re: Innovation SSI-2001 MIDI driver

Postby bristlehog » 2014-5-07 @ 22:22

Velocity and pitch bends are now supported: proof
User avatar
bristlehog
Oldbie
 
Posts: 1565
Joined: 2013-4-11 @ 17:56
Location: Russia

Re: Innovation SSI-2001 MIDI driver

Postby bristlehog » 2014-5-08 @ 06:13

Games known to me that are in theory compatible with SSI-2001 drivers (bold font indicates confirmed ones):

Audio Interface Library and MIDPAK - ADV drivers

1830: Railroads & Robber Barons (packed)
A Line in the Sand
A-Train demo
Air Bucks
Airlift Rescue
Amazon: Guardians of Eden (packed)
Bard's Lore
Bard's Tale Construction Set
Battle Chess 4000
Battle Isle II
Battles In Time
Black Knight
Blackthorne (packed)
Blood Bowl (packed)
Body Slam All-Star Wrestling
Buck Rogers: Matrix Cubed
Burnt Rubber
Buzz Aldrin's Race Into Space
Caesar
Capitalism
Captain Bible in the Dome of Darkness
Carrier Strike
Carriers at War II
Castles II (video)
Clash of Steel
Code: Europe
Cohort II: Fighting for Rome
Command Adventures: Starship
Complete Carriers at War
Contraption Zack (packed)
Creepers (packed)
Cyberbykes (packed)
Dark Half
Dark Legions (both ADV and DLL drivers present)
Dark Queen of Krynn
Dark Sun: Shattered Lands (packed)
Dark Sun II
D-Day
Delta-V
Detroit
Dino Park Tycoon
Discworld
Dune II (video) (packed)
Dungeon Hack
Eagle Eye Mysteries
Eagle Eye Mysteries in London
Edward Grabowski's the Blue and the Gray
Empire Deluxe (packed)
Eye of the Beholder III (packed)
Fantasy Empires (both ADV and DLL drivers present)
Fatty Bear's Birthday Surprise (packed)
FIFA Soccer
Forgotten Realms: Unlimited Adventures
Kasparov's Gambit
Gary Grigsby's Pacific War
Gary Grigsby's War in Russia
GateWorld Volume One: The Seed Ship
Global Domination
Great Naval Battles: North Atlantic
Guts 'n' Garters in DNA Danger
H.U.R.L. (aka Slob Zone 3D, Blob 3D)
Home Alone II
Homey D. Clown
IndyCar Racing (both ADV and DLL drivers present)
Inherit the Earth
Innocent Until Caught II: Presumed Guilty
Jammit
Jane's Simulations: US Navy Fighters '97 (aka Gold) (packed)
Jonny Quest: Curse of the Mayan Warriors
Jutland
Kronolog: The Nazi Paradox
LA Law
Lands of Lore (packed)
Legend of Kyrandia (packed)
Legend of Kyrandia: Hand of Fate (packed)
Lemmings II: The Tribes
Living Ball (packed)
Lode Runner: The Legend Returns
Lord of the Rings Vol. II: The Two Towers
Lords of the Realm
Lost Vikings (packed)
Mario Is Missing
Mario Is Missing Deluxe
Master Of Magic (packed)
Master Of Orion (packed)
Master Won Liu's Escape From Doctor Chang's Dungeon
Mechwarrior II demo
Microcosm
Monopoly Deluxe
Multimedia Kaleidosonics (not actually a game)
Orbots
Origamo (packed)
National Lampoon's Chess Maniac 5 Billion and 1
NCAA: Road to the Final Four II
Pocahontas
Prophecy of the Shadow
Pickle Wars
Putt Putt Joins the Parade (packed)
Quarterpole
Rags to Riches
Rallo Gump
Realms of Arkania (video)
Realms of Arkania II (video)
Return to Zork
Road Hog! (packed)
Rules of Engagement II
Russelheim
Seal Team
Shadow of Yserbius
Sideline demo
Sim Farm
Simon the Sorcerer II (video)
SpaceKids
Spellcraft: Aspects of Valor
Spelljammer: Pirates of the Realmspace
SSN-21 Seawolf
Star Trek: 25th Anniversary
Star Trek: Judgment Rites
Stronghold (packed)
Terminator II: Judgment Day - Chess Wars
The 7th Guest
The Ancient Art of War in the Skies
The Beverly Hillbillies
The Elder Scrolls: Arena (video)
The Grandest Fleet
The Machines
The Orion Conspiracy
The Perfect General II
The Pure Wargame
The Red Crystal
The Road to Baghdad
The Terminator 2029
The Terminator 2029 Deluxe CD Edition
The Terminator: Rampage
Thunderstrike
Tom Landry Strategy Football
Tony La Russa Baseball II
Trump Castle III
Ultima IV: Quest of the Avatar (VGA remake)
Ultima V: Warriors of Destiny (with Exodus Project patch)
Ultima VII: Black Gate
Ultima VII: Serpent Isle
Ultima Underworld
Ultima Underworld II
Ultimate Soccer Manager (aka Der Meister)
Wargame Construction Set II: Tanks!
Warlords II
Warlords II Deluxe
Warriors (aka Savage Warriors)
Wayne Gretzky Hockey III
Wayne's World
When Two Worlds War
Wing Commander Academy
Wing Commander: Privateer
Wolf
Wolfsbane (packed)
World War II
Zorro

Audio Interface Library 32-bit DPMI - DLL drivers:

Al-Qadim: The Genie's Curse
Alien Legacy
Dark Legions (both ADV and DLL drivers present)
Fantasy Empires (both ADV and DLL drivers present)
IndyCar Racing (both ADV and DLL drivers present)
Iron Cross
Isle of the Dead
Little Big Adventure
Menzoberranzan (video)
Mortal Coil (both DLL and MDI drivers present)
Panzer General
Ravenloft: Strahd's Possession (video)
Ravenloft: Stone Prophet
Renegade: Battle for Jacob's Star
Shadowcaster
Sim City 2000
SVGA Air Warrior
Syndicate (packed)
Syndicate Plus (packed)
System Shock (floppy version)
The Settlers
Wargame Construction Set III: Age of Rifles demo (both DLL and MDI drivers present)
Wings of Glory

Miles Sound System - MDI drivers

3 Skulls Of The Toltecs
3D Hero (music drivers seem to be unused)
Absolute Zero
Advanced Civilization
Alain Prost Grand Prix
Albion
Azrael's Tear
Battle Sport
Breach III
Bubble Bobble featuring Rainbow Islands
Cadillacs and Dinosaurs
Caesar II
Callahan's Crosstime Saloon
Death Gate
Dinotopia
EF2000
Empire II
Extreme Assault
Fade To Black
Firo & Klawd
Flame Dragon II: Legend of Golden Castle
Flying Corps
Front Lines
Gene Wars
Heaven's Dawn
Heroes of Might and Magic II
Heroes of Might and Magic II: Price of Loyalty (video)
Hi Octane
High Seas Trader
I Have No Mouth And I Must Scream
Ironman X-O Manowar In Heavy Metal (music drivers seem to be unused)
Jagged Alliance (video)
Jagged Alliance: Deadly Games
Jungledyret Hugo
Loadstar
Lords of Midnight III: The Citadel
Lost Files of Sherlock Holmes II
Magic Carpet II
Master Of Orion II
Mega Man X
Mechwarrior II
Mission Critical
Mortal Coil (both DLL and MDI drivers present)
Nemesis: The Wizardry Adventure
Nerves of Steel
Primal Rage
Privateer II: The Darkening
Privateer II: The Darkening Deluxe Edition
Prost Grand Prix
Sea Legends
Sensible World of Soccer
Sentient
Shannara
Sideline
Skazki na Bereste (Tales on Birch Bark)
Space Jam (music drivers seem to be unused)
Spellcross
Star Control III
Super Street Fighter II
Syndicate Wars
System Shock (CD version)
Terra Nova
The 11th Hour
The Gene Machine
The Settlers II
Time Commando
Theme Hospital
Trash It
War, Inc.
Wargame Construction Set III: Age of Rifles demo (both DLL and MDI drivers present)
Warcraft (video)
Warcraft II
Warcraft II: Beyond the Dark Portal
Wayne Gretzky and the NHLPA All-Stars
Wing Nuts
Wreckin Crew
WWF In Your House (music drivers seem to be unused)
WWF Wrestlemania: The Arcade Game
Z
Zone Raiders
Zoop

Audio Interface Library 16-bit DPMI - DLL drivers (no Innovation driver yet)

BioForge
Sim Health
Ultima VIII: Pagan

SoundLib - DLL drivers (no Innovation driver yet)

El-Fish



There are some games that are driver-compatible, but have their drivers packed in resource files. Such are Dune II, Master of Orion and some others. I don't know if it's actually possible to inject the driver into resource files without crashing the games in each case.
Last edited by bristlehog on 2017-6-05 @ 13:18, edited 209 times in total.
User avatar
bristlehog
Oldbie
 
Posts: 1565
Joined: 2013-4-11 @ 17:56
Location: Russia

Re: Innovation SSI-2001 MIDI driver

Postby keropi » 2014-5-08 @ 06:22

amazing!!! kudos on making this :)
User avatar
keropi
l33t++
 
Posts: 5618
Joined: 2003-9-08 @ 06:45
Location: Greece

Re: Innovation SSI-2001 MIDI driver

Postby ih8registrations » 2014-5-08 @ 06:38

Look up Gravis Ultrasound game patches where they insert ail drivers, might be able to replace the GUS AILs for some of them and then you'll have patches for those games. Dune II has a GUS patch.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

Re: Innovation SSI-2001 MIDI driver

Postby bristlehog » 2014-5-08 @ 07:57

ih8registrations wrote:Look up Gravis Ultrasound game patches where they insert ail drivers, might be able to replace the GUS AILs for some of them and then you'll have patches for those games. Dune II has a GUS patch.


Thanks! I have investigated the issue and replaced Dune II 3-voice Tandy driver using WWPak utility. Dune II now supports SSI-2001, both for SFX and music! :cool:
Last edited by bristlehog on 2014-5-09 @ 23:03, edited 1 time in total.
User avatar
bristlehog
Oldbie
 
Posts: 1565
Joined: 2013-4-11 @ 17:56
Location: Russia

Re: Innovation SSI-2001 MIDI driver

Postby bristlehog » 2014-5-09 @ 21:45

Tested and added videos:

Castles II
Simon The Sorcerer II
Realms of Arkania
Realms of Arkania II
Jagged Alliance

MDI version of driver is done. Hence, Miles Sound System (DOS) games now support Innovation SSI-2001; technically it's now compatible with 120+ games.
Last edited by bristlehog on 2014-5-10 @ 08:34, edited 2 times in total.
User avatar
bristlehog
Oldbie
 
Posts: 1565
Joined: 2013-4-11 @ 17:56
Location: Russia

Re: Innovation SSI-2001 MIDI driver

Postby Stiletto » 2014-5-09 @ 23:30

You're brilliant. I remember when we didn't even know what this card WAS. :D
"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto
User avatar
Stiletto
l33t
 
Posts: 3761
Joined: 2002-7-01 @ 21:57

Re: Innovation SSI-2001 MIDI driver

Postby bristlehog » 2014-5-10 @ 16:58

32-bit DLL driver has been made. Few games tested and videos added:

Heroes of Might and Magic: Price of Loyalty
Menzoberranzan
Ravenloft: Strahd's Possession
Warcraft
User avatar
bristlehog
Oldbie
 
Posts: 1565
Joined: 2013-4-11 @ 17:56
Location: Russia


Re: Innovation SSI-2001 MIDI driver

Postby bristlehog » 2014-5-14 @ 22:27

Ok, thanks to gerwin and his work done on packing/unpacking LBX files, an Innovation SSI-2001 driver pack for Master of Magic/Master of Orion is done. Replace your SNDDRV.LBX with attached one and choose Adlib music in setup tool of either Master of Magic or Master of Orion.

Technical compatibility with 200+ games.

Todo:

- add capability of using arbitrary I/O address instead of default 280h
- fix frequency which is currently being calculated in a very rude and simple way
Attachments
snddrv.zip
(35.18 KiB) Downloaded 101 times
User avatar
bristlehog
Oldbie
 
Posts: 1565
Joined: 2013-4-11 @ 17:56
Location: Russia

Re: Innovation SSI-2001 MIDI driver

Postby carlostex » 2014-5-15 @ 22:14

Hi Bristlehog. What kind of editing did you do in the original drivers? You say you are an inexperience programmer. but i wonder how you pulled this off. Did you had any access to the drivers source code? Is the code C/C++ maybe?

EDIT: Nevrmind i just realised this was assembly as you mention in the first post. Assembly is pretty hard core. Keep up the good work.
User avatar
carlostex
Oldbie
 
Posts: 1952
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: Innovation SSI-2001 MIDI driver

Postby bristlehog » 2014-5-16 @ 05:18

carlostex wrote:Hi Bristlehog. What kind of editing did you do in the original drivers? You say you are an inexperience programmer. but i wonder how you pulled this off. Did you had any access to the drivers source code? Is the code C/C++ maybe?

EDIT: Nevrmind i just realised this was assembly as you mention in the first post. Assembly is pretty hard core. Keep up the good work.


AIL source code is available from John Miles's site. Drivers themselves are written in assembly, while tools/examples are in C - Turbo C++ compatible for real mode library, Watcom/Zortech/Metaware compatible for protected mode library (AIL/32).
User avatar
bristlehog
Oldbie
 
Posts: 1565
Joined: 2013-4-11 @ 17:56
Location: Russia

Re: Innovation SSI-2001 MIDI driver

Postby carlostex » 2014-5-16 @ 16:37

OK, i took a look into the C stuff, pretty neat. The real hard part is x86 assembly code.
User avatar
carlostex
Oldbie
 
Posts: 1952
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: Innovation SSI-2001 MIDI driver

Postby Fagear » 2014-7-11 @ 21:53

User avatar
Fagear
Member
 
Posts: 132
Joined: 2014-7-10 @ 22:27
Location: Russia, Moscow

Re: Innovation SSI-2001 MIDI driver

Postby Harekiet » 2014-7-12 @ 06:50

That doesn't sound that bad just the channel limit.
Wonder how it would sound on the real deal. Capture in some format to playback on a c64
User avatar
Harekiet
DOSBox Author
 
Posts: 1043
Joined: 2002-7-01 @ 07:14
Location: Fryslan


Return to Release Announcements

Who is online

Users browsing this forum: No registered users and 1 guest