Tuesday, February 24, 2015

Digital OPL2 and OPL3 Recording

The Yamaha YM-3812 OPL2 chip, used on the Ad Lib Music Feature Card and the early Sound Blasters and their clones, is fairly unique among computer and video game music chips because the output of the chip is still digital.  That output is intended to be fed into a YM-3014 DAC, then sent to the pre-amplifier (for line output to powered speakers) and amplifier (for amplified output to passive speakers and headphones).  This makes it possible to capture digital audio from the card.  Its successors, the YMF-262 OPL3 and its Yamaha descendants (YMF-278 OPL4, YMF-289B OPL3-L, YMF-7xx DS-1, CT-1747) also output digital data which is fed through a Yamaha DAC.  There have been several devices which can output some form of the digitized sound generated by an OPL2 or OPL3 chip.

Adlib Digi-Snap

The original PC compatible implementation of the OPL2 chip, the Ad Lib MSC, was not designed to provide the user with digital output.  However, the OPL2 and the DAC were discrete components, so by removing the DAC the data from the OPL2 could be captured.  This is what the Digi-Snap device does.  It requires the DAC, an 8-pin chip, to be removed and a small ribbon cable soldered or socketed in its place.  The other end of that ribbon cable connects to a parallel port in a second computer.  The digital data from the OPL2 chip can be read off the parallel port using a special program.  You can piggyback the DAC chip on top of the cable going out of the computer to retain the ability to hear the sound you are trying to record.

The YM-3812 OPL2 chip outputs a 16-bit serial monaural digital signal at a sample rate of 49,716Hz.  This odd sample rate is based on the input clock, 3,579,545Hz (a.k.a. the NTSC color burst frequency).  Essentially this signal is divided by 72 to get the sample rate.

The Digi-Snap requires an Enhanced Parallel Port (EPP) set to I/O 278 and IRQ5, MS-DOS in the recording PC.  The software requires 32MB of RAM (which should indicate the speed of the PC you should be using, a Pentium) and will record nine minutes of sound before overwriting the oldest data.  The resulting data is in a raw, signed 16-bit data format.  You will need to tell any playback software like Audacity the bit depth (16-bit signed), sampling rate (49,716) and number of channels (one/mono) to be used.  Audacity can easily convert RAW files to WAV files without any loss in quality, since both are uncompressed formats.

While I cannot recall ever seeing a true Ad Lib card with a socketed DAC, many Sound Blaster 1.0, 1.5, 2.0 and Pro 1.0s have socketed OPL2 and DAC chips.  Whatever differences there may be in their analog outputs, for the Digi-Snap's purpose, they will sound exactly the same (unless a game detects a Sound Blaster and uses its digitized audio output capabilities).

The sole limitation to the Digi-Snap is that it only works on OPL2 chips.  In theory it could be adapted to the YMF-262 OPL3 chip and its DAC, the YAC-512.  However, the YAC-512 is surface mounted instead of a through-hole chip like the YM-3014.  This makes it much more difficult to solder wires to it.  Also, the YMF-262 in its OPL3 mode acts like two OPL2 chips, so the amount of data that would be stored would be cut in half.  Finally, there are enough differences between the two DAC chips that the design may have to be changed.

There is no reason why the Digi-Snap could not be used with a Sound Blaster Pro 1.0 or a Pro Audio Spectrum.  Both have two OPL2 chips and two DACs and function completely independently in stereo mode.  You would need a second Digi-Snap board and a third PC to use them.  Essentially, each PC would record one of the OPL2 chip's outputs and you could recombine them in your audio editing program.  Synchronization may be an issue, however.

The instructions for building the Digi-Snap and the software for it can be found here.

Sound Blaster AWE32

The AWE32 was the first device that provided official support for obtaining digital output from an OPL chip.  The early AWE32s have a CT-1747 bus interface chip.  This chip contains a YMF-262 core.  An YMF-262 or CT-1747 OPL3 has a 14,318,180Hz master clock and divides this by 288 to obtain the same sample rate, 49,716Hz, as the OPL2.

The Sound Blaster AWE32 and Sound Blaster 32 cards which have a YMF-262, YMF-289 or a CT-1978 do not support OPL through their SPDIF connectors.  Instead they have discrete DAC chips that only go to the analog outputs.

CT-1978 is Creative Lab's clone/improvement that uses Creative Quadrature Modulation Synthesis (CQM) instead of Yamaha Frequency Modulation (FM) Synthesis of the OPL line to approximate the OPL2 and OPL3.  CQM usually is pretty close to the original, but common opinion is that it can sound harsher compared to FM synthesis.  If a card is marked as an AWE32 or SB32 and either has a CT-1978 or does not have a CT-1747 or YMF chip, then it will have CQM.  CQM was integrated into larger chips on Creative's later cards.

Unlike the Sound Blaster 16s with the CT-1747 bus interface chip, the AWE32s, including the "value" cards without SIMM sockets, have a 2-pin Sony/Phillips Digital Interface Feature (SPDIF) header.  SPDIF signals come in three main varieties.  First is the signal that the AWE32 and CD-ROM drives with a 2-pin digital out header and Sound Blaster Live! cards with a digital output mini-jack have, a +5v TTL signal.  Second is an optical signal, which converts a +5v TTL signal into digitized optical signal through the use of a TOSLINK transmitter.  The TOSLINK transmitters are those black, boxy SPDIF ports.  The signal is turned back into a +5v TTL signal by a TOSLINK receiver.  Third are coaxial SPDIF connectors, they use RCA connectors but use a 1v Peak to Peak signal.

There are two ways to make the SPDIF connector on an AWE32 useful.  First, you can connect the 2-pin header from an AWE32 to a 2-pin header on a sound card with a CD/SPDIF digital in.  Most Sound Blaster Live! and Audigy cards have this header on their boards or have it on their feature connectors.  The second is to use an I/O bracket with an optical connector on it.  You may need to fiddle with the wiring a bit, just remember that the O pin on the AWE32 is the digital output signal and the I pin is the ground.

In the YMF-289B OPL3-L and YMF-278 OPL4, these chips are fed by a 33,868,800Hz clock.  In this case, instead of a single divider like the OPL2 and OPL3, two different dividers are used.  One divider, for the waveform/phase/envelope/timer, uses a 684 divider to get a very close approximation of the 49.716Hz signal.  This ensures that the same data can be used for an OPL3 or OPL3-L chip and the user can expect it to sound the same.  Any differences in frequencies between the two chips would produce negligible error. The output sample rate uses a 768 divider to obtain a 44,100Hz output rate.  In a sense, this may lead to a coarser output, but human ears cannot tell the difference between a sample played back at 44,1000Hz and 49,716Hz.  The benefit to Yamaha and the companies that produced sound cards meant that one less clock crystal was needed.

Sound Blaster AWE64 Gold

The AWE64 Gold uses the same 2-pin header as an AWE32 for its SPDIF output, but this connector will connect to a standard coaxial I/O bracket.  It uses 1v Peak to Peak signaling, making it slightly more convenient than the AWE32.  However, the AWE64 Gold also provides the digitized audio from the Sound Blaster, but this is limited to Windows and may only work when the Windows drivers are invoked, something no DOS program would do.

Non-Gold AWE64s often have solder pads for the header, but they would only provide a +5v TTL signal and would not include the digitized Sound Blaster audio.  All AWE64s use CQM.

Yamaha YMF-7x4 Cards

Yamaha supplied low cost YMF-71x chips for OEMs to use for cheap ISA sound cards.  These chips included everything an ISA sound card typically needed, including a true OPL3 core, Sound Blaster Pro 2.0 and Windows Sound System compatibility, a gameport and and a UART compatible MPU-401 interface. Later, the Yamaha WF-192 Waveforce was among the first PCI sound cards, and it used the Yamaha YMF-724 chip.  This chip replaced WSS compatibility with a cut-down XG MIDI synthesizer core.  The The YMF-744 was a similar PCI chip that supported 4-channel analog audio output for surround sound and DirectSound 3D.   As these cards are based off a YMF-289 core and use the same 33,868,800Hz clock and they would output to the same sample rate.

Some YMF-7x4 cards have a coaxial or optical digital output.  The digital output can be used for anything generated by the chip, including OPL2 and OPL3 music.  It can also be used for Dolby Digital AC-3 passthrough.  The digital SPDIF output has a fixed sample rate of 48,000Hz and the only clock crystal on these cards is 24,576,000Hz.  However, it appears from the YMF-724 datasheet that the OPL3 core is still using the 44,100Hz sampling frequency because there is a digital phase locked loop in the chip that converts the 24,576,000Hz master clock to 33,868,800Hz.  This would square with the claim that the OPL3 core in these chips is register compatible with the YMF-289B.  While it is beyond question that the OPL sample rate has been converted from 44,100 to 48,000 when output via the SPDIF connector, it is unknown whether the same is true for the analog output but it probably is when mixed with samples from other sources.

Samples

All other consumer PCI sound cards of the late 1990s, most of them adhering to the AC'97 specifications, also sample all input at 48,000Hz. Unfortunately, the Sound Blaster Live! and Audigy cards have a poor reputation when it comes to their resampling.  But is it deserved?  I have an Sound Blaster AWE32 CT2760 and a Sound Blaster Live! CT4760.  On one PC, I played Wolfenstein 3D and DOOM with the AWE32.  I ran a 2-pin cable from the AWE32's SPDIF out to the CD Digital Input on the Sound Blaster Live!, which was installed in a second PC.  The second PC recorded the digital input through an old version of Audacity (1.2.6) running on Windows 98SE.  Here are the results :

DOOM Episode 1, Mission 1 :



Wolfenstein 3D Episode 1, Mission 1 :



Conclusion

There is no such thing as a perfect digital recording from an OPL2 or OPL3 chip.  The 49,716Hz frequency is odd and except for the Digi-Snap device, is not something you are going to record digitally.  Even so, nothing but an OPL chip is likely to output at that frequency.  The typical ideal will be a 44,100 frequency, but most recording devices will resample this to 48,000Hz.  (DOSBox supports the 49,716 frequency to improve the OPL emulation, but your system will resample it).  Ultimately, all audio is analog, and the methods discussed in my previous post,  about capturing the data writes to the OPL chips should, if nothing else, make your file sizes smaller.

Sunday, February 22, 2015

Windows 9x and CD Images

Virtually all Windows 9x games come on CDs and expect to be installed from CDs and most will only run with one of the game's CD in the drive.  Several Windows 9x games come on multiple CDs, Baldur's Gate  and its expansion pack take 6 CDs, Myst III requires 4, Tex Murphy : Overseer uses 5, Sanitarium comes on 3 and there are too many 2 CD games to count.  Even an early DVD conversion like Wing Commander IV needs 2 DVDs.

Optical drives are noisy, require physical effort to change CDs and require you to keep a stack of breakable, scratchable CDs near your computer.  Because they have moving parts, drive lifespans are limited.  Disk images have none of these disadvantages.  They can be loaded in with virtual CD drive software like Daemon Tools and run invisibly to the program.

However, disk images are fairly large and a library of CD images can easily overwhelm the limited, reliable disk space of a Windows 98SE system.  Windows 9x is generally not reliable when dealing with hard disks greater than 128GB in size.  Windows 9x in general was designed in the days of parallel IDE ports and 28-LBA (at best).  Support for more than 128GB requires third party partitioning tools, and drivers to implement 48-bit LBA and probably SATA.  Also, if you are running a motherboard based on the popular Intel i440BX chipset or its precedessors and close relatives, you will need a BIOS extension ROM to add 48-bit LBA support.  Even with all this, it is not advisable to install Windows 9x on a drive greater than 128GB in size.

One way to deal with the disk image problem is to host the images remotely.  In the days of Windows XP, this was easy enough to do via Network Neighborhood.  You should access a Windows XP computer from a Windows 9x computer or vice versa.  Unfortunately, by Windows 7, the communication via this method was strictly one way : you could send and receive data from the Windows 7 or 8 computer to the Windows 9x computer, but Windows 9x would be unable to access the data on a Windows 7 or 8/8.1 computer.  I assume Windows Vista acts like 7 and 8/8.1 in the regard.  This effectively closes off the vast amount of storage available to the Windows 9x system.

All is not lost.  What you cannot access via Network Neighborhood you can access by Mapping a Network Drive in Windows 9x.  In Windows' 9x Windows Explorer, you will find the option.  In order to Map the Network Drive, you will need to configure the following :

1.  First, make sure both your computers are connected to the network and are on the same Workgroup.  Typically the default Workgroup's name is Workgroup.

2.  Second, you need to know the name of the Windows 7/8 computer or its static IP address.

3.  You will need to share a folder containing your CD images on your Windows 7/8 computer.  You should add Everyone to the group or user names that will have permission to view the shared folder.  You also should limit Everyone's permissions to List folder contents and Read.  There is no reason for Full control,  Modify or Write access for a folder containing only CD Images.

4.  Let's say the name of your shared folder is CD Images and the System Name is WINDOWS8PC.  In the Path box under Windows 9x's Map Network Drive, you would enter \\WINDOWS8PC\CD Images.  Set a drive letter that will not conflict with your physical and virtual drives and that should be all you need to now access your CD images without having to copy them to your Windows 9x hard drive.

As far as virtual drive tools go, I have always preferred Daemon Tools.  The last version of Daemon Tools with Windows 9x support was 3.4.7.  It is easy enough to find on oldapps.com.  This version of Daemon Tools is sufficiently advanced to emulate most CD protections like Safedisc, SecuROM, Laserlock, and RPMS.  It can mount four virtual CD drives.  Unfortunately, it does not allow you to create a swaplist which you can switch disc images with the press of a key combination.  Obviously, if you need to run a DOS game in real mode DOS, virtual drive tools will not work.

One limitation of using CD disc images instead of the physical CDs is that Redbook CD audio support may be hit or miss.  Daemon Tools is a bit tricky to work with when it comes to CD audio.  The easiest way to handle it is to set the emulated drive to D: and any physical drives to something after D:.

Tuesday, February 17, 2015

The Apple II's Influences on the IBM PC's Design

CPU & RAM

The Apple II uses a 6502 CPU running at 1,022,727Hz.  The IBM PC uses a 8088 CPU running at 4,772,726MHz.  Both systems use the same master clock, 14,318,180Hz, principally because both systems need an even multiple of 3,579,545Hz, the NTSC color burst frequency.  IBM could boast its clock speed advantage over the Apple, but the comparison was not strictly fair because the CPU architectures were quite different.

With RAM, IBM was on a more solid footing.  The Apple II and II+ were designed to be upgraded to a maximum of 48KB on the system board and an extra 16KB on the Language Card could be installed in slot 0.  That was the limit for the official expansions.  IBM's system could be upgraded to 64KB on the system board with only the memory chips.  It also used planar memory to test for single bit memory errors, ultimately giving a fair boast that its system was more reliable.  It also could (eventually) be upgraded officially to 10 times the amount of RAM as the Apple II.  Like the Apple IIe, the PC could not access all this memory at once but had to shift memory in 64KB segments.  The PC's CPU could do all this via its instruction set, the Apple II had to use multiple "softswitches" to bankswitch memory.  Eventually both computers were able to address megabytes of additional RAM, but using extended bankswitching methods for the Apple II and Expanded Memory boards for the IBM PC.

Graphics

The Apple II's built in graphics could display 15 unique colors in a 40x48 column low resolution graphics mode and 6 unique colors in a 280x192 high resolution graphics mode.  The Apple II's color was based on NTSC decoding, it required an NTSC color monitor to produce any color.  Typical monochrome monitors would often use green phosphors.  The human eye is most sensitive to green light and green on black produced excellent contrast for the time.  White text on a black background was seen as inducing more eye strain.

The Apple II by default only produced capital letters in its 40 column by 24 line text mode.  The keyboard's shift keys only would modify the upper row of keys.  In order to produce lower case letters, the character generator ROM would need to be replaced or a third party 80-column card would need to be installed.  Additionally, users would have to run a wire from the keyboard connector to the third joystick push button input for the shift-key mod, which allowed the Apple II to determine the state of the shift key directly.

IBM made improvements to both the text and graphics display, but the inspiration is obvious.  IBM released two display adapters, the Monochrome Display and Printer Adaper (MDA) and the Color/Graphics Display Adapter (CGA).  Both could show lowercase text and supported an 80 column mode. The MDA used a green screen with a digital connection for lossless output quality.  However, like the Monitor III, frequently used with Apple IIs, it had a slow refresh rate and long persistent phosphors to compensate.  Also, IBM added an extra row of text in its text modes, thus it displays 40 columns or 80 columns by 25 rows.

The MDA did not support color or bitmap graphics, but the CGA did.  IBM ensured that color would be supported on high quality digital color monitors (although they did not release one at first) and composite color monitors.  By using a half-filled ASCII character and different colors for the foreground and background attributes for each character cell, IBM could perform the equivalent of the Apple II's low resolution graphics mode with an extra line.  IBM's 320x200 composite color mode corresponded fairly closely to Apple's II's high resolution graphics mode, as seen in early PC ports of Apple II games like Adventure in Serenia and Ultima II.  The color choices were a bit limited, but you could still get a decent red/orange in addition to a cyan/green and a magenta.

IBM also supported a 640x200 composite color mode, and here the color choices had a much wider range. For old CGA, there were black, white, two identical grays, three blues, yellow, orange, three greens, brown, one maroon, one magenta and one pink.  In the Apple IIe with a revision B motherboard and 128KB of RAM, Apple added a similar double high resolution 560x192 mode with fifteen unique available colors. Unlike the Apple, IBM supported direct color on the high resolution mode, the foreground color was selectable.

While IBM did not have the split text/graphics modes of the Apple II, invaluable for programmers, it did allow an MDA and CGA to coexist in the same system.  Thus the programmer could see the text of his program on one screen and the output on another.  However, this was a very expensive option.

Sound

Neither the IBM nor the Apple have dedicated sound hardware.  The Apple II must use the CPU to generate all sound by sending data to the speaker output at regular intervals.  Timing is left to the CPU, keeping the CPU from working on other program routines.  That is why music is rarely heard during gameplay.  However, Pulse Width Modulation came naturally by this method to produce more complex sounds than was typically expected at the time.

IBM improved on the Apple II design because it had a timer chip connected to the speaker output.  All the CPU had to do was to set the frequency of the timer and a square wave would be output to the speaker until a new frequency value was sent to the timer.  This freed the CPU to do other tasks, making music possible during gameplay.  The PC speaker could also be controlled via direct writes like the Apple, and eventually gaming companies and other programmers used it to produce digitized sound.  Like the Apple, this sound would seldom be heard during any kind of animation or interactivity.

Input - Joystick

IBM virtually copied Apple's design here.  Their improvements were minor, IBM used more commonly available potentiometers for the directionals, four pushbuttons compared to three (one of which was taken over for the shift key mod on the Apple II), and a proper D-sub connector instead of a DIP socket.  However, it was not built in, unlike Apple's interface, and expansion slots were precious on a 5-slot IBM PC.

Input - Keyboard

IBM went their own way here, their keyboard was influenced by their Selectric typewriters and their previous mini-computers.  Apple played catch up here, as its keyboards for the Apple IIe and //c closely hew to IBM's in terms of key placement and not to its earlier ASCII keyboards found on the II and II+

Input - Mice

Mice were not yet readily available in 1981, but Apple released its Lisa computer with one in 1983 and Microsoft soon followed.  The Lisa had a built-in port for its mouse, and Microsoft released a version of its mouse for a serial port, which was often found in a PC.  Microsoft added a second button and a more ergonomic form factor compared to the Lisa mouse.  Apple released a Mouse Card for its IIe and Microsoft and other companies released bus mice, which required an interface card, throughout the 1980s and early 1990s.

Serial Communications

The Apple II had its Super Serial Card, IBM had its Asynchronous Communications Card.  The SSC was based around the 6551 and the ASC around the 8250.  Both were companion chips to their respective CPUs.  The SSC was a combination of two previous cards, one for modem use, one for printing.  The ASC could work with either.  Maximum speed for the 8250 was 9,600 bps and 19,200 or 115,200 for the 6551.  However, that 9,600 bps was reliable with the CPU doing other things thanks to interrupts, Speeds above 9,600 bps required almost all the Apple II's time.

Printers

While parallel printer cards existed for the Apple II, typically slower serial printers were used.  The Grappler 3rd party parallel interface cards were popular purchases, but a Super Serial Card was almost ubiquitous with Apple II systems.  With IBM systems, the situation was reversed.  Often people think that the PC supported only parallel printers, but this is far from the truth.

Expansion Bus

Here is another example where IBM took a great deal of inspiration from Apple II's bus design.  The Apple II has eight 50-pin connectors for expansion cards, the IBM PC has five 62-pin connectors for expansion cards.  Physically the connectors are very similar.  IBM wisely decided to give its cards extra support by designing brackets that would screw into the back of the chassis and plastic stablizers to keep the long cards in place.  The Apple II keeps cards held in only by the friction of the connector and only had a few v-shaped cut outs in the back of its case for wires and connectors.

IBM decided to make its slots generic, unlike the Apple II which mapped address space to each particular card.  While this could be overcome in the Apple II, in practice certain types of peripherals began to lay claim to each slot, SSCs in slots 1 & 2, 80 column cards in slot 3, Disk II in slot 6, mouse cards in slot 4, fixed disk storage in slot 7 and 3.5" drive controllers in slot 5.  It got worse for the IIe and //c.  IBM also gave its expansion bus IRQ and DMA controllers, allowing peripherals to assert IRQs and DMAs without monopolizing the system.  Apple II's IRQs and DMAs were implemented very simply, slot 1 got priority, then slot 2 and so forth.  Eventually, cards began to hog the limited number of IRQs available in the PC, which IBM did not fully alleviate with extra IRQs in the AT because not all systems had them.

Finally, while Apple II devoted one expansion slot, slot 0, for memory expansion, every slot in the IBM PC could be used for memory expansion.  The PC ISA bus allowed total access to the I/O and Memory Bus, making memory expansion flexible for the IBM PC, XT, Portable, AT and XT/286 and their clones.

Floppy Drives

IBM used the same floppy disks as Apple (and Atari) did, the 5.25" flexible disk.  Initially IBM's drives were single sided and held 160KB, only 17KB more than Apple's drives.  However, IBM's scheme had more flexibility than Apple's. as it soon was able to use double sided drives and expand each side of the disk to 180KB.  It also had a true floppy disk controller chip on its card, the NEC uDP765.  The Apple II Disk II controller card was made up of a small number of standard logic chips and 256 bytes of firmware and provided the bare minimum to interface with the floppy drive.

IBM and Apple disk formatting were quite different.  Apple used 35 tracks and 16 256 byte sectors.  IBM used 40 tracks and 8 or 9 512 byte sectors and 1 or 2 sides.  Apple also used Group Code Recording while IBM used Modified Frequency Modulation encoding for their disks.  That truly made the disks unreadable in the other machine without extra hardware.

Each Apple II's Disk II interface card supported two drives.  IBM's controller supported two internal disk drives, but also could support two external disk drives as well.  Rarely did an average user ever use more than two floppy drives with either system.  Both systems only booted from the first drive.

System Board and Chassis

Apple had a very open design philosophy regarding its Apple II.  There are no custom or proprietary or security chips on its board and it published full schematics and BIOS listings for just about everything outside of Applesoft BASIC.  Similarly, IBM had no custom or proprietary or security chips on its PC system board.  It did have 808x off-the-shelf support chips on its motherboard, whereas Apple relied strictly on TTL logic for the Apple II.  It also published full schematics and BIOS listings (except for the BASIC), but you had to purchase it separately.

Both Apple and IBM used switching power supplies instead of linear power supplies.  Instead of having large power bricks to cutter up your wall socket, you only need a generic grounded plug wire.  The plug will fit in an Apple or IBM machine.  IBM added a fan directly to its power supply, while Apple II users often added a fan via a "system saver".  Their supplies provided the usual voltages, +5, -5, +12 and -12.  They plugged into a connector on the board rather than being part of the circuitry.

Apple also had a totally open access policy to its computer.  The case cover had no screws, only plastic friction and whatever was on it held it in place.  IBM was also very generous here.  While its case had screws (2 then 5), this was not intended to hinder the user but to keep its industrial-strength chassis secure.  Just like the Apple II, the system board and the power supply could be easily removed.  The RAM could be upgraded on the motherboard just by inserting chips into the sockets.

Monday, February 16, 2015

Will Harvey's Music Construction Set - PC Sound Device Support

In 1984 Electronic Arts introduced a program called Music Construction Set.  It was originally written by 15 year old Will Harvey for his Apple II computer.  Electronic Arts liked what it saw and published it to great success.  It also ported the program to every popular U.S. computer with any kind of sound hardware, the Atari 8-bit machines, the Commodore 64, the Atari ST, the Apple IIgs and the IBM PC.  An upgraded version called Deluxe Music Construction Set was released for the Macintosh and Amiga.  Each version would take advantage of the native sound capabilities of the hardware.

Unfortunately, the Apple II and the IBM PC's hardware was unimpressive compared to the other machines.  They only have a speaker.  The Apple II's CPU must directly drive the speaker, so there was no CPU time left over for scrolling the screen on the Apple II version using the built-in speaker.  The IBM PC's speaker was timer driven, so it could still scroll the screen using the 1-note speaker option.

Fortunately, both the Apple II and the IBM PC supported alternatives.  The Apple II version supported a Mockingboard card for six voices of stereo sound.  Using the timer-supplied Mockingboard allowed the CPU to scroll the note sheet.  The IBM PC versions are much more interesting from a hardware perspective.

Original Release


The original release for the PC supported the IBM PC, XT and PCjr. and "COMPAQ"  Because it calibrated itself for CPU speed, it would also work in faster machines like the IBM AT., although the loading time may be increased as a result.  This program was a PC booter, and the version widely available also has Tandy 1000 support.  Tandy marketed Music Construction Set, so this version may have originally have been from Tandy.


Interestingly, the program does detect the machine it is being used in on startup and will adjust its configuration options accordingly.

On the Tandy 1000, here are the options :

Input - Keyboard; Joystick (Right Port)
Sound - 3 Notes, Scroll; Speaker - 1 Note, Scroll
Printer - Tandy Graphics Printer (IBM Mode), Epson Graphics Printer, Okidata Graphics Printer, No Printer

On the IBM PCjr., here are the options :

Input - Keyboard, Koala Pad, Joystick
Sound - PCjr - 3 Notes, Scroll; Cassette - 4 Notes, Speaker - 1 Note, Scroll
Printer - IBM Graphics Printer, Epson Graphics Printer, Okidata Graphics Printer, No Printer

On the IBM PC, here are the options :

Input - Keyboard, Koala Pad, Joystick
Sound - Speaker, 4 Notes; Cassette - 4 Notes; Speaker - 1 Note, Scroll; Cassette - 1 Note, Scroll
Printer - IBM Graphics Printer, Epson Graphics Printer, Okidata Graphics Printer, No Printer


I do not own a Koala Pad, but it uses the joystick port.  It probably would have been the smoothest way to control the icon-based interface of MCS.  Because of the special characters, a character-based printer would not work to print Treble and Bass clefs and musical notes, so a Graphics Printer was required.  Interestingly, I find no mention of the PCjr. Compact Printer in the PCjr.'s options, but if there is no parallel port sidecar, it may work as it would designated as LPT1.  The Compact Printer does support bitmap modes like the listed Graphics Printers.  A list of the printers it has been tested with can be found in the Reference Card.  Music is printed vertically down the printer page, rather than horizontally as one would expect sheet music to print.


The 4 Notes selections used up all the available CPU time, so the music did not scroll when played with these modes.  For the PCjr and Tandy, the 3 note option, using the built-in sound chip, was obviously the way to go.  I do not know why they even bothered with the cassette option for the PCjr., a person with a cassette player could record the 3-voice music just as easily.  I do not know if the cassette option is still selectable on an IBM PC/XT, which does not have a cassette port and can be uniquely identified.  Most generic PC compatibles identify themselves as an IBM PC, so the cassette option is still there although it will not work.


Despite being deemed a PC booter, MCS is tied very much to DOS.  The disk is readable in DOS, but only the song files will be seen.  When loading and saving songs, a DOS prompt is used and the commands are very DOS and BASIC like.  A standard DOS formatted disk can save and load more songs.  Oddly, the
loading screen uses a 40-column mode, probably for the PCjr.  Full instructions for use in the PC can be found in the Reference Card.  The manual and reference card for the IBM PC version can be found at replacementdocs.com.  Listings for the sample songs can also be found in the reference card.


IBM Music Feature Card Version


In 1987, Electronic Arts released a revised version of Music Construction Set for the IBM Music Feature Card.  I was able to find a download of this program.  This version of MCS is a true DOS program, although presumably still protected.  If you load a mouse driver beforehand (CTMOUSE.EXE 1.91 works, make sure your COM1 settings are standard 3F8/04), you can use a Microsoft protocol-compatible mouse to control the cursor.  The movement is still a bit rough and only supports one button, but better than a joystick.  Using the keyboard will allow for fine placement of notes.  PCjr. support was removed, but the program still works on an IMFC-less PC and a Tandy 1000.


The IBM Music Feature and mouse are autodetected, but if one or the other is not present, you still have some options.  On the IBM PC, the sound options are Speaker - 1 Note, Scroll; Cassette - 1 Note, Scroll.  On the Tandy 1000, the options are the same as they were for the non-IMFC version.  Koala Pad support is not present, but joysticks are still supported.


The loading screen for the IMFC version is now using 80-columns and has a text based cursor select system.  It was very forward thinking for EA to provide a command list on the screen.  Also, if the settings button (the plug) is clicked after the program starts, a menu displays that allows you to select the instruments to be used from the 240 voice patches available on the IMFC.  The program does not appear to supply custom voice patches, even though the IMFC has room for 96 of them.  When you play back a song, it will show one of the voice patches assigned to the treble and bass clefs.

The Setup Screen allows to choose up to 13 voices for customization.  You can customize each instrument from the IMFC by the following :

Pan : L, L+R, R
Portamento : Off, Slow, Med., Fast
Vibrato : Off, On
Octave : -2, -1, 0, 1, 2

While you can only use two instruments at a time for playback, the SO sliders allow you to select one instrument for each stave on the Music Screen.  On a PCjr. or Tandy, the SO sliders had 13 steps which determined the character of the sound for each stave.  With the IMFC, the name of the instrument will change if you raise or lower the respective SO slider.  The VO slider does the same for the volume of the stave on either the PCjr., Tandy or IMFC.  Because DOSBox does not support the IMFC, I cannot post a screenshot of the Setup Screen.  Unfortunately, the instruments selected cannot be changed during the song, but this is a handy way of quickly trying out new instruments.

Most of the songs found on the original version can be found on the IMFC version, but weirdly Daisy and the Canon in D Major are not present.  The modern songs are not present, but there are several other songs, such as Dixie, Yankee Doodle Dandy and the first few bars of M.U.L.E.'s theme song.  Mystery, Buggy, Rhythm and Scales are present.  Songs from either version will not necessarily sound the same as the song on the other version on the same hardware.

Why no further versions?

MCS had always tried to provide broad sound support, and this version for the IMFC was the first and last time the program was updated to support a PC sound peripheral.  Electronic Arts did not attempt to release a version for the Adlib.  In 1987, IBM was still considered a sure thing and Adlib was barely known.  The IMFC filled a niche with the IMFC by providing a basic, easy to use music program.  This program was especially useful to younger people.  However, considering the rarity of both the IMFC and this version, it was no great seller and EA probably lost money on the conversion.  By the end of 1988, when an Adlib version would have been feasible, MCS was looking a bit long in the tooth.  Adlib also had its Visual Composer software that took many cues from MCS.  EA itself was transitioning from a publisher-assisted producer to a fully-fledged game studio.  The end result was that this was the end of the venerable MCS.

Sound Samples

All captured from real hardware.  No post-processing of any sort has been done (that I know of), so you may want to turn the volume up for the Tandy recordings.  For the PC Speaker recordings, I used my cassette cable to capture the equivalent of what would be heard through the speaker.  I used a Tandy 1000SX for the Tandy recordings and used my IMFC in my IBM PC.

IBM PC Speaker/Cassette 1-Note Original







IBM PC Speaker/Cassette 4-Note







PCjr./Tandy 3-Note Original Version







PCjr./Tandy 3-Note IMFC Version







IBM Music Feature Card







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.

IBM Music Feature Breakout Box
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 :

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

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

Saturday, February 7, 2015

Found PC Game Versions

Updated 12/12/2023

Some time ago, I made an entry about Lost PC, PCjr. and Tandy game versions.  That entry turned into Lost PC Versions as the number of PCjr. and Tandy games dwindled down to very few : http://nerdlypleasures.blogspot.com/2014/09/the-lost-tandy-and-pcjr-game-versions.html

This post discusses games that are now or will be available for the use and enjoyment of everyone.  I have either personally tested each game or know of trusted people who have tested them.  Here in alphabetical order we have the following :

Action Fighter - Tandy Release
http://www.pixelships.com/adg/epf006.html - Supports 16-color 160x200 graphics and 3-voice sound. Only EGA and CGA versions were widely available.

B.C.'s Quest for Tires
There are two versions of this game, one with a Sierra copyright only screen and another with a Sierra and Tandy copyright logo screen.  Regardless of whether the game is played on the PC, PCjr. or Tandy 1000, there is only PC speaker sound effects.  RGB graphics are the same on all three systems, but the PC and Tandy share the same composite color graphics patterns.  If a PCjr. is detected, the game displays different composite color graphics patterns that show appropriate colors on a color composite monitor or TV.

The original Sierra version may only support color composite graphics.  Only a hard drive conversion exists, and there is no proper PCjr. support in it.  Here are some screenshots of the various graphics modes :

BC's Quest for Tires Sierra Version - PC Composite Title Screen

BC's Quest for Tires Tandy Version - PC Composite Title Screen

BC's Quest for Tires Tandy Version - Tandy Composite Title Screen

BC's Quest for Tires Tandy Version - PC and Tandy RGB Title Screen

BC's Quest for Tires Tandy Version - PC and Tandy RGB In-Game Graphics

BC's Quest for Tires Tandy Version - PCjr Title Screen

BC's Quest for Tires Tandy Version - CGA (New) & Tandy Composite In-Game Graphics

BC's Quest for Tires Tandy Version - PCjr Composite In-Game Graphics

Unfortunately, unlike the Tandy Composite Graphics, I have no way of simulating PCjr. Composite Graphics.  (Tandy 640x200 Composite = DOSBox CGA machine type, SVN set to Late CGA, use Hue 140 degrees).  The PC and Tandy use the 640x200 resolution for its composite color graphics.  However, as you can see, Tandy and Sierra put absolutely no effort into making sure color composite graphics looked appropriate for its 1000 series.

Below the Root - Tandy Release
PCjr. version supports 3-voice music in intro, but this only works if a PCjr. is detected.  The Tandy label release behaves identically on a PC and a Tandy 1000, no changes to the graphics, no PCjr. music on bootup.

The Black Cauldron - Tandy & PCjr. Support
Retrograde Station released cracked versions of the booter version of this game.  The versions they released were v1.1J, v1.1K, v1.1K Tandy and v1.1m.  None will not work on either a Tandy or PCjr. with the exception of v1.1m.  The DOS-installable AGI2 and AGI3 versions of this game will run just fine on these systems.  All versions have been fixed to run on the PCjr. and Tandy 1000.

Bruce Lee
This booter supports 160x200x16 color graphics and 3-voice music (title screen only) and sound effects when played on a PCjr.  PC and Tandy use CGA graphics, composite or RGB selectable, and PC speaker sound.  Screenshots for all there graphics types are here : http://www.mobygames.com/game/pc-booter/bruce-lee/screenshots  Note that the PCjr. graphics use 20-column text and the PC graphics use 40-column text

Crossfire - PCjr. Disk Version
The PCjr. disk version of this game, compared to the cartridge or PC disk version has a 3-voice piece of music which can fortunately be turned off.  It also uses more than four colors on the screen at a time and has three speed settings.  Keyboard keys can be redefined and high scores can be saved to disk.  However, the PCjr. cartridge version uses 2x2 sized bullets, whereas both disk versions use a 1x1 pixel   It is easier to progress in the cartridge version for this reason.  Here are some screenshots to compare the Cartridge and Disk versions, and you can find screenshots of the PC CGA disk version at : http://www.mobygames.com/game/pc-booter/crossfire/screenshots

Crossfire - PCjr. Cartridge Version Title Screen

Crossfire PCjr. Cartridge Version - In-Game Screen

Crossfire PCjr. Disk Version - Title Screen

Crossfire PCjr. Disk Version - In-Game Screen 1

Crossfire PCjr. Disk Version - In-Game Screen 2

Crossfire PCjr. Disk Version - Game Over Screen

Demon Attack - Tandy Release
The Tandy version of this game comes on disk and will not run in a PCjr.  It requires a joystick, has a title screen but looks, sounds and plays exactly like the PCjr. cartridge version.  The title screen screenshot can be found here : http://www.mobygames.com/game/pc-booter/demon-attack/screenshots

Demon's Forge - Tandy Graphics
Mastertonic re-released this gamer with 16-color 320x200 graphics support for Tandy 1000s. Unfortunately it's Tandy detection relied on the absence of a DMA controller, which was present in most models.  Additionally, the Retrograde Station image (Mastertronic) was broken for machines with an 8088 or 8086 CPU.  The DOS conversion has since been fixed to run on 8088/8086 machines and DMA-equipped Tandys.  No 3-voice sound support.  Screenshots of all three modes can be found here, with a caveat : http://www.mobygames.com/game/pc-booter/demons-forge/screenshots  The caveat is that the CGA with RGB monitor should show red, not magenta, in the screenshots.  The game has since been patched to work on DMA Tandys and the PCjr.

Donald Duck's Playground - DOS Release
The Retrograde Station booter image was broken so that the game would refuse to work if it detected a PCjr. or Tandy 1000.  It would only give CGA RGB or Composite Color and PC Speaker sound.  It has since been fixed.  I have since found a true DOS installable version of this game, but I cannot be certain whether it was actually released.

FaceMaker - IBM PCjr. Cartridge
Dumped in 2023, identical to the PC version, no 3-voice music unlike the Spinnaker Software versions of Fraction Fever and KinderComp. There is a PCjr. disk version with 3-voice music of this game.

Falcon - Tandy Release
http://www.mobygames.com/game/dos/falcon/cover-art - Box with the Tandy sticker specifically advertises 16-Color/Enhanced Sound Version Included!  The Tandy version came on a separate 5.25" disk, and while the non-Tandy releases came on one 5.25" and 3.5" disk, I believe that unless the disk has the Tandy sticker, it will not include the Tandy version.  No EGA support.

GATO - Tandy 16 Color Version
There is a special release of this game which supports Tandy 16 Color graphics, I bought a copy and dumped it: https://www.youtube.com/watch?v=POpsqiHWuFM

Hardball - Tandy Release
This box indicates that a Tandy upgrade disk existed : http://www.mobygames.com/game/hardball/cover-art/gameCoverId,211542/  Also, the graphics selection screen also instructs the user to insert disk 3 for Tandy (disk 1 is CGA and Hercules, disk 2 is EGA).  Because you had to send away for it, it is rare.  The Tandy support is like Test Drive, only the Tandy graphics are be supported, not the Tandy sound chip.

Juno First
Datasoft did a PC port of Konami's Juno First arcade game that was so obscure that it was unknown until 2020, but that has been corrected.  I made a demo video of it here : https://www.youtube.com/watch?v=qXWD5lLwV7Y

King's Quest I - AGI Version 1.0U
This game in its AGI form was constantly in print from 1984 to at least 1990.  Sierra kept periodically updating it as their AGI engine evolved.  I recently acquired version 1.0U, which uses AGI interpreter 2.272.  This was one of the earliest AGI engine versions to support hard disk installation, but like version 1.1A of Space Quest and 1.01 of King's Quest III, there are no drop down menus.  The Escape key pauses the game.  To change the animation speed, you need to type slow, normal or fast.  F4 does not do the "see object" function."  You quit with Alt + Z, just like the later release.  Here is the title screen :

King's Quest v1.0U, note the erroneous red leaf in the lower right corner

King's Quest II - Tandy Release
Tandy released a version for the 1000 computers, Tandy version  under its own label, but it works in a PC and PCjr.  Here is the title screen :

King's Quest II Tandy Version - Title Screen
The game is otherwise identical to version 1.1H.

Lost Tomb
This game supports 160x200x16 color graphics and 3-voice music and sound effects when played on a PCjr.  PC and Tandy use CGA graphics and PC speaker sound.  Screenshots of both graphics types here : http://www.mobygames.com/game/pc-booter/lost-tomb/screenshots  Note that there is no choice with a PC, the graphics you get depends solely on the monitor.

Microsoft Flight Simulator 2.12 - Tandy
There are separate versions of 2.12 for the PC and Tandy, and both use the same composite color and RGB graphics and both use PC Speaker sound.  The difference is in the keyboard support.  In the PC 2.12 version, the PCjr and PC keyboards are supported, and in the Tandy 2.12 version, the Tandy 1000 and Tandy 1200 keyboards (the latter functions identically to the PC keyboard) are supported.

All 2.xx versions of Microsoft Flight Simulator support the PCjr. and all offer a 16-color low resolution 160x200 graphics mode in addition to the 320x200 4-color high resolution graphics mode.  This 16-color low resolution graphics mode is offered in the Tandy version for the Tandy 1000. I am not sure about the 2.13 or 2.14 versions.  Also, there does not appear to be 3-voice sound support on the PCjr., despite what MobyGames thinks.

The graphics patterns for the color composite mode are the same for the PC and Tandy versions, but when a PCjr. is detected, they are somewhat different.  Also, the Tandy version will work in a PC because the Tandy 1200 (an XT clone) is supported, but not in a PCjr.  Here are some screenshots of each version :

Microsoft Flight Simulator 2.12 PC Version - Composite Title Screen
Microsoft Flight Simulator 2.12 PC Version - Composite In-Game Screen (Old CGA)

Microsoft Flight Simulator 2.12 PC Version - Composite In-Game Screen (New CGA)

Microsoft Flight Simulator 2.12 PC Version - RGB Title Screen

Microsoft Flight Simulator 2.12 PC & Tandy Version - RGB In-Game Graphics
Microsoft Flight Simulator 2.12 Tandy Version - Composite Title Screen

Microsoft Flight Simulator 2.12 Tandy Version - Composite In-Game Screen

Microsoft Flight Simulator 2.12 Tandy Version - RGB Title Screen 

Microsoft Flight Simulator 2.12 PC Version - PCjr. Low Resolution 160x200 16-Color RGB In-Game Graphics

Microsoft Flight Simulator 2.12 PC Version - PCjr. High Resolution 320x200 4-Color RGB In-Game Graphics

Microsoft Flight Simulator 2.12 PC Version - PCjr. Composite In-Game Graphics

Music Construction Set - IBM Music Feature
http://www.vintage-computer.com/vcforum/showthread.php?44477-WTB-Music-Construction-Set-(IBM-Music-Feature-edition) - Apparently there exists a version of EA's Music Construction Set with explicit support for the IBM Music Feature Card.  The card is rare and this version is much rarer.  It has been found and described here :
http://nerdlypleasures.blogspot.com/2015/02/electronic-arts-music-construction-set.html
It still supports the PC Speaker and especially the Tandy 3-voice sound, because the system requirements sticker indicates the software works on Tandy 1000s, but the IBM Music Feature itself will not fit inside a Tandy 1000's case!

Oil's Well - PCjr. Graphics
The Retrograde Station booter was broken so that it would not load past the title screen with the PCjr.  The original disk was not dumped perfectly, so the issue was unable to be truly fixed until it was dumped.  In 2022 certain generous persons bought a disk, dumped it and recovered the PCjr. graphics.  Watch my playthrough here : https://www.youtube.com/watch?v=Z2Y43BnZyWg&t=108s

One on One - Tandy Release
The Tandy release only works on a Tandy 1000, all other Tandy releases work on a PC, PCjr. or both.  No other differences from the Electronic Arts version.

Styx - PCjr. Release
http://www.mobygames.com/game/styx/cover-art - Styx came in a version for the PCjr., and while it looks identical to the PC version, it supports 3-voice sound.  https://youtu.be/vbH95Bzu_DQ

Super Boulderdash (I & II) - PCjr. & Tandy Support
The Retrograde Station booter image was broken so that the game would refuse to work if it detected a PCjr. or Tandy 1000.  It has since been fixed, so players can enjoy 160x200x16 graphics and 3-voice sound.  The original Boulderdash games only support PC and PCjr.  The 16-color graphics look like this:
http://www.mobygames.com/game/boulder-dash/screenshots
http://www.mobygames.com/game/boulder-dash-ii-rockfords-revenge/screenshots

Test Drive - Tandy Release
http://www.pixelships.com/adg/epf006.html - Supports 16 color 320x200 graphics, just like EGA.  No 3-voice sound support.

Touchdown Football - Tandy Release
Tandy released a version, and on the copyright screen, the announcer will say "Imagic and Tandy present" rather than "Imagic and IBM present".  The same voice is used, and must be run on a 4.77MHz 8088 machine to hear the voice with the proper pitch.  You can hear voice samples from both the Tandy and PCjr. versions in this blog entry : http://nerdlypleasures.blogspot.com/2014/09/non-pc-speaker-digitized-sound-part-ii.html

Gameplay is the same, but the game will probably run too slowly on a PCjr.  Here is a screenshot of the copyright screen :

Touchdown Football Tandy Version - Copyright Screen

You can find screenshots of the IBM copyright screen, the title screen and in-game screens (common to both versions) here : http://www.mobygames.com/game/pc-booter/touchdown-football/screenshots

Ultima II - Revenge of the Enchantress - Original PC & PCjr. Releases
All the available versions are from the Origin Systems re-release, either from one of the Ultima compilations or from the Ultima Trilogy.  The original Sierra On-line releases for PC and PCjr. are available.  Sierra made a special version for the PCjr. with the graphics adjusted to show reasonable colors with composite artifacts as well as allow the copy protection to work on a PCjr. and to ensure that the timing routines were not too slow on the PCjr.

Wizard and the Princess - PCjr. Release
This game was originally released for the PC under IBM's label as Adventure in Serenia.  Sierra later released the game for the PCjr. under its original title and used 320x200 graphics.  Still only supports PC Speaker sound and will not run on a Tandy with more than 128KB.  You can see screenshots of the RGB CGA, composite color CGA and PCjr graphics here :

http://www.mobygames.com/game/pc-booter/hi-res-adventure-2-the-wizard-and-the-princess/screenshots