The Sound Blaster Live! represented Creative Labs return to products which could compete with other sound cards designed for the PCI Bus. First released in 1998, the Live! was Creative's first "real" PCI sound card. Things had changed, competing chipsets had improved in quality, Windows 95's standardization meant that sound drivers did not have to adhere to proprietary hardware as they did with DOS and the use of wholly-digital sound leveled the playing field compared to the DOS era. Let's explore their Live!
Thursday, September 12, 2024
Wednesday, January 17, 2024
King's Quest IV - The First True PC Compatible Game
![]() |
| KQ4 Box, courtesy of MobyGames |
When we think of PC Compatible games, thoughts of freedom may pop into one's mind. Intel, nVidia, AMD, gamers generally have a choice of which hardware to use in their systems. PC games have been, generally speaking, not tied to any particular manufacturer's hardware. Competition within the PC hardware market allowed consumers the luxury of choice. In the 1990s and onwards your motherboard could have been made by one manufacturer, your graphics card by another and so on and you could get a really good gaming experience. But this was not always the case, PC compatible games of the 1980s were often seen as lacking compared to other computers and generic PCs were content to clone rather than innovate. This all began to change in 1988 when King's Quest IV was released. In this blog article I will briefly summarize the evolution of PC gaming hardware and then discuss how KQ4 opened up PC gaming into what would eventually become the default non-console paradigm of how to play video games.
Saturday, December 9, 2023
The Mockingboard 4c - Adding Sound Card Functionality to the Apple IIc
Among the Apple II models, the IIc is undoubtedly the restricted of the bunch. The system integrated just about every necessity for mid-1980s computing, a built in disk drive, serial ports for printing and telecommunications, an external drive and a joystick/mouse port. The Apple II line has been previously well-appreciated for its expandability, with each of the three predecessor models having multiple general-purpose expansion slots. For the compact IIc, there was no capability to upgrade the system internally at first, later IIcs permitted an internal memory expansion. This meant that software that did not use a built in peripheral had to be updated to support similar peripherals which had to be accessed in other ways. Today we are going to look at a product that tried to go a different route and try to answer whether it succeeded!
Friday, October 13, 2023
Is that a Cricket I Hear? - Contemporary Sound Options for the Apple IIc
The "c" in the Apple IIc stood for compact. The Apple IIc was designed to be the epitome of the Apple II series, providing the options most people used in a realistically portable form factor but sacrificing the internal expansion slots which made the predecessor models in the Apple II line so popular. While sound cards like the Mockingboard were not the most popular of expansion cards, about three dozen games and music programs supported them. As there was nowhere to plug in a Mockingboard into a IIc, that left the IIc with only the internal speaker for audio output. But at least two sound products were made specifically for the Apple IIc, and I will take a look at one of them, the Cricket, in this blog article.
Sunday, May 21, 2023
Nibbling Around the Sound Blaster's Lunch - Digital Sound in DOS Games without a Sound Blaster
The Creative Labs Sound Blaster line of cards became the de facto DOS sound card standard in the early 1990s and carried through that dominance until the last DOS games. The Sound Blaster offered many useful features in a single card, an FM synthesizer, a gameport, MIDI functionality but most uniquely a digital sound processor designed to process digital audio input and output with minimal CPU intervention. Gamers saw the value in this "all-in-one" card and bought lots of Sound Blaster cards, which required game developers to support the card and giving Creative a huge lead in the market. Creative was naturally very protective of its technology, which was full of quirks and obscure hardware behaviors. Eventually sound chips from other manufacturers like MediaVision, Crystal Semiconductor, Electronic Speech Systems and Yamaha were available which promised some level of direct Sound Blaster compatibility.
Not everyone could use a Sound Blaster. For some PC gamers, the cost of the cards was out of reach to them. Systems with weird busses like Microchannel have few sound card options and those that are available are rare. Laptops usually did not come with ISA expansion and PCMCIA sound cards are also rare. Some systems just do not have enough slots for a sound card once more essential needs, like a hard drive, are added to the system. In this case a parallel port sound solution may be your only option. Finally there were people disgusted with Creative's monopolistic practices and refused to support the Sound Blaster ecosystem. In this article we will give an overview of digital sound solutions which offered no hardware Sound Blaster compatibility.
Sunday, September 11, 2022
Apple II Sound Cards & Gaming - A Niche Precursor to PC-Compatible Sound Cards
The Apple II was distinctive when it was released because it was the first microcomputer and the only one of the "1977 Trinity" of consumer-friendly computers (TRS-80 and Commodore PET being the other two) to come with any kind of audio capabilities built in. Those capabilities were primitive, a speaker that could be clicked in software by the CPU. Other computers followed with sound chips built in like the Atari 400 and 800, the TI 99/4 & 4A, the Commodore VIC-20 and 64 and so on. But the Apple II was more flexible than any of its 8-bit competitors in having expansion slots to allow for less expensive and less bulky expansion options. Eventually games began to look at some of those expansion capabilities, and in this article we will talk about how they explored them in terms of sound.
Sunday, November 8, 2020
Review of Products Three for my Apple //e
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.
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
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
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.
Thursday, April 14, 2016
A Brief History of PC Plug and Play
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
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
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
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.
Monday, May 25, 2015
Sound Card Replicas - Attack of the Hardware Clones
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 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 | Later Only | v1.003.006 or later for FB-01 |
| Leisure Suit Larry 2 | Y | Later 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 | Later 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 |
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 Card - Earlier Edition (Wikipedia image) |
![]() |
| IBM Music Feature - Later Edition |
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















