Monday, June 17, 2013

Ultima VII on Real Hardware

Ultima VII - The Black Gate is, in my opinion and in many others, the greatest Computer Role Playing Game of the first half of the 1990s.  But like many Origin games (Wing Commander I & II) of this time period, it is extremely sensitive to hardware speed.  It runs faster than the ideal on my 486DX2/66 (the characters move like they are on speed).

While on my 486DX/2 66 Wing Commander I & II can be tamed by disabling the internal cache, it doesn't work with Ultima VII.  The game re-enables the internal cache in my machine if I disable it beforehand either with a software utility like ICD.EXE or through the BIOS option.  Slowing the RAM speed in the BIOS does nothing substantial to slow down the game.  The turbo button will show real slowdown, but the slowdown is a little too great and the game runs at a suboptimal speed.  Its close to a 386DX40.  Its like Goldilocks and the Three Bears, too hot and too cold are easy, but getting the speed "just right" is not easy.  Pentium computers will begin to run Ultima VII insanely fast.  The game's sequel, Serpent Isle, runs on an updated version of the Ultima VII engine.  Serpent Isle has a frame limiter to prevent the action from becoming sickeningly fast, however a powerful machine can still make it play faster than it should.

The ideal system to play Ultima VII on is a 486DX33 with 4MB of RAM, so I have been told.  Scorpia made the claim in Computer Gaming World.  Apparently this is indicated somewhere on or in the game's packaging, but I have reviewed all the items included in the box and I see no such assertion.  It may be on the system requirements label on the underside of the box cover.  Like most games, the more things that are happening on the screen, the slower the resulting gameplay.

The best advice I have for people with a 486DX2/66 is to use the jumpers to lower the FSB speed from 33 to 20MHz.  This will turn your CPU into a 486DX2/40, a CPU that never existed in the wild.  However, it will produce a correct balance of speed, very close to the ideal.

The next issue is the Voodoo Memory Manager.  Ultima VII and Serpent Isle use a custom memory manager that is wholly incompatible with all expanded memory managers, including EMM386, QEMM, CEMM, you name it.  All these drivers put the CPU into Virtual 8086 mode, whereas Ultima VII requires true Real Mode for its voodoo memory manager (which the game puts into the so-called "Unreal Mode") to work.  Origin specifically informs the user that it used this memory manager to avoid the problems with EMS, but it does not indicate what those problems were.  My guess is that the performance hit from using EMS was too much for the game to handle.  Ultima VII is also incompatible with Windows for the same reason; it must be run in DOS unless you use the unofficial U7WIN9X patch (for Windows 95-ME).

The problem with these games' EMM386 compatibility is that EMM386 provides Upper Memory Blocks.  Device drivers, such as those for the mouse, CD-ROM and disk cache, can load in UMB to save precious conventional memory.  Ultima VII and especially Serpent Isle require lots of conventional memory free, up to approximately 585K free for Serpent Isle with all sound options.  No EMM386, no guarantee of UMB.  While CTMOUSE is small enough (3K) that it can be loaded without a substantial impact on the conventional RAM, SMARTDRV and MSCDEX require about 25K a piece.  Without UMBs its virtually impossible to load a normal DOS configuration.  The official solution was to create a barebones boot disk.

It may be possible to create UMBs in systems without loading EMM386.  In Pentium and later systems, UMBPCI works with proper PCI implementations.  In 386 and 486 systems, you can try HIRAM, URAM (1988), RDOSUMB or LastByte Memory Manager may also work, depending on whether the software supports the chipset and its use of shadowing memory.  You will probably not get as many UMBs as you would with EMM386 (forget B000-B7FF), but if it works for you, it will avoid having to specially boot your system for these games.

The final issue is that this game will thrash a hard drive like Simon Legree.  To avoid those annoying short (or not so short) pauses as the game scrolls the screen, the standard 16-bit IDE controller is not going to cut it.  Fortunately there are many options to speed up disk access.  On the extreme end of the scale, if you have 32MB of RAM, consider creating a RAM drive with the DOS utility RAMDRIVE.  A full install of Ultima VII + Forge of Virtue is 19.5MB without savegames.  Serpent Isle and The Silver Seed runs to 22.5MB.  Thus your RAMDISK needs to be about 1.5MB larger than the install size.  Just remember to copy the game back to your system.

Other improvements include SCSI, whether IDE, VLB or PCI; VLB or PCI IDE, and the use of fast hard drives and compact flash cards (with IDE or rare SCSI adapter).  SMARTDRV, a disk caching program, will also assist with slower hard drives (i.e. hard drives you would actually have used at the time).

Ultima VII does not really care too much about the VGA card used, but I would recommend a Tseng ET4000AX if you are forced to use an ISA card, otherwise use a PCI or VLB card.  It only supports Adlib & Sound Blaster & Roland MT-32 (and compatibles) for music and sound effects.  Roland is obviously the best choice, the game uses stereo panning for sound effects and loads custom patches.  Adlib and Sound Blaster rely entirely on FM synthesis for music and sound effects.  Voice samples (for the Guardian in the intro and occasionally in-game) require a Sound Blaster or Sound Blaster Pro or compatibles.

Sunday, June 16, 2013

Roland MPU-401 : The Vintage Computing Part that Simply Works

I have, and have owned lots of vintage PC items since 2006.  I used to have an Apple II Platinum with dual Mockingboards, that was quite the system.  I have an Atari 800 that works, but I have no software for it.  I also have had lots of PC compatible cards and components.  I have owned one of every major iteration of the 3dfx Voodoo cards except the Voodoo 2 (and I had one of those back in the day).  At one time I possessed a representative of every major ISA Sound Blaster.  I currently possess a Game Blaster complete in box with all manuals, and while that is an exceptionally rare card, it is not what I consider the highlight of my collection.  The quality of the music for the card or its chips is often third-rate (behind MT-32 and Adlib).  I have the true IBM VGA 8-bit card, and while it is also extremely rare its not especially impressive in what it can do.  I have a Gravis Ultrasound ACE, but from what I hear the full Ultrasound is not particularly incompatible with the Adlib or Sound Blaster, so its Adlib port disabling feature is not a great selling point.  The 286 Express Tandy 1000/SX accelerator is also quite a find, but it can overheat with software.  The ADP-50L is a fine 16-to-8 bit IDE card, but it has a very long bootup screen.

Perhaps most prized item in my possession is my Roland MPU-401 MIDI Processing Unit.  Equally as important is the interface card that came with it, the MIF-IPC-A.  The MPU-401 is essentially a computer in its own right, with a CPU, ROM, RAM and a bus interface.  The external unit contains all the intelligent circuitry and can be connected to an Apple II, a Commodore 64, an MSX, Sharp X1, a Fujitsu FM7 or an NEC PC-88 or PC-98 machine in addition to a PC compatible.  All you need is the appropriate adapter card or cartridge.  The external unit connects to the interface card/cartridge through a DB-25 male/male cable.  In my cable, pins 7, 8, 19, 20 and 21 are not connected and pins 13 & 25 are tied together (both GND).


Just as important, it came with all documentation and manuals.  It had the Roland MPU-401 Technical Interface Manual, the MPU-401 Booklet and the sheet for the MIF-IPC(-A) with the schematic on the back.  Finally, the equipment and manuals are in beautiful shape.  It didn't come with the box as I recall.  Later a friend of mine donated a second MPU-401 to me, but I don't have a second interface card for it.

What is the most important thing about this interface is what it represented.  The principal function of this interface was to connect to a Roland MT-32 or CM-32L (have both of them).  Unlike the Game Blaster, when a game supported the MT-32, the game almost always sounded best on it (not too hard when the competition was the Adlib Music Synthesizer Card and to a lesser extent the Game Blaster).  Roland LA Synthesis had a very long reign in the PC sound realm, from 1988 to 1992 when General MIDI devices began taking over.

The interface card provides two I/O ports to the interface at I/O 330 & 331.  By its design, it cannot use I/O 332-337 because pins A1 & A2 are unconnected  The traces next to the comparator allow it to be put virtually anywhere in the PC's 10-bit address space.  It can also use any interrupt request available on the ISA bus, but to use an IRQ other than the default 2/9, you also have to cut a trace.  Essentially the card is a traffic cop and a buffer for the 8 data bits and a few other signals.  It also supplies an Interrupt Request when the MPU-401 needs to assert an interrupt. The card uses a DB-25 female connector and bracket, four 74LS TTL logic chips and decoupling capacitors, one resistor and one electrolytic capacitor.  The card is as simple as you get and can easily be recreated.  You can find the schematic in my Tutorial : How to Get the Roland MT-32 working with DOS Games.  Without it, the complex interface unit is useless.


The card can be used in every PC compatible system, including PCs, XTs, ATs, Tandy 1000s and others.  The original MIF-IPC was a more complex card but has issues working in AT-class machines.  While the MPU-IPC and MPU-IPC-T can also work with everything, the interface is on the card, and if lost the breakout box is useless.  The last in the series, the MPU-401AT is not guaranteed to work in something less advanced than an AT system.  However, it was released in 1994 when the XT class machines were no longer a strong market segment, so it may not have been tested in them.  It is an 8-bit card, and probably will work without trouble in standard and near-standard (Tandy 1000) PCs.  However, it, like the MPU-401 SCC-1 and LAPC-I card go for very high prices when they are auctioned off on ebay.  MPU-IPC and MPU-IPC-Ts are often auctioned off incomplete.  In those cases, the card is important and the external MIDI IN and OUT ports can be recreated easily.

The MPU-401, MPU-IPC, MPU-IMC, MPU-IPC-T and LAPC-I all provide two MIDI OUTs.  Thus you can control a Roland MT-32 and a Roland SC-55 with one of these devices and not have to use a MIDI THRU, which can add latency and eventually lead to loss of data integrity depending on how many modules are in the Thru chain.  In practice, the first module in a MIDI THRU loop will be fine.

In my experience, the interface cards are much more difficult to find than the external interface.  If you find one, some things to note :

On the card itself, the traces by the silkscreened I/O and Int boxes should be at A7 & A& and 2/9, respectively.  If the unlikely event they are not, then you will need to connect them with wire and obliterate any other traces made.  Otherwise the card will not be at the ideal settings and your games will not work with it unless they have an option to manually set the I/O and IRQ values.

The external interface unit has a cover secured by four Phillips screws.  You should remove them.  Inside, depending on the age of the board, you may or may not have an EPROM/ROM.  Versions 1.2A, 1.2B, 1.3, 1.4, 1.4A, 1.4B, 1.5 and 1.5A exist.  Version 1.5A is the version found in the MPU-IPC, MPU-IMC, MPU-IPC-T and LAPC-I, so that is the version you should look for.  If the CPU inside is a HD6801VOB55P, then the ROM is embedded in the chip.  Serial numbers above 588000 are safe.  Look on the underneath of the box to find it.  You can find the version number, if not identified by an EPROM sticker, with a program called mputhru.  In the end, I am uncertain if it makes any difference what the ROM version is, at least if you have a 1.3 or above.


Second, inside the box there is a silkscreened "ADRS" with four positions numbered 1-4.  This must not be modified in order for your unit to work with the MIF-IPC-A or at I/O 330-331.  If it is, you must set it back to #1 with a jumper wire.  This was there to allow a single MIF-IPC and other cards to control up to four external interfaces.  It will not work with the MIF-IPC-A, with the MIF-IPC-A only address #1 will be valid.  You need an original IF-MIDI/IBM or MIF-IPC (functionally identical) card to get this to work.  Here is how the address lines were configured on the IF-MIDI/IBM and MIF-IPC :

A0 - 0 or 1 (selects command/data or status port)
A1 - 0 or 1
A2 - 0 or 1
A3 - 0 or 1 (Unconnected at MPU-401)
A4 - 1
A5 - 1
A6 - 0
A7 - 0
A8 - 1
A9 - 1

The MPU-IPC-A connects the lines as follows :

A0 - 0 or 1 (selects command/data or status port)
A1 - 0 (Not connected to MPU-401)
A2 - 0 (Not connected to MPU-401)
A3 - 0
A4 - 1
A5 - 1
A6 - 0
A7 - 0
A8 - 1
A9 - 1

For all cards, the traces can be cut and a jumper block can be soldered on to select 0 or 1 for A4-A9, which gives 64 choices, not all of them would work.

As I understand the function of the LS138 in the MPU-401 box, it is responsive to ISA A1 and A2. Typically, they are both 0 and the third '138 input is always 0, only Y0 will be active (low). If A1 or A2 become 1, then the MPU-401 should be unresponsive. You could control up to four MPU-401 boxes in software just by setting the right address. A1 = 1, A2 = 0, I/O 332-333; A1 = 0, A2 = 1, I/O 334-335; A1 = 1, A2 = 1, I/O 336-337.

The ADRS block in the MPU-401 should allow you to rearrange the addressing of the 138 with only cutting a trace and installing a jumper block or wire. I have never done this and see no reason to do it, but it is definitely possible, but only with the older boards.  These boards have flaky compatibility in an IBM AT or systems with faster speeds, but the MIF-IPC-A is sold in any system with an ISA slot, including Tandy 1000s.

Fascinatingly, this unit, which was released around 1984, combined with the MIF-IPC-A card released in 1986, functioned perfectly as a MIDI interface for well over fifteen years after it was released.  I am positive that driver support exists for it in every version of Windows from 3.0 with multimedia extensions to Windows XP.  It has no hanging note bugs and any game or software requiring Normal, a.k.a. Intelligent MPU-401 features will work with it.

Unlike virtually every other contemporary sound card, the Roland MPU-401 + MT-32 or SC-55 never requires any kind of software driver to use with games or programs.  Drivers always accompany the software or can be found as patches (floppy versions of LOOM, Secret of Monkey Island & Day of the Tentacle).  Usually the same can be said for the Adlib, Game Blaster and Sound Blasters, but some games do require drivers supplied on the card's installation disks to work.  Once you get to the Sound Blaster Pros and 16s or your Pro Audio Spectrums and your Gravis Ultrasounds, you will need your installation disks.

Unknown to me for the longest time, but there was secretly trouble in this paradise.  One game that required MPU-401 was It Came from the Desert.  That game would simply not work with the MT-32 option in my 486 with the MPU-401 and MIF-IPC-A.  I put it down to marginal code which did not like my system and I did not think of it again for a long time.  However, eventually I found there were problems in trying to use the MIDI IN of the MPU-401.  I eventually isolated the issue to the 74LS04 Hex Inverter on my MIF-IPC-A.  The interrupt line goes though that IC and was not being raised by the system, thus breaking many MIDI recording programs and It Came from the Desert.  I replaced that IC and everything worked thereafter, including that Cinemaware game. Roland did not use all the inputs (6) on the hex inverter and left the unused inputs floating.  Apparently this is a bad thing for the life of the chip, and all the unused inputs (pins 1, 11 & 13) should be tied to ground (pin 7) .

Saturday, June 15, 2013

8-bit Chip Music vs. Game Music

I love video game music, but I love it in the manner in which it is intended to be enjoyed, playing a video game.  As any regular reader of this blog knows (is there anyone out there), I also love retro consoles like the NES and the SNES.  The NES was the first console to truly give music an important role in home video games.  Before the NES, many video games like those found on the Atari 2600 or the Colecovision relied primarily on sound effects or very short and simple tunes in the systems' games.  The sound functionality in the 2600 was not very musical, but the Intellivision, Colecovision, 5200 and Vetrex all had sound chips with basic musical functionality using square waves and noise to produce sound.  Like consoles, most home computers released in the USA prior to 1985 had fairly primitive sound hardware like the speaker for the Apple II, TRS-80 and IBM PC or the primitive DACs for the TRS-80 CoCo and early Macintoshes.  Other home computers, including the Atari 8-bits, the VIC-20, the TI-994A, the Mockingboard sound cards for the Apple II and IBM PCjr./Tandy 1000 had similar musical chips to those included in the pre-crash consoles.

However, the Commodore 64 showed the world it was possible to put an advanced synthesizer chip inside the machine to make music.  In fact it was designed to address, in the opinion of its designer, the unmusicality of its home computer predecessors.  Thus the famous SID chip was born with its three channels, each of which can have a square, triangle, sawtooth or noise waevform selected, ASDR envelopes, high, low and bandpass filters, ring modulation, etc.

At the time of the video game crash, video game music was splitting into three separate ideologies.  First there was the American ideology of jingles and sound effects.  Arcade games, from which this concept arose, needed little else.  Since the consoles were considered dying and computers did not have exceptional sound capabilities across the board, little attention was given to music, except in certain instances.  Richard Garriott and Origin Systems, beginning with Ultima III, supported full music scores, but this was an unusual idea, especially for role playing games.  On the Apple II, you needed a special card called the Mockingboard to hear the music, and the board was not especially popular.  Phillip Price's Alternate Reality series had a very elaborate musical intro for its time, especially considering it was developed for the Atari 8-bit series.  Even with title music, most of these games were played in silence.  Pitfall II : Lost Caverms was a rare exception for the 2600, but that required a complex and unique chip to help it play music.

The second method of music was the Japanese approach.  This was focused around the Famicom (NES), the Sega Mark III (Master System) and the 8/16-bit Japanese computers of the time.  More and more, the concept of music always was in force.  Konami's Gyruss (1983) and Gradius (1985) are good examples of early arcade games where there real music tracks playing throughout.  While the Mark III had relatively anemic built-in sound hardware, it could be upgraded with an FM Synthesizer Module.  The NEC PC-8801 and 9801 had Yamaha FM chips, the MSX had sound add-on upgrades, and the Famicom could support external audio chips in cartridges, and its built-in sound was put through its paces.  Composers like Yuzo Koshiro and Koji Kondo became internationally famous, or at least their music did.

The third method was the European method.  Unlike their American and Japanese counterparts, who enjoyed cartridge and floppy disk games, European gamers generally played their games off cassette tapes until the Amiga and ST became popular.  Cassette tapes take exponentially longer to load than floppy disks but the C64 Datasette was far cheaper than the disk drive in Europe.  To compare, the Commodore 64 could store 170KB on each side of a formatted floppy disk.  While a 90-minute cassette can store more data per side, the system can only handle a 64KB load at a time.  Loading a game could be very slow, up to ten minute load times were not unheard of.  Someone had the bright idea of having the computer do something while a game loaded, and the concept of the chiptune was born.  While the tape was turning, a special piece of music would play on the computer.  Soon these pieces would become complex and push the limits of the SID's capabilities.  Tunes were also made, on a much lesser scale, for the European Atari 8-bit machine, the ZX Spectrum 128 and Amstrad CPC machines.  The actual in-game music was generally much less impressive, due in part because the audio no longer had the primary attention of the 1MHz 6510 of the C64.

Since the American game developers were comparatively muted, Japanese games began defining the music for two-thirds of the gaming world.  Super Mario Bros., the game that firmly established the NES as giving people a reason to buy consoles again, has music for virtually every portion of the game except the title screen.  The game's classic tunes accompany Mario as he proceeds across the Mushroom Kingdom to save Princess Toadstool (later Peach).  There are not one but four major pieces of music depending on the level you are in.  This music plays non-stop until you complete the level.  The main theme (da-da-da da-da da)is even today almost instantly recognizable, even by people who have never played the game.  Series like Castlevania and Mega Man, both of which began on the NES, were famous for the quality of their soundtracks.  Even RPGs like Dragon Warrior, Final Fantasy and the ports of the Ultima games to the NES had full sountracks and were rarely silent.

One comparison I can make is between Super Mario Bros and its C64 clone, Great Gianna Sisters.  GGS slavishly copied the gameplay of SMB while adding very little.  The C64 had the capabilities to make a very decent port of SMB, and GGS is something like a decent port.  One area the developers failed to take inspiration is in GGS's music.  While the game is never silent, containing title screen music and in-game music, the in-game music leaves something to be desired.  Unlike SMB, the overworld music is also used for the underworld, so the only time the actual music changes is in the castles. In SMB, in addition to the underground, there are also water levels with music, music when you get an invincibility star and the castle music.

The most important distinction, however, between Kondo's music in SMB and Huelsbeck's in GGS is that Kondo's music effortlessly flows with the game.  It makes you want to keep going and complements the level.  The underground has spooky music, the water worlds have slower paced music and the castle levels sound harsh.  Its catchy stuff.  Huelsbeck's in-game music tries to capture that same "traveling along" spirit but it just does not work nearly as well.  The music in GGS calls too much attention to itself compared with what is happening on the screen.  The main theme is full of odd notes and sound effects, and the castle theme is discordant.  The music is also somewhat at odds with the whimsical and cute nature of the game.

The chief difference between chip music and game music thus is that chip music is any music composed with a computer or console sound chip.  On the Commodore 64, the European composers went wild with chip music.  However, the chip shows its greatest potential when the system does not have to keep track of input, scrolling or sprites, in other words when the game is not actually being played.  An excellent case in point is the music for Mayhem in Monsterland.  This late C64 from the UK is quite an achievement considering the limitations of the C64, the gameplay is smooth and the graphics are extremely detailed and colorful for the system.  However, the in-music is extremely simple, repetitive and monotonous.  The port of R-Type to the system kept the original arcade music intact and the results are very impressive.  The gameplay, however, is less impressive compared to other ports of the game.

The NES showed that you can have good music and good gameplay.  Mega Man 2 is one of the best examples of this.  The level designs are not always perfect, but the quality of the music just makes you want to keep playing.  Also, Mega Man 2 had some stunning large enemy graphics and animated backgrounds for the time.  However, as much as I love the music to games, I do not have stored in my smartphone or listen to them in the car.  The music is best experienced, by far, when  you are actually playing the game.

This bring me to an ideological issue I have with C64 chip tunes.  You are hearing that music while the game's cassette tape is loading.  You are not playing during that time.  NES and other console games do not have loading times.  I am listening and playing.  With the C64, you listen, then you play but rarely both at the same time.  In my opinion, the first five to ten minutes waiting for your game to load is to listen to some musician trying to demonstrate how well he can program the SID chip.  I can find better ways to spend my time, thanks.

First Generation Roland Sound Canvas Devices

In this article, I will take an overview of the various first generation devices Roland released bearing its "Sound Canvas" branding and GS standard and their importance to PC gaming.  I characterize a "first generation Roland GS device" as any device with the features of an SC-55 but not the full features of an SC-55mkII.

In 1991, Roland released its SC-55 MIDI Sound Generator, its first GS product.  This machine supported 16 MIDI channels (percussion on channel 10), 128 capital tones, 69 variation tones and 8 percussion/drum sets.  It could support up to 24 voice polyphony at one time (each instrument using 1-2 voices or partials).  It also had an effects processor with chorus and reverb which games (Ultima VIII : Pagan) have used.  It has a battery to remember the user's settings   This is a standard CR2032 coin cell in a holder and should be replaced or removed when you purchase a unit.

Its backlit LCD screen will show which tone is being played by which part, and games can also control the text at the top of the display (Lands of Lore).  All first generation devices also supported 128 MT-32 tones and a MT-32 + CM-32L percussion set (63 sounds).  The total Sound Canvas patch set is 3MB in size, 1MB of which is probably dedicated to the MT-32 tones

The SC-55 has two MIDI IN ports, one MIDI OUT and one MIDI THRU port.  It has two RCA input jacks and two RCA output jacks and a headphone mini-jack.  It also comes with a hand held remote but no software.  It has 18 front panel buttons.  From here you can mute all sound output from the module, which is very useful if you are sending the input from an MT-32 or CM-32L through it.  You can set the MT-32 emulation mode by pressing the instrument left button as you turn the power on and pressing All.  You can set the GS mode by pressing the instrument right button and pressing All.  You can do a full factory reset by holding both instrument buttons and pressing all.

The earliest Roland SC-55s simply have a "GS STANDARD" logo on the bottom of the front panel, while slightly later SC-55s have a "GS" logo.  Modules with the GS logo may still be

Between these Roland SC-55s and the later devices, there were two changes in the instrument map. Early modules have at Program Change #121 Fl. Key Click.  There is no Breath Noise tone.  Later modules in the series would put Breath Noise as the default tone on PC#121 and put Fl. Key Click as a variation tone.   Breath Noise is the canonical General MIDI tone for PC#121.  Early modules lack a sine wave variation tone at PC#81.  These changes can be seen in all General MIDI/GS units and even some simply "GS" branded units.  GS branded SC-55s with a Control ROM version of 1.10 will have the old instrument table, while units with a 1.20 or 1.21 Control ROM will have the new instruments.

If you want to find the version number of your unit, put the SC-55 in standby mode and press both Instrument buttons followed by both MIDI CH buttons.  The information will flash on the LCD panel.

A hypothesis has circulated that certain PC game composers may have used an early "GS STANDARD" to compose their music.  Examples included Descent and Descent 2, DOOM, DOOM II or Duke Nukem 3D.  However, the composer for DOOM I & II and Duke Nukem, Robert Prince, has stated that he did not use an early SC-55.  Moreover, at least six composers contributed to Descent and Descent 2.  There is little likelihood of more than one or two of them using an early module.  I would suggest that this hypothesis is a myth that has been debunked.

Next, Roland released the SCC-1 IBM PC sound card.  This card contained the synthesis portion of the SC-55 with a cut-down Roland MPU-401 interface.  No battery, no display.  Nonetheless, if a game had an install option for the Roland SCC-1, the exact same functionality will be present though a Roland MPU-401 card/breakout box connected to an SC-55 via MIDI OUT.  The SCC-1 has two RCA output jacks, one headphone mini-jack, one MIDI OUT and one MIDI IN mini-DINs.  They need adapters to full DINs.  Pinouts can be found here : http://nerdlypleasures.blogspot.com/2010/03/tutorial-how-to-get-roland-mt-32.html

Soon after, Roland released the GS compatible devices in its "computer module series", the CM-300 and CM-500.  The CM-300 has the exact same capabilities as the SC-55 except no LCD panel or buttons and fewer ports.  The CM-500 is a CM-300 combined with an CM-32L.  Both CM modules lack a battery.  Both have one MIDI IN, MIDI OUT and MIDI THRU ports.  They also have two auidio output 1/4" jacks, one stereo headphone 1/4" jack.  The CM-300 has two audio input 1/4" jacks, intended for an MT-32 or CM-32L's input.  The CM-500 has a four-position mode switch instead.  The CM-500 is a true Roland LA Synthesis device, but its vibrato has been criticized as noticeably harsher than the MT-32, MT-100, CM-32L, CM-64 and LAPC-I.  The SCC-1, CM-300 and CM-500 also support the first 64 tones ("built-in") of the CM-64 module, although the instrument sample quality is superior on the true CM-64.

By no later than March of 1992, Roland added official support for the General MIDI standard to the SC-55, CM-300 and CM-500.  These modules are identified with the General MIDI logo being next to the GS logo.  Unlike the SC-55mkII, the SC-55 cannot initialize GM mode via the front panel.  However, it can turn the GS features off by pressing the part buttons simultaneously, using the all and mute buttons to get to the Rx GS Reset item and pressing the instrument left button to turn it off (and the right button to turn it on).

What does the addition of General MIDI support mean in practice?

General MIDI is a derived subset of the GS standard.  In other words, GS is General MIDI with some extra features.  In a pre-General MIDI module, if a GS reset or a GM reset was sent to the module, it would have the identical effect, the module would be reset.  In a General MIDI module, a GS reset would turn on GS features (variation tone support and NRPN) if the device was in GM mode.  You would think that a GM reset would turn off those GS features.  However, this is not the case unless the setting of Rx GS Reset is turned off.  In that case, games that use variation tones will not be used (Might and Magic IV-V).

In the beginning of 1992, Roland released the SC-155.  This device added sliders to control various settings of the synthesizer and otherwise looks like an SC-55.  This is the first device that officially supported the General MIDI standard on its release, as would all Roland products released thereafter.

Later in 1992, Roland released the JV-30 Keyboard.  This was a music synthesizer keyboard with 61 keys and could save the user's modifications to individual tones.  It appears to contain the extra tones found in the SC-55mkII.  However, unlike the mkII it does support capital tone fallback.

What is capital tone feedback and why is it important?

Each of the 128 Capital Tones can support 127 Variation Tones in the GS standard, even though the upper limit never came close to being never reached.  If a composer used variation tone #5 of capital tone #1 (Grand Piano), in his MIDI synthesizer for a certain piece of music, it would not play if a listener played back the song on another device that did not contain variation tone #5.  In the early first generation GS devices, if the specified variation tone did not exist in the module, then the module would fallback and play the capital tone instead. Since variation tones are supposed to be similar to the capital tone, some semblance of the sound the composer intended would be played.  Beginning with the SC55mkII, however, no sound will be heard if the song selects an invalid variation tone.  This can be manifested when programmers got lazy and relied on this feature instead of sending proper Program Change and Bank Select messages (Space Quest V : The Next Mutation).

Finally, Roland released an update to the SCC-1.  The board itself is labeled the SCC-1A.  It has the extra sounds of the JV-30 Keyboard but does not support capital tone fallback.  This was a feature patented by Yamaha apparently.

Also during 1992, Roland released the General MIDI only SC-7.  This cut down module does not support the GS standard, so no variation tones.  However, it does support a Serial MIDI interface (no longer useless for DOS games because of SoftMPU) and 28-voice polyphony.  It also supports six out of the nine drumsets, reverb and chorus found in a true Sound Canvas.  The SC-55mkII would incorporate the increased polyphony of the SC-7 and the sounds of the SCC-1A.

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