Sunday, June 2, 2013

IBM PCjr. and Tandy 1000 Sound : Multiplexer Weirdness

In the original sound system design for the IBM PCjr., there could be four sources of audio, the 8253 Timer-driven PC Speaker, the 3 Voice TI SN 76496, the Cassette input or an adapter on the bus like the IBM PCjr. Speech Attachment Sidecar.  IBM set aside two bits in the 8255 Programmable Peripheral Interface at I/O Port 61 to control a multiplexer which would determine the source to be used.  The bits used were 5 & 6, and here is what they controlled :

Bit 6  Bit 5
0       0       PC Speaker (Default)
0       1       I/O Channel Audio In (PCjr. Speech Attachment)
1       0       Cassette Audio Input
1       1       TI SN76496 3 Voice

Pretty logical.  An important point to note that this multiplexer only controlled the output to the external audio RCA output jack, the RF output connector or the PCjr. Monitor connector for an IBM 4863 PCjr. Display with built-in speaker.  The PCjr.'s internal beeper would only output PC Speaker Audio, doubtless IBM felt it was too tinny for anything else.

When Tandy cloned the PCjr., this arrangement served them just fine for the Tandy 1000 with two exceptions.  Since the 1000 did not support a cassette interface, the setting for the Cassette Audio Input sent nothing to the external audio RCA output jack.  However, they decided to engineer the outputs very differently.  The TI SN 76496 has an audio input pin which can mix an external audio source with the 3-voice sound the chip itself is producing.  On the PCjr., this pin is unconnected.  On the 1000, it is connected to the PC Speaker input.  Then the mixed audio is sent to the internal speaker and to the multiplexer.  Thus the bits operate as follows :

Bit 6  Bit 5
0       0       PC Speaker (Default)
0       1       I/O Channel Audio In
1       0       Nothing
1       1       PC Speaker + TI SN76496 3 Voice

No known device actually sent audio over the ISA bus, so the I/O Channel Audio In is effectively a "nothing" selection.  The Tandy 1000 had a very large internal speaker, so the PC Speaker and 3-Voice sound is done justice.  However, the internal speaker cannot be turned off without physically disconnecting it from the pins on the motherboard..

Thinking that inability to turn off the internal speaker was a bad thing, Tandy decided to make the multiplexer more complex in the SX and EX series.  They added a third bit which is intended to turn the internal speaker off if set to 1.  Tandy refers to these bits as follows :

SNDCTRL0 = Bit 5 of 8255 Port B / Connects to MC14529 Pin 6/"A"
SNDCTRL1 = Bit 6 of 8255 Port B / Connects to MC14529 Pin 7/"B"
SNDCTRL2 = Bit 4 of 8255 Port B / Connects to MC14529 Pin 15/"STy"

The internal outputs were thus made more complicated :

Bit 6  Bit 5  Bit 4       Internal                                                      External
0       0       0             PC Speaker + TI SN76496 3 Voice         PC Speaker (Default)
1       0       0             PC Speaker + TI SN76496 3 Voice         Nothing
0       1       0             I/O Channel Audio In                                I/O Channel Audio In
1       1       0             PC Speaker + TI SN76496 3 Voice         PC Speaker + TI SN76496 3 Voice
0       0       1             Nothing                                                     PC Speaker
0       1       1             Nothing                                                     Nothing
1       0       1             Nothing                                                     I/O Channel Audio In
1       1       1             Nothing                                                     PC Speaker + TI SN76496 3 Voice

Thus if a program sets Bit 4, the best you would hear from the external speaker would be the PC Speaker sound.  The SX's multiplexer is wired to have two outputs, one for the RCA jack and another for the internal speaker.  The EX's multiplexer has only one output wired, and it goes to an earphone jack and the internal speaker.  By default the audio is heard through the internal speaker, but plug in a mini-jack and the audio is switched to whatever is plugged into the jack, headphones or external speakers.  However, the the portion of the multiplexer the EX uses is controlled by Bit 4, so if that bit is set you will have the same problem as on the SX.  You will also have the same problem if a program sets bit Bit 5 without setting Bit 6.  If Bit 6 is set without Bit 5, you will get no external audio output on the SX.  The SX has a potentiometer inside the machine that can control the internal speaker's volume, but the EX has a volume wheel on the outside.

The HX, TX, TL, SL and later systems also have headphone jacks with external volume wheels.  However, Bits 5 & 6 do nothing in the HX, and in the TX and the other systems bit 5 has no function while bit 6's function is completely different.  Only bit 4 functions in these systems.  In addition, I/O Channel Audio In is no longer supported.

Since I have an SX, I can discuss its multiplexing scheme.  The default value for I/O port 61 on bootup is 08.    This means that Bits 4-6 are 0.  The external output will only output PC Speaker sound.  This is generally not desirable, and Sierra's games will enable the external audio.  After exiting from a Sierra game, the value for I/O port 61 is now 68.  The program has set bits 5 & 6.  LucasArts games will not enable the external audio output on the SX, so the simplest solution is to run a Sierra game before hand.  There is a program called tdyspkr.com that will allow you to make settings designed for the SX or easily allow you to manipulate the bits yourself.

Tandy 1000 Originals

I have often had occasion to blog about the Tandy 1000, but in terms of gaming, its importance is rather limited.  I am a proponent of sticking to the original development system for a game.  For example, practically every game published by Richard Garriott (before and with Origin) in the 1980s was developed on the Apple II.  Most of the 1980s U.S. computer game developers cut their teeth one way or another on Cupertino's machine.  His games really do not have a whole lot to offer on other systems.  They don't take much advantage of the enhanced graphics and sound of the Atari 8-bit, ST, Commodore 64 or Amigas.  Jordan Mechner's Karateka and Prince of Persia may look more colorful on other systems but play the same.  For later games, FTL released their seminal dungeon-crawler classic Dungeon Master for the Atari ST and the game looks the same on the PC, even though it supports VGA.  Sid Meier's Pirates! is a classic game that plays very well on its original platform, the Commodore 64.  Not all games fall squarely into this category.  Will Wright's SimCity began life on the Commodore 64, but by the time it was ported to 16-bit machines, it had gained many new features and functionality.  Even so, it received Amiga and Macintosh releases before it was released on the PC.

Typically, the main advantage of the PC over every other platform is the prolific availability of hard drives, even (relatively) for the earliest machines, many speeds to choose from and a huge variety of clones to choose from.  Who wants to put up with long load times, floppy swaps and inflexible system speeds?  The earliest PC games would have been developed for the IBM PC, but most of those games were ports or otherwise historically unimportant and not usually rigidly wedded to IBM's hardware or the CPU speed.

The first historically significant PC game that was released and was not a port was King's Quest.  This of course was originally released for the IBM PCjr. The PC version was released soon after and Tandy 1000 version would have been in existence by 1985.  The Tandy 1000 version is nearly identical with the PCjr. version.  King's Quest II came in one version with support for all three architectures, PC, PCjr. and Tandy 1000.  However, it is clear that of these three systems, the best one to play any of Sierra's AGI games is the Tandy 1000.  Not only do you get the enhanced graphics and sound, you do not incur the performance penalty of running the first 128K of the PCjr. on the Tandy 1000.

Thus is my definition of a "Tandy Original".  First, it must not have been originally developed or released for a non-PC system.  No ports from an Apple machine or Atari or Commodore non-IBM PC compatible.  Second, the game supports the Tandy Graphics Adapter but no EGA or VGA support, or in the alternative the game supports the Tandy Sound Chip but has no Adlib, Sound Blaster, Roland MT-32 or other sound device support beyond the PC Speaker.

Thus for the AGI-engine games after King's Quest, they were probably developed mostly on Tandy and PC systems.  Even King's Quest probably had more work done on it on the PC than on the PCjr. due to the not-insignificant advantages for the PC.  When the hard drive installable versions of the games were released, starting with King's Quest III and Space Quest, these were easy to do on the Tandy 1000 and PC compatibles.  Since hard drives were an expensive third-party add-on for the PCjr., fewer of these systems enjoyed this feature.  I classify all the AGI engine-games as Tandy 1000 originals with two exceptions : King's Quest IV, which was developed for the SCI system and supported much more advanced sound hardware than the Tandy chip and Donald Duck's Playground, which was originally a non-AGI Commodore 64 game.

None of the other games Sierra released during the mid-to-late 80s qualify as a Tandy original.  The Disney games were Apple II originals, the Game Arts games were originally developed for the NEC PC-8801.  3-D Helicopter Simulator does not take advantage of Tandy sound and supports high-res EGA.  Thus 11 games from Sierra can be called Tandy 1000 originals with one PCjr. original.

While LucasArts, then Lucasfilm, did not have true Tandy originals, in Maniac Mansion and Zak McKracken their Enhanced versions qualify as Tandy originals.  The low-resolution games were developed for the Commodore 64, but the high resolution enhanced versions were clearly developed on the PC.  The Amiga and Atari ST versions do not look or sound any better than the PC versions.  These games do support EGA graphics.  When run in a PCjr., these games will display CGA-quality graphics and PC Speaker sound.  The low resolution versions behave identically.

Similarly, the first two games in the SSI Gold Box series, Pool of Radiance and Curse of the Azure Bonds, also had support for the Tandy sound chip and nothing more advanced.  However, these were ports from the Commodore 64.  On a PCjr., they will need the Tandy mod to show the graphics properly.  Hillsfar does not use Tandy Sound and Champions of Krynn, Secret of the Silver Blades and later games support Adlib.

Friday, May 24, 2013

The Price of PC Sound (and some other stuff)


How much do we pay for sound hardware in our PCs today, not including speakers?  The answer is usually nothing, all PC motherboards come with onboard sound chips that are satisfactory for 95% of users.  Before 1987, the answer would have been the same, since there was no sound hardware available for PCs.  You were stuck with the PC speaker or the three-voice sound chip if you owned a Tandy 1000 or IBM PCjr.

In 1987, sound hardware products were being marketed and released for the IBM PC platform for the first time.  The first device that was not tied to a particular application (like Bank Street Music Writer) was the IBM Music Feature Card.  This $600 card provided a MIDI interface and a four operator OPP frequency modulation synthesis chip with eight channels and stereo sound.  The card came with 240 preset patches and allowed up to 96 user-created patches.  It was intended for professional musicians.

The second device may have been the Roland MT-32.  While Roland had marketed a MIDI Interface called the MPU-401 prior to 1987, it was an external box that could be used with many systems when combined with the right interface card.  There were interface cards for the Apple II, Commodore 64, all the major Japanese computers of the mid-80s and two cards for the IBM PC.  The MPU-401 was also marketed toward professional MIDI musicians, but with the MT-32, Roland had a product with a price point that could be enjoyed by professional and non-professional musicians alike.  (Consider that the Yamaha DX-7, the first and very famous all-digitized synthesizer, cost $1,955 in 1983).  The MT-32 was derived from Roland's D-50 Synthesizer and used a technology called Linear Arithmetic to combine digital samples with waveform synthesis.  It supported eight channels and one percussion channel.  It supported 32 voices, with each channel requiring 1-4 voices depending on the sound selected.  It has 128 preset patches, 30 percussion patches and allowed for up to 64 custom patches.  It supported reverb and stereo playback.

The third device may have been a cheaper card manufactured by Ad Lib, Inc. called the Ad Lib Music Synthesizer Card.  This card simply interfaced an OPL2 chip to the PC's expansion bus and was intended for the home musician or teaching children about music.  The OPL2 is capable of nine channels of two-operator frequency modulated synthesis or six channels plus five percussion sounds.  Its only supports mono output.

Seeking a competitive edge in the burgeoning market for PC games, Sierra sought to make its products technologically advanced.  Almost all the non-PC systems had better audio capabilities, but their sound hardware was built-in.  Thanks to Nintendo, the days of buying an all-in-one computer that could run applications and games were gone.  However, people still prized their leisure time and still wanted to play games on their PC, especially the more complex games that were not generally found on consoles.  So Sierra On-Line began to search for hardware products that could bring its PC games to the next level.  Roland suggested the MT-32 and history was made.  Then the Adlib came for the many more budget-minded PC game players.

In 1988, Sierra began to sell computer add-on hardware directly to its customers.  It is the only company of the time I know of which did this.  Thus if your local computer store did not carry the cards, you had an easy outlet to obtain them.  Sierra would include flyers in its new games, beginning with King's Quest IV, explaining and hyping the benefits of these new sound cards.  It would send you a demo cassette tape almost for free to show off these cards' capabilities.  Here are the prices if you wanted to take the plunge.

1988
Adlib - $245.00/$195.00 (with/without Visual Composer)
MT-32 + MPU-IPC - $550.00

Sierra never offered IBM's card for sale, and its support for it in games was underwhelming.  Eventually Sierra stopped shipping drivers and patches for it, and at least two games, King's Quest I SCI and Sorcerian will freeze with the driver.  You paid MT-32 prices for the IBM Music Feature but ended up with Adlib sound quality with Sierra's games.

The idea of spending $550 just to hear PC game audio was not something many people were prepared to spend money on in 1988.  According to the U.S.'s Bureau of Labor Statistics CPI Inflation Calculator, $550 has the same buying power today as $1,081.08.  Who today is going to spend over one thousand dollars today on PC sound equipment?  Someone who wanted to make music, whether as a professional or as a serious amateur.  That games could use the module seems to be to have been like chocolate icing on the cake.  Today you could not convince someone to spend a thousand dollars on a sound card for gaming regardless of how many channels and bit rates it supports, the human ear can only process so much.

1989
Adlib - $195.00/$175.00 (card only price decrease)
MT-32 + MPU-IPC - $550.00
Game Blaster - $129.95
MT-32 + MPU-IMC - $650.00

The Game Blaster was supported, presumably in an attempt to provide something better than the PC Speaker at a cheaper price point.  The Game Blaster came packaged with Sierra's Silpheed.  While the Game Blaster can provide twelve channels of stereo frequency and amplitude controlled square waves with a noise channel and an envelope channel, it frequently sounded like the Tandy 3-voice sound chip, only in stereo.  The MPU-IMC was the Microchannel version of the MPU-401 interface for IBM PS/2 computers.

1990
Adlib - $175.00
Game Blaster - $129.95
Sound Blaster - $239.95
LAPC-I - $425.00
MT-32 + MPU-IPC-T - $550.00
MT-32 + MPU-IMC - $650.00

The LAPC-I arrives to deliver on the promise of having a synthesizer fully on the card.  While it is better priced than the MT-32 and includes 33 additional sound effects, Sierra's games frequently sounded better on the MT-32 because it abused bugs in the device to make custom sounds.  Note how the prices have not really moved from the previous years.  However, by this time, Sierra would be offering deals if you bought a card from them, like two free Sierra games of your choice if you bought the MT-32.  (At their prices, that was over $100 in savings).

With the LAPC-I, for the first time gamers can enjoy a discount from Sierra.  The MT-32 requires a separate MPU-401 interface, which seems to increase the price by $100-200.  The LAPC-I has the interface built-in except for the external ports and was slightly cheaper to manufacture.  However, by this time the MT-32/LAPC-I only had two years before it would be supplanted in the market by the Roland SCC-1 and other devices.

Since the Adlib was an extremely simple card, clones began popping up once other vendors discovered which chips it was using and games from Sierra and other publishers were being released with support for it.  The people at Ad Lib, Inc. thought they were being clever by scratching off the chip part instead of obtaining an exclusivity agreement with Yamaha for the chips being used.  However, in 1987 the board was not yet a great success.  By this year you would see a $20 rebate coupon for the Ad Lib in game boxes.  If you bought a clone board, you could easily save yourself $50-60.

Sierra replaced the MPU-IPC with the MPU-IPC-T, and while these two devices are virtually identical, the -T version leaves off the SYNC connector on the expansion box.  It does allow for easy changing of the I/O ports, but Sierra only supported the MPU-401 on I/O 330-331.

The Sound Blaster is also sold, and at this price it contained the Game Blaster chips.  It provided an Adlib-compatible OPL2 chip, a joystick/MIDI interface for the first time and provided a widely-accepted standard for digitized sound output.

1991
MT-32 + MPU-IPC-T - $399.99
MT-32 + MPU-IMC - $499.99
CM-32L + MPU-IPC-T - $545.00/$449.95
CM-32L + MPU-IMC - $549.95/$499.95
CM-32L Macintosh - $545.00
LAPC-I -$445.00/$399.95/$349.99
MCB-1 - $90.00/$84.95 (combo w/LAPC-I is $449.95)
Game Blaster - $99.99
Adlib - $109.99
Sound Blaster - $170.00/$159.95/$149.99/$129.95
Sound Blaster MCV - $249.95
Sound Blaster MIDI Box - $129.95/$89.95
Thunderboard - $99.95
Pro Audio Spectrum - $249.95
CD-ROM Kit - $795.00
Supra 2400 Baud Modem (internal) - $88.88
Supra 2400 Baud Modem (external) - $128.88
Gravis Analog Joystick - $59.95
Gravis Eliminator Game Card - $44.95
Gravis Eliminator Microchannel Game Card - $79.99

All throughout 1990 and beyond, Sierra began talking about the benefits of CD-ROM technology, their adoption of it and its eventual replacement of floppy disks.  CD-ROMs were a huge expense in the early days and while Sierra may have released some of the first PC CD-ROM games, the real killer apps for the technology were probably The 7th Guest and Myst.  Interestingly, Sierra seemed to have better support for the Media Vision Pro Audio Spectrums, including stereo FM synthesis support and later 16-bit digitized audio than the Sound Blaster cards.  Presumably by this time there were no difficulties in trying to purchase multimedia hardware from a computer store.

The CD-ROM kit include the Pro Audio Spectrum, a Sony SCSI CD-ROM drive, the CD-version of Jones in the Fast Lane and Compton's Multimedia Encyclopedia.  CD-ROMs were generally connected via SCSI or proprietary interfaces until IDE CD-ROMs became cheap enough to become the only standard most consumers would ever deal with.  Sound cards would be the main way to connect a CD-ROM until the Pentium era.

The Pro Audio Spectrum allowed for stereo OPL2 music, 8-bit stereo digital output at 22K, a MIDI/joystick interface and a non-bootable SCSI interface.  The Thunderboard was a Sound Blaster 2.0 clone without MIDI or Game Blaster support.

The CM-32L finally replaces the MT-32 for the external synthesizer version, and its capabilities are identical to the LAPC-I.  The LAPC-I gets the MCB-1 external MIDI box to reach full parity with the CM-32L and MPU-IPC-T.  The Sound Blaster MCV is the Microchannel version of the Sound Blaster for IBM PS/2 machines.  The Sound Blaster MIDI box is an overpriced device, the functionality of which can be replicated with a standard joystick/MIDI interface cable.

The Sound Blaster prices kept dropping throughout the year.  By this time, the Game Blaster chips were  an upgrade and by the end of the year, Sierra would probably have been shipping the smaller 2.0.

Presumably to complement Dynamix's line of simulators, Sierra also began offering joysticks.  The Gravis Analog Joystick sports three buttons and has a large base and hand-grip handle.  It has a tension dial and the buttons are reconfigurable.  Unfortunately it did not come with a trigger button.  The Eliminator game card was a dual port card with an external dial to control the speed of the card.

By this time, Sierra had just started up The Sierra Network, its online entertainment portal.  It was similar to CompuServe, Prodigy and America On-Line.  The modems being offered were not very fast, but were cheap and apparently sufficient for their service's needs.  In the next year, hardware manufacturers would advertise 9,600 and 14,400 baud modems.

1992
CD-ROM Kit - $795.00
CM-32L + MPU-IPC-T - $449.95
CM-32L + MPU-IMC - $549.95
CM-32L Macintosh  - $449.95
LAPC-I - $399.95
MCB-1 - $84.95
LAPC-I + MCB-1 - $449.95
Sound Blaster - $129.95
Sound Blaster MCV - $249.95
Sound Blaster MIDI Box - $89.95
Thunderboard - $99.95
Pro Audio Spectrum - $249.95
Pro Audio Spectrum 16 - $199.95

1992 is the last year that Sierra would attempt to sell products directly for quite a while.  Increasingly, advertisements from various hardware companies would put their ads into Sierra's Interaction magazine.  Few new products to report, the most notable being the Pro Audio Spectrum 16 at a reasonable price.

1996
Thrustmaster Formula T2 - $129.95
Sierra Screamin' 3D - $199.95

The Sierra Screamin' 3D is a 4MB Rendition Verite 1000 card.  It was bundled with good-to-decent games like Indy Car II, A-10 Silent Thunder, CyberGladiators and a demo of the Rendition version of Quake (vQuake).  Sierra tried again to be predictive of the upcoming technology, but it missed the mark.  Unfortunately, the Rendition chipset had an achilles heel, namely that 2D VGA performance was incredibly poor.  While most games could greatly benefit when the VGA mode was translated into a Rendition mode, those games that could not benefit, like the DOS version of DOOM, were unplayable.  In other words, if the game went beyond the standard Mode 12-13h features, the game slowed to a crawl on the Rendition cards, even on a Pentium II.  DOOM was still extremely popular in 1996.  While Quake was one of the Killer Apps for 3D gaming, it was 3dfx's Voodoo card that took off, even though it was not a 2D card.

The Thrustmaster Formula T2 was a gameport interface racing wheel with pedals, two buttons and a gear lever.  It could be purchased with NASCAR Racing 2 or IndyCar Racing II for $149.95.  Judging by youtube video it was quite a good product back in the day.



Monday, May 13, 2013

Hardcore Computist - Hardcore IBM PC Game Hacking?

The magazine Hardcore Computist was a magazine dedicated to cracking on the Apple II platform.    Every month users would submit their cracks or "softkeys" allowing a user to break the copy protection on commercial software and freely copy that software to disk.  Naturally the magazine only claimed to assist users in making legitimate backup copies of their software, but too frequently programs would be widely distributed anyway.  The magazine also offered hacks to cheat at games, reviews, technical articles and the like.

All issues of Hardcore Computist and related items can be found here : http://computist.applearchives.com/  It is less known that eventually, around issue 48, the magazine started to invite IBM PC software cracks and hacks.  At first, they were slow in coming.  Some issues did not have any, and other issues only had applications, not games.  For these cracks, all that was usually needed was a hex editor and DEBUG, but the cracks varied widely in quality.

Some of these cracks can be found on textfiles.com, and many more can also be found there.

Game        Version PublisherIssue#Protection 
The Dam Busters
Accolade 89 Disk
Chessmaster 2000 1.01 Software Toolworks 89 Disk
The Faery Tale Adventure: Book I CGA & EGA MicroIllusions 87 Document
Ancient Art of War, The
Broderbund 87 Disk
Grave Yardage
Activision 87 Disk
Gun Boat
Accolade 87 Disk
Gauntlet
Mindscape 87 ?
Astrilis
Shaman Games 87 ?
Space Harrier
SEGA Enterprises, Ltd. 86 Disk
Heat Wave
Accolade 86 Document
Hoverforce EGA & VGA, 03-19-91 Accolade 86 Document
Carrier Command
Microplay 85 Document
Where in the U.S.A. is Carmen Sandiego
Broderbund 85 Disk
Colonel's Bequest, The
Sierra On-line 85 Document
Continuun 11/29/90 Data East 85 Document
Crime Wave 1.1 & Unknown Access Software 85 Document
Curse of the Azure Bonds
Strategic Simulations, Inc. 85 Document
Dragon's Lair II
Readysoft Incorporated 85 Document
Dragon's Lair
Sullivan Bluth Interactive Media, Inc. 85 ?
Earthrise
Intersel Corp. 85 Document
Escape from Hell
Electronic Arts, Inc. 85 Document
Earl Weaver's Baseball 1.5 Electronic Arts, Inc. 85 Document
F-15 Strike Eagle II
MicroProse 85 Document
Gunship
MicroProse 85 Document
Caveman Ugh-Lympics
Electronic Arts, Inc. 85 Document
Firehawk : Thexder II 09/24/90 Sierra On-line 85 Document
Battle Chess II : Chinese Chess
Electronic Arts, Inc. 84 Document
Battlehawks 1942
Lucasfilm Games LLC 83 Document
Alley Cat
IBM 83 Disk
Jordan vs Bird: One on One
Electronic Arts, Inc. 83 Document
Grand Slam Bridge
Electronic Arts, Inc. 83 Disk
Bargames
Access Software 83 Document
Archipelagos
FanFare 83 Document
California Games 1.01 02-23-88 Epyx 83 ?
Balance of Power 1.1 Mindscape 83 Disk
Where in the World is Carmen Sandiego 2.0 12-11-89 Broderbund 83 Disk
Where in Time is Carmen Sandiego
Broderbund 83 Disk
Dragon's Lair
Sullivan Bluth Interactive Media, Inc. 83 Disk
Battlehawks 1942 10/06/88 Lucasfilm 82 Document
Centurion
Electronic Arts, Inc. 82 Document
Champions of Krynn
Strategic Simulations, Inc. 82 Document
Command HQ
MicroProse 82 ?
Indianapolis 500
Electronic Arts, Inc. 82 Document
Jack Nicklaus' Greatest 18 Holes of Major Championship Golf CGA, TGA, EGA, HGC Accolade 82 ?
Lowblow Boxing
Electronic Arts, Inc. 82 Document
Might and Magic: Book One - Secret of the Inner Sanctum 11/18/87 New World Computing 82 ?
Might and Magic II: Gates to Another World
New World Computing 82 ?
Railroad Tycoon
MicroProse 82 Document
Silpheed 2.2 Sierra On-line 82 Document
Street Rod
California Dreams 82 Document
M1 Tank Platoon
MicroProse 82 Document/Disk (Document Only)
Test Drive II EGA & CGA Accolade 82 ?
Vette
Spectrum Holobyte 82 Document
ABC Monday Night Football
Data East 82 ?
Abrams Battle Tank
Electronic Arts, Inc. 82 Document
Bob'n Wrestle
Mindscape 82 ?
Nuclear War
New World Computing 82 Document
Pipe Dream
Lucasfilm Games LLC 82 Document
Red Storm Rising
MicroProse 82 Document/Disk (Document Only)
Wing Commander
Origin 82 Document
Populous
Electronic Arts, Inc. 82 ?
Life & Death II: The Brain
Software Toolworks 81 Disk
Crime Wave
Access Software 81 Document
Stunt Driver
Spectrum Holobyte 81 Document
Gauntlet II
Mindscape 81 Document
Wing Commander
Origin 81 Document
Thexder II : Firehawk
Sierra On-line 81 Document
Welltris 10/03/89 Spectrum Holobyte 80 Document
Serve and Volley
Accolade 80 Disk
Where in Time is Carmen Sandiego
Broderbund 78 Disk
Indianapolis 500
Electronic Arts, Inc. 77 Document
Ultima V : Warriors of Destiny
Origin 77 Disk
Where in Time is Carmen Sandiego
Broderbund 77 Disk
Interlude II
? 76 Disk
Rack'Em
Accolade 76 Disk
Mean Streets
Access Software 76 Document
Red Storm Rising
MicroProse 75 Document/Disk (Disk Only)
Pete Rose Pennant Fever
Gamestar 75 Document
Silpheed           1.0 Sierra On-line 75 Document
Paperboy CGA, TGA & EGA, PAPERxxx.EXE = 06/17/88 Mindscape 75 ?
Zany Golf
Electronic Arts, Inc. 75 Document
Pool of Radiance
Strategic Simulations, Inc. 75 Document
Paladin
Omnitrend Software, Inc. 75 Document
Welltris WELLTRIS.EXE = 10/03/89 Spectrum Holobyte 74 Document
Batman
Data East 74 ?
Motocross CGA & EGA, Possibly TGA & HGC Gamestar 74 Document
Populous
Electronic Arts, Inc. 74 Document
SimCity
Broderbund 74 Document
Their Finest Hour: The Battle of Britain
Lucasfilm Games LLC 74 Document
Battle Chess
Interplay 72 Document
Chuck Yeager's Advanced Flight Simulator           1.0 Electronic Arts, Inc. 72 Disk
Battlehawks 1942
Lucasfilm Games LLC 72 Document
688 Attack Sub
Electronic Arts, Inc. 72 Document
Shinobi SH.EXE = 9/23/89 SEGA Enterprises, Ltd. 72 ?
Zany Golf
Electronic Arts, Inc. 71 Document
Mean 18 + Arch GOLF.EXE = 89375 bytes, ARCH.EXE = 49631 Accolade 70 Disk
The Last Ninja
Activision 70 Disk
The Games: Winter Edition
Epyx 70 Disk
Jack Nicklaus' Greatest 18 Holes of Major Championship Golf
Accolade 70 Document
Defender of the Crown
Mindscape (Cinemaware) 70 Disk
Infiltrator
Mindscape 70 ?
Perfect College
Mindscape 70 ?
Gold Rush!
Sierra On-line 70 Document
F-19 Stealth Fighter 10/15/88 MicroProse 70 Disk
Police Quest II: The Vengeance
Sierra On-line 70 Document
Leisure Suit Larry Goes Looking for Love (In Several Wrong Places)
Sierra On-line 70 Document
Apollo 18: Mission to the Moon
Accolade 70 ?
Mean 18 + Arch 03/29/88 Accolade 68 Disk
Bop 'n Wrestle
Mindscape 68 ?
Willow
Mindscape 68 Disk
Ancient Art of War, The
Broderbund 68 ?
Chuck Yeager's Advanced Flight Trainer 2.0 1.2 Electronic Arts, Inc. 68 ?
The Games: Summer Edition
Epyx 68 ?
California Games
Epyx 68 ?
Trivia Master
? 68 ?
Gato
Spectrum Holobyte 68 ?
The Last Ninja
Activision, Inc. 68 Disk
Rampage
Activision 68 Disk
Leisure Suit Larry Goes Looking for Love (In Several Wrong Places)
Sierra On-line 68 Document
Fast Break
Accolade 68 Disk
4th & Inches
Accolade 68 Disk
Test Drive
Accolade 68 Disk
The Three Stooges
Cinemaware Corp 68 Disk
King's Quest IV: The Perils of Rosella 09-19-88, 09-24-88 Sierra On-line 68 Document
F-15 Strike Eagle
MicroProse 68 Disk
Reader Rabbit
The Learning Company 66 Disk
Balance of Power
Mindscape 64 Disk
Trivia Fever
Professional Software 64 Disk
Mean 18 + Arch EGA Accolade 64 Disk
Ultima II: Revenge of the Enchantress .COM Sierra On-line 63 Disk
Chuck Yeager's Advanced Flight Simulator           1.0 Electronic Arts, Inc. 63 Disk
Test Drive CGA 10/26/87, 11-17-87 (Not EGA, see Issue 65) Accolade 61 Disk
Mind Prober
The Human Edge 60 Disk
Zork II: The Wizard of Frobozz
Infocom 56 Disk
Zork: The Great Underground Empire
Infocom 56 Disk
Sargon III
Hayden Software Co. 54 Disk
Pool 1.5
Innovative Design Software 53 Disk
Zork III: The Dungeon Master
Infocom 53 Disk
Flight Simulator          1.00 Microsoft 52 Disk

Friday, April 19, 2013

The IBM PC Model 5150 as a Gaming Machine

The IBM PC Model 5150 is an extremely important, even an iconic, personal computer.  Its legacy is still directly felt even today, thirty-two years after its introduction, August 12, 1981.  It had an extremely long market life, only being discontinued on April 2, 1987.  No other PC compatible was on the market for so long, five and a half years.  Today, its descendants are undoubtedly the most powerful and expensive gaming machines on the planet.  Like the original 5150, today's PCs use the same fundamental microprocessor architecture and instruction set, the Intel x86.  They still use keyboards, have expansion slots, power supplies, input and output ports, joysticks and specialized computer monitors.  But the PC was not always known for its ability to play advanced games.  The common ancestor was conceived as an affordable microcomputer for the masses.  It was built to run programs like VisiCalc and WordStar.

Computer games of the time, 1980-81, were generally not very impressive graphically or aurally compared with the arcades or even the home consoles of the day.  The premier "gaming computers" at the time of the PC's introduction were the Atari 400 and 800 machines.  The Atari devices had custom co-processors and chips for color, graphical effects and sound and input/output.  Commodore and Texas Instruments would follow with home computers with specialized hardware.  The PC was closer in design and implementation to the Apple II and II+ computers, with relatively modest graphics and sound capabilities, but with a bus designed to expand the system.

CPU

At the heart of the PC is the Intel 8088 microprocessor.  This processor is a budget version of the 8086 microprocessor.  The 8086 is a fully 16-bit internal and external processor, but the 8088 has only an 8-bit external bus, which decreases its performance but allows it to use cheaper 8-bit interface chips.  IBM ran the 8088 in the PC at 4.77MHz, or 4/3 of the NTSC Colorburst frequency, 3.58MHz.  Even among its microcomputer contemporaries, the 6502 and the Z80, the 8088 was not a particularly fast CPU.  In many instances, it is roughly on par with the 1.02MHz 6502 in the Apple II machines.  The 8088 in the PC is socketed, so it can be upgraded with an NEC V20, which offers excellent compatibility and up to 15% improved performance over the 8088 at the same clock speed.  Other potential upgrades are discussed later.

Expansion Overview & Useful Components :

The PC is a little tricky when it comes to upgrades, due to the design of the case and available expansion slots.  IBM was conservative with expansion slots, whereas the Apple II had seven available slots, IBM only allowed for five, and at least one is always taken by a video adapter whereas Apple had its circuitry built in.  Additionally, Apple included a Game I/O port on its motherboard, on the PC it must be added by or as part of an expansion card.

You cannot maximize the system's expansion capabilities using IBM's expansion options.  IBM released separate expansion boards for the Diskette Drive (floppy) adapter, Monochrome Display and Printer Adapter (MDA), Color/Graphics Adapter (CGA), Asynchronous Communications (serial port) Adapter, Printer (parallel port) Adapter and Game (joystick port) Control adapter.  IBM made four memory upgrade boards, the 32KB, 64KB, 64-256KB and the 256KB Memory Expansion Adapters.  Each takes a slot and offers no additional functionality.

The external bays are also not easy to fill.  The case has two full height 5.25" bays, each intended to hold one Tandon TM100-1A single sided or TM100-2A double sided drives.  They can also house a 5.25" hard drive like an ST-412.  Half height drives will require an adapter mechanism, which IBM only provided its late model XTs.

Due to the unique placement of the expansion slots on the PC, you are essentially stuck with IBM's case.  3rd party AT cases will usually accommodate the IBM XT's and clone motherboards because an XT and an AT motherboard spaces eight expansion slots at the same particular distance apart.  This distance is reflected in the slot brackets on the rear of the case.  For the PC's motherboard, at the very least some expansion ports will be partially or fully blocked.  The placement of the cassette DIN may also cause a problem.

Memory Expansion

The early PC's motherboard only supported 16, 32, 48 or 64KB of RAM on the motherboard.  The PC's architecture, as of the third BIOS, supported 640KB of memory for programs and DOS.  The vast majority of PCs sold had the third BIOS, dated October 27, 1982 and a motherboard supporting 64, 128, 192 or 256KB of RAM.  Further memory expansion had to be by an expansion board.  Memory added on an expansion board is treated identically to memory located on the motherboard.  Using IBM's option required sacrificing two slots to get to 640KB, although in practice 512KB will usually do for most programs that run well on a PC.

Power Supply and Hard Drives

The IBM PC came with a 63.5W power supply, which was not considered sufficiently powerful to drive a floppy and a hard drive like the ST-412 10MB.  Whether it can reliably power a less power hungry drive like the ST-225 20MB drive is an open question.  The PC and XT use identically shaped power supplies, except the XT supplies 130W.  The IBM Fixed Disk Adapter is required to interface the drive to the system.

IBM's official solution for users wanting to use a hard drive with the PC was to purchase the IBM 5161 Expansion Unit.  This is a case that is physically identical to an XT's case and has a 130W power supply to power up to two full height drives.  It also adds seven additional expansion slots for the cost of one expansion slot in the main PC.  However, these were extremely expensive in the day and extremely difficult to come by today at reasonable prices.  It also requires an extender card, a receiver card and a heavy duty special cable, which may nor not be included.

I suspect that most people got away with purchasing an aftermarket drive and upgraded the power supply only if the system was unstable.  The IBM adapter, with the Xebec chipset, was notoriously slow and only supported the 10MB ST-406 for the first two revisions.  It only added ST-225 20MB support in the third and final revision.  The disk interleave supported by that controller officially was 6:1 (unofficially it could work with a 5:1 interleave), but third party controllers could offer 3:1 interleaves.

Keyboard

The IBM Model F Keyboard (83-key PC/XT type) was the only keyboard officially supported in the PC, even the IBM Model M 101-Key keyboard is not guaranteed to work in a PC.  True IBM manufactured Model M's will work in an XT (2nd or 3rd BIOS preferred), and offer your best chance to work in a PC.

Do not discount the 83-key keyboard, even though its layout is just this side of premodern.  The keyboard is extremely robust and heavy and made mostly of metal.  There is no membrane, the buckling spring contacts press against a PCB.  The clicky feeling is louder and crisper compared with a Model M.  The spacebar requires more force to push down.

Games of the first five years frequently assume that you are using the 83-key keyboard.  Digger, for example, uses F1 to shoot.  On a Model M, this is a puzzling choice, since the F1 key is at the top of the keyboard.  On the Model F, it is to the all the way to the left and makes more sense.

If you must have a 101-key keyboard, I would strongly recommend finding a Tandy Enhanced Keyboard.  Released with the Tandy TL and SL computers and their descendents, these are fully XT and AT compatible keyboards that work with anything with a 5-pin DIN or PS/2 port.  They simply aren't as clicky as an IBM keyboard, but they do not use cheap rubber dome technology.

Video Adapters and Monitors

There are three main choices for video adapters in the PC.  The first is the Monochrome Display and Printer Adapter (MDA).  This only displays 80-column text, (9x14 pixel cell size) so it is unsuitable for non-text games, with few exceptions.  (IBM's 101 Monochrome Mazes requires an MDA card, some games support the MDA as an alternative without graphics).  The MDA requires a special monochrome monitor, and the IBM 5151 Monochrome Display usually accompanies it.  This is a green, long persistence phosphor display that plugs into the PC's power supply.

The second choice was not an IBM product but the very popular Hercules Graphics Card (HGC).  This card was fully compatible with the MDA, including printer port, but also offered a 720x348 monochrome graphics mode.  This graphics mode could be displayed on an IBM 5151.  Many more games support Hercules monochrome graphics.  Of course, these cards are not as common as straight MDA cards, but the functionality was widely included in 3rd-party cards.

The third choice was the IBM Color/Graphics Adapter.  This card offered 40 and 80-column text in 16 colors with a color selectable border.  The text used an 8x8 pixel cell size.  It also supported 320x200 graphics with four colors, with two (really three) sets of three color palettes in two intensities and a selectable background color, and 640x200 two color graphics with one color selectable.  It has two video connectors, a DE-9 for a digital RGB display like the IBM 5153 Color Display and an RCA output for a connection to a color composite monitor.  IBM did not release the 5153 until 1983, so until then many games relied upon the composite color output.  Composite color output can turn 640x200 two-color graphics into 160x200 sixteen-color graphics.  It also works with 320x200 graphics, although the results are not quite as impressive and it can look worse if the graphics are not optimized for composite color.

You can use a CGA and a MDA or HGC card together in a PC with the appropriate monitor attached for each.  The MDA handles regular text duties, and its text is sharper and does not suffer from CGA snow.  The graphics adapter will be used as programs see fit.

CGA Snow, random white dots or lines appearing in games that use the 80-column text mode, is unavoidable on a CGA or clone card.  The CGA does not have the capability to quickly refresh the screen in synchronization with the CPU accesses to video memory in 80-column mode, hence causing snow.   Its a hardware issue not present in other video adapters.

The IBM Enhanced Graphics Adapter was released in 1984 and was an expensive upgrade option for most of the PC's operational life.  It added 320x200 and 640x200 graphics in sixteen colors with a 5153 Color Display, 640x350 monochrome graphics with a 5151 Monochrome Display or 640x350 graphics in sixteen colors from a sixty-four color palette with the 5154 Enhanced Color Display.  It is fully compatible with the MDA but only mostly compatible with the CGA.  Games writing to the CGA registers directly, which do not exist in the EGA, will have problems.  3rd-party EGA adapters can offer better CGA compatibility, but few support composite color.  The PC will have major difficulties driving most EGA graphic-supporting games at playable speeds.

8-bit VGA adapters, or 16-bit VGA adapters that work in an 8-bit expansion slot, do exist, but are not easy to find.  While they are useful in that the VGA display connector is still widely supported today, VGA graphics are rarely CGA compatible beyond the basics and the PC does not have the power to drive VGA graphic nodes.

Floppy drives

In addition to the issue with the bays, the extremely common IBM diskette drive controller and clones only support double density drives.  This means that 5.25" disks are only supported up to a 360KB capacity and 3.5" drives can only use 720K disks.  High density 3.5" drives can be reliably used, but 1.2MB 5.25" drives cannot.  3rd party controllers that supported high density floppy drives and work in an XT are not common. Moreover, a BIOS extension ROM will be necessary to support normal operations and booting off high density disks and 5.25" drives.  Controllers that can support the data rates required by high density drives and have a BIOS extension ROM are not commonly found.

There are several games which must be booted off a floppy to play, and several more that are better played off the floppy because the hard drive conversion is less than perfect.  A floppy drive and plenty of 360K disks are essential.  Some games only have 720K booters available.

Ports

IBM made three I/O cards that had any lasting staying power outside the business world.  The serial card is useful for external modems (IBM never offered a widely used modem) and more useful for mice.  The printer card or the MDA adds a parallel port.  While these ports are unidirectional, they can easily be modified to support bidrectional PS/2-style capabilities.  In addition to printers (which some games support), many 100MB Parallel Port ZIP Disk Drives can be supported.  The palmsys.zip driver is required for those using the 8088 CPU, those using a V20 can use IOMEGA's official driver.  The Game Control Adapter adds analog joystick support, but needs a Y-adapter for two joysticks.  IBM never officially offered a joystick for the IBM PC, but they did for the PCjr.  The PCjr. joystick is a copy of the Tandy Color Computer and Kraft joysticks, boxy devices with an 8-way analog stick, two push buttons, two adjustment controls and an axis-lock.  Apple II's also used analog joysticks but used a different potentiometer value and different connectors.

Each card takes up an expansion slot, so if you had a video adapter and disk controller adapter, that would leave you only three slots for ports.  To have one of each port by IBM's expansion options would leave no room to upgrade the memory.  Fortunately there is a swiss-army knife card for the PC called the AST Six Pak Plus.  This was a very popular upgrade for the PC.  It offered up to 384KB of RAM, one serial port, one parallel port, one game port and a Real Time Clock.  IBM even offered it toward the end of the PC's life.

There were no-slot-clock RTC chips available, but they typically required an XT or better because they required a 28-pin ROM socket.  The PC uses non-standard 24-pin ROM sockets.  The Dallas 1216E chip will not fit without a soldering mod in an IBM PC, Apple II or II+.  

A few caveats about the Six Pak Plus.  The printer and game ports are run off the main board with ribbon cables, and are intended to occupy the second bracket.  The game port on most of these cards is unusable unless a 74LS244 and an NE558 chip are added to the appropriate sockets.  The RTC requires a driver to be loaded in your AUTOEXEC.BAT file, but it does use a common CR2032 battery.  I do not know if the printer port can be modified to support bidirectionality.  It does essentially allow you to use two slots that would have been occupied by IBM's port cards.

Not Particularly Useful Upgrades :

CPU Upgrades

Further upgrades to the PC come in the form of CPU Accelerator Boards.  They take up a slot, are very hard to find and do not offer quite the same level of performance as a full system running at the equivalent speed.  A list of accelerators that were available back in the day can be found here : http://www.atarimagazines.com/compute/issue117/p42_upgradefever2_ACCELERATOR_CARDS.php

I discourage use of accelerator boards.  While nice to collect, they fundamentally alter the character of the underlying machine.  If you want a 286 and more advanced, go buy an AT or clone.  You won't be held back by the slot placement, the full-size bays or the like.

Sound Cards

The PC only comes equipped with a PC Speaker.  For good or ill, the PC Speaker in the PC has a 2.25" diameter speaker cone and can be really loud.  This is important for those games that tweak the cone to expand and contract faster than it is designed to do.  Piezo tweeters like those found in the PCjr. and many of the PS/2 computers cannot do these tweaked sounds justice.

You may be tempted to put an Adlib or Sound Blaster card in the system, but for gaming purposes, these cards are better used in faster systems.  The first game supporting any sound card was King's Quest IV (SCI Version), a game that runs incredibly slowly on a PC.  So few games will use an Adlib and run playably on a PC, it just is not worth it to put one in there.

Modems

A modem is not terribly useful in a PC in the modern world.  Games that support modem play tend not to play very quickly on a PC.  Connecting to the Internet requires a dial up ISP and the wherewithal to get the dial up internet gateway working with the PC.

Expanded Memory

To get memory beyond the 640KB conventional memory limit, you had to add an Expanded Memory Board.  These were a popular option for users wanting to run lengthy, computationally intensive Lotus 1-2-3 spreadsheets.  Games did not support Expanded Memory until 1990, and by that time no game was going to run well on a PC with or without expanded memory.

Coprocessor

The Intel 8087 coprocessor was inserted into the empty 40-pin socket.  It had virtually no practical application for games.  SimCity may have used it, however.  It does no harm, however, to insert one.

Games that People Play

For the first five years of the PC's life, most games released for that platform were specifically tailored to work at the PC's speed.  There was nothing slower (PCjr. being an exception), and the much faster IBM AT cost a fortune.

Virtually any game released as a PC booter will run well or tolerably on the IBM PC.  Good ports like Alley Cat and Shamus are fine examples.  Digger and Styx, classic knockoffs of Mr. Do and Qix, respectively, also run well but can benefit from a speed boost.  These games were released by IBM and Windmill Software, respectively, so they will run in a PC.  Windmill Software's games do not run on an EGA card.  Round 42, Sopwith, Rogue, Starflight, Elite are also other great PC games.  Pirates! should be playable.  Any Infocom or other text game will also work fine, assuming CGA snow does not bother you.

As far as Sierra's AGI games go, the PC was not the ideal platform for King's Quest and other games using this engine.  These games were made for the PCjr and Tandy 1000 in mind.  With the booter versions of KQ1-2 and The Black Cauldron, each time the screen changes, the game will load a new screen from the floppy.  This can take 6-8 seconds per screen.  In the booter versions, you can see the machine draw the vectors and fill the shapes on a PC.  The hard disk versions are somewhat better, depending on your hard drive's speed, but even with a fast device expect to experience a few seconds of waiting for the screen to load or draw.  An EGA card is ideal for the hard drive versions.  Sierra SCI games are way too slow for the PC.

I would avoid any booters released by Data East.  Some of their games require 512K, which is really high for the simplistic arcade-style games and suggest that they were not well-programmed or used a high level language like C, which is not as fast as well-programmed assembly on a PC.  I would generally be wary of any game that requires 384-512K, and 640K games rarely run playably on a PC.

Lucasarts' SCUMM games were very popular, but I would recommend only playing the low resolution Versions of Maniac Mansion and Zak McKracken and the Alien Mindbenders.  The high resolution versions of these games scroll the screen pitifully slowly and take longer to load their screens.  These two games are best played on the Tandy for enhanced sound.

Most RPGs released in the 1980s will work fine with the PC.  Ultimas 1-4, (5 is a bit slow in spots), The Bard's Tale series, Wastleland, Dragon's Lair, Might and Magic 1 (and maybe 2) and Wizardry 1-5 all run well on the PC.