A minimally-functional Apple //e requires very little in the form of upgrades. Add an 64KiB memory expansion, a floppy disk controller card and a disk drive or two and you should be all set. But a few upgrades can really improve the experience, and to allow my Apple //e to be the best Apple //e it can be, I purchased three modern upgrades for my newest vintage computer. Here I will review each product, describe its features and caveats and indicate whether I recommend it.
Showing posts with label Sound Cards. Show all posts
Showing posts with label Sound Cards. Show all posts
Sunday, November 8, 2020
Saturday, September 12, 2020
Speak to Me! - Speech Synthesis with Early Home Video Games
When considering the evolution of video game audio, of the three components of audio, sound effects, music and speech, those components were introduced into video games in that order. The earliest video games generated simple tones and noise to produce simple sound effects. Music chips were well developed by the late 1970s, bringing a slightly more sophisticated method of sound generation to video game players. Speech, which requires the utilization of more complex sounds to be intelligible, tended to be brought to home consoles and computers in the form of specialized speech chips. In this article we will trace some of the lineages of speech in early video games.
Friday, December 22, 2017
Parallel & Serial Sound Card Emulation Options for your Vintage PC
In the beginning the Intel 8088 and 8086 CPUs only implemented, Real Mode, where a program had total control over all aspects of a system. Real Mode's main issue, other than it was limited to 1MB of RAM, was that multitasking was almost impossible to accomplish. Then the 286 CPU implemented a Protected Mode and allowed the CPU to address 16MB in that Mode, but few applications used it because DOS required Real Mode. Finally, the 386 CPU implemented a far more usable Protected Mode and a Virtual 8086 Mode (V86). V86 Mode allowed the CPU to run multiple instances of Real Mode where each program would be given access to up to 1MB of RAM for their own purposes without overwriting another program's data. To each program running in V86 Mode, it would appear to it as though it had full control over the PC.
As a byproduct of V86 Mode, Expanded Memory, which had been implemented with expansion cards on 8088 & 286 machines, could be emulated with Expanded Memory Managers (EMS). The most popular EMS was EMS386, which came with MS-DOS 5.0 and later. There were other EMS softwares like QEMM and JEMM. EMS also allowed a user to trap writes to memory locations and I/O ports. Sound cards invariably wrote to I/O ports on a PC to make sound. Eventually it was discovered that this port trapping capability could be used to emulate sound cards. Software drivers of recent and ancient vintage have been being this feature, or implementing their own, to emulate sound cards and chips for systems that may not or cannot use them. Let's take a look at some of these devices and methods.
As a byproduct of V86 Mode, Expanded Memory, which had been implemented with expansion cards on 8088 & 286 machines, could be emulated with Expanded Memory Managers (EMS). The most popular EMS was EMS386, which came with MS-DOS 5.0 and later. There were other EMS softwares like QEMM and JEMM. EMS also allowed a user to trap writes to memory locations and I/O ports. Sound cards invariably wrote to I/O ports on a PC to make sound. Eventually it was discovered that this port trapping capability could be used to emulate sound cards. Software drivers of recent and ancient vintage have been being this feature, or implementing their own, to emulate sound cards and chips for systems that may not or cannot use them. Let's take a look at some of these devices and methods.
Wednesday, January 25, 2017
A Challenger for the Sound Card Crown : The Pro Audio Spectrum 16
In 1991, Creative Labs was prospering quite well with its Sound Blaster card. Its enhanced features and reasonable price had knocked the Adlib off the hill. But a company called Mediavision released the Pro Audio Spectrum card in May of that year. The Pro Audio Spectrum was not only Adlib compatible but had a second Adlib FM sound chip for stereo music. It also had a joystick port and MIDI interface, but it supported higher digital playback and recording rates (8-bit 44.1KHz in stereo) compared to the Sound Blaster. It also required fewer jumpers to select hardware resources. It was shielded to block electrical noise and hard drive motors that can interfere with the audio output. It listened to the bus to emulate a PC Speaker. Creative caught up with the Sound Blaster Pro in November of 1991, essentially duplicating most of the new features of the PAS but retaining the increasingly-important compatibility with the original Sound Blaster. The Sound Blaster Pro was not shielded and was totally via jumpers.
The PAS did not have any Sound Blaster compatibility, it was only compatible with an Adlib card. While it sold decently, it was not enough to be a Sound Blaster-killer. In fact, Mediavision also released a card called the Thunder Board which was Sound Blaster 1.5/DSP v2.00 compatible and could be installed alongside a PAS to support digital Sound Blaster audio.
Today it is not easy to find and usually very expensive when one shows up on the secondary market. The Sound Blaster Pro (1.0) can essentially do almost everything a PAS can. While the SB Pro 1.0 is not cheap, it is more common and commands a lower price than the original PAS. But it was Mediavision's next big card that proved to be Creative Labs' most significant challenge in the sound card market space.
Monday, April 18, 2016
The Early Game Jukebox - Ultima III through Ultima VI
Did you know that you can play all music from Ultimas III-VI on their native platforms without creating a character? Origin pioneered the use of a sound card add-on for music in its games, and for its early games it always had a method to play all the music in a game without having to get into it. However, these methods are not always intuitive, so I will reveal how to listen to the music in each game.
First, I must discuss the Sweet Micro Systems Mockingboard. The original Mockingboard was released in four varieties in 1982 :
Mockingboard Sound I - One AY-3-8910 chip
Mockingboard Speech I - One Votrax SC-01 Speech Chip
Mockingboard Sound/Speech I - One AY-3-8910 chip and one SC-01 Speech Chip
Mockingboard Sound II - Two AY-3-8910 chips
You must have a board with at least one AY chip to hear music in any Ultima game. The Ultima games do not use speech chips. Each AY chip gives you three voices.
Later Sweet Micro Systems re-released the Mockingboard line in 1984-85 as :
Mockingboard A - Two AY-3-8913 chips and and two sockets for Votrax SC-02/SSI-263 Speech Chips
Mockingboard C - Two AY-3-8913 chips and one SSI-263 Speech Chip and a socket for a second SSI-263. The board is the same as the Mockingboard A.
They also released the "Mockingboard B", but that is not a card but a SSI-263 Speech Chip to upgrade a Mockingboard A.
Musically, the Sound II is equivalent to the later Mockingboards, but the stereo may be reversed.
First, I must discuss the Sweet Micro Systems Mockingboard. The original Mockingboard was released in four varieties in 1982 :
Mockingboard Sound I - One AY-3-8910 chip
Mockingboard Speech I - One Votrax SC-01 Speech Chip
Mockingboard Sound/Speech I - One AY-3-8910 chip and one SC-01 Speech Chip
Mockingboard Sound II - Two AY-3-8910 chips
You must have a board with at least one AY chip to hear music in any Ultima game. The Ultima games do not use speech chips. Each AY chip gives you three voices.
Later Sweet Micro Systems re-released the Mockingboard line in 1984-85 as :
Mockingboard A - Two AY-3-8913 chips and and two sockets for Votrax SC-02/SSI-263 Speech Chips
Mockingboard C - Two AY-3-8913 chips and one SSI-263 Speech Chip and a socket for a second SSI-263. The board is the same as the Mockingboard A.
Mockingboard D - An external box containing two AY-3-8913 chips and one SSI-263 Speech Chip controlled by an Apple //c serial port. Not compatible with any games.
Mockingboard M - Two AY-3-8913 chips and one SSI-263 Speech Chip, no second socket but does include a mini-jack for audio, bundled with the Bank Street Music Writer.They also released the "Mockingboard B", but that is not a card but a SSI-263 Speech Chip to upgrade a Mockingboard A.
Musically, the Sound II is equivalent to the later Mockingboards, but the stereo may be reversed.
Thursday, April 14, 2016
A Brief History of PC Plug and Play
Plug and Play, In the Beginning
Early PC expansion cards either came with no user selectable options, like most IBM's cards, or came with banks of jumpers and dipswitches. Early motherboards also often came only with jumpers to control settings on them. I love these early devices because, if you have the documentation, you always can change the settings and get them to work. IBM's PC, XT, Portable, PCjr and all the Tandy 1000s up to and including the Tandy 1000 TX (but excluding the HX) were all configured in this way. All the major graphics cards and all of Creative Labs sound cards, up to and including the first generation of the Sound Blaster 16, were also configured in this way.
Jumpers or dipswitches typically allow you to select I/O addresses, IRQ and DMA usage, among other things. If you think you have a conflict, you shut off the computer, check your cards and make changes to fix the conflict. Turn it back on and if the conflict is solved, it will remain solved so long as the hardware does not change. Occasionally during this period, there were some cards which could be unofficially modded with a soldering iron to give you extra options.
Conflicts in the early ISA period were often tricky to diagnose. In the early days, not many people knew what an Interrupt Request was or why their card would not work if another card used the same Interrupt Request. IRQs were the worst areas of conflict because many devices used an IRQ and there were not many which did not have a specified use. Some peripheral cards and software programs would only use the lower eight IRQs. Of those eight, three (System Timer, Keyboard Controller, Floppy Disk Controller) are almost always in use and two more (parallel and serial) are frequently used as well. ISA IRQs are generally not shareable (except for the parallel IRQ when assigned to a printer). DMA usage, even with only four or seven DMA channels, was not usually as bad because so few devices used DMA. I/O port usage was not always given, so if a new card caused your system to crash, it could be due to an I/O conflict. IBM originally only designated 768 valid I/O addresses in the PC design, but eventually the full number of 8086 I/O addresses (65,536) was being used (including by IBM). Finally, there are memory addressing conflicts. If a peripheral card uses the Upper Memory Area for ROM or RAM, it may conflict with some other card which also has ROM or RAM. Some cards, like my ADP-50L use memory addressing to speed up hard disk transfers, even though the card has no RAM, but fail to note which area of memory it is using.
An initialization driver was not common in the early days. The BIOS, DOS or the program had all the tools it needed to utilize the hardware. If the BIOS did not have hard drive support, support was added through a ROM extension on a card. EMS memory boards were an early exception, a driver needed to be loaded so a program could address the memory in a standardized way. CD-ROM drivers would eventually follow in this way.
Plug and Play, Software Configuration
Knowing that many people were afraid to take a screwdriver and tweezers to their computers, eventually companies began using software configuration. For systems, this was originally a bootable floppy with a system setup program. This allowed the user to indicate what he had installed in the system and to change system parameters. The IBM PC AT was the first system to allow this, and AT clones thereafter took from IBM's lead. Eventually the IBM PS/2 MCA computers would have peripheral setup disks. You would load the disk and the disk would tell the system that a new peripheral was installed and configure the card entirely in software. The only problem with this is that if you lost the setup disk, you were SOOL. Also, it really stunk if your CMOS battery expired. The system would store its configuration in the CMOS and when the CMOS died, you would start getting dreaded "161" or "163" errors. At worst, the system would fail to get past the boot screen at all. Some other systems, like the later Tandy 1000s store their settings in a small EEPROM.
Eventually, this software configuration concept made its way to ISA cards. The Gravis Ultrasound was partially software configurable. While you selected the card's I/O address via jumpers, you set its IRQ and DMA selections by an initialization program (ULTRINIT.EXE) that loaded every time you booted the system. The second generation Sound Blaster 16s and first generation Sound Blaster AWE32s also used a similar program (SBCONFIG.EXE or DIAGNOSE.EXE). The Gravis and Creative programs would be loaded in AUTOEXEC.BAT and take the settings from the SET BLASTER or SET ULTRASND lines in AUTOEXEC.BAT. The Mediavision Pro Audio Spectrum series used a device driver called MVSOUND.SYS, loaded in CONFIG.SYS with parameters, to initialize the card.
Plug and Play : Standardization
Ever desiring to make hardware more friendly to users, especially when PCI cards rarely if ever had jumpers or dipswitches, the ISA Plug-N-Play standard emerged. This standard mandated that virtually everything be configured by software in a standardized manner. If you had a Plug and Play OS like Windows 95, you would configure your cards in System Properties. If you were still using DOS, you had to run a program that gave you the functional equivalent. Sound Blaster cards had a program called CTCU.EXE which could configure any ISA PNP card, not just a Sound Blaster card.
Popular Sound Cards with PNP support include third generation Sound Blaster 16s, second generation Sound Blaster AWE32s, all Sound Blaster 32s and AWE64s. The Gravis Ultrasound PNP, the various Yamaha, Crystal and ESS ISA chipsets all seem to be PNP. They all require drivers to initialize the card and to change settings. Loading these drivers in DOS can add quite a bit to the boot time. Even if the card's drivers are properly loaded in Windows, you will still need to load the card's DOS drivers.
ISA Plug and Play would gives you resource configurations. Some of these configurations would allow you to manually assign resources to the card and sometimes they would not. Sometimes they would delete resources or assign resources in a very odd way. Often it was quite a struggle to get some cards working at the resources you wanted as opposed to what the driver assumes everybody wants.
With PCI cards came the end of much of the hassle of assigning resources and managing resource conflicts, whether on the card or in software. Windows 3.1 had begun the requirement of drivers for various hardware, but Windows 95 took it to a whole new level. While there would occasionally be a resource conflict, PCI cards were typically well-behaved and focused on configuring options instead of resources.
Early PC expansion cards either came with no user selectable options, like most IBM's cards, or came with banks of jumpers and dipswitches. Early motherboards also often came only with jumpers to control settings on them. I love these early devices because, if you have the documentation, you always can change the settings and get them to work. IBM's PC, XT, Portable, PCjr and all the Tandy 1000s up to and including the Tandy 1000 TX (but excluding the HX) were all configured in this way. All the major graphics cards and all of Creative Labs sound cards, up to and including the first generation of the Sound Blaster 16, were also configured in this way.
Jumpers or dipswitches typically allow you to select I/O addresses, IRQ and DMA usage, among other things. If you think you have a conflict, you shut off the computer, check your cards and make changes to fix the conflict. Turn it back on and if the conflict is solved, it will remain solved so long as the hardware does not change. Occasionally during this period, there were some cards which could be unofficially modded with a soldering iron to give you extra options.
Conflicts in the early ISA period were often tricky to diagnose. In the early days, not many people knew what an Interrupt Request was or why their card would not work if another card used the same Interrupt Request. IRQs were the worst areas of conflict because many devices used an IRQ and there were not many which did not have a specified use. Some peripheral cards and software programs would only use the lower eight IRQs. Of those eight, three (System Timer, Keyboard Controller, Floppy Disk Controller) are almost always in use and two more (parallel and serial) are frequently used as well. ISA IRQs are generally not shareable (except for the parallel IRQ when assigned to a printer). DMA usage, even with only four or seven DMA channels, was not usually as bad because so few devices used DMA. I/O port usage was not always given, so if a new card caused your system to crash, it could be due to an I/O conflict. IBM originally only designated 768 valid I/O addresses in the PC design, but eventually the full number of 8086 I/O addresses (65,536) was being used (including by IBM). Finally, there are memory addressing conflicts. If a peripheral card uses the Upper Memory Area for ROM or RAM, it may conflict with some other card which also has ROM or RAM. Some cards, like my ADP-50L use memory addressing to speed up hard disk transfers, even though the card has no RAM, but fail to note which area of memory it is using.
An initialization driver was not common in the early days. The BIOS, DOS or the program had all the tools it needed to utilize the hardware. If the BIOS did not have hard drive support, support was added through a ROM extension on a card. EMS memory boards were an early exception, a driver needed to be loaded so a program could address the memory in a standardized way. CD-ROM drivers would eventually follow in this way.
Plug and Play, Software Configuration
Knowing that many people were afraid to take a screwdriver and tweezers to their computers, eventually companies began using software configuration. For systems, this was originally a bootable floppy with a system setup program. This allowed the user to indicate what he had installed in the system and to change system parameters. The IBM PC AT was the first system to allow this, and AT clones thereafter took from IBM's lead. Eventually the IBM PS/2 MCA computers would have peripheral setup disks. You would load the disk and the disk would tell the system that a new peripheral was installed and configure the card entirely in software. The only problem with this is that if you lost the setup disk, you were SOOL. Also, it really stunk if your CMOS battery expired. The system would store its configuration in the CMOS and when the CMOS died, you would start getting dreaded "161" or "163" errors. At worst, the system would fail to get past the boot screen at all. Some other systems, like the later Tandy 1000s store their settings in a small EEPROM.
Eventually, this software configuration concept made its way to ISA cards. The Gravis Ultrasound was partially software configurable. While you selected the card's I/O address via jumpers, you set its IRQ and DMA selections by an initialization program (ULTRINIT.EXE) that loaded every time you booted the system. The second generation Sound Blaster 16s and first generation Sound Blaster AWE32s also used a similar program (SBCONFIG.EXE or DIAGNOSE.EXE). The Gravis and Creative programs would be loaded in AUTOEXEC.BAT and take the settings from the SET BLASTER or SET ULTRASND lines in AUTOEXEC.BAT. The Mediavision Pro Audio Spectrum series used a device driver called MVSOUND.SYS, loaded in CONFIG.SYS with parameters, to initialize the card.
Plug and Play : Standardization
Ever desiring to make hardware more friendly to users, especially when PCI cards rarely if ever had jumpers or dipswitches, the ISA Plug-N-Play standard emerged. This standard mandated that virtually everything be configured by software in a standardized manner. If you had a Plug and Play OS like Windows 95, you would configure your cards in System Properties. If you were still using DOS, you had to run a program that gave you the functional equivalent. Sound Blaster cards had a program called CTCU.EXE which could configure any ISA PNP card, not just a Sound Blaster card.
Popular Sound Cards with PNP support include third generation Sound Blaster 16s, second generation Sound Blaster AWE32s, all Sound Blaster 32s and AWE64s. The Gravis Ultrasound PNP, the various Yamaha, Crystal and ESS ISA chipsets all seem to be PNP. They all require drivers to initialize the card and to change settings. Loading these drivers in DOS can add quite a bit to the boot time. Even if the card's drivers are properly loaded in Windows, you will still need to load the card's DOS drivers.
ISA Plug and Play would gives you resource configurations. Some of these configurations would allow you to manually assign resources to the card and sometimes they would not. Sometimes they would delete resources or assign resources in a very odd way. Often it was quite a struggle to get some cards working at the resources you wanted as opposed to what the driver assumes everybody wants.
With PCI cards came the end of much of the hassle of assigning resources and managing resource conflicts, whether on the card or in software. Windows 3.1 had begun the requirement of drivers for various hardware, but Windows 95 took it to a whole new level. While there would occasionally be a resource conflict, PCI cards were typically well-behaved and focused on configuring options instead of resources.
Saturday, August 29, 2015
Prince of Persia DOS 1.0 Sound Card Autodetection Weirdness
When Prince of Persia was originally released for DOS, alongside the Apple II version, it supported several sound cards. The sound cards the original 1.0 version supported were Adlib, Game Blaster, Sound Blaster, Covox Sound Master. It also supported the IBM PS/1 Audio/Joystick upgrade, the Tandy PSSJ DAC and the Tandy 3-voice PSG, and of course the PC Speaker.
For sound effects, the original version only supports either digitized sound effects or the PC Speaker sound effects. To hear digitized sound effects, you must have a Sound Blaster, Tandy DAC, Covox Sound Master or IBM PS/1 Audio/Joystick card. Otherwise, you will hear PC speaker sound effects.
You can hear music with any of these cards. Music will sound identical with an Adlib or Sound Blaster or any compatible. The music will sound similar whether played on a Tandy 3-voice PSG, the 3-voice PSG of the Covox Sound Master or the 12-voice PSG of the Game Blaster. There is also PC Speaker music. Note that of all the music choices, only the Game Blaster will output in stereo.
The game's executable recognizes several command line parameters related to sound. The sound card command line parameters in 1.0 are adlib, covox, gblast, ibmg, sblast, tandy & stdsnd. All should be self explanatory. They are intended to allow you to override the autodetect function, but do not always work as intended.
When you put a sound card inside a Tandy 1000 with a DAC, things get interesting :
Adlib MSC :
No parameter – Adlib music, Tandy DAC sound effects
Adlib – Adlib music, PC Speaker sound effects
Tandy - Adlib music, Tandy DAC sound effects
Stdsnd – PC Speaker music, PC Speaker sound effects
Game Blaster :
No parameter – Game Blaster music, PC Speaker sound effects
Gblast – Game Blaster music, PC Speaker sound effects
Tandy – Tandy music, Tandy DAC sound effects
Stdsnd – PC Speaker music, PC Speaker sound effects
No Sound Card :
No parameter - Tandy music, Tandy DAC sound effects
Tandy – Tandy music, Tandy DAC sound effects
Stdsnd – PC Speaker music, PC Speaker sound effects
I underlined the unusual options. You cannot use the Tandy DAC with a joystick, so the Adlib parameter with the Adlib always gives you PC Speaker sound effects and restores joystick support. However, while the game will use the Adlib with Tandy DAC if present, the same is not true with a Game Blaster in a Tandy DAC system. You always get PC Speaker sound effects with a Game Blaster.
If you have a Tandy 1000 without a DAC, you have additional options :
No Sound Card :
No parameter – Tandy music, PC Speaker sound effects
Tandy – Tandy music, PC Speaker sound effects
Stdsnd – PC Speaker music, PC Speaker sound effects
Generic PCs behave as you would expect with sound cards, except for the following :
Sound Blaster w/CMS Upgrade :
No parameter – Adlib music (or Game Blaster music if YM-3812 is removed), Sound Blaster DAC sound effects
Sblast - Adlib music, Sound Blaster DAC sound effects
Adlib - Adlib music, PC Speaker sound effects
Gblast - Adlib music, PC Speaker sound effects (if the YM-3812 is removed from a Sound Blaster 1.0-2.0, Game Blaster music will play)
Tandy - Adlib music, PC Speaker sound effects
Stdsnd – PC Speaker music, PC Speaker sound effects
I do know that a Sound Blaster will not work reliably with a Tandy 1000 with a DAC. Both will use DMA1 and neither device can be truly disabled. While a Sound Blaster Pro will work in a Tandy 1000 with a DAC, you need to set it to non-standard IRQ/DMA settings to avoid freezes. While Prince of Persia 1.0 will use IRQs other than 7, it will only use DMA1. There were no other DMA choices available to the pre-Pro Sound Blasters other than 1.
As far as whether a Sound Blaster will work reliably in an IBM PS/1 with an Audio/Joystick card, I am uncertain. The IBM device is mounted on a special header inside the PS/1 Model 2011 or 2121. These machines require external adapter upgrades to support ISA cards, and they are very rare. Both sound devices use IRQ7, but the IBM card does not use DMA. Because Prince of Persia uses Sound Blaster IRQs like 5, it won't matter for this game but it could matter for a game like King's Quest I SCI, which only supports a Sound Blaster at IRQ7. I think it likely that an Adlib would override the IBM music.
Although the Tandy 3-voice and IBM Audio are both based off the same PSG, IBM's card used a slightly higher base frequency than the Tandy PSG. IBM's card will have higher pitched sound (because of a 11.7% difference in base frequencies) than the Tandy.
Finally, I am uncertain whether an Adlib card will override a Covox card for music. Since an Adlib card always overrides a Game Blaster even if you use the gblast parameter, it is likely that it will override the Covox for music. It is also probable that the Covox will still produce digitized sound effects like the Tandy DAC. Covox cards are extremely rare, only recently has a user made recordings of Prince of Persia's opening with the Covox. While the Covox has advanced musical capabilities, most companies only used the basic musical capabilities which were only slightly more advanced than the Tandy chip. Thus the Covox sounds like a Tandy.
If you want to disable the Adlib override for the Game Blaster and Tandy 3-voice music, you have to edit the PRINCE.EXE executable. At offset 13875h change 75h to EBh, this will make the game respect the command line parameter for sound. This will allow you to hear Game Blaster music if an Adlib card is installed or on an upgraded Sound Blaster 2.0 or below. The credit for this patch goes to ripsaw8080 on the VOGONS forum.
Game Blaster support is a bit buggy in version 1.0. You can hear dropped or hanging notes in the introduction, and it gets worse as the system speed increases. I have had nearly flawless playback in an 8MHz Tandy 1000 TX or TL. Ripsaw8080 wrote a program that will dramatically improve note playback in faster systems, find it here : http://www.vogons.org/viewtopic.php?f=46&t=41129&hilit=prince+persia+game+blaster&start=20#p386191 Note that it requires extended keyboard BIOS functions, so it won't work properly in an IBM PC, IBM PC XT or Portable with 1st BIOS, or any Tandy 1000 before the TL and SL. Its generally not necessary with systems that slow anyway. The buggy Game Blaster support is probably why they removed it in version 1.3, plus it was obsolete along with the Covox Sound Master, another casualty of the version upgrade.
Sunday, July 26, 2015
The Many Meanings of MIDI in PC Gaming
We all know that MIDI stands for Musical Instrument Digital Interface, but the acronym was often taken to mean a great many things to a great many people. Let's explore some of the common contexts where MIDI is applied.
MIDI Interface
First we have a "MIDI Interface". This is rather redundant, because when you give words to the letters, it becomes Musical Instrument Digital Interface Interface. However, because the use of the term MIDI is so broad, we use MIDI Interface to distinguish between other uses of the term like MIDI Module or MIDI Music.
So what is a MIDI Interface? Well, in terms of hardware, MIDI communication is accomplished by a serial-based transfer at 31,250 baud using current loop signaling. Typically, MIDI devices are connected through 5-pin DIN plugs. Miniature versions of the MIDI connector exist, but the pinouts are not necessarily going to be identical across manufacturers. How data was supposed to be sent and received within those parameters was left up to the individual members of the MIDI Manufacturer's Association.
After much evolution, the PC world settled on a UART-compatible MPU-401 Interface. This interface just sends bytes to and receives bytes from other MIDI compatible devices. It is little more than an I/O port which can be tied to an IRQ line, and it really does not get any more simple than that.
Historically, there were many MIDI Interfaces, and most were incompatible with each other. The "Full/Intelligent" Roland MPU-401 supports a simple UART-only mode that eventually became the standard. IBM had its own MIDI Interface in its IBM Music Feature Card. Both of these Roland and IBM interfaces had many features beyond simple I/O, but PCs became powerful enough to perform most of the special functions that these devices handled on slow PCs. IBM's card was too pricey considering the sound quality of its built-in synthesizer and it really did not catch on. However, early games and MIDI Sequencers supported the enhanced features of both the Roland and IBM MIDI Interfaces.
MIDI Interfaces by themselves do not produce sound. Originally, MIDI Interfaces came without MIDI Synthesizers on them. The Roland MPU-401 was originally a breakout box with the interface hardware and an interface card to send to and receive data from a computer. Only when you attached a MIDI Synthesizer to the MPU-401 via a 5-pin DIN cable would you be able to hear sound. The last iteration of the Roland MPU-401, the MPU-401/AT, is an internal ISA expansion card with the ability to produce sound when a MIDI Synthesizer is connected to it on its waveblaster connector. Without the waveblaster daughterboard, it just acts like a MIDI Interface.
Sound cards, beginning with the Sound Blaster, often came with MIDI Interfaces. These interfaces were very basic in their functionality but no two manufacturer's interfaces worked alike. The Pro Audio Spectrum and the Covox Sound Master II also had their own unique MIDI Interfaces. Support was lukewarm from games. Only with a Sound Blaster 16 or a Pro Audio Spectrum 16 (rev. D or later) were UART-only MPU-401 compatible interfaces implemented. These interfaces typically used some of the unused pins on a gameport for the MIDI In and Out signals, requiring an external box or adapter to provide the 5-pin DINs MIDI modules of the day expected.
Even though the Sound Blaster and similar sound cards have a MIDI interface, it is completely independent of the FM Synthesis chip found on the card. The MIDI Interface does not communicate with the FM Synthesis on the card in any way. Unfortunately the MIDI Interface has to coexist with the digital audio capabilities of the Sound Blasters, causing no end of troubles.
Some MIDI modules like the Roland SC-55mkII could connect to a PC or a MAC via serial port. They came with a special cable and they used Windows and Macintosh drivers. When USB displaced most other low-bandwidth I/O devices, companies began releasing USB MIDI Interfaces, which still used the 5-pin DINs. Even more recently, many MIDI devices connect directly by a USB cable to a computer.
MIDI Synthesizer
A MIDI Synthesizer is one that will acknowledge and respond to MIDI commands and generate sound. There are many, many MIDI commands, sometimes called messages. Program Change, Control Change, Pitch Bender, Velocity, Mode, After Touch, Note Number, System Common, System Real Time, Auxillary Message and System Exclusive are the main MIDI messages. They have no relations to the commands sent to a MIDI Interface.
MIDI Synthesizers come in many shapes and sizes. There are MIDI Keyboards like the Roland D-50 and MIDI Sound Modules like the Roland MT-32. They are external to the PC and are connected via a 5-pin DIN. Then there are sound cards with a MIDI Synthesizer like the IBM Music Feature Card and the Roland LAPC-I. These two cards have both a MIDI Synthesizer and a MIDI Interface. Finally, there are sound cards with a header for a MIDI Synthesizer on a daughterboard. The Waveblaster-header designed by Creative Labs is an example of this. In virtually every case, the Synthesizer portion is connected only via MIDI Out, not MIDI In. The waveblaster's MIDI Out signal is the same signal as being output via the gameports of the card on which it is found.
Many of the internal devices, whether on a card or attached via a waveblaster header, have a corresponding external device. Here is a short table :
Some people make the distinction between a MIDI Synthesizer and a MIDI Sound Generator or Sound Module. A user can use an MT-32 to create new instruments and is called a Synthesizer. A device that can only modify existing instruments is often called a Sound Generator.
MIDI 1.0 and General MIDI
The original MIDI Specification, 1.0, defined the communications protocol and the commands to which MIDI devices must respond. One of the most important commands is Program Change, whereby a MIDI Synthesizer can change one of the instruments it is using. In one module, a Program Change 01 could indicate a Grand Piano, and in another synthesizer, 01 could be an electric guitar. MIDI music would sound correct only on the module for which it was composed. In PC Gaming, early games that supported MIDI gave the user a choice of devices which the game supported. The only device to gain widespread acceptance at this time was the Roland MT-32.
Another important type of MIDI command is the System Exclusive message. This message is only intended for a particular synthesizer or module, and is typically used to access the hardware of the module. In the MT-32, new sounds are sent to the module's memory via System Exclusive messages. A MT-32 compatible module like the CM-32L will also accept these messages, but a non MT-32 compatible device like the Yamaha DX-7 should ignore them.
In 1991, the MIDI Manufacturers Association agreed on a new standard called General MIDI. General MIDI compatible synthesizers would share the same basic instrument map. On a General MIDI compatible Synthesizer, a Program Change 01 command would always give a Piano regardless of the model or manufacturer of the Synthesizer. There were also other basic specifications a device would have to meet, such as the number of simultaneous notes (polyphony) and being able to respond on MIDI Channels 1-16. The Roland SC-55 is probably the first MIDI Synthesizer to be General MIDI compatible, although it was released before the General MIDI standard was finalized. The early revisions are unofficially General MIDI compatible and the later revisions are officially General MIDI compatible. General MIDI does not displace the ability to use System Exclusive commands to get the best performance out of a MIDI module, but such tinkering was far less common after General MIDI became quickly accepted.
Further extensions to General MIDI, like Roland GS and Yamaha XG, were essentially company-specific standards that were not often used in games. Most games did not usually go beyond the specifications of General MIDI. An MT-32 could be made much more General MIDI compatible with a utility. Typically a MIDI Synthesizer would respond to 128 Program Changes, giving you 128 instruments. Roland and Yamaha's extensions gave you the ability to select instrument variations via 128 Control Change commands, thereby giving you a theoretical access to 16,384 instruments. No MIDI Synthesizer of the day came close to that number.
MIDI Music
A great deal of MIDI Music is found in a Standard MIDI Format file, which has a .mid extension. It contains all the information needed to play back a song, the commands, the notes, and the timestamps. Eventually, game developers found this basic format too limiting, so they came up with extensions like XMI, EMIDI and many more. SMF files can transmit data specific to modules like the MT-32 as well as data more accepted by any MIDI Synthesizer. MIDI Music is usually composed with a MIDI Sequencer program like Cakewalk or Sequencer Plus Gold.
MIDI Music has got something of a bad reputation for sounding cheesy and unrealistic. If you equate MIDI Music with FM Synthesis, then there may be some truth to the charge. Most PC gamers used FM Synthesis in the early 90s because hardware MIDI devices were very expensive. Also, not every MIDI device was made equally. The Roland SC-55, despite having only 3MB for instrument and drum samples, (and only 2MB of that was typically used), usually sounds much better than the Creative Waveblaster, which had 4MB for samples, and can hold its own against the Yamaha XG MIDI Synthesizers, which came with 4MB or more for samples. The SC-55's samples were well chosen and well balanced, making it the best overall option for PC games by developers and players. When music that is composed for an MT-32 or SC-55 is ported to the FM Synthesis chip found Sound Blaster, the results are frequently unimpressive.
Any device that can respond to MIDI commands can play back MIDI Music. Without a software driver, FM Synthesis chips like the OPL2 and OPL3 as found on the Adlib and Sound Blaster cards do not accept MIDI commands. Nor does the EMU8000 found in the AWE32 and AWE64. By contrast, the FM Synthesis chip found in the IBM Music Feature will respond to MIDI commands. However, MIDI does not care what method the device uses for producing sound, whether PSG-style Synthesis, FM Synthesis, PCM Sample Playback or something in between. In order for a non-MIDI device to respond to MIDI commands, a software interpreter or driver must be used.
MIDI Interface
First we have a "MIDI Interface". This is rather redundant, because when you give words to the letters, it becomes Musical Instrument Digital Interface Interface. However, because the use of the term MIDI is so broad, we use MIDI Interface to distinguish between other uses of the term like MIDI Module or MIDI Music.
So what is a MIDI Interface? Well, in terms of hardware, MIDI communication is accomplished by a serial-based transfer at 31,250 baud using current loop signaling. Typically, MIDI devices are connected through 5-pin DIN plugs. Miniature versions of the MIDI connector exist, but the pinouts are not necessarily going to be identical across manufacturers. How data was supposed to be sent and received within those parameters was left up to the individual members of the MIDI Manufacturer's Association.
After much evolution, the PC world settled on a UART-compatible MPU-401 Interface. This interface just sends bytes to and receives bytes from other MIDI compatible devices. It is little more than an I/O port which can be tied to an IRQ line, and it really does not get any more simple than that.
Historically, there were many MIDI Interfaces, and most were incompatible with each other. The "Full/Intelligent" Roland MPU-401 supports a simple UART-only mode that eventually became the standard. IBM had its own MIDI Interface in its IBM Music Feature Card. Both of these Roland and IBM interfaces had many features beyond simple I/O, but PCs became powerful enough to perform most of the special functions that these devices handled on slow PCs. IBM's card was too pricey considering the sound quality of its built-in synthesizer and it really did not catch on. However, early games and MIDI Sequencers supported the enhanced features of both the Roland and IBM MIDI Interfaces.
MIDI Interfaces by themselves do not produce sound. Originally, MIDI Interfaces came without MIDI Synthesizers on them. The Roland MPU-401 was originally a breakout box with the interface hardware and an interface card to send to and receive data from a computer. Only when you attached a MIDI Synthesizer to the MPU-401 via a 5-pin DIN cable would you be able to hear sound. The last iteration of the Roland MPU-401, the MPU-401/AT, is an internal ISA expansion card with the ability to produce sound when a MIDI Synthesizer is connected to it on its waveblaster connector. Without the waveblaster daughterboard, it just acts like a MIDI Interface.
Sound cards, beginning with the Sound Blaster, often came with MIDI Interfaces. These interfaces were very basic in their functionality but no two manufacturer's interfaces worked alike. The Pro Audio Spectrum and the Covox Sound Master II also had their own unique MIDI Interfaces. Support was lukewarm from games. Only with a Sound Blaster 16 or a Pro Audio Spectrum 16 (rev. D or later) were UART-only MPU-401 compatible interfaces implemented. These interfaces typically used some of the unused pins on a gameport for the MIDI In and Out signals, requiring an external box or adapter to provide the 5-pin DINs MIDI modules of the day expected.
Even though the Sound Blaster and similar sound cards have a MIDI interface, it is completely independent of the FM Synthesis chip found on the card. The MIDI Interface does not communicate with the FM Synthesis on the card in any way. Unfortunately the MIDI Interface has to coexist with the digital audio capabilities of the Sound Blasters, causing no end of troubles.
Some MIDI modules like the Roland SC-55mkII could connect to a PC or a MAC via serial port. They came with a special cable and they used Windows and Macintosh drivers. When USB displaced most other low-bandwidth I/O devices, companies began releasing USB MIDI Interfaces, which still used the 5-pin DINs. Even more recently, many MIDI devices connect directly by a USB cable to a computer.
MIDI Synthesizer
A MIDI Synthesizer is one that will acknowledge and respond to MIDI commands and generate sound. There are many, many MIDI commands, sometimes called messages. Program Change, Control Change, Pitch Bender, Velocity, Mode, After Touch, Note Number, System Common, System Real Time, Auxillary Message and System Exclusive are the main MIDI messages. They have no relations to the commands sent to a MIDI Interface.
MIDI Synthesizers come in many shapes and sizes. There are MIDI Keyboards like the Roland D-50 and MIDI Sound Modules like the Roland MT-32. They are external to the PC and are connected via a 5-pin DIN. Then there are sound cards with a MIDI Synthesizer like the IBM Music Feature Card and the Roland LAPC-I. These two cards have both a MIDI Synthesizer and a MIDI Interface. Finally, there are sound cards with a header for a MIDI Synthesizer on a daughterboard. The Waveblaster-header designed by Creative Labs is an example of this. In virtually every case, the Synthesizer portion is connected only via MIDI Out, not MIDI In. The waveblaster's MIDI Out signal is the same signal as being output via the gameports of the card on which it is found.
Many of the internal devices, whether on a card or attached via a waveblaster header, have a corresponding external device. Here is a short table :
| Internal Device | Device Type | External Device Equivalent |
| IBM Music Feature | Sound Card | Yamaha FB-01 |
| Roland LAPC-I | Sound Card | Roland CM-32L |
| Roland SCC-1 | Sound Card | Roland SC-55 |
| Roland SCB-7 | Daughter Board | Roland SC-7 |
| Roland SCB-55 | Daughter Board | Roland SC-55mkII |
| Yamaha DB50XG | Daughter Board | Yamaha MU10XG |
| Yamaha SW60XG | Sound Card | Yamaha MU10XG |
| Korg Ai20 | Daughter Board | Korg AG-10 |
Some people make the distinction between a MIDI Synthesizer and a MIDI Sound Generator or Sound Module. A user can use an MT-32 to create new instruments and is called a Synthesizer. A device that can only modify existing instruments is often called a Sound Generator.
MIDI 1.0 and General MIDI
The original MIDI Specification, 1.0, defined the communications protocol and the commands to which MIDI devices must respond. One of the most important commands is Program Change, whereby a MIDI Synthesizer can change one of the instruments it is using. In one module, a Program Change 01 could indicate a Grand Piano, and in another synthesizer, 01 could be an electric guitar. MIDI music would sound correct only on the module for which it was composed. In PC Gaming, early games that supported MIDI gave the user a choice of devices which the game supported. The only device to gain widespread acceptance at this time was the Roland MT-32.
Another important type of MIDI command is the System Exclusive message. This message is only intended for a particular synthesizer or module, and is typically used to access the hardware of the module. In the MT-32, new sounds are sent to the module's memory via System Exclusive messages. A MT-32 compatible module like the CM-32L will also accept these messages, but a non MT-32 compatible device like the Yamaha DX-7 should ignore them.
In 1991, the MIDI Manufacturers Association agreed on a new standard called General MIDI. General MIDI compatible synthesizers would share the same basic instrument map. On a General MIDI compatible Synthesizer, a Program Change 01 command would always give a Piano regardless of the model or manufacturer of the Synthesizer. There were also other basic specifications a device would have to meet, such as the number of simultaneous notes (polyphony) and being able to respond on MIDI Channels 1-16. The Roland SC-55 is probably the first MIDI Synthesizer to be General MIDI compatible, although it was released before the General MIDI standard was finalized. The early revisions are unofficially General MIDI compatible and the later revisions are officially General MIDI compatible. General MIDI does not displace the ability to use System Exclusive commands to get the best performance out of a MIDI module, but such tinkering was far less common after General MIDI became quickly accepted.
Further extensions to General MIDI, like Roland GS and Yamaha XG, were essentially company-specific standards that were not often used in games. Most games did not usually go beyond the specifications of General MIDI. An MT-32 could be made much more General MIDI compatible with a utility. Typically a MIDI Synthesizer would respond to 128 Program Changes, giving you 128 instruments. Roland and Yamaha's extensions gave you the ability to select instrument variations via 128 Control Change commands, thereby giving you a theoretical access to 16,384 instruments. No MIDI Synthesizer of the day came close to that number.
MIDI Music
A great deal of MIDI Music is found in a Standard MIDI Format file, which has a .mid extension. It contains all the information needed to play back a song, the commands, the notes, and the timestamps. Eventually, game developers found this basic format too limiting, so they came up with extensions like XMI, EMIDI and many more. SMF files can transmit data specific to modules like the MT-32 as well as data more accepted by any MIDI Synthesizer. MIDI Music is usually composed with a MIDI Sequencer program like Cakewalk or Sequencer Plus Gold.
MIDI Music has got something of a bad reputation for sounding cheesy and unrealistic. If you equate MIDI Music with FM Synthesis, then there may be some truth to the charge. Most PC gamers used FM Synthesis in the early 90s because hardware MIDI devices were very expensive. Also, not every MIDI device was made equally. The Roland SC-55, despite having only 3MB for instrument and drum samples, (and only 2MB of that was typically used), usually sounds much better than the Creative Waveblaster, which had 4MB for samples, and can hold its own against the Yamaha XG MIDI Synthesizers, which came with 4MB or more for samples. The SC-55's samples were well chosen and well balanced, making it the best overall option for PC games by developers and players. When music that is composed for an MT-32 or SC-55 is ported to the FM Synthesis chip found Sound Blaster, the results are frequently unimpressive.
Any device that can respond to MIDI commands can play back MIDI Music. Without a software driver, FM Synthesis chips like the OPL2 and OPL3 as found on the Adlib and Sound Blaster cards do not accept MIDI commands. Nor does the EMU8000 found in the AWE32 and AWE64. By contrast, the FM Synthesis chip found in the IBM Music Feature will respond to MIDI commands. However, MIDI does not care what method the device uses for producing sound, whether PSG-style Synthesis, FM Synthesis, PCM Sample Playback or something in between. In order for a non-MIDI device to respond to MIDI commands, a software interpreter or driver must be used.
Tuesday, July 7, 2015
The First Sound Card
The Ad Lib Music Synthesizer Card may not have been the first add-on expansion board for a PC compatible computer that could generate sound, but it was undoubtedly the most important sound card ever made. In this blog entry, I will give an overview of the hardware and software that made Ad Lib synonymous with good PC sound.
Hardware
The Ad Lib came in two revisions, the 1987 version and the 1990 version. The 1987 version has a 6.35mm or 1/4" phono jack connector and the 1990 version has a 3.5mm mini-jack. The 1990 version also has two extra decoupling capacitors to reduce the effects of noise. The audio out can drive passive speakers and lower-impedance headphones.
The card itself was made entirely from off the shelf parts and a pair of specialized sound integrated circuits. All of the 1987 cards and some of the 1990 cards have he part numbers scratched off the Yamaha chips, but some 1990 cards have the part numbers on them. The larger chip is the Yamaha YM-3812 FM Operator Type-L II (OPL2). It is responsible for all audio generation. In FM Synthesis, sound is produced when one sine wave, the modulator wave, modulates another sine wave, the carrier wave. Each sine wave is called an operator and there are eighteen operators in a YM-3812. In the default mode, each pair of operators is assigned a channel, so you have 9 channels available. Each operator can have various settings assigned like Vibrato, Tremolo, ASDR and output level. The settings for each operator pair can be called an instrument. In the alternative mode, twelve pairs of operators are assigned to 6 channels and the rest are used to produce 5 percussion instruments. The smaller chip is the Yamaha YM-3014 Serial Input Floating D/A Converter (DAC-SS). It turns the digital audio output from the YM-3812 into an analog signal suitable for amplification.
Ad Lib's attempt at secrecy was short-lived. By the end of 1989, its competitor Creative Technologies was already advertising its "Killer Card" (which would become the Sound Blaster), which included full Ad Lib compatibility. Ad Lib clones appeared fairly quickly because the card was easy to clone once you figured out what the mystery chips were. Ad Lib released programming information giving the abilities and register specifications for the chips. Because the chips were not custom components (otherwise why scratch the part numbers off?), and it used FM Synthesis, it had almost certainly to come from Yamaha. The price point and chip packaging must have narrowed down Yamaha's IC line considerably. It was only a matter of time before the secret was out, and Ad Lib, a small French-Canadian company at the time, was in no position to obtain exclusive rights to use the chips from Yamaha.
When you look at either genuine board, you instantly notice the Ad Lib company logo. I do not recall seeing an earlier PC expansion card printed circuit board with so striking a design. Most PC expansion boards just have the name of the product labeled in ordinary text somewhere on the card, and many do not even have that, leaving someone to have to deduce the card's identity and function. It would be a long time until we saw something as equally stylish (even though you would only see it when you opened the computer.)
However, you will also notice two sets of solder pads. The first, with the "3 5 2" numbers above it, was to assign an IRQ to the card. The card would fire off an IRQ when after one of the timers had reached zero. None of these three pads are connected and no software would ever expect them to be connected, so this functionality was in practice never used. The timers were typically used polled to auto-detect the card.
The second set of pads, "A B C D", allowed the user to change the I/O address from 388/389H. This allowed the user to put four cards in a single system. The other addresses were 218/219H, 288/289H and 318/319H. Very little software ever supported the Ad Lib at an address other than the default. The days when hardware hackers would routinely modify their hardware with a soldering iron was rapidly coming to a close during Ad Lib's early days.
The Path to Success
When the Ad Lib was first released in 1987, it did not instantly set the PC world alight and inspire software developers with new visions of affordable music. The Ad Lib was marketed first as a music creation device using a program called Visual Composer to put notes on sheet music. It appears to have only come bundled with the Visual Composer software and cost $245.00. Music creation software was nothing new to the PC industry, Electronic Arts Music Construction Set and Mindscape's Bank Street Music Writer were already on the market and had done well. The former worked with a PC Speaker in 1-voice or 4-voice mode, the PCjr. or Tandy 3-voice chip and the latter came with a 6-voice sound board based off the Apple II Mockingboard design. IBM also had a MIDI interface based music card called the IBM Music Feature, but it was very expensive, and other companies like Roland produced MIDI interfaces to control their expensive synthesizers with computer software. Parents were far more likely to buy the cheapest Casio or Yamaha keyboard on sale at Radio Shack for their kids.
In 1988, the card and company's fortunes changed when Sierra Online was looking for good hardware to support in their latest adventure games, which were planned to support full musical scores. The Ad Lib was seen as more capable than the PSG-based solutions then available like the C64's SID chip, which simply did not sound impressive to U.S. composers. Sierra selected the Ad Lib card as its entry-level music solution and other companies followed. The first PC game to support the Ad Lib or any other external sound device (Roland MT-32 & IBM Music Feature) was Sierra's King's Quest IV: The Perils of Rosella. In fact, if you compare the boxes for the 1987 and 1990 versions, you can see that gaming had taken preference over music creation.
Once the Ad Lib became useful for games, a version of the card was released for $195.00 without the Visual Composer software. The price for the Ad Lib was now much more attractive and competitive. Often games would come with a $20 coupon for the card. The next nearest competitor was the Creative Music System/Game Blaster, which at $129.00 competed well in price but poorly in features. The Game Blaster may have had more voices (12 vs. 9 or 6/5) and stereo support, but its PSG-style music generation was not deemed by the press or the public as anywhere near the quality of the Ad Lib's FM Synthesis.
While the PSGs in the Game Blaster and the Tandy could output the same notes on the scale as the Ad Lib, the Ad Lib had sufficient capabilities to advertise to users that they could create something approximating actual instruments. It also sounded somewhat close to the music in most arcade games of the late 80s and early 90s, giving it an edge over devices that sounded like a C64 or a NES. If the Ad Lib had not gained popularity, perhaps it would have been the Game Blaster that fulfilled the PC gaming music niche, but the Ad Lib was supported in thousands of games while the Game Blaster never pushed above 100 games.
The Ad Lib had quite the appeal for people looking for a no-hassles upgrade. The Ad Lib did not require any setting up, there were no user-accessible jumpers or dipswitches on the card. It fit inside any system with a free 8-bit expansion slot. It rarely required you to load a driver before running an application or a game. PGA Tour Golf is one of the few examples I could find of a popular game that requires loading SOUND.COM before beginning the game. Even Ad Lib soon embedded its driver into its application programs. The most interaction people usually had with the card physically was with the volume control.
The Ad Lib was not designed to handle digitized sounds, but some companies were able to get around that by some careful timing writes to set up a level waveform, then feeding 6-bit values to the volume control registers. This in essence allowed the Ad Lib to function like a 6-bit DAC. Activision used it in Battle Tech : The Crescent Hawks' Revenge, Gametek in Super Jeopardy and Interplay in Out of this World. Because sending audio samples directly to the "DAC" required a lot of CPU time, it was seldom used. The rise of the Ad Lib compatible Sound Blaster, with its 8-bit DMA-assisted DAC, soon made this effectively obsolete.
From a programmer's standpoint, the Ad Lib was relatively simple to program for. Programs could automatically detect the card because it had a pair of readable timers on it. For 8088 systems, they could simply just send data to it, but faster systems required software delay loops of increasing length in order to have the card respond appropriately to address and data writes. Unfortunately, the basic Ad Lib and its clones tend to fail when older games are being run in fast 386 and 486 machines, requiring the use of slowdown utilities, cache disabling programs or turning off the turbo button. Eventually, virtually all audio would be handled by middleware drivers from companies like Miles Sound Design which would provide solid if unremarkable Ad Lib support for any system.
An Ad Lib could work with just about any PC or XT with 256KB of RAM and a CGA or better card. However, in late 1988 that combination just was not doing it anymore for the latest games. While the Ad Lib can work with most early games on an 8088 or V20 machine, the results are often unplayably slow. The Ad Lib works much better with a 286 @ 8MHz or better, an EGA graphics card and 640KB of RAM. There were exceptions like Origin's Windwalker, which was programmed before the need to add software delays for faster systems was generally known. That game is best run on an 8088 or V20 machine.
The Ad Lib had something of a love-hate relationship with musicians. Computer musicians in the U.S. in the late 80s were usually thoroughly steeped using MIDI instruments. You could compose a song on a synthesizer keyboard a lot more naturally than in a computer program of the time. The Roland MT-32 and later the Roland Sound Canvas lines of PC MIDI devices were the preeminent external audio devices for PC gaming until digitized audio took over entirely. Most composers at big-box developers like Sierra and Electronic Arts composed with MIDI devices and then transported their music to the MT-32, SC-55 and Ad Lib, but the translation was far easier from MIDI to MIDI devices with built-in samples than MIDI to Ad Lib. So too often Ad Lib music playback paled in comparison to MT-32 and SCC-1 playback.
The Ad Lib did find early advocates at the shareware development houses. The guys at ID Software and Epic MegaGames were often technologically more innovative and more willing to explore the features of their hardware than the larger publishers. Shareware titles supported Ad Lib exclusively at first, then migrated to the Ultrasound and the Sound Canvas. The music in Commander Keen 4-6 and Jill of the Jungle 1-3 (which requires a Sound Blaster) is often very good and hard to imagine being as good on an MT-32. European programmers also were able to coax good music from the Ad Lib. They already had years of experience hacking away at the SID on the C64 and Paula on the Amiga, so this came easy to them. The music for Dune by Cyro Interactive does not loose its essential character on an OPL2 even though it was composed for an OPL3. The songs in Lemmings are very impressive, even compared to the Amiga original.
From a gamer's perspective, purchasing an Ad Lib in the first years following its release was a wise purchase because virtually every game that supported an expansion sound device supported the card. Companies like Sierra, Origin, LucasArts, Microprose, Spectrum Holobyte, Interplay, and Epyx soon followed suit and began supporting the card in more and more of their products. (Airball was a very rare example of a game that supported Innovation SID and Game Blaster but not Ad Lib.) If you look at an early story such as the one published in Computer Gaming World #63 (September, 1989) you can see that every company that was considering sound cards at the time of contact was considering the Ad Lib. When the Sound Blaster came with digitized sound support in 1990, digitized sound was slower to be adopted because the samples took up so much space on floppy disks. It had other features, such as the built-in game port, and a price that was very competitive with the less-featured Ad Lib card. Ad Lib's response to the coming of the Sound Blaster was to reduce its headphone jack to use a mini-jack connector.
Even when the Ad Lib Gold released the OPL3 chip, which has support for stereo output and double the number of FM operators and 4-operator FM Synthesis, game companies rarely supported the advanced features of the newer chip. Even though the OPL3 chip quickly replaced the OPL2 chip in 1992, most music was still designed for the basic OPL2 features.
The Ad Lib was the entry level music device for an astonishing seven years, from 1988 through 1994. Until CD-ROM drives and sample-based MIDI hardware became affordable, Ad Lib FM Synthesis was still the king of PC game music. Early CD-ROM music was far superior musically but extremely inflexible. Ad Lib music occupied little space and could be adjusted instantly to suit the needs of the program. CD-ROM music changing required sending track change or track repeat commands. There would be a pause while the new song was found or the old song was being repeated. CD-ROM also did not do well with short snippets of music. The iMUSE system from LucasArts, which dynamically changed the music according to room and scenes, was feasible with the Ad Lib but impossible with CD-ROM audio. Only with the arrival of Windows 95 was the hardware sufficiently powerful to manage multiple digital streams of voice and music that made the Ad Lib totally obsolete.
Hardware
The Ad Lib came in two revisions, the 1987 version and the 1990 version. The 1987 version has a 6.35mm or 1/4" phono jack connector and the 1990 version has a 3.5mm mini-jack. The 1990 version also has two extra decoupling capacitors to reduce the effects of noise. The audio out can drive passive speakers and lower-impedance headphones.
The card itself was made entirely from off the shelf parts and a pair of specialized sound integrated circuits. All of the 1987 cards and some of the 1990 cards have he part numbers scratched off the Yamaha chips, but some 1990 cards have the part numbers on them. The larger chip is the Yamaha YM-3812 FM Operator Type-L II (OPL2). It is responsible for all audio generation. In FM Synthesis, sound is produced when one sine wave, the modulator wave, modulates another sine wave, the carrier wave. Each sine wave is called an operator and there are eighteen operators in a YM-3812. In the default mode, each pair of operators is assigned a channel, so you have 9 channels available. Each operator can have various settings assigned like Vibrato, Tremolo, ASDR and output level. The settings for each operator pair can be called an instrument. In the alternative mode, twelve pairs of operators are assigned to 6 channels and the rest are used to produce 5 percussion instruments. The smaller chip is the Yamaha YM-3014 Serial Input Floating D/A Converter (DAC-SS). It turns the digital audio output from the YM-3812 into an analog signal suitable for amplification.
Ad Lib's attempt at secrecy was short-lived. By the end of 1989, its competitor Creative Technologies was already advertising its "Killer Card" (which would become the Sound Blaster), which included full Ad Lib compatibility. Ad Lib clones appeared fairly quickly because the card was easy to clone once you figured out what the mystery chips were. Ad Lib released programming information giving the abilities and register specifications for the chips. Because the chips were not custom components (otherwise why scratch the part numbers off?), and it used FM Synthesis, it had almost certainly to come from Yamaha. The price point and chip packaging must have narrowed down Yamaha's IC line considerably. It was only a matter of time before the secret was out, and Ad Lib, a small French-Canadian company at the time, was in no position to obtain exclusive rights to use the chips from Yamaha.
When you look at either genuine board, you instantly notice the Ad Lib company logo. I do not recall seeing an earlier PC expansion card printed circuit board with so striking a design. Most PC expansion boards just have the name of the product labeled in ordinary text somewhere on the card, and many do not even have that, leaving someone to have to deduce the card's identity and function. It would be a long time until we saw something as equally stylish (even though you would only see it when you opened the computer.)
However, you will also notice two sets of solder pads. The first, with the "3 5 2" numbers above it, was to assign an IRQ to the card. The card would fire off an IRQ when after one of the timers had reached zero. None of these three pads are connected and no software would ever expect them to be connected, so this functionality was in practice never used. The timers were typically used polled to auto-detect the card.
The second set of pads, "A B C D", allowed the user to change the I/O address from 388/389H. This allowed the user to put four cards in a single system. The other addresses were 218/219H, 288/289H and 318/319H. Very little software ever supported the Ad Lib at an address other than the default. The days when hardware hackers would routinely modify their hardware with a soldering iron was rapidly coming to a close during Ad Lib's early days.
The Path to Success
When the Ad Lib was first released in 1987, it did not instantly set the PC world alight and inspire software developers with new visions of affordable music. The Ad Lib was marketed first as a music creation device using a program called Visual Composer to put notes on sheet music. It appears to have only come bundled with the Visual Composer software and cost $245.00. Music creation software was nothing new to the PC industry, Electronic Arts Music Construction Set and Mindscape's Bank Street Music Writer were already on the market and had done well. The former worked with a PC Speaker in 1-voice or 4-voice mode, the PCjr. or Tandy 3-voice chip and the latter came with a 6-voice sound board based off the Apple II Mockingboard design. IBM also had a MIDI interface based music card called the IBM Music Feature, but it was very expensive, and other companies like Roland produced MIDI interfaces to control their expensive synthesizers with computer software. Parents were far more likely to buy the cheapest Casio or Yamaha keyboard on sale at Radio Shack for their kids.
In 1988, the card and company's fortunes changed when Sierra Online was looking for good hardware to support in their latest adventure games, which were planned to support full musical scores. The Ad Lib was seen as more capable than the PSG-based solutions then available like the C64's SID chip, which simply did not sound impressive to U.S. composers. Sierra selected the Ad Lib card as its entry-level music solution and other companies followed. The first PC game to support the Ad Lib or any other external sound device (Roland MT-32 & IBM Music Feature) was Sierra's King's Quest IV: The Perils of Rosella. In fact, if you compare the boxes for the 1987 and 1990 versions, you can see that gaming had taken preference over music creation.
Once the Ad Lib became useful for games, a version of the card was released for $195.00 without the Visual Composer software. The price for the Ad Lib was now much more attractive and competitive. Often games would come with a $20 coupon for the card. The next nearest competitor was the Creative Music System/Game Blaster, which at $129.00 competed well in price but poorly in features. The Game Blaster may have had more voices (12 vs. 9 or 6/5) and stereo support, but its PSG-style music generation was not deemed by the press or the public as anywhere near the quality of the Ad Lib's FM Synthesis.
While the PSGs in the Game Blaster and the Tandy could output the same notes on the scale as the Ad Lib, the Ad Lib had sufficient capabilities to advertise to users that they could create something approximating actual instruments. It also sounded somewhat close to the music in most arcade games of the late 80s and early 90s, giving it an edge over devices that sounded like a C64 or a NES. If the Ad Lib had not gained popularity, perhaps it would have been the Game Blaster that fulfilled the PC gaming music niche, but the Ad Lib was supported in thousands of games while the Game Blaster never pushed above 100 games.
The Ad Lib had quite the appeal for people looking for a no-hassles upgrade. The Ad Lib did not require any setting up, there were no user-accessible jumpers or dipswitches on the card. It fit inside any system with a free 8-bit expansion slot. It rarely required you to load a driver before running an application or a game. PGA Tour Golf is one of the few examples I could find of a popular game that requires loading SOUND.COM before beginning the game. Even Ad Lib soon embedded its driver into its application programs. The most interaction people usually had with the card physically was with the volume control.
The Ad Lib was not designed to handle digitized sounds, but some companies were able to get around that by some careful timing writes to set up a level waveform, then feeding 6-bit values to the volume control registers. This in essence allowed the Ad Lib to function like a 6-bit DAC. Activision used it in Battle Tech : The Crescent Hawks' Revenge, Gametek in Super Jeopardy and Interplay in Out of this World. Because sending audio samples directly to the "DAC" required a lot of CPU time, it was seldom used. The rise of the Ad Lib compatible Sound Blaster, with its 8-bit DMA-assisted DAC, soon made this effectively obsolete.
From a programmer's standpoint, the Ad Lib was relatively simple to program for. Programs could automatically detect the card because it had a pair of readable timers on it. For 8088 systems, they could simply just send data to it, but faster systems required software delay loops of increasing length in order to have the card respond appropriately to address and data writes. Unfortunately, the basic Ad Lib and its clones tend to fail when older games are being run in fast 386 and 486 machines, requiring the use of slowdown utilities, cache disabling programs or turning off the turbo button. Eventually, virtually all audio would be handled by middleware drivers from companies like Miles Sound Design which would provide solid if unremarkable Ad Lib support for any system.
An Ad Lib could work with just about any PC or XT with 256KB of RAM and a CGA or better card. However, in late 1988 that combination just was not doing it anymore for the latest games. While the Ad Lib can work with most early games on an 8088 or V20 machine, the results are often unplayably slow. The Ad Lib works much better with a 286 @ 8MHz or better, an EGA graphics card and 640KB of RAM. There were exceptions like Origin's Windwalker, which was programmed before the need to add software delays for faster systems was generally known. That game is best run on an 8088 or V20 machine.
The Ad Lib had something of a love-hate relationship with musicians. Computer musicians in the U.S. in the late 80s were usually thoroughly steeped using MIDI instruments. You could compose a song on a synthesizer keyboard a lot more naturally than in a computer program of the time. The Roland MT-32 and later the Roland Sound Canvas lines of PC MIDI devices were the preeminent external audio devices for PC gaming until digitized audio took over entirely. Most composers at big-box developers like Sierra and Electronic Arts composed with MIDI devices and then transported their music to the MT-32, SC-55 and Ad Lib, but the translation was far easier from MIDI to MIDI devices with built-in samples than MIDI to Ad Lib. So too often Ad Lib music playback paled in comparison to MT-32 and SCC-1 playback.
The Ad Lib did find early advocates at the shareware development houses. The guys at ID Software and Epic MegaGames were often technologically more innovative and more willing to explore the features of their hardware than the larger publishers. Shareware titles supported Ad Lib exclusively at first, then migrated to the Ultrasound and the Sound Canvas. The music in Commander Keen 4-6 and Jill of the Jungle 1-3 (which requires a Sound Blaster) is often very good and hard to imagine being as good on an MT-32. European programmers also were able to coax good music from the Ad Lib. They already had years of experience hacking away at the SID on the C64 and Paula on the Amiga, so this came easy to them. The music for Dune by Cyro Interactive does not loose its essential character on an OPL2 even though it was composed for an OPL3. The songs in Lemmings are very impressive, even compared to the Amiga original.
From a gamer's perspective, purchasing an Ad Lib in the first years following its release was a wise purchase because virtually every game that supported an expansion sound device supported the card. Companies like Sierra, Origin, LucasArts, Microprose, Spectrum Holobyte, Interplay, and Epyx soon followed suit and began supporting the card in more and more of their products. (Airball was a very rare example of a game that supported Innovation SID and Game Blaster but not Ad Lib.) If you look at an early story such as the one published in Computer Gaming World #63 (September, 1989) you can see that every company that was considering sound cards at the time of contact was considering the Ad Lib. When the Sound Blaster came with digitized sound support in 1990, digitized sound was slower to be adopted because the samples took up so much space on floppy disks. It had other features, such as the built-in game port, and a price that was very competitive with the less-featured Ad Lib card. Ad Lib's response to the coming of the Sound Blaster was to reduce its headphone jack to use a mini-jack connector.
Even when the Ad Lib Gold released the OPL3 chip, which has support for stereo output and double the number of FM operators and 4-operator FM Synthesis, game companies rarely supported the advanced features of the newer chip. Even though the OPL3 chip quickly replaced the OPL2 chip in 1992, most music was still designed for the basic OPL2 features.
Friday, May 29, 2015
Sound Blaster 8-bit Playback Quality
In this post, I have taken a sample with from a game with FM music and 8-bit digital audio. The game in question is Day of the Tentacle, which is a typical representative of the quality of digitized audio you can expect from classic DOS games (at least until FMV became prominent). From six Sound Blaster cards I have recorded the same sample of the intro from the time the game starts until the gang leave for the mansion. For DOS games, virtually all of them playback digitized audio using 8-bit samples, so the whole of the Sound Blaster range can be used with virtually any DOS game.
Card Number One : Sound Blaster 1.5 CT-1320C
FM Synthesis : Yamaha YM-3812 OPL2
DSP : CT1321 V2.00
CMS Upgrade : Present
This card does a very servicable job with Day of the Tentacle, which really is not using most of the advanced features of the later cards. Digitized sound is a little noisier than the Sound Blaster Pro, but the noise floor is lower. This card is naturally loud because it does not have a mixer chip, volume being controlled solely via the volume wheel.
Card Number Two : Sound Blaster Pro CT-1330A Rev. 5
FM Synthesis : Yamaha YM-3812 OPL2 x 2
DSP : CT1341 V3.01
Mixer : CT1345
Bus Interface : CT1336
The sound engine for Day of the Tentacle was made for a card like this. This card will sound louder than the others because it has an onboard amplifier. I recorded from the other cards without using their onboard amplifiers. I used Audacity's normalization function to give the recordings below a comparable amplitude level.
The Pro has an output filter which you can toggle on and off. The filter is on by default. If you turn it off, then you get a sharper, yet noisier sound. By comparison, the filtered version sounds a bit muffled. Compare for yourselves :
Card Number Three : Sound Blaster 16 MCD CT-1750
CODEC : CT1701
FM Synthesis : Yamaha YMF-262 OPL3
DSP : CT1741 V4.05
Mixer : CT1745A
Bus Interface : CT1746B
Configuration : Jumpers
ASP/CSP : CT1748A
This a first generation sound blaster, and it does not have the hiss I expected. It does have a lot of pops and clicks when there is speaking. The noise floor is higher than the Pro. All the SB16s and later cards use dynamic filtering, which cannot be turned off by the user.
Card Number Four : Sound Blaster 16 MCD CT-2230
CODEC : CT1703
FM Synthesis : Integrated CT1747 OPL3
DSP : CT1741 V4.11
Mixer : CT1745A
Bus Interface : CT1747
Configuration : DIAGNOSE.EXE or SBCONFIG.EXE + Jumpers
ASP/CSP : Not Present
Surprisingly, despite the later DSP and CODEC, this card is even noisier than its predecessor the CT-1750. It also has the same amount of pops and clicks. Its actually the noisiest of the bunch.
Card Number Five : Sound Blaster 16 PnP CT-2940
CODEC : Integrated CT2502
FM Synthesis : Discrete Yamaha YMF-289 OPL3-L
DSP : Integrated CT2502, V4.13 Reported
Mixer : Integrated CT2502, fully compatible with CT1745A
Configuration : CTCM.EXE + CTCU.EXE
ASP/CSP : None
This card does not have nearly as many pops and clicks as the other SB16s and the AWE32 described in this post. The noise floor is slightly lower than the CT-1750 and CT-2760, but higher than the CT-1330.
DIAGNOSE.EXE will report this card's DSP version, but the rest of the card relies on assumptions.
Card Number Six : Sound Blaster AWE32 CT-2760
CODEC : CT1701
FM Synthesis : Integrated CT1747 OPL3
Bus Interface : CT1747
Configuration : DIAGNOSE.EXE or SBCONFIG.EXE and AWEUTIL.COM + Jumpers
ASP/CSP : CT1748A
EMU-8000 : CT1971 + CT1972
SIMM RAM : None
This card is very much like the CT2230, but it is about as quiet as the CT-1750.
Best Sound Quality
In my opinion, the best sounding of the bunch is the 1330A, followed by the 1320U, then the 2940, 2760, 1750 and finally the 2230. Of course, with a different sample, my opinion could change.
Card Number One : Sound Blaster 1.5 CT-1320C
FM Synthesis : Yamaha YM-3812 OPL2
DSP : CT1321 V2.00
CMS Upgrade : Present
This card does a very servicable job with Day of the Tentacle, which really is not using most of the advanced features of the later cards. Digitized sound is a little noisier than the Sound Blaster Pro, but the noise floor is lower. This card is naturally loud because it does not have a mixer chip, volume being controlled solely via the volume wheel.
Card Number Two : Sound Blaster Pro CT-1330A Rev. 5
FM Synthesis : Yamaha YM-3812 OPL2 x 2
DSP : CT1341 V3.01
Mixer : CT1345
Bus Interface : CT1336
The sound engine for Day of the Tentacle was made for a card like this. This card will sound louder than the others because it has an onboard amplifier. I recorded from the other cards without using their onboard amplifiers. I used Audacity's normalization function to give the recordings below a comparable amplitude level.
The Pro has an output filter which you can toggle on and off. The filter is on by default. If you turn it off, then you get a sharper, yet noisier sound. By comparison, the filtered version sounds a bit muffled. Compare for yourselves :
Card Number Three : Sound Blaster 16 MCD CT-1750
CODEC : CT1701
FM Synthesis : Yamaha YMF-262 OPL3
DSP : CT1741 V4.05
Mixer : CT1745A
Bus Interface : CT1746B
Configuration : Jumpers
ASP/CSP : CT1748A
This a first generation sound blaster, and it does not have the hiss I expected. It does have a lot of pops and clicks when there is speaking. The noise floor is higher than the Pro. All the SB16s and later cards use dynamic filtering, which cannot be turned off by the user.
Card Number Four : Sound Blaster 16 MCD CT-2230
CODEC : CT1703
FM Synthesis : Integrated CT1747 OPL3
DSP : CT1741 V4.11
Mixer : CT1745A
Bus Interface : CT1747
Configuration : DIAGNOSE.EXE or SBCONFIG.EXE + Jumpers
ASP/CSP : Not Present
Surprisingly, despite the later DSP and CODEC, this card is even noisier than its predecessor the CT-1750. It also has the same amount of pops and clicks. Its actually the noisiest of the bunch.
Card Number Five : Sound Blaster 16 PnP CT-2940
CODEC : Integrated CT2502
FM Synthesis : Discrete Yamaha YMF-289 OPL3-L
DSP : Integrated CT2502, V4.13 Reported
Mixer : Integrated CT2502, fully compatible with CT1745A
Configuration : CTCM.EXE + CTCU.EXE
ASP/CSP : None
This card does not have nearly as many pops and clicks as the other SB16s and the AWE32 described in this post. The noise floor is slightly lower than the CT-1750 and CT-2760, but higher than the CT-1330.
DIAGNOSE.EXE will report this card's DSP version, but the rest of the card relies on assumptions.
Card Number Six : Sound Blaster AWE32 CT-2760
CODEC : CT1701
FM Synthesis : Integrated CT1747 OPL3
DSP : CT1741 V4.12
Mixer : CT1745ABus Interface : CT1747
Configuration : DIAGNOSE.EXE or SBCONFIG.EXE and AWEUTIL.COM + Jumpers
ASP/CSP : CT1748A
EMU-8000 : CT1971 + CT1972
SIMM RAM : None
This card is very much like the CT2230, but it is about as quiet as the CT-1750.
Best Sound Quality
In my opinion, the best sounding of the bunch is the 1330A, followed by the 1320U, then the 2940, 2760, 1750 and finally the 2230. Of course, with a different sample, my opinion could change.
Monday, May 25, 2015
Sound Card Replicas - Attack of the Hardware Clones
Since 2005, vintage computing PC hardware, especially the hardware focused on games has increasingly risen in price. Not too long ago, you could buy an Adlib card for $30. Now they can go for five times that. Some of these cards are sufficiently simple that single hobbyists can design a PCB and create a board that works like the original, and in some cases even better than the original. Here are the efforts to reproduce distinctive sound cards from various vintage computer sources.
Ad Lib Music Synthesizer Card Clone :
There was nothing proprietary about the Ad Lib MSC card, the OPL2 YM-3812 sound chip and its YM3014 DAC were readily available from Yamaha. The rest of the board was populated with standard logic chips, a pre-amplifier and an amplifier. Ad Lib Inc. scratched off the part number of the Yamaha chips, but once their identity was known, anyone with some spare time and a multimeter could design a clone PCB. Several clones were made back-in-the-day, but they are now as hard to find as a genuine Ad Lib Inc. made card. In 2012, VCF forum contributor Sergey Malinov did just that, he designed a smaller 8-bit ISA card and it works just like the original. It also sounds like the original because he used the original amplifier circuit. It even has a volume dial. The 1987 revision of the real Adlib card used a 1/4" phono jack, but the later 1990 Adlib revision and this board use a 3/8" mini-jack. You can find all the information you need, and a link to the board design, here :
http://www.vintage-computer.com/vcforum/showthread.php?33100-ISA-OPL2-Card
Another individual has also cloned the Ad Lib card, but this individual sought not just to recreate the functionality but to recreate the board itself, including the Ad Lib logo. True Ad Lib cards are valuable, but this design has the potential to defraud a collector given how close it is :
http://tubetime.us/
Roland MIF-IPC-A Clones :
A Roland Midi Processing Unit (MPU) 401 was originally contained in a small metal box. It was designed to connect with any 8-bit or better home computer which could provide the addressing and data lines and IRQ it required. Roland sold interface cards for various computers, including the Apple II, Commodore 64 (cartridge) and IBM PC. All the electronics necessary for the interface was contained in the external box including a microcontroller, ROM and RAM, a bus interface chip and DIN connectors for MIDI cables. Replicating the MPU-401 circuitry would be no mean feat. The interface cards consisted only of a few standard logic chips to route the necessary signals from the computer.
The MPU-401 boxes are often found without an interface card, and without an interface card they are useless. Roland originally offered the MIF-IPC interface card for IBM PCs and XTs. The original MIF-IPC card proved unreliable in AT and faster machines, so Roland issued the cost-reduced MIF-IPC-A, which works in any PC. It consists of four standard logic chips and a DB-25 connector on an 8-bit ISA card. Two cards were made, one from a U.S./German source (Bryce) and another from a Dutch source (n1mr0d), have been made. The details are here :
http://www.vogons.org/viewtopic.php?f=5&t=38048
http://www.amibay.com/showthread.php?57231-Cloning-an-MIF-ISA-Card
I am not sure whether the U.S./German clone is currently available, but it allows you to easily change the IRQ and the I/O address lines. The Dutch clone is currently available on ebay and allows for easier changing of the I/O port.
James Pearce from VCF and lo-tech.co.uk has designed a clone card called the MIF-IPC-B. This card can be built cheaply as it uses only through-hole parts. It adds useful features to the MIF-IPC-A design, namely selectable IRQ and I/O port selections. It is also compatible in an IBM PC/XT's Slot 8. It fixes the design flaw on the MIF-IPC-A card that leaves unused gates on the 74LS04 floating. It even replicates the logic differences between the MIF-IPC/IF-MIDI and the MIF-IPC-A cards, although I have never read or experienced anything to suggest that the MIF-IPC-A is unreliable in an IBM PC or XT. Still, the :
https://www.lo-tech.co.uk/product/mif-ipc-b-pcb/
Music Quest PC MIDI Card Clone :
There has been an even more promising development on the MPU-401 clone front. Recently (as of September, 2015) VOGONS user Keropi made a full clone of the Music Quest PC MIDI 100% compatible MPU-401 card. This card contains all the essential intelligent MIDI capabilities of the Roland MPU-401, but does not require a breakout box. In other words, unlike the MIF-IPC-A clones, you do not need to supply anything to connect it to your MT-32 or other MIDI module. All circuitry is on the card, only an DE-9 to MIDI adapter is required for MIDI In and MIDI Out. The adapter is included with the card. The clone is fully compatible with games requiring intelligent (normal) MPU-401 capabilities. Details here :
http://www.vogons.org/viewtopic.php?f=46&t=43875&hilit=mpu+401+clone
Innovation SSI-2001 Clone :
I have already discussed this remarkable board elsewhere. I own one and can heartily recommend it, assuming batches are still being made : http://nerdlypleasures.blogspot.com/2014/01/sid-and-dos-unlikely-but-true-bedfellows.html
You can probably get a card with an 8580 SID, but if you want a 6581 you will have to provide it yourself. Information on how to obtain a card can be found here :
http://www.vogons.org/viewtopic.php?f=46&t=27045
Creative Game Blaster Clone Prototype :
All the clones that have been made available for purchase or replication have been discussed above. For my next discussions, I will identify cards which have had working prototypes made. The principal difficulty in implementing a Game Blaster clone is that for a long time, the CT-1302 chip on the real board acted like a black box. Now that we know what it does and that all it really does is implement a simple autodetection scheme, the scheme has been replicated with standard logic chips. A work in progress Russian clone has come up with some very impressive results so far :
http://www.vintage-computer.com/vcforum/showthread.php?47363-Creative-Music-System-(CMS)-Game-Blaster-compatible-replica
True Game Blaster cards sell for $200-$300 these days, but are desirable especially for the nine or so games that require a true Game Blaster card.
I should also mention here for completeness sake the successful efforts to replicate the PAL of the Sound Blaster 2.0 to allow for Game Blaster functionality. The details can be found here : http://nerdlypleasures.blogspot.com/2012/10/all-you-ever-wanted-to-know-about.html
Gravis Ultrasound Plug-N-Play (GUS PnP) Clone Discussion :
This is a very ambitious project because the main AMD/Interwave chip is a surface mount chip with many pins and small spacing between them. While the Interwave chip does not require RAM to function, its GUS emulation does not work without at least 512KB of RAM. The more advanced features of the Interwave chip can utilize up to 16MB of RAM. The real GUS PnP only supported 8MB of RAM, but that was more than sufficient for GUS Classic compatibility.
http://www.vogons.org/viewtopic.php?f=46&t=42431
As of this writing, the prototype is still in the paper stage, so I do not deem it a real prototype until someone gets a real custom board working. The Interwave-based GUS PnP can play virtually all classic GUS-supporting games, although you may need a utility or special driver for some. This card should be able to offer the same level of compatibility. On the other hand, the advanced GUS PNP features went unsupported in DOS and the card was treated somewhat generically by Windows 95 outside Gravis' applications. GUS cards of any sort have always been pricey and hard to find, so this board should be welcomed by many gamers and fans of old-skool demos that used the GUS.
Tandy 1000 3-Voice Sound Card Discussion :
The idea behind this board is to implement a Tandy 3-voice sound chip at I/O C0-C7 for 8-bit XT systems and and probably 1E0-1E7 for 16-bit AT systems. Unfortunately, AT systems have a 2nd DMA controller at C0-C7, so the chip may not work there.
http://www.vogons.org/viewtopic.php?f=46&t=42521
Games must write directly to the I/O ports to make sound come out of this chip. Some games will refuse to play Tandy music or sound effects unless they detect a Tandy through its BIOS signature or its unique graphics adapter. This card will not work with every game, but it will work with many, many classics that do not care about the BIOS signature or the graphics. James Pearce has committed to making a prototype, but none has yet been completed. Unfortunately, the DAC added in the Tandy 1000 TL and SL and later computers used a Tandy-proprietary PSSJ chip, so without a source for those this board will be stuck with a TI SN76489 (the extra feature of the TI SN 76496 is not required). The NCR 7496 clone is preferable for Tandy 1000s but is virtually impossible to source.
Covox Sound Master Clone Discussion :
This is the discussion I support the most because it is the only one of these projects for which I do not own the original card or a reasonable substitute. Like the Innovation SSI-2001, there are only two original cards known to still exist. Cloning this card is more difficult than the Innovation for two reasons. First, the main sound chip is more difficult to source. Second, this card has a PAL chip on it that needs to be decoded. Decoding PAL chips has been done before, but it requires a lot of work and a fair amount of deduction.
http://www.vogons.org/viewtopic.php?f=46&t=40512
Ad Lib Music Synthesizer Card Clone :
There was nothing proprietary about the Ad Lib MSC card, the OPL2 YM-3812 sound chip and its YM3014 DAC were readily available from Yamaha. The rest of the board was populated with standard logic chips, a pre-amplifier and an amplifier. Ad Lib Inc. scratched off the part number of the Yamaha chips, but once their identity was known, anyone with some spare time and a multimeter could design a clone PCB. Several clones were made back-in-the-day, but they are now as hard to find as a genuine Ad Lib Inc. made card. In 2012, VCF forum contributor Sergey Malinov did just that, he designed a smaller 8-bit ISA card and it works just like the original. It also sounds like the original because he used the original amplifier circuit. It even has a volume dial. The 1987 revision of the real Adlib card used a 1/4" phono jack, but the later 1990 Adlib revision and this board use a 3/8" mini-jack. You can find all the information you need, and a link to the board design, here :
http://www.vintage-computer.com/vcforum/showthread.php?33100-ISA-OPL2-Card
Another individual has also cloned the Ad Lib card, but this individual sought not just to recreate the functionality but to recreate the board itself, including the Ad Lib logo. True Ad Lib cards are valuable, but this design has the potential to defraud a collector given how close it is :
http://tubetime.us/
Roland MIF-IPC-A Clones :
A Roland Midi Processing Unit (MPU) 401 was originally contained in a small metal box. It was designed to connect with any 8-bit or better home computer which could provide the addressing and data lines and IRQ it required. Roland sold interface cards for various computers, including the Apple II, Commodore 64 (cartridge) and IBM PC. All the electronics necessary for the interface was contained in the external box including a microcontroller, ROM and RAM, a bus interface chip and DIN connectors for MIDI cables. Replicating the MPU-401 circuitry would be no mean feat. The interface cards consisted only of a few standard logic chips to route the necessary signals from the computer.
The MPU-401 boxes are often found without an interface card, and without an interface card they are useless. Roland originally offered the MIF-IPC interface card for IBM PCs and XTs. The original MIF-IPC card proved unreliable in AT and faster machines, so Roland issued the cost-reduced MIF-IPC-A, which works in any PC. It consists of four standard logic chips and a DB-25 connector on an 8-bit ISA card. Two cards were made, one from a U.S./German source (Bryce) and another from a Dutch source (n1mr0d), have been made. The details are here :
http://www.vogons.org/viewtopic.php?f=5&t=38048
http://www.amibay.com/showthread.php?57231-Cloning-an-MIF-ISA-Card
I am not sure whether the U.S./German clone is currently available, but it allows you to easily change the IRQ and the I/O address lines. The Dutch clone is currently available on ebay and allows for easier changing of the I/O port.
James Pearce from VCF and lo-tech.co.uk has designed a clone card called the MIF-IPC-B. This card can be built cheaply as it uses only through-hole parts. It adds useful features to the MIF-IPC-A design, namely selectable IRQ and I/O port selections. It is also compatible in an IBM PC/XT's Slot 8. It fixes the design flaw on the MIF-IPC-A card that leaves unused gates on the 74LS04 floating. It even replicates the logic differences between the MIF-IPC/IF-MIDI and the MIF-IPC-A cards, although I have never read or experienced anything to suggest that the MIF-IPC-A is unreliable in an IBM PC or XT. Still, the :
https://www.lo-tech.co.uk/product/mif-ipc-b-pcb/
Music Quest PC MIDI Card Clone :
There has been an even more promising development on the MPU-401 clone front. Recently (as of September, 2015) VOGONS user Keropi made a full clone of the Music Quest PC MIDI 100% compatible MPU-401 card. This card contains all the essential intelligent MIDI capabilities of the Roland MPU-401, but does not require a breakout box. In other words, unlike the MIF-IPC-A clones, you do not need to supply anything to connect it to your MT-32 or other MIDI module. All circuitry is on the card, only an DE-9 to MIDI adapter is required for MIDI In and MIDI Out. The adapter is included with the card. The clone is fully compatible with games requiring intelligent (normal) MPU-401 capabilities. Details here :
http://www.vogons.org/viewtopic.php?f=46&t=43875&hilit=mpu+401+clone
Innovation SSI-2001 Clone :
I have already discussed this remarkable board elsewhere. I own one and can heartily recommend it, assuming batches are still being made : http://nerdlypleasures.blogspot.com/2014/01/sid-and-dos-unlikely-but-true-bedfellows.html
You can probably get a card with an 8580 SID, but if you want a 6581 you will have to provide it yourself. Information on how to obtain a card can be found here :
http://www.vogons.org/viewtopic.php?f=46&t=27045
Creative Game Blaster Clone Prototype :
All the clones that have been made available for purchase or replication have been discussed above. For my next discussions, I will identify cards which have had working prototypes made. The principal difficulty in implementing a Game Blaster clone is that for a long time, the CT-1302 chip on the real board acted like a black box. Now that we know what it does and that all it really does is implement a simple autodetection scheme, the scheme has been replicated with standard logic chips. A work in progress Russian clone has come up with some very impressive results so far :
http://www.vintage-computer.com/vcforum/showthread.php?47363-Creative-Music-System-(CMS)-Game-Blaster-compatible-replica
True Game Blaster cards sell for $200-$300 these days, but are desirable especially for the nine or so games that require a true Game Blaster card.
I should also mention here for completeness sake the successful efforts to replicate the PAL of the Sound Blaster 2.0 to allow for Game Blaster functionality. The details can be found here : http://nerdlypleasures.blogspot.com/2012/10/all-you-ever-wanted-to-know-about.html
Gravis Ultrasound Plug-N-Play (GUS PnP) Clone Discussion :
This is a very ambitious project because the main AMD/Interwave chip is a surface mount chip with many pins and small spacing between them. While the Interwave chip does not require RAM to function, its GUS emulation does not work without at least 512KB of RAM. The more advanced features of the Interwave chip can utilize up to 16MB of RAM. The real GUS PnP only supported 8MB of RAM, but that was more than sufficient for GUS Classic compatibility.
http://www.vogons.org/viewtopic.php?f=46&t=42431
As of this writing, the prototype is still in the paper stage, so I do not deem it a real prototype until someone gets a real custom board working. The Interwave-based GUS PnP can play virtually all classic GUS-supporting games, although you may need a utility or special driver for some. This card should be able to offer the same level of compatibility. On the other hand, the advanced GUS PNP features went unsupported in DOS and the card was treated somewhat generically by Windows 95 outside Gravis' applications. GUS cards of any sort have always been pricey and hard to find, so this board should be welcomed by many gamers and fans of old-skool demos that used the GUS.
Tandy 1000 3-Voice Sound Card Discussion :
The idea behind this board is to implement a Tandy 3-voice sound chip at I/O C0-C7 for 8-bit XT systems and and probably 1E0-1E7 for 16-bit AT systems. Unfortunately, AT systems have a 2nd DMA controller at C0-C7, so the chip may not work there.
http://www.vogons.org/viewtopic.php?f=46&t=42521
Games must write directly to the I/O ports to make sound come out of this chip. Some games will refuse to play Tandy music or sound effects unless they detect a Tandy through its BIOS signature or its unique graphics adapter. This card will not work with every game, but it will work with many, many classics that do not care about the BIOS signature or the graphics. James Pearce has committed to making a prototype, but none has yet been completed. Unfortunately, the DAC added in the Tandy 1000 TL and SL and later computers used a Tandy-proprietary PSSJ chip, so without a source for those this board will be stuck with a TI SN76489 (the extra feature of the TI SN 76496 is not required). The NCR 7496 clone is preferable for Tandy 1000s but is virtually impossible to source.
This is the discussion I support the most because it is the only one of these projects for which I do not own the original card or a reasonable substitute. Like the Innovation SSI-2001, there are only two original cards known to still exist. Cloning this card is more difficult than the Innovation for two reasons. First, the main sound chip is more difficult to source. Second, this card has a PAL chip on it that needs to be decoded. Decoding PAL chips has been done before, but it requires a lot of work and a fair amount of deduction.
http://www.vogons.org/viewtopic.php?f=46&t=40512
Saturday, February 14, 2015
The IBM Music Feature Card - Overpriced, Underperforming, Yet Insanely Desirable
The IBM Music Feature Card (IMFC) was one of IBM's last products for its IBM PC/XT/AT family. Released around March, 1987, it was an 8-bit card that could be used in its PC line, which was deprecated on April 2, 1987 and also in its IBM PS/2 Model 30. IBM's focus had firmly shifted to its PS/2 line and spent most of its R&D developing Microchannel expansion cards. In 1990 IBM began releasing systems with ISA slots that could fit the full-length Music Feature card, but by that time, the card has been discontinued.
The IMFC was not cheap at $600.00 ($1,250.00 today) when it was introduced. This was not uncommon, buying IBM was not cheap. The card was designed by Yamaha and contained at its core a Yamaha music chip. The card was also consisted of a complex design of off the shelf logic chips to implement a MIDI interface and features useful to a hardware developer. Because IBM had exclusive access to Yamaha's chip, the YM-2164 OPP, and the card was incredibly expensive and difficult to clone, no clones ever appeared on the market.
IBM barely marketed the card at all, and IBM products appealed to businessmen and white collar types. Musicians were typically anything but. For little more than the cost of the IMFC, a musician could buy a complete Atari 520ST system, which included a built-in MIDI Interface. Thus the card was doomed to failure in the marketplace.
IBM still deserves credit for making the first sound card expansion for general PC use. You certainly could use the card in a non-IBM PC, so long as you had a slot and room to fit it. Unlike the PCjr. sound chip or the PCjr. Speech Adapter, IBM's card was not tied to a specific computer. Other PC expansion cards that generated sound probably predated IBM's card, like the Mindscape Music Board included with the PC version of the Bank Street Music Writer, but the hardware was only intended for use with the manufacturer's software. IBM and Yamaha provided a few utilities for the IMFC, including the Compose and Playrec software. IBM's Storyboard Plus 2.0 has IMFC and PS/2 Speech Adapter support. Software for the card can be found at ftp.oldskool.org/pub.misc/Hardware/IBM/Music Feature Card. The card came with a diagnostics disk and can be tested with a late IBM PC/XT Advanced Diagnostics disk. Some software outside IBM and Yamaha also supported it. Electronic Arts released a special, rare version of Music Construction Set for the card. These include MIDI sequencers like Cakewalk Pro ans Voyetra Sequencer Plus, most of Sierra's games from 1988-1990.
The card itself has two features. First is an 8-voice sound generator centered around the YM-2164. This eight voice polyphonic/multitimbral chip can access 240 preset instruments and 96 user created instruments. It generates sound through four-operator FM synthesis and supports stereo sound output. The sound generator is identical to the Yamaha FB-01 MIDI Module with the exceptions that the FB-01 can save user patches and configurations and has external controls. The second is a MIDI interface that is used to communicate with the sound generator and other devices. Windows never supported the MIDI Interface or the card's sound hardware.
The IMFC came with a MIDI breakout box that consisted of one MIDI IN, one MIDI OUT and one MIDI THRU port, all DIN-5s of course. It allowed the MIDI interface to control external MIDI devices and external MIDI devices to control the sound hardware on the card. It connected to the expansion cable with nine wires and uses a DE-9 connector. There is no circuitry in the breakout box, so it can be easily replicated. IBM provided full documentation for the card's features in its Options and Adapters manual, and it can be found online at http://www.minuszerodegrees.net/ The breakout box is even rarer than the card itself. It has a PS/2 design.
Competition soon appeared in the face of the Adlib Music Synthesizer Card. The Adlib at first was marketed as a music creation tool with its Visual Composer software. The Adlib card uses a two operator FM Synthesis chip from Yamaha, the YM-3812, but Adlib intentionally scratched off the part number to obscure the identity of the chip. Unlike the IMFC, the Adlib was a simple card which required programmers to access the sound chip's registers directly. The Adlib was introduced at $219.99, roughly 1/3 of the price of the IBM card and came with software as well. The Adlib was not a huge hit until it started to be adopted for games toward the end of 1988. Creative Technology also sold its Creative Music System package as well around this time, but its PSG based sound was not well received and it was not successful. Roland had been marketing its MPU-401 Interface for several years and had interface cards for the IBM PC and any clone with an ISA slot, but it could be used with any MIDI hardware. In the days before General MIDI, MIDI capabilities and features varied tremendously from manufacturer to manufacturer and product to product.
The IMFC has a pair of dipswitches to set the address, and there are only two official selections. If switch one is "OFF", you get the default base address of 2A20 and if "ON", you get the alternative address of 2A30. Because many cards or systems only decode 10 bits of the I/O address bus, these selections will frequently overlap with I/O addresses 220, 230, 320 and 330. You may issues if you have a Sound Blaster or a Roland MPU-401 or a Gravis Ultrasound installed at the same address. It also uses an IRQ, any from 3-7. Yamaha's software uses the IRQ and is very speed sensitive and does not work in a 386 or faster system. Sierra's software does not have a problem with system speeds and the IMFC. Officially, IBM allowed for two IMFCs in a single system, the other two I/O address settings were not documented. IBM PC/XT slot 8 operation is not supported and it does not fit in that slot or slot 7 in an IBM PC/XT case anyway.
The IMFC with its breakout box has two small advantages over other "modules on a card" like the Roland LAPC-I, SCC-1 and MPU-401AT with a daughterboard. First, the sound generator can accept sysex from its MIDI IN without any settings in the MIDI interface needing to be changed. Second, the sound generator can receive MIDI input and send MIDI output. The sound generators on the Roland devices can only receive MIDI Input, they cannot send MIDI output. Therefore, you cannot simply dump a game's patches from a LAPC-I by transmitting a dump receive command to the sound generator, the data that the sound generator wants to send will go nowhere. This allows the card to be used as an FB-01 just by powering on the system. Additionally, unlike the FB-01, you do not need to turn the memory protection to OFF to allow the sound generator to receive custom patches and configurations. However, you may need to reset the system with the IMFC between games.
If the IMFC card had been only supported by IBM and Yamaha, it probably would have faded into obscurity and have been almost forgotten. The IBM marquee would have ensured some level of vintage recognition, but Sierra On-line gave it a lot more. Sierra, when it developed its SCI engine, focused on supporting music devices for every computer user's budget. Uses with no sound card would have to make do with the PC Speaker and PCjr. and Tandy 1000 users could hear 3-voice music from their system. Sierra identified the Adlib Music Synthesizer as an appropriate low-end card and the Roland MT-32 with the MPU-401 as a high end solution. IBM's card was the only other device with any meaningful market penetration and a published Technical Reference manual, so Sierra supported it as well in its SCI engine adventure games, starting with King's Quest IV in September, 1988.
Unfortunately, chip music was not the strong suit of Sierra's in house or contracted musicians. Their strength was with the MT-32, hence their sound tracks were optimized for that device. The music for its games simply was not as impressive on the Adlib and Tandy chips. However, because the Adlib was much cheaper than the MT-32, Sierra at least tried to make their music sound decent on it. Tandy 1000 systems were still very popular and Sierra was still a strong supporter of that PC offshoot at this time. If the MT-32 was Sierra's first tier sound device, the Adlib and Tandy were the second tier. Unfortunately, the IMFC was definitely in the third tier. Sierra did not spend sufficient resources to make its music sound good on the Music Feature. Its music scores played to the strengths of the MT-32, not the advanced FM synthesis of the IMFC. It spent even less time with later supported music devices like the CMS Game Blaster, the Casio MT-540/CT-460/CSM-1 and other synthesizers.
There is no question that the hardware inside the IMFC can be used to make great music, even though access to its registers is indirect via voice parameters. The YM-2614 is in the same family as the YM-2151 OPM chip. A very close cousin is the YM-2612 found in the Sega Genesis and Fujitsu FM-Towns. The YM-2151 was used as one of or the main music chip in countless arcade games and the Sharp X-1 and X68000. Even the YM-3812 in the Adlib, Sound Blaster and their clones could be coaxed, in the right hands, to produce memorable tunes. Unfortunately, Sierra's musicians were not the "right hands". In fact, most of Sierra's games sound much better on the Adlib than they did on the Music Feature, despite the latter having far more potential. However, the MT-32 and Roland MPU-IPC, at $550.00, was cheaper than IBM's card and totally blew it out of the water once you heard both in any Sierra game. Ken Williams, President of Sierra On-Line, Inc., rather obliquely recognized this in his letter included in Sierra's games discussing the advantages of sound cards :
"A third card, from IBM, is also of exceptional quality, and out products do support it, but it carries a high price when compared feature by feature with the Ad Lib or MT-32."
Sierra sold the Ad Lib and MT-32 directly but told customers to order the IMFC directly from their local IBM dealer.
Sierra eventually supported the external FB-01 when attached to a Roland MPU-401 interface. The MPU-401 MIDI Interface is totally incompatible with the IMFC MIDI interface. Most of its games support or can be easily be made to support this music through either the Music Feature or the FB-01. Here is a list of games and what each supports :
If you ever come across someone advertising a CIB Music Feature, you should expect to find inside the box the card itself, the breakout box with an IBM logo, a black retaining bracket to support a full length card, the installation manual and diagnostics diskettes. The CIB Music Feature that sold for $1,225.00 came with [PC & XT] Diagnostics v2.24, Diagnostics for IBM Personal Computer AT and IBM Personal Computer XT Model 286 v2.07, both on 5.25" floppies and IBM Personal System/2 Model 30 Starter Diskette v1.03 on 3.5" disk. The included disks and version numbers may vary a bit
The IMFC was not cheap at $600.00 ($1,250.00 today) when it was introduced. This was not uncommon, buying IBM was not cheap. The card was designed by Yamaha and contained at its core a Yamaha music chip. The card was also consisted of a complex design of off the shelf logic chips to implement a MIDI interface and features useful to a hardware developer. Because IBM had exclusive access to Yamaha's chip, the YM-2164 OPP, and the card was incredibly expensive and difficult to clone, no clones ever appeared on the market.
IBM barely marketed the card at all, and IBM products appealed to businessmen and white collar types. Musicians were typically anything but. For little more than the cost of the IMFC, a musician could buy a complete Atari 520ST system, which included a built-in MIDI Interface. Thus the card was doomed to failure in the marketplace.
IBM still deserves credit for making the first sound card expansion for general PC use. You certainly could use the card in a non-IBM PC, so long as you had a slot and room to fit it. Unlike the PCjr. sound chip or the PCjr. Speech Adapter, IBM's card was not tied to a specific computer. Other PC expansion cards that generated sound probably predated IBM's card, like the Mindscape Music Board included with the PC version of the Bank Street Music Writer, but the hardware was only intended for use with the manufacturer's software. IBM and Yamaha provided a few utilities for the IMFC, including the Compose and Playrec software. IBM's Storyboard Plus 2.0 has IMFC and PS/2 Speech Adapter support. Software for the card can be found at ftp.oldskool.org/pub.misc/Hardware/IBM/Music Feature Card. The card came with a diagnostics disk and can be tested with a late IBM PC/XT Advanced Diagnostics disk. Some software outside IBM and Yamaha also supported it. Electronic Arts released a special, rare version of Music Construction Set for the card. These include MIDI sequencers like Cakewalk Pro ans Voyetra Sequencer Plus, most of Sierra's games from 1988-1990.
The card itself has two features. First is an 8-voice sound generator centered around the YM-2164. This eight voice polyphonic/multitimbral chip can access 240 preset instruments and 96 user created instruments. It generates sound through four-operator FM synthesis and supports stereo sound output. The sound generator is identical to the Yamaha FB-01 MIDI Module with the exceptions that the FB-01 can save user patches and configurations and has external controls. The second is a MIDI interface that is used to communicate with the sound generator and other devices. Windows never supported the MIDI Interface or the card's sound hardware.
Competition soon appeared in the face of the Adlib Music Synthesizer Card. The Adlib at first was marketed as a music creation tool with its Visual Composer software. The Adlib card uses a two operator FM Synthesis chip from Yamaha, the YM-3812, but Adlib intentionally scratched off the part number to obscure the identity of the chip. Unlike the IMFC, the Adlib was a simple card which required programmers to access the sound chip's registers directly. The Adlib was introduced at $219.99, roughly 1/3 of the price of the IBM card and came with software as well. The Adlib was not a huge hit until it started to be adopted for games toward the end of 1988. Creative Technology also sold its Creative Music System package as well around this time, but its PSG based sound was not well received and it was not successful. Roland had been marketing its MPU-401 Interface for several years and had interface cards for the IBM PC and any clone with an ISA slot, but it could be used with any MIDI hardware. In the days before General MIDI, MIDI capabilities and features varied tremendously from manufacturer to manufacturer and product to product.
The IMFC has a pair of dipswitches to set the address, and there are only two official selections. If switch one is "OFF", you get the default base address of 2A20 and if "ON", you get the alternative address of 2A30. Because many cards or systems only decode 10 bits of the I/O address bus, these selections will frequently overlap with I/O addresses 220, 230, 320 and 330. You may issues if you have a Sound Blaster or a Roland MPU-401 or a Gravis Ultrasound installed at the same address. It also uses an IRQ, any from 3-7. Yamaha's software uses the IRQ and is very speed sensitive and does not work in a 386 or faster system. Sierra's software does not have a problem with system speeds and the IMFC. Officially, IBM allowed for two IMFCs in a single system, the other two I/O address settings were not documented. IBM PC/XT slot 8 operation is not supported and it does not fit in that slot or slot 7 in an IBM PC/XT case anyway.
![]() |
| IBM Music Feature Breakout Box |
If the IMFC card had been only supported by IBM and Yamaha, it probably would have faded into obscurity and have been almost forgotten. The IBM marquee would have ensured some level of vintage recognition, but Sierra On-line gave it a lot more. Sierra, when it developed its SCI engine, focused on supporting music devices for every computer user's budget. Uses with no sound card would have to make do with the PC Speaker and PCjr. and Tandy 1000 users could hear 3-voice music from their system. Sierra identified the Adlib Music Synthesizer as an appropriate low-end card and the Roland MT-32 with the MPU-401 as a high end solution. IBM's card was the only other device with any meaningful market penetration and a published Technical Reference manual, so Sierra supported it as well in its SCI engine adventure games, starting with King's Quest IV in September, 1988.
Unfortunately, chip music was not the strong suit of Sierra's in house or contracted musicians. Their strength was with the MT-32, hence their sound tracks were optimized for that device. The music for its games simply was not as impressive on the Adlib and Tandy chips. However, because the Adlib was much cheaper than the MT-32, Sierra at least tried to make their music sound decent on it. Tandy 1000 systems were still very popular and Sierra was still a strong supporter of that PC offshoot at this time. If the MT-32 was Sierra's first tier sound device, the Adlib and Tandy were the second tier. Unfortunately, the IMFC was definitely in the third tier. Sierra did not spend sufficient resources to make its music sound good on the Music Feature. Its music scores played to the strengths of the MT-32, not the advanced FM synthesis of the IMFC. It spent even less time with later supported music devices like the CMS Game Blaster, the Casio MT-540/CT-460/CSM-1 and other synthesizers.
There is no question that the hardware inside the IMFC can be used to make great music, even though access to its registers is indirect via voice parameters. The YM-2614 is in the same family as the YM-2151 OPM chip. A very close cousin is the YM-2612 found in the Sega Genesis and Fujitsu FM-Towns. The YM-2151 was used as one of or the main music chip in countless arcade games and the Sharp X-1 and X68000. Even the YM-3812 in the Adlib, Sound Blaster and their clones could be coaxed, in the right hands, to produce memorable tunes. Unfortunately, Sierra's musicians were not the "right hands". In fact, most of Sierra's games sound much better on the Adlib than they did on the Music Feature, despite the latter having far more potential. However, the MT-32 and Roland MPU-IPC, at $550.00, was cheaper than IBM's card and totally blew it out of the water once you heard both in any Sierra game. Ken Williams, President of Sierra On-Line, Inc., rather obliquely recognized this in his letter included in Sierra's games discussing the advantages of sound cards :
"A third card, from IBM, is also of exceptional quality, and out products do support it, but it carries a high price when compared feature by feature with the Ad Lib or MT-32."
Sierra sold the Ad Lib and MT-32 directly but told customers to order the IMFC directly from their local IBM dealer.
Sierra eventually supported the external FB-01 when attached to a Roland MPU-401 interface. The MPU-401 MIDI Interface is totally incompatible with the IMFC MIDI interface. Most of its games support or can be easily be made to support this music through either the Music Feature or the FB-01. Here is a list of games and what each supports :
| SCI0 Games | IMFC | FB-01 | Notes |
| King's Quest IV | Y | New Only | v1.003.006 or later for FB-01 |
| Leisure Suit Larry 2 | Y | New Only | v1.002.000 or later for FB-01 |
| Leisure Suit Larry 3 | Y | Y | |
| The Colonel's Bequest | Y | Y | |
| Space Quest III | Y | Y | |
| Codename: Iceman | Y | Y | |
| Hero's Quest/Quest for Glory | Y | Y | |
| Hoyle's Official Book of Games | Y | Y | |
| Police Quest II | Y | Y | |
| Conquests of Camelot | Patch | Patch | |
| King's Quest I SCI | N | Y | Crashes often with IMFC |
| Mixed Up Mother Goose | Patch | Patch | |
| SCI1 Games | IMFC | FB-01 | Notes |
| Jones in the Fast Lane | Patch | N | |
| King's Quest V | Patch | N | |
| Quest for Glory 2 | Patch | N | |
| Game Arts/Falcom Ports | IMFC | FB-01 | Notes |
| Sorcerian | Buggy | Buggy | |
| Thexder 2 | Patch | N | |
| Silpheed | Y | New Only | v2.x or later for FB-01 |
| SCI0 Demos and Previews | IMFC | FB-01 | Notes |
| 1988 Christmas Card | Y | N | |
| Astro Chicken 1 | Y | Y | |
| Astro Chicken 2 | Y | Y | |
| Fun Seeker's Guide | Y | Patch |
For the entries in the above table marked Patch, if the game has a IMF.DRV file, all it needs for FB-01 support is the FB01.DRV file, which can be found from another game using the same engine. If the game does not have an IMF.DRV file, then not only will it need that file but also a file named PATCH.002. If you can find an FB01.DRV from another game with the engine, it should work as well. If there is an N underneath the FB-01 column, that means that no working FB01.DRV works with the game.
The games Sierra released in 1990, for the most part, only supported the IMFC by patches. After 1990 Sierra discontinued support for the IMFC and other MIDI devices which it had previously provided some support. By that time, IBM had discontinued the card. At that point, it only served as a MIDI device which had no Windows support, so interest must have withered away. No game companies other than Sierra ever supported the IBMC.
When I acquired mine around 2007, I was able to get it for about $120.00 on ebay from one of those crusty sellers who take the worst cell phone pictures and have a vastly inflated sense of value for most of their stuff. I later found the breakout box for about $40.00. On January 14, 2016, a fully boxed and complete Music Feature went for $1,225.00. Cards with the breakout box can go from anywhere from $300-$880. I believe there are at least twenty specimens of the card known to exist in the hands of various collectors. Considering what the IMFC was capable of, these prices are unreal.
Here are links with varied samples of the card's output :
The rather plain, PS/2 style box the card came in can be seen in this video :
If you ever come across someone advertising a CIB Music Feature, you should expect to find inside the box the card itself, the breakout box with an IBM logo, a black retaining bracket to support a full length card, the installation manual and diagnostics diskettes. The CIB Music Feature that sold for $1,225.00 came with [PC & XT] Diagnostics v2.24, Diagnostics for IBM Personal Computer AT and IBM Personal Computer XT Model 286 v2.07, both on 5.25" floppies and IBM Personal System/2 Model 30 Starter Diskette v1.03 on 3.5" disk. The included disks and version numbers may vary a bit
IBM Music Feature Cards generally come in two varieties, one with a socketed EPROM in U34 and another with a Mask ROM in U34. The EPROM cards came earlier than the Mask ROM cards. However, there are two revisions of the Mask ROM card, the difference being a fix to the diode/resistor/capacitor jumble at C26. In the older card, there is a diode and a resistor soldered to the legs of the capacitor in a hot-fix way. In the card I own, the later Mask ROM card, there are plated holes and labels for the resistor and diode. All the EPROM cards I have seen appear to be the same revision. I do not know if there are any revisions to the code in the EPROM, but all photos I have seen of the EPROM seem to have the same label over the erase window.
| IBM Music Feature Card - Earlier Edition (Wikipedia image) |
![]() |
| IBM Music Feature - Later Edition |
If you need documentation or diagnostics for the Music Feature, you can find everything you need here :
ftp.oldskool.org/pub/misc/Hardware/IBM/Music Feature Card - has the technical reference and programs you could have obtained separately.
http://www.ibm-pc.org/manuals/ibm/options/options.htm - has the installation manual which came with the Music Feature
There are no drivers for this card, the card only came with Diagnostics disks. You can find them here : http://www.ibm-pc.org/diagnostic/ibm/ibm.htm Always use the latest dated version.
If you have a Music Feature Card and the EPROM becomes corrupted, you can burn a new EPROM with the firmware located here : http://www.ibm-pc.org/firmware/ibm/options/options.htm
ftp.oldskool.org/pub/misc/Hardware/IBM/Music Feature Card - has the technical reference and programs you could have obtained separately.
http://www.ibm-pc.org/manuals/ibm/options/options.htm - has the installation manual which came with the Music Feature
There are no drivers for this card, the card only came with Diagnostics disks. You can find them here : http://www.ibm-pc.org/diagnostic/ibm/ibm.htm Always use the latest dated version.
If you have a Music Feature Card and the EPROM becomes corrupted, you can burn a new EPROM with the firmware located here : http://www.ibm-pc.org/firmware/ibm/options/options.htm
Wednesday, September 10, 2014
The Mysterious Covox PC Sound Devices
Covox, Inc. had a niche throughout the 80s and early 90s for making devices that could support some type of speech with home computers. One of its first products was called the Covox Voice Master. There was a version for the Apple II and the Atari 8-bit computers and the Commodore 64.
Covox Speech Thing
One of Covox's original PC products was the Covox Speech Thing. This was a parallel port dongle that functioned as a digital to analog converter. The 8 data bits of the parallel port would pass through a resistor network and then to an audio output jack. This device was supposedly released around 1986. However, it was purely software driven, the CPU had to feed the DAC bytes at a certain sampling rate to allow for convincing digitized sound. This is a direct drive DAC. Typically 11kHz was considered the standard for comprehensible human speech, and the resulting performance impact on the IBM PCs of the day was considerably high. The methods used to create digitized sound on the PC speaker or Tandy 3-voice chip have similar performance issues. In fact, I do not know of any games supporting this device until 1990.
A true Covox Speech Thing came in at least the two varieties shown here :
The one with the white shell has a 3.5mm and a 2.5mm output jack, the one with a gray shell only has the 3.5mm jack and it is larger, so it is probably an older variant.
A sample of what the Speech Thing sounds like can be heard in this video : https://www.youtube.com/watch?v=spOenlrSSOE
As the Speech Thing is a parallel port device, games that support it will typically allow it to be selected at LPT1-3, depending on which device name the BIOS uses for each parallel port it detects in the system.
Speech Thing Clones
There is nothing special about the Covox Speech Thing, it should consist of purely passive components and the functionality behind the device was widely cloned. There are schematics available online which you can use to build your own Speech Thing with only a few dollars worth of resistors and a DB-25 connector and shell.
FTL released a version of Dungeon Master with a Covox-style parallel port DAC. It was called the FTL Sound Adapter. Rather weirdly for a game designed for mouse input, the adapter had a DE-9 port to plug in an Atari joystick, which presumably used the input lines of the parallel port. FTL's device could be detected by Dungeon Master, a standard Covox device cannot be detected.
Around the same time (1990), Disney Software released an inexpensive parallel port device called the Disney Sound Source. The dongle connects to a speaker powered by a 9v battery, and device has active circuitry that is powered from the speaker. It has several advantages over the Covox, a good low pass filter (no high pitched whines), a 16-byte FIFO that is transfered to the DAC at a fixed sample rate of 7kHz. It can be autodetected; The low sampling rate limits the ability of the device to play back music, but it is quite adequate for speech and sound effects. While Disney Sound Source works with Covox devices, the latter is not true because the DSS has control commands that must be sent for the adapter to work and does not support the variable rates of a dumb device like the Speech Thing.
Covox Voice Master and Voice Master Key
There was two Covox ISA cards, I believe one was the Voice Master and the other was the less functional Voice Master Key (not to be confused with the Voice Master Key System II). Presumably this is the circuitry of the external Voice Master box put on a sound card. One of the great benefits of any ISA device over a parallel port device for speech synthesis is its ability to be able to use DMA access to feed its DAC directly with minimal CPU intervention. This requires the signals on the ISA bus to access a DMA channel and an IRQ channel to tell the program that the buffer is low or empty. Because 8-bit DMA in the PC is limited to a single 64KB segment, digitized sound typically would fit into 64KB, and if a longer sample was used, more 64KB samples would be fed into the buffer.
If this is the Voice Master card, then it would fit the necessary criteria for DMA usage:
The large chip is an 82C54, a Programmable Interval Timer which contains the counters necessary for DMA usage. There is also a VMDMA 1.2 silkscreened on the PCB. The card can use I/O ranges at 22x (default), 24x, 28x and 2Cx, DMA 1 (default) or 3 and IRQ 3, 4, 5, 6 or 7 (default). Its DAC port is 22F.
Even though this picture is very poor, I believe this to be the Voice Master Key card :
This card has no counter and would seem to have no DMA capability. I do not know what DAC port it uses.
Both cards have two M(icrophone) inputs, as does the Sound Master II. According to a poster for the Sound Master II, one input supports Dynamic microphones and the other input supports line level input or Condenser microphones. All output on all these cards is mono.
A second huge benefit of the ISA bus is the ability to support analog to digital conversion. A standard PC parallel port is not designed to function as an input device. The standard, unidirectional port only has 5 input lines and some of them are inverted. (An Atari CX-40 joystick has exactly five inputs, which makes the FTL adapter described above theoretically work without any active components.) While you can read the port eight times to get the least common multiple, it is generally easier just to read the 8 data bits of the ISA bus. The Voice Master can record voices. For non-DMA devices, it can poll the input port at whatever rate the system can support and the available memory will allow.
Covox Sound Master
When the Adlib Music Synthesizer Card was released, the card eventually sparked a great interest in sound cards, mainly for gaming purposes. Covox Sound Master was one such card and it became available in 1989. The Sound Master was almost a trial run for the Sound Blaster, but it was not successful or widely adopted in games. This card contained a Microchip AY8930 music chip that was backward compatible with the popular General Instruments AY-3-8910 3-voice PSG. It also had a few improvements, but they were seldom used. The AY-3-8910 and AY8930's registers could be read, unlike the TI SN76496's registers, allowing it to be used as a timer for DMA usage. The tone registers act as a 12-bit counter and the programmer can read the values, allowing for their usage as crude timers.
The card did support direct drive and DMA fed methods for accessing the DAC. There is a silkscreened VMDMA 1.3 on the PCB. Finally, it had two DE-9 ports for using Atari-style joysticks. These should only be used for true Atari CX-40 style joysticks and Sega Master System pads. The Sound Master does not emulate a standard gameport, the bits from the joysticks are read via a pair of latches. It was supported in only a few games, SimCity being the most prominent.
Do not use anything which requires +5v volts like Atari/Commodore Paddles or a Sega Genesis pad, or you may blow the latch chips. The card only has an audio output jack, so it cannot record voices. This is the best photo I have come across of the card (with its PAL chip removed) :
The card can use I/O ranges at 22x (default), 24x, 28x and 2Cx, DMA 1 (default) or 3 and IRQ 3 or 7 (default). Its direct write DAC port is at 222, 242, 282 or 2C2.
The Sound Master was not a popular card, the joystick ports were not standard and the music chip was behind the times compared to the FM-synthesis based Adlib, and few companies supported it. The Covox Sound Master is extremely rare, like the Innovation SSI-2001, only two original cards are known to exist today.
Here are a few samples of AY music from the card, all recorded by a VOGONS user named moturimi1 :
Covox Sound Master Plus and Sound Master II
Covox struck back with two new products in 1991, the budget Covox Sound Master Plus and the Covox Sound Master II. Neither were particularly successful, and by 1993 Covox was essentially dead. The Covox Sound Master Plus was an Adlib clone with the ability output digitized sound via direct drive methods. I believe this is a photo of the card :
The Adlib ports can be changed from the default 388-389 to 380-381 and the DAC port from 330 to 338.
The Sound Master II was closer to a Sound Blaster. It had the OPL2 YM-3812 FM Synthesizer found on the Adlib Music Synthesizer, MIDI in and out via a DE-9 port and a dongle and direct drive and DAC fed digitized sound input and output. Its MIDI is probably based off the MC6850 ACIA, so it would not be MPU-401 compatible. It did not have a gameport, which must have hurt its sales.
The Sound Master II has an NEC D71054C Programmable Timer/Counter. From what I can tell, this chip is compatible with the 82C54 chip found on the Voice Master. Stamped on one of its chips is VMDMA 3.0. This is what it looks like :
Like the Voice Master and Voice Master Key, the Sound Master II has a pair of input jacks, marked M1 and M2. The card can use I/O ranges at 22x (default), 24x, 26x and 28x, DMA 1 (default) or 3 and IRQ 3, 4, 5, 6 or 7 (default). There are selections for DMA and MIDI IRQs. The MIDI port defaults to 330-331, but can be changed to 338-339. The Adlib ports can be changed from the default 388-389 to 380-381. Its direct write DAC port is at 22F, 24F, 26F or 28F.
The Sound Master, Sound Master Plus and Sound Master II had a 2-pin header on their boards that could be used to mix the input of the PC Speaker with the output from the card, similar to a Sound Blaster Pro and above. All of Covox's boards typically had a round "Proud to say - Made in USA" sticker on them.
Feature Summary
Game Support
Comments on Games
Covox Speech Thing
One of Covox's original PC products was the Covox Speech Thing. This was a parallel port dongle that functioned as a digital to analog converter. The 8 data bits of the parallel port would pass through a resistor network and then to an audio output jack. This device was supposedly released around 1986. However, it was purely software driven, the CPU had to feed the DAC bytes at a certain sampling rate to allow for convincing digitized sound. This is a direct drive DAC. Typically 11kHz was considered the standard for comprehensible human speech, and the resulting performance impact on the IBM PCs of the day was considerably high. The methods used to create digitized sound on the PC speaker or Tandy 3-voice chip have similar performance issues. In fact, I do not know of any games supporting this device until 1990.
A true Covox Speech Thing came in at least the two varieties shown here :
The one with the white shell has a 3.5mm and a 2.5mm output jack, the one with a gray shell only has the 3.5mm jack and it is larger, so it is probably an older variant.
A sample of what the Speech Thing sounds like can be heard in this video : https://www.youtube.com/watch?v=spOenlrSSOE
As the Speech Thing is a parallel port device, games that support it will typically allow it to be selected at LPT1-3, depending on which device name the BIOS uses for each parallel port it detects in the system.
Speech Thing Clones
There is nothing special about the Covox Speech Thing, it should consist of purely passive components and the functionality behind the device was widely cloned. There are schematics available online which you can use to build your own Speech Thing with only a few dollars worth of resistors and a DB-25 connector and shell.
FTL released a version of Dungeon Master with a Covox-style parallel port DAC. It was called the FTL Sound Adapter. Rather weirdly for a game designed for mouse input, the adapter had a DE-9 port to plug in an Atari joystick, which presumably used the input lines of the parallel port. FTL's device could be detected by Dungeon Master, a standard Covox device cannot be detected.
Around the same time (1990), Disney Software released an inexpensive parallel port device called the Disney Sound Source. The dongle connects to a speaker powered by a 9v battery, and device has active circuitry that is powered from the speaker. It has several advantages over the Covox, a good low pass filter (no high pitched whines), a 16-byte FIFO that is transfered to the DAC at a fixed sample rate of 7kHz. It can be autodetected; The low sampling rate limits the ability of the device to play back music, but it is quite adequate for speech and sound effects. While Disney Sound Source works with Covox devices, the latter is not true because the DSS has control commands that must be sent for the adapter to work and does not support the variable rates of a dumb device like the Speech Thing.
Covox Voice Master and Voice Master Key
There was two Covox ISA cards, I believe one was the Voice Master and the other was the less functional Voice Master Key (not to be confused with the Voice Master Key System II). Presumably this is the circuitry of the external Voice Master box put on a sound card. One of the great benefits of any ISA device over a parallel port device for speech synthesis is its ability to be able to use DMA access to feed its DAC directly with minimal CPU intervention. This requires the signals on the ISA bus to access a DMA channel and an IRQ channel to tell the program that the buffer is low or empty. Because 8-bit DMA in the PC is limited to a single 64KB segment, digitized sound typically would fit into 64KB, and if a longer sample was used, more 64KB samples would be fed into the buffer.
If this is the Voice Master card, then it would fit the necessary criteria for DMA usage:
The large chip is an 82C54, a Programmable Interval Timer which contains the counters necessary for DMA usage. There is also a VMDMA 1.2 silkscreened on the PCB. The card can use I/O ranges at 22x (default), 24x, 28x and 2Cx, DMA 1 (default) or 3 and IRQ 3, 4, 5, 6 or 7 (default). Its DAC port is 22F.
Even though this picture is very poor, I believe this to be the Voice Master Key card :
This card has no counter and would seem to have no DMA capability. I do not know what DAC port it uses.
Both cards have two M(icrophone) inputs, as does the Sound Master II. According to a poster for the Sound Master II, one input supports Dynamic microphones and the other input supports line level input or Condenser microphones. All output on all these cards is mono.
A second huge benefit of the ISA bus is the ability to support analog to digital conversion. A standard PC parallel port is not designed to function as an input device. The standard, unidirectional port only has 5 input lines and some of them are inverted. (An Atari CX-40 joystick has exactly five inputs, which makes the FTL adapter described above theoretically work without any active components.) While you can read the port eight times to get the least common multiple, it is generally easier just to read the 8 data bits of the ISA bus. The Voice Master can record voices. For non-DMA devices, it can poll the input port at whatever rate the system can support and the available memory will allow.
Covox Sound Master
When the Adlib Music Synthesizer Card was released, the card eventually sparked a great interest in sound cards, mainly for gaming purposes. Covox Sound Master was one such card and it became available in 1989. The Sound Master was almost a trial run for the Sound Blaster, but it was not successful or widely adopted in games. This card contained a Microchip AY8930 music chip that was backward compatible with the popular General Instruments AY-3-8910 3-voice PSG. It also had a few improvements, but they were seldom used. The AY-3-8910 and AY8930's registers could be read, unlike the TI SN76496's registers, allowing it to be used as a timer for DMA usage. The tone registers act as a 12-bit counter and the programmer can read the values, allowing for their usage as crude timers.
The card did support direct drive and DMA fed methods for accessing the DAC. There is a silkscreened VMDMA 1.3 on the PCB. Finally, it had two DE-9 ports for using Atari-style joysticks. These should only be used for true Atari CX-40 style joysticks and Sega Master System pads. The Sound Master does not emulate a standard gameport, the bits from the joysticks are read via a pair of latches. It was supported in only a few games, SimCity being the most prominent.
Do not use anything which requires +5v volts like Atari/Commodore Paddles or a Sega Genesis pad, or you may blow the latch chips. The card only has an audio output jack, so it cannot record voices. This is the best photo I have come across of the card (with its PAL chip removed) :
The card can use I/O ranges at 22x (default), 24x, 28x and 2Cx, DMA 1 (default) or 3 and IRQ 3 or 7 (default). Its direct write DAC port is at 222, 242, 282 or 2C2.
The Sound Master was not a popular card, the joystick ports were not standard and the music chip was behind the times compared to the FM-synthesis based Adlib, and few companies supported it. The Covox Sound Master is extremely rare, like the Innovation SSI-2001, only two original cards are known to exist today.
Here are a few samples of AY music from the card, all recorded by a VOGONS user named moturimi1 :
Covox Sound Master Plus and Sound Master II
Covox struck back with two new products in 1991, the budget Covox Sound Master Plus and the Covox Sound Master II. Neither were particularly successful, and by 1993 Covox was essentially dead. The Covox Sound Master Plus was an Adlib clone with the ability output digitized sound via direct drive methods. I believe this is a photo of the card :
The Adlib ports can be changed from the default 388-389 to 380-381 and the DAC port from 330 to 338.
The Sound Master II was closer to a Sound Blaster. It had the OPL2 YM-3812 FM Synthesizer found on the Adlib Music Synthesizer, MIDI in and out via a DE-9 port and a dongle and direct drive and DAC fed digitized sound input and output. Its MIDI is probably based off the MC6850 ACIA, so it would not be MPU-401 compatible. It did not have a gameport, which must have hurt its sales.
The Sound Master II has an NEC D71054C Programmable Timer/Counter. From what I can tell, this chip is compatible with the 82C54 chip found on the Voice Master. Stamped on one of its chips is VMDMA 3.0. This is what it looks like :
Like the Voice Master and Voice Master Key, the Sound Master II has a pair of input jacks, marked M1 and M2. The card can use I/O ranges at 22x (default), 24x, 26x and 28x, DMA 1 (default) or 3 and IRQ 3, 4, 5, 6 or 7 (default). There are selections for DMA and MIDI IRQs. The MIDI port defaults to 330-331, but can be changed to 338-339. The Adlib ports can be changed from the default 388-389 to 380-381. Its direct write DAC port is at 22F, 24F, 26F or 28F.
The Sound Master, Sound Master Plus and Sound Master II had a 2-pin header on their boards that could be used to mix the input of the PC Speaker with the output from the card, similar to a Sound Blaster Pro and above. All of Covox's boards typically had a round "Proud to say - Made in USA" sticker on them.
Feature Summary
| Device Name | Bus Type | Music Chip | DMA | Gameport | MIDI | Voice Input | PC Speaker Input |
| Covox Speech Thing | Parallel Port | None | No | No | No | No | No |
| Covox Voice Master | ISA 8-bit | None | Yes | No | No | Yes x 2 | Yes |
| Covox Voice Master Key | ISA 8-bit | None | No | No | No | Yes x 2 | No |
| Covox Sound Master | ISA 8-bit | AY8930 | Yes | Non-standard | No | No | Yes |
| Covox Sound Master Plus | ISA 8-bit | YM-3812 | No | No | No | No | Yes |
| Covox Sound Master II | ISA 8-bit | YM-3812 | Yes | No | Non-standard | Yes x 2 | Yes |
Game Support
| Game Name | Covox Speech Thing | Covox Voice Master | Covox Sound Master | Covox Sound Master Plus | Covox Sound Master II |
| Alone in the Dark | DMA | Music, DAC? | Music, DAC | ||
| BattleTech : The Crescent Hawks' Revenge | DAC | Music | |||
| Big Business | DAC | DAC | |||
| Cobra Mission | Music | ||||
| Conan – The Cimmerian | Music | ||||
| F-14 Tomcat | DAC | Music | |||
| Galleons of Glory: The Secret Voyage of Magellan | Music, DMA | ||||
| Grandmaster Chess | DAC | Music | |||
| Joe Montana Football | DAC | Music | |||
| Lemmings (Covox Demo) | Music | ||||
| MegaTraveller 1: The Zhodani Conspiracy | DAC | ||||
| MegaTraveller 2: Quest for the Ancients | Music, DMA | ||||
| Pinball Dreams | DAC | DMA | DMA | ||
| Pinball Dreams 2 | DAC | DMA | DMA | ||
| Pinball Fantasies | DAC | DMA | DMA | ||
| Prince of Persia | Music, DMA | ||||
| Call of Cthulhu: Shadow of the Comet | Music, DAC | ||||
| SimCity | DMA | ||||
| SimEarth: The Living Planet | Music | ||||
| Space 1899 | DAC | ||||
| Spirit of Excalibur | Music | ||||
| Super Jeopardy | DAC | DAC | DAC | ||
| The Punisher | DMA | ||||
| Twilight: 2000 | Music | ||||
| Ultima VI : The False Prophet | Music | ||||
| Vengeance of Excalibur | Music | ||||
| Where in the World is Carmen Sandiego? 256-Color Version | Music, DMA | Music | |||
| Where in Time is Carmen Sandiego | Music AY8930, DMA | Music | |||
| Wizardry : Bane of the Cosmic Forge | DAC | DAC | DAC | ||
| Wizardry : Crusaders of the Dark Savant | DAC? | DAC? | “Music DAC” |
Comments on Games
This is not meant to be a truly comprehensive list of game support. While it has categories for both, Mobygames cannot be trusted to distinguish Sound Master supporting games from Sound Master II games. For example, it wrongly states that Eye of the Beholder II: The Legend of Darkmoon and The Lost Files of Sherlock Holmes: The Case of the Serrated Scalpel have support for a Covox device, they do not. Similarly, it claims that Might and Magic III: Isles of Terra has support for the Sound Master, the install program clearly states Covox SMII. Sometimes the box cannot be trusted, as A-Train's system requirements label distinctly mentions the Sound Master, yet there is no actual software support for the card.
Most of the information on this list came from this post : http://www.vogons.org/viewtopic.php?t=18571
If a game is listed that supports the Sound Master II for music, that really means it supports it as an Adlib card and does not take advantage of any digitized sound features of the Sound Master II. This is true of the "Covox Lemmings" demo.
For digitized sound, the Sound Master II and the Voice Master should be identical. Therefore, I am quite confident to say that Super Jeopardy will work on the Sound Master II using the Voice Master setting. Fortunately, the game works well with the Speech Thing.
Where in Time is Carmen Sandiego is the only known game to take advantage of the AY8930's enhanced features over the AY-3-8910 for music. The AY8930 has a 16-bit frequency control for the tone channels, an 8-bit noise frequency control, individual envelope control for each of the three tone channels, 5-bit amplitude control for each channel, a duty cycle control for each channel (to turn a square wave into a rectangle wave) and two registers for noise masking. The AY-3-8910 has a 12-bit frequency control for the tone channels, a 5-bit noise frequency control, one envelope generator for all three channels and a 4-bit amplitude control.
Where in Time is Carmen Sandiego is the only known game to take advantage of the AY8930's enhanced features over the AY-3-8910 for music. The AY8930 has a 16-bit frequency control for the tone channels, an 8-bit noise frequency control, individual envelope control for each of the three tone channels, 5-bit amplitude control for each channel, a duty cycle control for each channel (to turn a square wave into a rectangle wave) and two registers for noise masking. The AY-3-8910 has a 12-bit frequency control for the tone channels, a 5-bit noise frequency control, one envelope generator for all three channels and a 4-bit amplitude control.
For Wizardry : Crusaders of the Dark Savant, while the game has install options for the Sound Master and Voice Master, the game may not actually support either. When sound is supposed to be played, the timer is programmed but no bytes are written to the card's I/O ranges. The previous game supported both by direct-drive writes to their respective DAC ports. The Sound Master II is supported because it uses the same OPL2 direct drive DAC method as the Adlib and Sound Blaster options use. See my prior post for more details. Similarly, Transylvania III: Vanquish the Night has install options for the Speech Thing and Sound Master and installs sound files if those options are selected, but the game does not contain code to interact with these devices.
Finally, the floppy version of Alone in the Dark has a mysterious option for the "Sound Master +" The game only supports FM synthesis, and the options are Adlib, Sound Blaster, Sound Master II and Sound Master +. For sound effects, it supports "Sound Blaster (DMA)", "Sound Blaster (no DMA)", Sound Master II, Internal Voice Master, the Disney Sound Source. I assume that "Sound Blaster (no DMA)" is the option for owners of Sound Blasters with a 1.xx DSP, which did not have support for auto-init DMA. The Sound Master + option gives I/O port selections at 22x, 24x, 28x and 2Cx. The card described above does not quite fit. Therefore, either that card is not the Covox Sound Master Plus, (its just the Covox Adlib clone) or Infogrames was misinformed about the card's features. The driver, when selected, outputs direct drive data to a DAC at 22F. The driver for the Covox Sound Master II does the same, but the game can detect the presence of a Sound Master II and Voice Master and refuses to let you select those options if it does not detect those cards. The Alone in the Dark "Sound Master +", if it ever existed, is an Adlib with a direct drive DAC at 22F, 24F, 28F or 2CF.
Conclusion
The most important devices discussed here are the Speech Thing, which is easy to make and the Sound Master, which is unique both for its music chip and for its music-chip driven DMA method. Unfortunately, they were rarely used, but are valuable because it is the only representative of the widely used AY-3-8910 chip for the PC (a Deluxe version of the Bank Street Music Writer came with a Mockingboard clone, but that was the only software that used that obscure card.) Additionally, there are games like Sim City that do not support any other sound cards for their digital sound, so for Sim City its either the Sound Master or a Tandy TL/SL. Fortunately, like the Innovation SSI-2001 there is some interest in cloning this ultra-rare card.
The Sound Master II and Voice Master are not worth bothering over, a Sound Blaster will always be supported in games
Subscribe to:
Posts (Atom)


















