Standard DOS PC Game formats use the following :
160KB Floppy - 40 tracks x 8 sectors x 512 bytes per sector = 163,840 bytes
180KB Floppy - 40 tracks x 9 sectors x 512 bytes per sector = 184,320 bytes
320KB Floppy - 40 tracks x 8 sectors x 2 sides x 512 bytes per sector = 327,680 bytes
360KB Floppy - 40 tracks x 9 sectors x 2 sides x 512 bytes per sector = 368,640 bytes
720KB Floppy - 80 tracks x 9 sectors x 2 sides x 512 bytes per sector = 737,280 bytes
1.2MB Floppy - 80 tracks x 15 sectors x 2 sides x 512 bytes per sector = 1,228,800 bytes
1.44MB Floppy - 80 tracks x 18 sectors x 2 sides x 512 bytes per sector = 1,474,560 bytes
All disks intended for 720KB and lower capacities are referred to as Double Density (DD). 1.2MB and 1.44MB disks are referred to as High Density (HD). No game ever came on a 2.88MB floppy, which uses 36 sectors per track and Extra High Density Disks. I am not aware of any games that came on a DMF formatted disk from Microsoft. The DMF format allowed 1.68MB on a 3.5HD floppy, using 21 sectors per track but having double or quadruple cluster sizes and only 16 root directory entries.
Now the above shows the maximum available disk space using the standard formatted capacities. These also are the exact sizes for standard img/ima disk image files. Anything else is under/overdumped, protected or compressed. However, when a disk is formatted in MS-DOS, the FAT-12 file system takes up a certain amount of space given above. So, with a standard format, the usable space works out to be the following :
160KB Floppy - 158,720 bytes or 96.875% of theoretical capacity
180KB Floppy - 179,200 bytes or 97.222%
320KB Floppy - 322,560 bytes or 98.438%
360KB Floppy - 362,496 bytes or 98.333%
720KB Floppy - 730,112 bytes or 99.027%
1.2MB Floppy - 1,213,952 bytes or 98.792%
1.44MB Floppy - 1,457,664 bytes or 98.854%
So what takes up all that space that you cannot use?
All floppy and hard disks have their first sector reserved by the file system. This sector is called the Master Boot Record (MBR) or the Boot Sector. This tells the system if the disk is bootable and DOS that it is a DOS compatible disk. Then floppy disks have two copies of the File Allocation Table (FAT) for redundancy. The FAT indicates on which sector each file starts and how many sectors the file takes on the disk. Each FAT copy can take 1-9 sectors, with 160K & 320K disks taking 1 sector, 180K and 360K disks 2 sectors, 720K disks 3 sectors, 1.2MB disks 7 sectors and 1.44MB disks taking 9. The FAT maps all clusters on the disk using a 12-bit number. .
Finally, the root directory entries have a certain number of sectors allocated to them, from 4-14 sectors. Each directory entry takes 32 bytes and includes the file name and extension, the file attributes (read only, hidden, system, archive), date and time of creation or last modification, starting cluster and file size in bytes. Single sided DD disks default to 64 root directory entries (4 sectors used), double sided DD disks 112 entries (7 sectors used) and HD disks 224 entries (14 sectors used). An entry can be a file or a subdirectory with DOS 2.0 or higher. This limit only applies to the root directory such as A:\ or B:\, a subdirectory like A:\MYDOCS\ can have any number of files in it.
So, for a 360K disk, 1 sector is used by the MBR, 4 sectors for the FAT and 7 sectors for the root directory entries. 368,640 bytes - (12 sectors x 512 bytes/sector) = 362,496 bytes.
But why cannot I fill every byte of that disk with data?
This is where the FAT cluster size comes into play. Cluster sizes for all double sided non-HD floppy formats is 2 sectors. So a file that is one byte large will take 1,024 bytes on the disk, as would a file that is 900 bytes large. A file that is 1,025 bytes long will take 2,048 bytes on the disk, and the extra space is wasted. On a 360KB floppy, you could never have more than 354 files on that disk, since 362,496/1,024 is 354. Single sided DD floppy formats, HD floppy formats, excluding the 2.88MB and DMF floppies, use a cluster size of 1 sector. So on a 1.44MB floppy, you could have 2,847 files on the disk, if each were no more than 512 bytes large. The cluster size is not intended to be changeable.
But I need to squeeze just 1KB more!
So, you are finding how tight floppy drive space is, eh? Well, if you cannot feel you can work without an extra 1-2KB, you need to modify the default format. The safest was to do this is to reduce the number of root directory entries supported. If you will never need to put more than 16 files on the disk, then you can gain 3KB extra space and not have to worry about DOS complaining it cannot recognize the disk format.
If you really wanted to push the envelope, you could eliminate the second FAT, but if a bad sector develops in the first FAT, your disk will be unreadable. Plus you will only gain 1K more on double density media. So for a 360K disk, if you went to the total extreme of having only 1 FAT table and no more than 16 root directory entries, the usable space would be 366,592 bytes.
How to tell if a disk image is really original :
A disk image will contain a OEM ID string starting with byte 3 in the image file. It will be something like IBM 3.1, TAN 3.2, MSDOS5.0. However, images can also contain strings like WINIMAGE or VFD2.1. These labels are created when the WinImage or Virtual Floppy Drive program makes a new disk image and are obviously not original. More expert eyes will quickly look at the boot sector to determine whether an image is original or has been modified or recreated. The boot sector from an MS-DOS 5.0 formatted floppy will look very different from one created by Virtual Floppy Disk. WinImage may even overwrite the original OEM ID string when imaging disks. Fortunately the parts of the boot sector which OEMs modify is not essential to disk operation in DOS.
The second way is to look at the volume label. If there is no volume label for the floppy, it may not be original. This is far from definitive, because many games did not have volume labels on their disks, because their install programs did not use them. If someone else tells you that his original disks have a label and your disks do not, then they may not be original. Some games do look at the volume label for installation or to swap disks, most do not care.
The third way is to look at the File Date and Time. If the file dates is in the 21st century, then the disk is not original. Other disks may have most of their files with consistent dates, but one or two relatively or much later dates. But this is not conclusive, because the disks may have been mastered on a system without a real time clock (which was not ubiquitous in the 1980s), or one which had the wrong date/time set.
The fourth way is to do a binary comparison between the files between your disk and a known good disk.
Wednesday, October 17, 2012
Saturday, October 6, 2012
Lucasfilm Games & LucasArts Technical Qualities
This article discusses the hardware support for every Lucasfilm Games/LucasArts title released on a floppy disk for the IBM PC and compatibles for DOS. This article does not cover games not developed by LucasArts (Indy Action Adventures, Pipe Dream, Night Shift, Masterblazer) or versions of these games for other systems (C64, Apple II, Amiga, Atari ST, Macintosh, FM-Towns), CD-ROM versions, collections or games for Windows (Indy's Desktop Adventures). It also identifies any different versions and gives information about them where known. Non-English versions are not covered.
Options in bold are, at least in my opinion, the ideal graphics and sound hardware to run the game on. Unless otherwise noted, all games support keyboard, mouse and joystick. All games in this article can be run from a hard drive and do not have disk-based copy protection.
Maniac Mansion
Video Support - CGA, HGC, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 256KB
Media - 1 x 5.25" DD & 1 x 3.5" DD
File Date - 04/13/1988
Copy Protection - Nuke'm Alarms Codebook
Initially distributed by Activision, uses a box with no border, unlike every Lucas product thereafter. First Lucas game for the IBM PC and DOS (PHM Pegasus and Strike Fleet have later file dates) Supports CGA composite color, but poorly. Tandy 3-Voice is the ideal for music and sound effects, but EGA graphics are superior to Tandy graphics because the text looks nicer. (Tandy uses a true 160x200 mode, requiring a blockier font, while all other graphics adapters except Hercules use a 320x200 mode with double-wide pixels for the graphics area). Can be found without copy-protection in Day of the Tentacle, but Tandy support is broken in that version (text is garbled). Comes with large poster with hints for puzzles in the game. Can write the current configuration, including video mode and input (joystick or mouse) to a file called PREFS.
PHM Pegasus
Video Support - CGA, HGC, TGA, EGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 256KB
Media - 1 x 5.25" DD & 1 x 3.5" DD
File Date - 05/15/1988
Copy Protection - Manual
Distributed by Electronic Arts. Early release came on 5.25" floppy, later release included both types of media. Unusually, EGA is more colorful than Tandy. Tandy 3-Voice only seems to be used for the title music. CGA is supported in color and Black & White, the latter intended for laptops. No mouse support.
Zak McKracken and the Alien Mindbenders
Video Support - CGA, HGC, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 256KB
Media - 2 x 5.25" DD & 1 x 3.5" DD
File Date - 07/19/1988; 07/25/1988
Copy Protection - Zap 'Em II Exit Visa Security Codes Codebook
Probably the first product fully distributed by Lucas. Supports CGA composite color, but poorly. Was on the market for only a few months, then replaced by the Enhanced edition. Tandy 3-Voice is the ideal for music and sound effects, but EGA graphics are superior to Tandy graphics because the text looks nicer. (Tandy uses a true 160x200 mode, requiring a blockier font, while all other graphics adapters except Hercules use a 320x200 mode with double-wide pixels for the graphics area). Comes with The National Inquisitor with hints for the puzzles in the game. Can write the current configuration, including video mode and input (joystick or mouse) to a file called PREFS.
Battlehawks 1942
Video Support - CGA, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 384KB
Media - 2 x 5.25" DD & 1 x 3.5" DD
File Date - 10/06/1988
Copy Protection - Manual
First game to use Lucas' flight simulator engine, which would be continuously improved until the Star Wars sims. Copy protection is removed in the Air Combat Classics Collection.
Strike Fleet
Video Support - CGA, HGC, TGA, EGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 384KB
Media - 1 x 5.25" DD
File Date - 11/30/1988
Copy Protection - Manual?
No mouse support. Last game to be released by another company. Unknown if released on 3.5" disk.
Zak McKracken and the Alien Mindbenders "Enhanced"
Video Support - CGA, HGC, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 384KB
Media - 3 x 5.25" DD & 2 x 3.5" DD
File Date - 12/30/1988; 09/21/1992
Copy Protection - Zap 'Em II Exit Visa Security Codes Codebook
Uses proper 320x200 graphics for all modes. First game to be developed for the IBM PC. Music and sound effects are identical with low resolution version. As far as I can tell, Lucas never used the words "Enhanced" to refer to this version. I believe that they silently replaced the older version with this version. Copy protection removed in the Classic Adventures Collection with a 09/21/1992 install date (even though the codes are in the manual).
Indiana Jones and the Last Crusade : The Graphics Adventure
Video Support - CGA, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib, Creative C/MS*
Minimum RAM - 384KB
Media - 6 x 5.25" DD or 3 x 3.5" DD
File Date - 07/09/1989 (v1.0); 08/14/1989 (v1.3); 11/07/1989 (v1.4)
Copy Protection - Translation Table with Red Filter
* - Version 1.4 only
First game to not include both types of disks (5.25" 360KB and 3.5" 720KB) in the box, requiring the user to use an offer to switch their game disks. First use of a red filter for copy protection. A decent scan of the pages will allow the underlying text to be read with a filter (looking at a screen) or by color manipulation in Photoshop. Not immediately removed from the company store when the 256-color version was released. Comes with a Grail Diary with clues to various puzzles in the game and is essential to beating the game. Versions 1.0, 1.3 and 1.4 exist. Mouse & Adlib support is autodetected for this game, LOOM and later games using the SCUMM engine.
Maniac Mansion "Enhanced"
Video Support - CGA, HGC, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 384KB
Media - 2 x 5.25" DD & 1 x 3.5" DD
File Date - 08/03/1989; 10/31/1989; 09/21/1992
Copy Protection - Nuke'm Alarms Codebook with Red Filter
Apparently the maroon pages of the original Codebook were not sufficient to deter photocopying, so Lucas used a red filter in this version. Uses proper 320x200 graphics for all modes. Music and sound effects are improved compared with low resolution version. I believe that they silently replaced the older version with this version. Copy protection is not removed in the Classic Adventures Collection (at least the version with the install files end with 09/21/1992). Last game to support Hercules.
Their Finest Hour : The Battle of Britain
Video Support - CGA, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib
Minimum RAM - 512KB
Media - 4 x 5.25" DD or 2 x 3.5" DD
File Date - 10/02/1989
Copy Protection - Radio Frequency Cipher Wheel Codewheel
Expansions : Their Finest Missions Volume One
First Lucas game with a Codewheel, would not be the last. Copy protection is removed in the Air Combat Classics Collection. First Lucas game to provide true support for VGA (more than the 16 CGA colors are used), although graphics were originally drawn for EGA.
Sound Support - PC Speaker, Tandy 3-Voice, Adlib, Creative C/MS, Roland MT-32*
Minimum RAM - 512KB
Media - 6 x 5.25" DD or 3 x 3.5" DD
File Date - 03/07/1990 (v1.0/Int. 3.5.57); 03/15/1990 (v1.1/Int. 3.5.37) 09/21/1992 (v1.1/Int. 3.5.40)
Copy Protection - Book of Patterns with Red Filter
* - Patch disk required
Uniquely came with a stereo Cassette featuring a nearly 30-minute audio drama telling the backstory. Only 16-color game not to have an upgraded floppy version released. Copy protection removed in the Classic Adventures Collection. Users originally had to pay $10 and send in a card to receive the MT-32 patch, but it is available on LucasArts' support site. Last game to use a red filter for copy protection. Versions 1.0 and 1.1 exist. CD version dated 06/09/92, has 256-color graphics, full voice-acting with simplified script, almost no portraits, CD audio music and sound effects. FM-Towns CD uses floppy text, 256-color portraits and CD audio music (two different versions for each piece) but no voice acting. First game to use the /? command line argument to list the arguments the game accepts. LucasArts Classic Collection version with copy protection eliminated reports v1.1/Int. 3.5.40.
Indiana Jones and the Last Crusade : The Graphics Adventure "256-Color VGA"
Video Support - MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib, Creative C/MS
Minimum RAM - 640KB
Media - 4 x 3.5" HD or 4 x 5.25" HD or 3 x 3.5" HD
File Date - 05/03/1990 (v.2.0/Int. 3.0.18); 08/30/1990 (v2.0/Int. v3.0.20) 08/06/1992; 09/21/1992 (v2.0/Int. 3.0.22)
Copy Protection - None
There is no translation table screen in this version, so no copy protection. Unlike 16-color version, any copy of this version will support the C/MS Game Blaster. Included in the Classic Adventures Collection. First game to come on high density floppies, but LucasArts apparently only offered a "full" version on 5.25"HD disks. Upgrade, budget or slash releases may come on 1.44MB 3.5" disks. If there are four 3.5" HD disks, then the game can be run off floppies. If there are only three disks, then it must be decompressed to a hard drive. FM-Towns CD uses CD audio music. LucasArts Classic Collection version with copy protection eliminated reports v2.0/Int. 3.0.22.
The Secret of Monkey Island
Video Support - CGA, HGC, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib, Creative C/MS, Roland MT-32*
Minimum RAM - 640KB
Media - 8 x 5.25" DD or 4 x 3.5" DD
File Date - 09/01/1990 (v1.0/Int. v.4.0.62)
Copy Protection - Dial-A-Pirate Codewheel
* - Patch disk required, cost $10 back in the day. Not immediately removed from the company store when the 256-color version was released. Last game to support CGA and HGC. Roland is not always ideal, since you lose the sound effects of the Adlib and other sound drivers.
The Secret of Monkey Island "256-Color VGA"
Video Support - EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib , Creative C/MS, Roland MT-32
Minimum RAM - 640KB
Media - 8 x 3.5" DD or 7 x 3.5" DD (v1.1) or 4 x 5.25" HD.or 3 x 3.5" HD
File Date - 12/03/1990; 02/04/1992 (v1.0/Int. v.5.0.16); 02/15/1991 (v1.1/Int. v.5.0.16), (v1.1/Int. v.5.0.15); 09/21/1992 (v1.0/Int. v.5.0.19)
Copy Protection - Dial-A-Pirate Codewheel
CD version dated 06/10/92, "stump joke" removed, CD audio music added and interface changed from text to icons and fewer verbs. Copy protection removed in the Classic Adventures Collection, which reports v1.0/Int. v.5.0.19. Versions 1.0 and 1.1? exist. Later budget releases may come on 1.44MB floppies. Last game to support C/MS.
Secret Weapons of the Luftwaffe
Video Support - TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib, Sound Blaster
Minimum RAM - 640KB, 768KB for Tandy, 1MB EMS Recommended
Media - 8 x 5.25" DD or 4 x 3.5" DD
File Date - 09/01/1990
Copy Protection - Codewheel
Expansions : P-38 Lightning Tour Of Duty
Do 335 Pfeil Tour Of Duty
P-80 Shooting Star Tour Of Duty
He 162 Volksjager Tour Of Duty
Expansions will bring 1.0 and 1.02 to 2.0 and 2.1. 2.1 is the version that third-party missions use. 2.2 comes on the CD. First game with "true" VGA graphics and last to support Tandy graphics and sound.
Monkey Island 2 - LeChuck's Revenge
Video Support - EGA, MCGA, VGA
Sound Support - PC Speaker, Adlib, Sound Blaster, Roland MT-32
Minimum RAM - 640KB
Media - 6 x 5.25" HD or 5 x 3.5" HD
File Date - 11/21/1991 (v1.0/Int. v.5.2.02)
Copy Protection - Mix-n-Mojo Codewheel
Copy protection, Easy Mode & the 16-color EGA support (appears in B&W) removed in the Monkey Island Madness CD. KIXX released this game with the copy protection removed (probably to eliminate the expensive codewheel), but without damage otherwise. Last game to use a codewheel. Last to use Lucasfilm Games and first to use LucasArts company name. I believe the opening title music was originally composed for Adlib and the in-game music for Roland.
Indiana Jones and the Fate of Atlantis
Video Support - EGA, MCGA, VGA
Sound Support - PC Speaker, Adlib, Sound Blaster, Roland MT-32
Minimum RAM - 640KB
Media - 6 x 5.25" HD or 5 x 3.5" HD
File Date - 05/21/1992 (v1.0/Int. v.5.2.20)
Copy Protection - Manual
CD version is dated 05/17/93 and adds voice acting. Last game to support EGA.
Star Wars : X-Wing
Video Support - MCGA, VGA
Sound Support - Adlib, Sound Blaster, Creative Sound Blaster Pro, Roland MT-32, General MIDI
Minimum RAM - 640KB, 896KB EMS Recommended
Media - 6 x 5.25" HD or 5 x 3.5" HD
File Date - 02/16/1993 (v1.0)
Copy Protection - Manual
Expansions : Imperial Pursuit Tour of Duty
B-Wing Tour of Duty
No music or sound effects without EMS. Limited Edition release came with a book, The Farlander Papers, but is otherwise identical to the standard version. Supports the hat switch of a CH Flightstick Pro. Last game to be offered publicly by LucasArts on 5.25" disks.
Maniac Mansion - Day of the Tentacle
Video Support - MCGA, VGA
Sound Support - Adlib, Sound Blaster, Roland MT-32*, General MIDI
Minimum RAM - 640KB, 2MB EMS Recommended
Media - 6 x 3.5" HD or 8 x 5.25" HD
File Date - 06/02/1993 (v1.5/Int. v.6.4.2)
Copy Protection - Manual
* - Patch disk required
Released simultaneously with CD version. Floppy has speech in intro and end, CD has speech (same actors) throughout. CD version came in a unique triangular box or regular box. LucasArts has a patch to add Roland MT-32 and General MIDI support to the floppy disk version. This patch was originally sent from the company on floppy disk. It adds the files GMIDI.IMS, ROLAND.IMS and TENTACLE.002. If your copy has those files, you can play the game with MIDI devices. If not, then presumably you have a virgin install and the game will not start with those options selected, despite what the configuration menu may allow. The 5.25" version may have been available by special order or was released for non-U.S. markets only.
Sam 'N Max Hit the Road
Video Support - MCGA, VGA
Sound Support - Adlib, Sound Blaster, Roland MT-32, General MIDI
Minimum RAM - 640KB, 2MB EMS Recommended
Media - 6 x 3.5" HD + 1 x 3.5" DD or 8 x 5.25" HD
File Date - 11/02/1993 (v1.0/Int. v.6.5.0)
Copy Protection - Crimestompers' Coloring Book : How to Play Sam & Max Hit the Road Manual
CD version dated 03/24/94 (CDv1.11), includes 4 CD audio tracks. Floppy has speech in intro and end, CD has speech (same actors) throughout. The 5.25" version may have been available by special order or was released for non-U.S. markets only.
Star Wars : TIE Fighter
Video Support - MCGA, VGA
Sound Support - Adlib, Sound Blaster, Sound Blaster Pro, Sound Blaster 16, Sound Blaster AWE32, Pro Audio Spectrum, Pro Audio Spectrum 16, Roland MT-32, General MIDI
Minimum RAM - 640KB, 2MB EMS Recommended, 900KB Required
Media - 6 x 3.5" HD
File Date - 06/22/1994 (v1.0)
Copy Protection - Manual
Expansions : Defender of the Empire
Last floppy disk game developed by LucasArts. Came with short story The Stele Chronicles.
Options in bold are, at least in my opinion, the ideal graphics and sound hardware to run the game on. Unless otherwise noted, all games support keyboard, mouse and joystick. All games in this article can be run from a hard drive and do not have disk-based copy protection.
Maniac Mansion
Video Support - CGA, HGC, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 256KB
Media - 1 x 5.25" DD & 1 x 3.5" DD
File Date - 04/13/1988
Copy Protection - Nuke'm Alarms Codebook
Initially distributed by Activision, uses a box with no border, unlike every Lucas product thereafter. First Lucas game for the IBM PC and DOS (PHM Pegasus and Strike Fleet have later file dates) Supports CGA composite color, but poorly. Tandy 3-Voice is the ideal for music and sound effects, but EGA graphics are superior to Tandy graphics because the text looks nicer. (Tandy uses a true 160x200 mode, requiring a blockier font, while all other graphics adapters except Hercules use a 320x200 mode with double-wide pixels for the graphics area). Can be found without copy-protection in Day of the Tentacle, but Tandy support is broken in that version (text is garbled). Comes with large poster with hints for puzzles in the game. Can write the current configuration, including video mode and input (joystick or mouse) to a file called PREFS.
PHM Pegasus
Video Support - CGA, HGC, TGA, EGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 256KB
Media - 1 x 5.25" DD & 1 x 3.5" DD
File Date - 05/15/1988
Copy Protection - Manual
Distributed by Electronic Arts. Early release came on 5.25" floppy, later release included both types of media. Unusually, EGA is more colorful than Tandy. Tandy 3-Voice only seems to be used for the title music. CGA is supported in color and Black & White, the latter intended for laptops. No mouse support.
Zak McKracken and the Alien Mindbenders
Video Support - CGA, HGC, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 256KB
Media - 2 x 5.25" DD & 1 x 3.5" DD
File Date - 07/19/1988; 07/25/1988
Copy Protection - Zap 'Em II Exit Visa Security Codes Codebook
Probably the first product fully distributed by Lucas. Supports CGA composite color, but poorly. Was on the market for only a few months, then replaced by the Enhanced edition. Tandy 3-Voice is the ideal for music and sound effects, but EGA graphics are superior to Tandy graphics because the text looks nicer. (Tandy uses a true 160x200 mode, requiring a blockier font, while all other graphics adapters except Hercules use a 320x200 mode with double-wide pixels for the graphics area). Comes with The National Inquisitor with hints for the puzzles in the game. Can write the current configuration, including video mode and input (joystick or mouse) to a file called PREFS.
Video Support - CGA, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 384KB
Media - 2 x 5.25" DD & 1 x 3.5" DD
File Date - 10/06/1988
Copy Protection - Manual
First game to use Lucas' flight simulator engine, which would be continuously improved until the Star Wars sims. Copy protection is removed in the Air Combat Classics Collection.
Strike Fleet
Video Support - CGA, HGC, TGA, EGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 384KB
Media - 1 x 5.25" DD
File Date - 11/30/1988
Copy Protection - Manual?
No mouse support. Last game to be released by another company. Unknown if released on 3.5" disk.
Zak McKracken and the Alien Mindbenders "Enhanced"
Video Support - CGA, HGC, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 384KB
Media - 3 x 5.25" DD & 2 x 3.5" DD
File Date - 12/30/1988; 09/21/1992
Copy Protection - Zap 'Em II Exit Visa Security Codes Codebook
Uses proper 320x200 graphics for all modes. First game to be developed for the IBM PC. Music and sound effects are identical with low resolution version. As far as I can tell, Lucas never used the words "Enhanced" to refer to this version. I believe that they silently replaced the older version with this version. Copy protection removed in the Classic Adventures Collection with a 09/21/1992 install date (even though the codes are in the manual).
Indiana Jones and the Last Crusade : The Graphics Adventure
Video Support - CGA, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib, Creative C/MS*
Minimum RAM - 384KB
Media - 6 x 5.25" DD or 3 x 3.5" DD
File Date - 07/09/1989 (v1.0); 08/14/1989 (v1.3); 11/07/1989 (v1.4)
Copy Protection - Translation Table with Red Filter
* - Version 1.4 only
First game to not include both types of disks (5.25" 360KB and 3.5" 720KB) in the box, requiring the user to use an offer to switch their game disks. First use of a red filter for copy protection. A decent scan of the pages will allow the underlying text to be read with a filter (looking at a screen) or by color manipulation in Photoshop. Not immediately removed from the company store when the 256-color version was released. Comes with a Grail Diary with clues to various puzzles in the game and is essential to beating the game. Versions 1.0, 1.3 and 1.4 exist. Mouse & Adlib support is autodetected for this game, LOOM and later games using the SCUMM engine.
Maniac Mansion "Enhanced"
Video Support - CGA, HGC, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice
Minimum RAM - 384KB
Media - 2 x 5.25" DD & 1 x 3.5" DD
File Date - 08/03/1989; 10/31/1989; 09/21/1992
Copy Protection - Nuke'm Alarms Codebook with Red Filter
Apparently the maroon pages of the original Codebook were not sufficient to deter photocopying, so Lucas used a red filter in this version. Uses proper 320x200 graphics for all modes. Music and sound effects are improved compared with low resolution version. I believe that they silently replaced the older version with this version. Copy protection is not removed in the Classic Adventures Collection (at least the version with the install files end with 09/21/1992). Last game to support Hercules.
Their Finest Hour : The Battle of Britain
Video Support - CGA, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib
Minimum RAM - 512KB
Media - 4 x 5.25" DD or 2 x 3.5" DD
File Date - 10/02/1989
Copy Protection - Radio Frequency Cipher Wheel Codewheel
Expansions : Their Finest Missions Volume One
First Lucas game with a Codewheel, would not be the last. Copy protection is removed in the Air Combat Classics Collection. First Lucas game to provide true support for VGA (more than the 16 CGA colors are used), although graphics were originally drawn for EGA.
Loom
Video Support - CGA, TGA, EGA, MCGA, VGASound Support - PC Speaker, Tandy 3-Voice, Adlib, Creative C/MS, Roland MT-32*
Minimum RAM - 512KB
Media - 6 x 5.25" DD or 3 x 3.5" DD
File Date - 03/07/1990 (v1.0/Int. 3.5.57); 03/15/1990 (v1.1/Int. 3.5.37) 09/21/1992 (v1.1/Int. 3.5.40)
Copy Protection - Book of Patterns with Red Filter
* - Patch disk required
Uniquely came with a stereo Cassette featuring a nearly 30-minute audio drama telling the backstory. Only 16-color game not to have an upgraded floppy version released. Copy protection removed in the Classic Adventures Collection. Users originally had to pay $10 and send in a card to receive the MT-32 patch, but it is available on LucasArts' support site. Last game to use a red filter for copy protection. Versions 1.0 and 1.1 exist. CD version dated 06/09/92, has 256-color graphics, full voice-acting with simplified script, almost no portraits, CD audio music and sound effects. FM-Towns CD uses floppy text, 256-color portraits and CD audio music (two different versions for each piece) but no voice acting. First game to use the /? command line argument to list the arguments the game accepts. LucasArts Classic Collection version with copy protection eliminated reports v1.1/Int. 3.5.40.
Indiana Jones and the Last Crusade : The Graphics Adventure "256-Color VGA"
Video Support - MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib, Creative C/MS
Minimum RAM - 640KB
Media - 4 x 3.5" HD or 4 x 5.25" HD or 3 x 3.5" HD
File Date - 05/03/1990 (v.2.0/Int. 3.0.18); 08/30/1990 (v2.0/Int. v3.0.20) 08/06/1992; 09/21/1992 (v2.0/Int. 3.0.22)
Copy Protection - None
There is no translation table screen in this version, so no copy protection. Unlike 16-color version, any copy of this version will support the C/MS Game Blaster. Included in the Classic Adventures Collection. First game to come on high density floppies, but LucasArts apparently only offered a "full" version on 5.25"HD disks. Upgrade, budget or slash releases may come on 1.44MB 3.5" disks. If there are four 3.5" HD disks, then the game can be run off floppies. If there are only three disks, then it must be decompressed to a hard drive. FM-Towns CD uses CD audio music. LucasArts Classic Collection version with copy protection eliminated reports v2.0/Int. 3.0.22.
The Secret of Monkey Island
Video Support - CGA, HGC, TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib, Creative C/MS, Roland MT-32*
Minimum RAM - 640KB
Media - 8 x 5.25" DD or 4 x 3.5" DD
File Date - 09/01/1990 (v1.0/Int. v.4.0.62)
Copy Protection - Dial-A-Pirate Codewheel
* - Patch disk required, cost $10 back in the day. Not immediately removed from the company store when the 256-color version was released. Last game to support CGA and HGC. Roland is not always ideal, since you lose the sound effects of the Adlib and other sound drivers.
The Secret of Monkey Island "256-Color VGA"
Video Support - EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib , Creative C/MS, Roland MT-32
Minimum RAM - 640KB
Media - 8 x 3.5" DD or 7 x 3.5" DD (v1.1) or 4 x 5.25" HD.or 3 x 3.5" HD
File Date - 12/03/1990; 02/04/1992 (v1.0/Int. v.5.0.16); 02/15/1991 (v1.1/Int. v.5.0.16), (v1.1/Int. v.5.0.15); 09/21/1992 (v1.0/Int. v.5.0.19)
Copy Protection - Dial-A-Pirate Codewheel
CD version dated 06/10/92, "stump joke" removed, CD audio music added and interface changed from text to icons and fewer verbs. Copy protection removed in the Classic Adventures Collection, which reports v1.0/Int. v.5.0.19. Versions 1.0 and 1.1? exist. Later budget releases may come on 1.44MB floppies. Last game to support C/MS.
Secret Weapons of the Luftwaffe
Video Support - TGA, EGA, MCGA, VGA
Sound Support - PC Speaker, Tandy 3-Voice, Adlib, Sound Blaster
Minimum RAM - 640KB, 768KB for Tandy, 1MB EMS Recommended
Media - 8 x 5.25" DD or 4 x 3.5" DD
File Date - 09/01/1990
Copy Protection - Codewheel
Expansions : P-38 Lightning Tour Of Duty
Do 335 Pfeil Tour Of Duty
P-80 Shooting Star Tour Of Duty
He 162 Volksjager Tour Of Duty
Expansions will bring 1.0 and 1.02 to 2.0 and 2.1. 2.1 is the version that third-party missions use. 2.2 comes on the CD. First game with "true" VGA graphics and last to support Tandy graphics and sound.
Monkey Island 2 - LeChuck's Revenge
Video Support - EGA, MCGA, VGA
Sound Support - PC Speaker, Adlib, Sound Blaster, Roland MT-32
Minimum RAM - 640KB
Media - 6 x 5.25" HD or 5 x 3.5" HD
File Date - 11/21/1991 (v1.0/Int. v.5.2.02)
Copy Protection - Mix-n-Mojo Codewheel
Copy protection, Easy Mode & the 16-color EGA support (appears in B&W) removed in the Monkey Island Madness CD. KIXX released this game with the copy protection removed (probably to eliminate the expensive codewheel), but without damage otherwise. Last game to use a codewheel. Last to use Lucasfilm Games and first to use LucasArts company name. I believe the opening title music was originally composed for Adlib and the in-game music for Roland.
Indiana Jones and the Fate of Atlantis
Video Support - EGA, MCGA, VGA
Sound Support - PC Speaker, Adlib, Sound Blaster, Roland MT-32
Minimum RAM - 640KB
Media - 6 x 5.25" HD or 5 x 3.5" HD
File Date - 05/21/1992 (v1.0/Int. v.5.2.20)
Copy Protection - Manual
CD version is dated 05/17/93 and adds voice acting. Last game to support EGA.
Star Wars : X-Wing
Video Support - MCGA, VGA
Sound Support - Adlib, Sound Blaster, Creative Sound Blaster Pro, Roland MT-32, General MIDI
Minimum RAM - 640KB, 896KB EMS Recommended
Media - 6 x 5.25" HD or 5 x 3.5" HD
File Date - 02/16/1993 (v1.0)
Copy Protection - Manual
Expansions : Imperial Pursuit Tour of Duty
B-Wing Tour of Duty
No music or sound effects without EMS. Limited Edition release came with a book, The Farlander Papers, but is otherwise identical to the standard version. Supports the hat switch of a CH Flightstick Pro. Last game to be offered publicly by LucasArts on 5.25" disks.
Maniac Mansion - Day of the Tentacle
Video Support - MCGA, VGA
Sound Support - Adlib, Sound Blaster, Roland MT-32*, General MIDI
Minimum RAM - 640KB, 2MB EMS Recommended
Media - 6 x 3.5" HD or 8 x 5.25" HD
File Date - 06/02/1993 (v1.5/Int. v.6.4.2)
Copy Protection - Manual
* - Patch disk required
Released simultaneously with CD version. Floppy has speech in intro and end, CD has speech (same actors) throughout. CD version came in a unique triangular box or regular box. LucasArts has a patch to add Roland MT-32 and General MIDI support to the floppy disk version. This patch was originally sent from the company on floppy disk. It adds the files GMIDI.IMS, ROLAND.IMS and TENTACLE.002. If your copy has those files, you can play the game with MIDI devices. If not, then presumably you have a virgin install and the game will not start with those options selected, despite what the configuration menu may allow. The 5.25" version may have been available by special order or was released for non-U.S. markets only.
Video Support - MCGA, VGA
Sound Support - Adlib, Sound Blaster, Roland MT-32, General MIDI
Minimum RAM - 640KB, 2MB EMS Recommended
Media - 6 x 3.5" HD + 1 x 3.5" DD or 8 x 5.25" HD
File Date - 11/02/1993 (v1.0/Int. v.6.5.0)
Copy Protection - Crimestompers' Coloring Book : How to Play Sam & Max Hit the Road Manual
CD version dated 03/24/94 (CDv1.11), includes 4 CD audio tracks. Floppy has speech in intro and end, CD has speech (same actors) throughout. The 5.25" version may have been available by special order or was released for non-U.S. markets only.
Star Wars : TIE Fighter
Video Support - MCGA, VGA
Sound Support - Adlib, Sound Blaster, Sound Blaster Pro, Sound Blaster 16, Sound Blaster AWE32, Pro Audio Spectrum, Pro Audio Spectrum 16, Roland MT-32, General MIDI
Minimum RAM - 640KB, 2MB EMS Recommended, 900KB Required
Media - 6 x 3.5" HD
File Date - 06/22/1994 (v1.0)
Copy Protection - Manual
Expansions : Defender of the Empire
Last floppy disk game developed by LucasArts. Came with short story The Stele Chronicles.
Friday, October 5, 2012
Important System Resources in Vintage Computing
In the beginning, IBM created the PC/XT architecture. All clone machines tried to adhere to this architecture. This architecture was based around the Intel 8088 processor, which had an 8-bit data bus and 20-bit data bus.
Then IBM used a 286 in the PC AT and an extension to the architecture, the AT architecture, was born. This had a 16-bit data bus architecture and a 24-bit address bus.
Around this time, IBM also released the PCjr. and Tandy released the 1000 series, which are very important for vintage PC gaming. Other important computers include the Amstrad PC-1512 & 1640, the IBM PS/2 Model 25 & 30 (8086 & 80286 Models) and the IBM PS/1 Models 2011, 2121 & 2123.
Since resource conflicts seem inherent to the ISA bus, I do not discuss hardware intended for other bus architectures like EISA, MCA, VLB or PCI.
I. The XT Architecture
IBM's designated assignments for its common peripherals :
I/O Ports
System Board :
000-01F - Direct Memory Access Controller
020-03F - Interrupt Controller
040-05F - Timer
060-06F - Parallel Peripheral Interface
080-09F - DMA Page Registers
0A0-0AF - Non-maskable Interrupt Mask Register
Expansion Bus :
200-20F - IBM Game Control Adapter
210-217 - IBM Expansion Unit
2B0-2DF - Enhanced Graphics Adapter (EGA Alternate Address)
278-27F - IBM Printer Adapter (Secondary, not officially supported)
2F8-2FF - IBM Asynchronous Communications Adapter (Secondary Serial)
320-32F - IBM Fixed Disk Adapter (Hard Drive, also XT IDE usually 320-323 only)
378-37F - IBM Printer Adapter
3B0-3BF - IBM Monochrome Display and Printer Adapter (MDA, Printer at 3BC-3BF)
3C0-3CF - IBM Enhanced Graphics Adapter (EGA) or IBM PS/2 Display Adapter (VGA)
3D0-3DF - IBM Color/Graphics Display Adapter
3F0-3F7 - IBM 5-1/4" Diskette Drive Adapter (Floppy)
3F8-3FF - IBM Asynchronous Communications Adapter (Primary Serial)
IRQ : 0-7
NMI - Memory Parity, 8087 Coprocessor & I/O Channel Errors
IRQ 0 - System Timer, not available on bus
IRQ1 - Keyboard Controller, not available on bus.
IRQ2 - IBM Enhanced Graphics Adapter (EGA) or IBM PS/2 Display Adapter (VGA)
IRQ3 - IBM Asynchronous Communications Adapter (Secondary Serial)
IRQ4 - IBM Asynchronous Communications Adapter (Primary Serial)
IRQ5 - IBM Fixed Disk Adapter (Hard Drive)
IRQ6 - IBM 5-1/4" Diskette Drive Adapter (Floppy)
IRQ7 - IBM Monochrome Display and Printer Adapter (MDA, Printer only) or IBM Printer Adapter
DMA : 0-3
DMA 0 - (DRAM Refresh) not available on bus.
DMA1 - no particular assignment
DMA2 - IBM 5-1/4" Diskette Drive Adapter (Floppy)
DMA3 - IBM Fixed Disk Adapter (Hard Drive)
Upper Memory :
A0000-AFFFF - IBM Enhanced Graphics Adapter (EGA) or IBM PS/2 Display Adapter (VGA)
B0000-B0FFF - IBM Monochrome Display and Printer Adapter (MDA)
B8000-BBFFF - IBM Color/Graphics Display Adapter (CGA)
C0000-C3FFF - IBM Enhanced Graphics Adapter (EGA)
C0000-C5FFF - IBM PS/2 Display Adapter (VGA) (non-IBM VGA cards typically use C0000-C7FFF)
C6800-C8000 - Ditto
CA000-CA800 - Ditto
C8000-CBFFF - IBM Fixed Disk Adapter (Hard Drive)
F0000-FFFFF - ROM BASIC & BIOS (XT 2nd & 3rd BIOS)
F4000-FFFFF - ROM BASIC & BIOS (PC, Portable, XT 1st BIOS)
II. The AT Architecture
I/O Ports
Same as XT except :
070-07F - MC146818A Real Time Clock & NMI Mask Register
0A0-0BF - IRQ Controller 2
0C0-0DF - DMA Controller 2
0F0-0FF - 80287 Coprocessor Control
170-177 - IBM Fixed Disk and Diskette Drive Adapter (Hard Drive only, Secondary Controller, unsupported)
1F0-1F8 - IBM Fixed Disk and Diskette Drive Adapter (Hard Drive only, Primary Controller)
278-27F - IBM Serial/Parallel Adapter (Secondary Parallel)
2F8-2FF - IBM Serial/Parallel Adapter (Secondary Serial)
370-377 - IBM Fixed Disk and Diskette Drive Adapter (Floppy & Hard Drive, Secondary Controller, unsupported)
378-37F - IBM Serial/Parallel Adapter (Primary Parallel)
3F0-3F7 - IBM Fixed Disk and Diskette Drive Adapter (Floppy & Hard Drive, Primary Controller, also IDE)
3F8-3FF - IBM Serial/Parallel Adapter (Primary Serial)
IRQ : 0-15
NMI - Memory Parity or I/O Channel Error
IRQ 0 - System Timer, not available on bus
IRQ1 - Keyboard Controller, not available on bus.
IRQ2 - 2nd IRQ Controller Cascade, rerouted to IRQ9.
IRQ3 - IBM Serial/Parallel Adapter (Secondary Serial)
IRQ4 - IBM Serial/Parallel Adapter (Primary Serial)
IRQ5 - IBM Serial/Parallel Adapter (Secondary Parallel only)
IRQ6 - IBM Fixed Disk & Diskette Drive Adapter (Floppy only)
IRQ7 - IBM Monochrome Display and Printer Adapter (MDA, Printer only) or IBM Serial/Parallel Adapter (Primary Parallel only)
IRQ8 - Real Time Clock, not available on bus.
IRQ9 - IBM Enhanced Graphics Adapter (EGA) or IBM PS/2 Display Adapter (VGA)
IRQ10-12 - no particular assignment
IRQ13 - 80287 Coprocessor
IRQ14 - IBM Fixed Disk & Diskette Drive Adapter (Hard drive only)
IRQ15 - no particular assignment (later secondary Hard Drive controller)
DMA : 0-7
DMA 0 - no particular assignment
DMA1 - no particular assignment
DMA2 - IBM Fixed Disk & Diskette Drive Adapter (Floppy only)
DMA3 - no particular assignment
DMA4 - (2nd DMA Controller Cascade) is not available on bus.
DMA5-7 - no particular assignment
Upper Memory :
Same as above, except no Fixed Disk at C8000-CBFFF :
E0000-EFFFF : Optional ROM Sockets (AT only)
F0000-FFFFF : BASIC & BIOS ROM
PS/2 Difference :
IRQ12 - PS/2 Mouse
III. Other System Differences
PCjr./Tandy 1000 Differences :
I/O Same as XT architecture except :
000-01F - Direct Memory Access Controller (Tandy only, optional on 1000/A/EX/HX)
020-027 - Interrupt Controller
040-047 - Timer
060-067 - Parallel Peripheral Interface
080-083 - DMA Page Registers (Tandy only, optional on 1000/A/HD/EX/HX)
0A0-0A7 - Non-maskable Interrupt Register, Memory Configuration Register (Tandy), Configuration Register (PCjr.)
0C0-0C7 - TI SN76496 Programmable Sound Generator
0C0-0C7 - Tandy PSSJ Sound Chip (except for RSX)
0F0-0F7 - Floppy Interface (PCjr.)
1E0-1E7 - Tandy PSSJ (RSX, also 2500XL, Sensation!)
200-207 - Joystick Interface
2F8-2FF - Serial Interface (PCjr.)
320-323 - XT IDE 8-bit Interface (TL/2, TL/3, RL, RLX)
378-37F - Printer Interface / IBM PCjr. Parallel Printer Attachment
3D0-3DF - Graphics Interface
3F0-3F7 - Floppy Interface (Tandy)
3F8-3FF - IBM PCjr. Internal Modem, Serial Interface (Tandy TX, TL, TL/2, TL/3, RL, RL, RLX, RSX, SL, SL/2)
FFEB-FFEF - Tandy System Programming Options (TL, TL/2, TL/3, RL, RLX, SL, SL/2, RSX)
IRQ Same as XT architecture except :
NMI - Keyboard Controller (PCjr.) or Coprocessor & I/O Channel Error (Note parity memory is not supported on these machines)
IRQ1 - no particular assignment (PCjr.)
IRQ2 - no particular assignment, Alternate Video (Tandy SX, TX, TL, TL/2, TL/3, RL, SL, SL/2)
IRQ3 - Serial (PCjr.), PS/2 Mouse (RL, RLX, TL/3)
IRQ4 - Modem (PCjr.), Serial (Tandy)
IRQ5 - Video (Optional on Tandy SX, TX, TL, TL/2, TL/3, RL, SL, SL/2), otherwise no particular assignment
IRQ6 - Floppy
IRQ7 - Printer
DMA Same as XT architecture except :
DMA1 - Tandy PSSJ Sound Chip
DMA not supported on PCjr.
Upper Memory Same as XT except :
B8000-BBFFF - PCjr. Video Memory Window (CGA compatibility)
B8000-BFFFF - Tandy Video Memory Window
D0000-DFFFF - IBM PCjr. Cartridge
E0000-EFFFF - IBM PCjr. Cartridge
E0000-EFFFF - DOS-in-ROM Paging (Tandy HX, TL, TL/2, TL/3, SL, SL/2, RL, RLX, RSX)
F0000-FFFFF - BASIC & BIOS (PCjr.) BIOS (Tandy)
Amstrad PC-1512 Differences :
I/O 70-77 - Real Time Clock (functions like AT)
I/O 78-7F - Amstrad Mouse Movement
IRQ2 - Real Time Clock (can be used with EGA)
PS/2 & PS/1 Differences :
I/O 3B0-3DF - IBM Video Graphics Array (Model PS/2 25 & 30 286, PS/1)
I/O 3C0-3DF - IBM Multicolor Graphics Array (MCGA) (Model 25 & 30 8086 only)
IRQ2 - MCGA, VGA
I/O 320-327 XT IDE 8-bit Interface (Model 25 & 30, PS/1 Model 2011)
IV. ISA Expansion Cards
Hercules Graphics Differences (from MDA) :
Upper Memory - B0000-B7FFF - Half-Graphics Mode
Upper Memory - B0000-BFFFF - Full Graphics Mode (CGA Emulation)
Adlib Music Feature Card :
I/O - 388-389
Game Blaster
I/O - 210-21F, 220-22F, 230-23F, 240-24F, 250-25F, 260-26F
Sound Blaster 1.0-1.5, Mediavision Thunderboard :
I/O - 210-21F, 220-22F, 230-23F, 240-24F, 250-25F, 260-26F; 200-207 (Joystick); 388-389 (Adlib)
IRQ - 2, 3, 5, 7
DMA1
Sound Blaster 2.0 :
Same as Sound Blaster above except :
I/O - 220-23F, 240-24F; 200-207 (Joystick)
Sound Blaster Pro 1.0-2.0
I/O - 220-23F, 240-24F; 200-207 (Joystick)
IRQ - 2, 5, 7, 10
DMA - 0, 1, 3
Sound Blaster 16, AWE32, AWE64
I/O - 220-23F, 240-24F, 260-27F. 280-29F (DSP); 330-331, 300-301 (MIDI); 200-207 (Joystick); 388-38B (Adlib); 620-623 & A20-A23 & E20-E23 (Advanced WavEffects Synthesizer, AWE32, SB32 & AWE64 only); 100 (3D Stereo Enhancement device, AWE64 only)
IRQ - 2, 5, 7, 10
DMA - 0, 1, 3 (Low); 5, 6, 7 (High)
SCSI Port - 140, 340 (certain models only)
IDE Port - 1E8-1EF, 170-177, 168-16F (certain models only)
Roland MPU-401 w/MIF-IPC & MIF-IPC-A:
I/O - 330-337
IRQ2
Roland MPU-IPC & IPC-T
I/O - 330-331 (MPU-IPC), 330-331, 300-301, 320-321 (MPU-IPC-T)
IRQ - 2 (MPU-IPC), 2, 3, 4, 5, 6, 7 (MPU-IPC-T)
Roland LAPC-I, SCC-1, MPU-401AT
I/O - 330-331, 332-333, 334-335, 336-337; 300-301, 320-321 (MPU-401AT only)
IRQ - 2, 3, 4, 5, 6, 7
Innovation SSI-2001
I/O - 280-29F, 2A0-2BF, 2C0-2DF, 2E0-2FF; 200-20F (Joystick)
IBM Music Feature Card
I/O - 2A20-2A2F, 2A30-2A3F (alias of 220-22F, 230-23F)
Gravis Ultrasound
I/O - 210-21F & 310-31F, 220-22F & 320-32F, 230-23F & & 330-33F, 240-24F & 340-34F, 250-25F & & 350-35F, 260-26F & 360-36F (Ultrasound); 388-389 (Adlib); 30C. 31C, 32C, 33C, 34C, 35C, 36C (16-bit Base Port Address, CS4231 cards only, GUS MAX, GUS w/daughterboard)
IRQ - 2, 3, 5, 7, 11, 12, 15 (GUS IRQ & MIDI IRQ can use two different IRQs)
DMA - 1, 3, 5, 6, 7 (Playback & Record DMA can use two different DMAs)
Novell NE1000 & NE2000
I/O & ROM : 300-31F & C8000-CBFFF, 320-33F & CC000-CFFFF, 340-35F, D0000-D3FFF, 360-37F & Disabled or D4000-D7FFF.(some cards will go all the way up to the F segment.)
IRQ : 2, 3, 4, 5
DMA (Some Cards Only) : 1, 3 (NE1000), 3, 5, 6, 7 (NE2000)
AST Six Pak Plus Real Time Clock
I/O - 2C0-2DF
IRQ - 2, 4, 5, 7 (optional)
Then IBM used a 286 in the PC AT and an extension to the architecture, the AT architecture, was born. This had a 16-bit data bus architecture and a 24-bit address bus.
Around this time, IBM also released the PCjr. and Tandy released the 1000 series, which are very important for vintage PC gaming. Other important computers include the Amstrad PC-1512 & 1640, the IBM PS/2 Model 25 & 30 (8086 & 80286 Models) and the IBM PS/1 Models 2011, 2121 & 2123.
Since resource conflicts seem inherent to the ISA bus, I do not discuss hardware intended for other bus architectures like EISA, MCA, VLB or PCI.
I. The XT Architecture
IBM's designated assignments for its common peripherals :
I/O Ports
System Board :
000-01F - Direct Memory Access Controller
020-03F - Interrupt Controller
040-05F - Timer
060-06F - Parallel Peripheral Interface
080-09F - DMA Page Registers
0A0-0AF - Non-maskable Interrupt Mask Register
Expansion Bus :
200-20F - IBM Game Control Adapter
210-217 - IBM Expansion Unit
2B0-2DF - Enhanced Graphics Adapter (EGA Alternate Address)
278-27F - IBM Printer Adapter (Secondary, not officially supported)
2F8-2FF - IBM Asynchronous Communications Adapter (Secondary Serial)
320-32F - IBM Fixed Disk Adapter (Hard Drive, also XT IDE usually 320-323 only)
378-37F - IBM Printer Adapter
3B0-3BF - IBM Monochrome Display and Printer Adapter (MDA, Printer at 3BC-3BF)
3C0-3CF - IBM Enhanced Graphics Adapter (EGA) or IBM PS/2 Display Adapter (VGA)
3D0-3DF - IBM Color/Graphics Display Adapter
3F0-3F7 - IBM 5-1/4" Diskette Drive Adapter (Floppy)
3F8-3FF - IBM Asynchronous Communications Adapter (Primary Serial)
IRQ : 0-7
NMI - Memory Parity, 8087 Coprocessor & I/O Channel Errors
IRQ 0 - System Timer, not available on bus
IRQ1 - Keyboard Controller, not available on bus.
IRQ2 - IBM Enhanced Graphics Adapter (EGA) or IBM PS/2 Display Adapter (VGA)
IRQ3 - IBM Asynchronous Communications Adapter (Secondary Serial)
IRQ4 - IBM Asynchronous Communications Adapter (Primary Serial)
IRQ5 - IBM Fixed Disk Adapter (Hard Drive)
IRQ6 - IBM 5-1/4" Diskette Drive Adapter (Floppy)
IRQ7 - IBM Monochrome Display and Printer Adapter (MDA, Printer only) or IBM Printer Adapter
DMA : 0-3
DMA 0 - (DRAM Refresh) not available on bus.
DMA1 - no particular assignment
DMA2 - IBM 5-1/4" Diskette Drive Adapter (Floppy)
DMA3 - IBM Fixed Disk Adapter (Hard Drive)
Upper Memory :
A0000-AFFFF - IBM Enhanced Graphics Adapter (EGA) or IBM PS/2 Display Adapter (VGA)
B0000-B0FFF - IBM Monochrome Display and Printer Adapter (MDA)
B8000-BBFFF - IBM Color/Graphics Display Adapter (CGA)
C0000-C3FFF - IBM Enhanced Graphics Adapter (EGA)
C0000-C5FFF - IBM PS/2 Display Adapter (VGA) (non-IBM VGA cards typically use C0000-C7FFF)
C6800-C8000 - Ditto
CA000-CA800 - Ditto
C8000-CBFFF - IBM Fixed Disk Adapter (Hard Drive)
F0000-FFFFF - ROM BASIC & BIOS (XT 2nd & 3rd BIOS)
F4000-FFFFF - ROM BASIC & BIOS (PC, Portable, XT 1st BIOS)
II. The AT Architecture
I/O Ports
Same as XT except :
070-07F - MC146818A Real Time Clock & NMI Mask Register
0A0-0BF - IRQ Controller 2
0C0-0DF - DMA Controller 2
0F0-0FF - 80287 Coprocessor Control
170-177 - IBM Fixed Disk and Diskette Drive Adapter (Hard Drive only, Secondary Controller, unsupported)
1F0-1F8 - IBM Fixed Disk and Diskette Drive Adapter (Hard Drive only, Primary Controller)
278-27F - IBM Serial/Parallel Adapter (Secondary Parallel)
2F8-2FF - IBM Serial/Parallel Adapter (Secondary Serial)
370-377 - IBM Fixed Disk and Diskette Drive Adapter (Floppy & Hard Drive, Secondary Controller, unsupported)
378-37F - IBM Serial/Parallel Adapter (Primary Parallel)
3F0-3F7 - IBM Fixed Disk and Diskette Drive Adapter (Floppy & Hard Drive, Primary Controller, also IDE)
3F8-3FF - IBM Serial/Parallel Adapter (Primary Serial)
IRQ : 0-15
NMI - Memory Parity or I/O Channel Error
IRQ 0 - System Timer, not available on bus
IRQ1 - Keyboard Controller, not available on bus.
IRQ2 - 2nd IRQ Controller Cascade, rerouted to IRQ9.
IRQ3 - IBM Serial/Parallel Adapter (Secondary Serial)
IRQ4 - IBM Serial/Parallel Adapter (Primary Serial)
IRQ5 - IBM Serial/Parallel Adapter (Secondary Parallel only)
IRQ6 - IBM Fixed Disk & Diskette Drive Adapter (Floppy only)
IRQ7 - IBM Monochrome Display and Printer Adapter (MDA, Printer only) or IBM Serial/Parallel Adapter (Primary Parallel only)
IRQ8 - Real Time Clock, not available on bus.
IRQ9 - IBM Enhanced Graphics Adapter (EGA) or IBM PS/2 Display Adapter (VGA)
IRQ10-12 - no particular assignment
IRQ13 - 80287 Coprocessor
IRQ14 - IBM Fixed Disk & Diskette Drive Adapter (Hard drive only)
IRQ15 - no particular assignment (later secondary Hard Drive controller)
DMA : 0-7
DMA 0 - no particular assignment
DMA1 - no particular assignment
DMA2 - IBM Fixed Disk & Diskette Drive Adapter (Floppy only)
DMA3 - no particular assignment
DMA4 - (2nd DMA Controller Cascade) is not available on bus.
DMA5-7 - no particular assignment
Upper Memory :
Same as above, except no Fixed Disk at C8000-CBFFF :
E0000-EFFFF : Optional ROM Sockets (AT only)
F0000-FFFFF : BASIC & BIOS ROM
PS/2 Difference :
IRQ12 - PS/2 Mouse
III. Other System Differences
PCjr./Tandy 1000 Differences :
I/O Same as XT architecture except :
000-01F - Direct Memory Access Controller (Tandy only, optional on 1000/A/EX/HX)
020-027 - Interrupt Controller
040-047 - Timer
060-067 - Parallel Peripheral Interface
080-083 - DMA Page Registers (Tandy only, optional on 1000/A/HD/EX/HX)
0A0-0A7 - Non-maskable Interrupt Register, Memory Configuration Register (Tandy), Configuration Register (PCjr.)
0C0-0C7 - TI SN76496 Programmable Sound Generator
0C0-0C7 - Tandy PSSJ Sound Chip (except for RSX)
0F0-0F7 - Floppy Interface (PCjr.)
1E0-1E7 - Tandy PSSJ (RSX, also 2500XL, Sensation!)
200-207 - Joystick Interface
2F8-2FF - Serial Interface (PCjr.)
320-323 - XT IDE 8-bit Interface (TL/2, TL/3, RL, RLX)
378-37F - Printer Interface / IBM PCjr. Parallel Printer Attachment
3D0-3DF - Graphics Interface
3F0-3F7 - Floppy Interface (Tandy)
3F8-3FF - IBM PCjr. Internal Modem, Serial Interface (Tandy TX, TL, TL/2, TL/3, RL, RL, RLX, RSX, SL, SL/2)
FFEB-FFEF - Tandy System Programming Options (TL, TL/2, TL/3, RL, RLX, SL, SL/2, RSX)
IRQ Same as XT architecture except :
NMI - Keyboard Controller (PCjr.) or Coprocessor & I/O Channel Error (Note parity memory is not supported on these machines)
IRQ1 - no particular assignment (PCjr.)
IRQ2 - no particular assignment, Alternate Video (Tandy SX, TX, TL, TL/2, TL/3, RL, SL, SL/2)
IRQ3 - Serial (PCjr.), PS/2 Mouse (RL, RLX, TL/3)
IRQ4 - Modem (PCjr.), Serial (Tandy)
IRQ5 - Video (Optional on Tandy SX, TX, TL, TL/2, TL/3, RL, SL, SL/2), otherwise no particular assignment
IRQ6 - Floppy
IRQ7 - Printer
DMA Same as XT architecture except :
DMA1 - Tandy PSSJ Sound Chip
DMA not supported on PCjr.
Upper Memory Same as XT except :
B8000-BBFFF - PCjr. Video Memory Window (CGA compatibility)
B8000-BFFFF - Tandy Video Memory Window
D0000-DFFFF - IBM PCjr. Cartridge
E0000-EFFFF - IBM PCjr. Cartridge
E0000-EFFFF - DOS-in-ROM Paging (Tandy HX, TL, TL/2, TL/3, SL, SL/2, RL, RLX, RSX)
F0000-FFFFF - BASIC & BIOS (PCjr.) BIOS (Tandy)
Amstrad PC-1512 Differences :
I/O 70-77 - Real Time Clock (functions like AT)
I/O 78-7F - Amstrad Mouse Movement
IRQ2 - Real Time Clock (can be used with EGA)
PS/2 & PS/1 Differences :
I/O 3B0-3DF - IBM Video Graphics Array (Model PS/2 25 & 30 286, PS/1)
I/O 3C0-3DF - IBM Multicolor Graphics Array (MCGA) (Model 25 & 30 8086 only)
IRQ2 - MCGA, VGA
I/O 320-327 XT IDE 8-bit Interface (Model 25 & 30, PS/1 Model 2011)
IV. ISA Expansion Cards
Hercules Graphics Differences (from MDA) :
Upper Memory - B0000-B7FFF - Half-Graphics Mode
Upper Memory - B0000-BFFFF - Full Graphics Mode (CGA Emulation)
Adlib Music Feature Card :
I/O - 388-389
Game Blaster
I/O - 210-21F, 220-22F, 230-23F, 240-24F, 250-25F, 260-26F
Sound Blaster 1.0-1.5, Mediavision Thunderboard :
I/O - 210-21F, 220-22F, 230-23F, 240-24F, 250-25F, 260-26F; 200-207 (Joystick); 388-389 (Adlib)
IRQ - 2, 3, 5, 7
DMA1
Sound Blaster 2.0 :
Same as Sound Blaster above except :
I/O - 220-23F, 240-24F; 200-207 (Joystick)
Sound Blaster Pro 1.0-2.0
I/O - 220-23F, 240-24F; 200-207 (Joystick)
IRQ - 2, 5, 7, 10
DMA - 0, 1, 3
Sound Blaster 16, AWE32, AWE64
I/O - 220-23F, 240-24F, 260-27F. 280-29F (DSP); 330-331, 300-301 (MIDI); 200-207 (Joystick); 388-38B (Adlib); 620-623 & A20-A23 & E20-E23 (Advanced WavEffects Synthesizer, AWE32, SB32 & AWE64 only); 100 (3D Stereo Enhancement device, AWE64 only)
IRQ - 2, 5, 7, 10
DMA - 0, 1, 3 (Low); 5, 6, 7 (High)
SCSI Port - 140, 340 (certain models only)
IDE Port - 1E8-1EF, 170-177, 168-16F (certain models only)
Roland MPU-401 w/MIF-IPC & MIF-IPC-A:
I/O - 330-337
IRQ2
Roland MPU-IPC & IPC-T
I/O - 330-331 (MPU-IPC), 330-331, 300-301, 320-321 (MPU-IPC-T)
IRQ - 2 (MPU-IPC), 2, 3, 4, 5, 6, 7 (MPU-IPC-T)
Roland LAPC-I, SCC-1, MPU-401AT
I/O - 330-331, 332-333, 334-335, 336-337; 300-301, 320-321 (MPU-401AT only)
IRQ - 2, 3, 4, 5, 6, 7
Innovation SSI-2001
I/O - 280-29F, 2A0-2BF, 2C0-2DF, 2E0-2FF; 200-20F (Joystick)
IBM Music Feature Card
I/O - 2A20-2A2F, 2A30-2A3F (alias of 220-22F, 230-23F)
Gravis Ultrasound
I/O - 210-21F & 310-31F, 220-22F & 320-32F, 230-23F & & 330-33F, 240-24F & 340-34F, 250-25F & & 350-35F, 260-26F & 360-36F (Ultrasound); 388-389 (Adlib); 30C. 31C, 32C, 33C, 34C, 35C, 36C (16-bit Base Port Address, CS4231 cards only, GUS MAX, GUS w/daughterboard)
IRQ - 2, 3, 5, 7, 11, 12, 15 (GUS IRQ & MIDI IRQ can use two different IRQs)
DMA - 1, 3, 5, 6, 7 (Playback & Record DMA can use two different DMAs)
Novell NE1000 & NE2000
I/O & ROM : 300-31F & C8000-CBFFF, 320-33F & CC000-CFFFF, 340-35F, D0000-D3FFF, 360-37F & Disabled or D4000-D7FFF.(some cards will go all the way up to the F segment.)
IRQ : 2, 3, 4, 5
DMA (Some Cards Only) : 1, 3 (NE1000), 3, 5, 6, 7 (NE2000)
AST Six Pak Plus Real Time Clock
I/O - 2C0-2DF
IRQ - 2, 4, 5, 7 (optional)
Monday, October 1, 2012
All You Ever Wanted to Know about the Creative Music System , a.k.a. the Game Blaster
I. Market History
In 1988, DOS games were finally beginning to support cards and devices that would allow games to expand their musical abilities beyond the PC Speaker and PCjr./Tandy 3-Voice sound. King's Quest IV, released in September, 1988, was the first DOS game to support sound cards and midi interfaces. It supported the Adlib Music Synthesizer Card, the Roland MT-32 Multi-timbral MIDI Sound Module (with a Roland MPU-401 midi interface) and the IBM Music Feature, all of which had been released the previous year.
While the Adlib would soon become supported by all developers, and the MT-32 would dominate the high end of PC gaming for several years, IBM's card was seen as overpriced and lacking in features. It was supported in games only by Sierra, and then as something of an afterthought. Could a third card succeed? Creative Technologies of Singapore thought it could.
In late 1987 or early 1988, Creative Labs, Inc. released the Creative Music System (CMS or C/MS as it was abbreviated) in the United States (it had previously been released in Malaysia and Singapore). It consisted of a half-length 8-bit ISA card (called the "Creative Music Card") and software to compose music on the card. The software came on five 5.25" Double Density 360KB disks (Master Disk, Intelligent Organ, Sound Disk 1, Sound Disk 2, Utilities Disk). It included the Intelligent Organ, which used text mode ASCII graphics to show piano keys, demos, lots and lots of songs, many of which composed by the company's founder, W.H. Sim. It also includes a TSR called CMSDRV.COM, which some of the programs use to communicate with the card.
The Creative Music System had no game support in the beginning, and without it, any consumer based audio PC device would be considered little more than a toy. Creative had a card it could not sell, which is the reason why the Creative Music System box and package is incredibly rare today. Creative teamed up with Radio Shack to sell a repacked version of the card in its stores under the name Game Blaster. The official name of the actual card in this package is the Game Blaster Music Board. Note that whether the card is in a box with the label "Creative Music System" or "Game Blaster", the card is functionally identical. The software came on one 5.25" or 3.5" Double Density disk (both included), with only the Intelligent Organ, a demo, a test card utility, CMSDRV.COM and drivers for Sierra's games. The disks that came with the Creative Music System were available separately along with other Creative Labs programs for the card.
Like Ad Lib, Creative reached out to game developers, and in the Game Blaster box it included a full copy of Sierra's Silpheed and drivers for Sierra's SCI games released at the time. Hereafter, I use the label "CMS" to refer to the boards and software support for them. I believe the card was also referred to as the Avenger Music Card in some countries.
While the Game Blaster was more successful than the Creative Music System, it was still unable to challenge the Adlib's increasing dominance over PC audio. Creative's card had one feature the Adlib lacked however, and that was stereo output. In the beginning, it was the poor man's stereo music card, because only high end solutions like the Roland MT-32 supported stereo until the days of the SB Pro. Unfortunately, its musical capabilities were not inspiring to game programmers despite its marketing as a music card. Programmers and consumers viewed square wave synthesis was seen as technically inferior to the FM synthesis of the Adlib. The Adlib was a simple card and easy to clone or implement. Creative decided to combine the CMS functionality with the Adlib functionality and add a MIDI interface, a joystick adapter and digital audio input and output functions to create a "Killer Card." This card was marketed as the Sound Blaster at the end of 1989.
It soon became apparent that the CMS functionality (which enabled Creative to advertise the card as a "stereo" solution) was unimportant to buyers, so Creative left out the chips in the 1.5 and 2.0 versions of the Sound Blaster. The chips could be added in as an upgrade from Creative, or in the 1.5's case, by buying the right chips from anyone who had two of them. Relatively few people bothered when the Adlib provided all the functionality that PC games needed. In mid-1991, Creative released the Sound Blaster Pro and eliminated support for CMS on the board and in their products.
II. Technical Qualities
The card has six jumpers to set the I/O address to 210, 220 (default), 230, 240, 250 or 260. It takes up the consecutive sixteen ($F) addresses from and including the I/O starting address set by the jumper. It uses no IRQs and no DMAs. It uses standard TTL Logic and a custom Creative Technology CT-1302 Programmable Logic Array for interfacing. The music is exclusively made by two Phillips SAA-1099 chips, one for the left channel, one for the right channel. SAA-1099s from Creative have CMS-301 stickers on these chips.
The left SAA-1099 is at I/O 2x0 & 2x1 and the right SAA-1099 is at I/O 2x2 & 2x3. The subsequent twelve I/O addresses are used by the CT-1302. For a long time, the function of this chip was a mystery, but now we know what it can do. One problem which Creative used this chip to solve was that of detection. While the game publisher could require a user to tell a program the hardware he had in his system, it would be difficult for a less savvy user to know or remember what he had or where in the I/O space it was. Creative decided to make it easy for the consumer and the game programmers by allowing the card to be detected by software.
In order for a card to be detectable in software in a PC, it has to give a reliable, non-random response to a read from the processor, the more distinctive the better. The SAA-1099s cannot be read, only written, so there was no reliable way to detect these chips in software. Here is where the CT-1302 comes in. For the remaining addresses, the card will store or latch an 8-bit value written to it at addresses 2x6 or 2x7, which is then read back by a program from address 2xA or 2xB. Port 2x4 always contains value 7F, giving this card an even more unique detection scheme. If the value read at 2xA or 2xB is the same as the value written at 2x6 or 2x7 and the unique value at 2x4 is 7F, then the card is detected. There must be two different I/O addresses involved in the reading/writing scheme, otherwise this scheme does not work reliably.
There is a volume wheel to control the amplified output to the RCA jacks and headphone minijack. They can drive speakers up to 8ohms. There are cards marked with CT-1300A and CT-1300B part numbers.
Each Phillips SAA-1099 chip supported six channels of sound using square waves with 12-bit frequency control and 4-bit amplitude control. Up to two of the six channels could be used for white noise generation or envelope generation with 8 preset envelopes. The chip can output in stereo through dual amplitude controls. Compare the TI SN76496 and its derivatives found in the IBM PCjr. and Tandy 1000 computers with three channels of square waves with 11-bit frequency control, 4-bit amplitude control, a separate noise generator and mono output. The SAA-1099 is almost a stereo clone of two AY-3-8910s, where each chip supports three square wave channels with a 12-bit frequency control, 4-bit amplitude control, a noise generator and a envelope generator.
In Creative's products, the SAA-1099s are clocked at 7.159MHz, which is exactly half of the OSC 14.318MHz signal. It its 1990 C/MS Programming Information manual, Creative Labs copies much of the SAA-1099 datasheet but fails to make any mention of the envelope generator functions or registers and also leaves out the most important noise selection (in which it uses the programmable frequency of a tone generators), giving the impression that the noise generator is only capable of three pre-selected frequencies. The manual gives the impression that the Game Blaster is less capable than it actually is, and doubtless may have contributed to the relative lack of use of the noise capabilities in DOS games. I am not aware of any game that used the envelope function. The chips Creative Labs used appear to be generic SAA-1099s (after you peel the CMS-301 sticker off them), so all the functions described in the SAA-1099 datasheet should be available.
The Sound Blaster 1.5 is the same card as the Sound Blaster 1.0 but it has two empty sockets for SAA-1099 chips. Once these are installed, and they can be obtained from IC suppliers, then CMS becomes available. No jumpers or other fiddling is required. With the 2.0, not only do the ICs need to be inserted, but a programmed PAL (write once) or GAL (rewritable) will need to be inserted into the third socket. Chuck(G) of the Vintage Computer Forums develpoed a method to deduce logic tables for PALs and used his method to determine the logic table for the PAL Creative used and programmed. The upgrade GALs programmed with the derived logic will work on all 2.0s except those with the CT1336A chip. On those boards, a newer upgrade chip or reversed engineered chip will be required. Once the three chips are installed, the CMSOFF jumper needs to be removed.
III. CMS Games & Software
Through various sources, including MobyGames and VOGONS forums, I have identified 83 unique DOS games that support CMS. In the chart below, I give the release year as reported by MobyGames, but I highly doubt, for example, that the DOS ports of Airball and Times of Lore were released in 1987 or 1988 respectively, or that patches were available for Sierra's 1988 games until 1989. (I have been corrected as to Times of Lore). Games that supported CMS were really available from late 1988 to 1992.
Unfortunately, due to the self-detection mechanisms described above, not all games work with a Sound Blaster with CMS. However, I have been able to make 75 of those 83 games work with a Sound Blaster with CMS. Many games, including all games from Sierra, Activision and LucasArts games, do not try to detect CMS and require the user to select CMS in an install program or with a command line argument to make the game work with CMS. Some games will play Adlib or Roland MT-32 music and sound if they detect one in the system even if they detect a CMS. In those cases, you need to manually select CMS by a command line argument.
This would not be a huge problem except that CMS cards are extremely rare. One to two come up on ebay in a year. Thus if someone wants to hear CMS on real hardware and not worry about compatibility or finding the right command line switches to get CMS working, they need a real CMS. Sound Blasters, the 1.5 and 2.0 are not as rare, and can be upgraded with Phillips SAA-1099 chips obtained from an IC supplier and a programmed GAL (with the caveat given above).
In many, many cases, CMS music in games will sound pretty awful next to the Adlib or the Roland MT-32, and sometimes even the Tandy 3-voice chip sounds better. Elvira and Conan are especially awful, and Sierra's support for games like Laura Bow 2 is pretty pathetic. However, Times of Lore uses it well, and Airball is unique in that it supports CMS and Innovation SSI-2001 (better than CMS) but not Adlib or Roland.
Some games and most of Creative's CMS software use CMSDRV.COM to access the Game Blaster and require it to be run as a TSR prior to the game or software being run. The driver provides basic interface services to the game through a software interrupt. CMSDRV.COM v3.10, used before the Sound Blaster, will refuse to load unless it successfully detects a true CMS or Game Blaster card. So will the Intelligent Organ executables found with true CMS boards. However, Creative included versions of these programs that will run with a Sound Blaster in its original 1.0 driver disks. The version of CMSDRV.COM that comes on the Sound Blaster 1.0 disks is v3.20B. If a game requires you to use CMSDRV.COM and its CMSDRV.COM fails to load because you have a Sound Blaster, just copy over the later version.
Some games will automatically detect a Sound Blaster, and if so, will allow CMS music to work. Sound Blaster detection is usually done by sending a report DSP version command to the card and reading back a value that would seem to make sense (1.5, 2.0 or 2.01). Thus some Accolade games will default to CMS music because it detects a Sound Blaster and the user did not load the SOUND.COM TSR from an Adlib disk or SBFMDRV.COM from a Sound Blaster 1.5 or above disk. These TSRs act exactly like the CMS TSR, and if a game advertises Adlib support but you cannot hear the sound in the game, try running one of these beforehand.
Silpheed (v1.0) had already been released without support for CMS, so the version (v2.3) in the Game Blaster box included the full game (on 5.25" and 3.5" disks) with support added for the CMS, volume control (which does not work with CMS) and text for Xacalite's speech (apparently his speech did not function correctly, so it was impossible to understand everything he said). Sierra did not leave out any of the other sound card drivers in this version and even added a driver for a Yamaha FB-01 MIDI module (connected to a Roland MPU-401 MIDI interface). Sierra would later release v2.4 in the Silpheed box and v3.0 with the PS/1 Audio/Game Card.
Drivers were included on the Game Blaster disk for King's Quest IV, Leisure Suit Larry II, Police Quest II and Space Quest III. For the later versions of King's Quest IV and Leisure Suit Larry II and all versions of Police Quest II and Space Quest III, there are two files. The first, CMS.DRV, is common to all games. The second, PATCH.101, is unique to each game. For the older versions of King's Quest IV and Leisure Suit Larry II (SCI interpreter versions 1.000.111 and 1.000.011 or earlier, respectively), there was a unique CMS.DRV for each game combining the two files identified in the previous sentence. There was a program called SG-INST.EXE which allowed you to change the I/O address of the driver. This should work with all Sierra SCI0 engine CMS drivers.
Finally, there are several instances where claimed support for CMS does not seem to really exist. In the list, I have identified games where I could not find any indication that CMS support was actually included in the game or that the support was broken and not fixable. Even the box will sometimes give false advertising. However, if anyone is actually able to get CMS working in these games, let me know.
In the table, Y = Yes, N = No, P = Patch Required. Many games will not recognize CMS at an I/O port other than 220-22F.
| Game | Release | Publisher | CMS/Game Blaster Only | I/O Port Select | Notes |
| Airball | 1987 | MicroDeal | N | N | |
| Altered Destiny | 1990 | Accolade, Inc. | Y | N | |
| Arkanoid II: Revenge of Doh | 1989 | Taito Corporation | Y | N | "Special Version", not present on other versions |
| Bad Blood | 1990 | ORIGIN Systems, Inc. | N | Y | |
| Battle Chess II: Chinese Chess | 1990 | Interplay Productions, Inc. | N | Y | |
| BattleTech: The Crescent Hawks' Revenge | 1990 | Infocom, Inc. | N | N | |
| Breach 2 | 1990 | Impressions Games, Mindcraft Software, Inc. | N | N | |
| Bubble Bobble | 1989 | Taito Software Inc. | Y | N | |
| Budokan: The Martial Spirit | 1989 | Electronic Arts, Inc. | N | N | |
| Castle of Dr. Brain | 1991 | Sierra On-Line, Inc. | N | Y | |
| Champions of Krynn | 1990 | Strategic Simulations, Inc. | N | N | |
| Chuck Yeager's Air Combat | 1991 | Electronic Arts, Inc. | N | N | |
| Codename: Iceman | 1989 | Sierra On-Line, Inc. | N | P | |
| Colonel's Bequest, The | 1989 | Sierra On-Line, Inc. | N | P | |
| Conan: The Cimmerian | 1991 | Virgin Games, Inc. | N | N | |
| Conquests of Camelot: The Search for the Grail | 1990 | Sierra On-Line, Inc. | N | P | |
| Conquests of the Longbow: The Legend of Robin Hood | 1991 | Sierra On-Line, Inc. | N | Y | |
| Day of the Viper | 1989 | Accolade, Inc. | N | N | |
| Death Knights of Krynn | 1991 | Strategic Simulations, Inc. | Y | N | |
| Don't Go Alone | 1989 | Accolade, Inc. | N | N | |
| EcoQuest: The Search for Cetus | 1991 | Sierra On-Line, Inc. | N | Y | |
| Elvira | 1990 | Accolade, Inc. | N | N | |
| F-14 Tomcat | 1990 | Activision, Inc. | N | Y | |
| Fire Hawk : Thexder – The Second Contact | 1990 | Sierra On-Line, Inc. | N | N | |
| Gunboat | 1990 | Accolade, Inc. | N | N | |
| Harpoon | 1989 | Three-Sixty Pacific, Inc. | N | N | |
| Hero's Quest: So You Want to Be a Hero / Quest for Glory I | 1989 | Sierra On-Line, Inc. | N | P | |
| Hoyle's Official Book of Games: Volume 1 | 1989 | Sierra On-Line, Inc. | N | P | |
| Hoyle's Official Book of Games: Volume 2 | 1990 | Sierra On-Line, Inc. | N | P | |
| Hoyle's Official Book of Games: Volume 3 | 1991 | Sierra On-Line, Inc. | N | Y | |
| Indiana Jones and The Last Crusade: The Graphic Adventure | 1989 | Lucasfilm Games LLC | N | N | EGA Version 1.4 for Support, All VGA Versions have Support |
| J.R.R. Tolkien's The Lord of the Rings, Vol. I | 1990 | Interplay Productions, Inc. | N | Y | |
| Jack Nicklaus' Unlimited Golf & Course Design | 1990 | Accolade, Inc. | N | N | |
| Joe Montana Football | 1990 | SEGA of America, Inc. | N | N | |
| Jones in the Fast Lane | 1991 | Sierra On-Line, Inc. | N | P | |
| Keef the Thief: A Boy and His Lockpick | 1989 | Electronic Arts, Inc. | N | N | |
| King's Quest I: Quest for the Crown | 1990 | Sierra On-Line, Inc. | N | P | |
| King's Quest IV: The Perils of Rosella | 1988 | Sierra On-Line, Inc. | N | P | Patches Required, Different for Old or New Version |
| King's Quest V: Absence Makes the Heart Go Yonder! | 1990 | Sierra On-Line, Inc. | N | N | |
| Lakers versus Celtics and the NBA Playoffs | 1989 | Electronic Arts, Inc. | N | N | |
| Leisure Suit Larry 1 : In the Land of the Lounge Lizards | 1991 | Sierra On-Line, Inc. | N | P | |
| Leisure Suit Larry 3: Passionate Patti in Pursuit of the Pulsating Pectorals | 1989 | Sierra On-Line, Inc. | N | P | |
| Leisure Suit Larry 5: Passionate Patti Does a Little Undercover Work | 1991 | Sierra On-Line, Inc. | N | Y | |
| Leisure Suit Larry Goes Looking for Love (in Several Wrong Places) | 1988 | Sierra On-Line, Inc. | N | P | Patches Required, Different for Old or New Version |
| Les Manley in: Search for the King | 1990 | Accolade, Inc. | N | N | |
| Loom | 1990 | Lucasfilm Games LLC | N | N | |
| Miami Vice | 1989 | Capstone Software | N | Y | Replace included CMSDRV.COM with CMSDRV.COM from Sound Blaster 1.0 Install Disk |
| Mixed-Up Fairy Tales | 1990 | Sierra On-Line, Inc. | N | P | |
| Mixed-Up Mother Goose (16-Color High Res) | 1990 | Sierra On-Line, Inc. | N | P | |
| Mixed-Up Mother Goose (256-Color Floppy) | 1991 | Sierra On-Line, Inc. | N | Y | |
| Night Shift | 1990 | Lucasfilm Games LLC | N | N | |
| Oil's Well | 1990 | Sierra On-Line, Inc. | N | N | |
| Operation Wolf | 1989 | Taito America Corporation | N | N | Fails to Detect but Works Anyway |
| Paku Paku | 2011 | Paladin Systems North | N | Y | |
| PGA Tour Golf | 1990 | Electronic Arts, Inc. | N | N | Run SOUND.COM for Adlib Music |
| Police Quest II: The Vengeance | 1988 | Sierra On-Line, Inc. | N | P | Patch Required |
| Police Quest III: The Kindred | 1991 | Sierra On-Line, Inc. | N | Y | |
| Police Quest: In Pursuit of the Death Angel | 1992 | Sierra On-Line, Inc. | N | Y | |
| Power Drift | 1990 | Activision Publishing, Inc. | N | N | |
| Prince of Persia | 1990 | Brøderbund Software, Inc. | N | N | v1.0 Only, Must remove Adlib chip from Sound Blaster to get C/MS Music, buggy unless patch, see comments below |
| Puzznic | 1990 | Taito Corporation | Y | N | |
| QIX | 1989 | Taito Corporation | Y | N | |
| Quest for Glory I: So You Want To Be A Hero (256-Color) | 1992 | Sierra On-Line, Inc. | N | Y | |
| Quest for Glory II: Trial by Fire | 1990 | Sierra On-Line, Inc. | N | N | |
| Rambo III | 1989 | Taito America Corporation | Y | N | |
| Rastan | 1990 | Taito Corporation | Y | N | |
| Shanghai II: Dragon's Eye | 1990 | Activision, Inc. | N | Y | |
| Silpheed | 1988 | Sierra On-Line, Inc. | N | Y | v2.2 and above |
| Sorcerian: Master Scenario | 1990 | Sierra On-Line, Inc. | N | N | |
| Space Quest I: The Sarien Encounter | 1991 | Sierra On-Line, Inc. | N | N | |
| Space Quest III: The Pirates of Pestulon | 1989 | Sierra On-Line, Inc. | N | P | Patch Required |
| Space Quest IV: Roger Wilco and the Time Rippers | 1991 | Sierra On-Line, Inc. | N | N | |
| Spirit of Excalibur | 1990 | Virgin Games, Inc. | N | N | |
| Spot | 1990 | Virgin Mastertronic Ltd. | N | N | |
| Star Control | 1990 | Accolade, Inc. | N | Y | Game will try all six I/O ports to detect Game Blaster, Must Remove Adlib chip to get Game Blaster music to work, Game will automatically enforce MT-32, Adlib, Game Blaster, Tandy and PC Speaker in that order |
| Strike Aces | 1990 | Accolade, Inc. | N | N | |
| SU-25 Stormovik | 1990 | Electronic Arts, Inc. | N | N | |
| Test Drive III: The Passion | 1990 | Accolade, Inc. | N | N | |
| The Dagger of Amon Ra | 1992 | Sierra On-Line, Inc. | N | Y | |
| The Game of Harmony | 1990 | Accolade, Inc. | N | N | |
| The Secret of Monkey Island | 1990 | Lucasfilm Games LLC | N | N | |
| Times of Lore | 1988 | ORIGIN Systems, Inc. | N | Y | |
| Ultima VI: The False Prophet | 1990 | ORIGIN Systems, Inc. | N | Y | |
| Windwalker | 1989 | ORIGIN Systems, Inc. | N | N | |
| WolfPack | 1990 | Brøderbund Software, Inc. | N | N | Fails to Detect but Works Anyway |
| Games without CMS Support | |||||
| Xenocide | 1990 | Micro Revelations, Inc. | Box claims support, but not fully implemented in software | ||
| Secret of the Silver Blades | 1990 | Strategic Simulations, Inc. | Box claims support, card will make some horrible noises in game, but there is no entry at the music selection screen. Adlib overrides everything for music | ||
| Jordan vs Bird: One on One | 1988 | Electronic Arts, Inc. | Some Boxes have the System Requirements Label from Lakers v. Celtics, Game does not support Adlib, C/MS or Roland MT-32 | ||
| Sargon 5: World Class Chess | 1991 | Activision, Inc. | No switches for Game Blaster in Executable | ||
| Trump Castle II | 1991 | Capstone Software | Possibly Broken | ||
| Monte Carlo Baccarat | 1991 | Capstone Software | Possibly Broken | ||
| Hoverforce | 1990 | Accolade, Inc. | Seems to Support Adlib/MT-32 Only | ||
| Stratego | 1990 | Accolade, Inc. | Seems to Support Adlib/MT-32 Only | ||
| Blue Max: Aces of the Great War | 1990 | Three-Sixty Pacific, Inc. | Box claims support, but seems to support Adlib only | ||
| Das Boot: German U-Boat Simulation | 1990 | Three-Sixty Pacific, Inc. | Box claims support, but seems to support Adlib only |
Tuesday, September 18, 2012
486 DOS Gaming Machine
I put together a DOS gaming machine relatively recently, and while I have posted about it at the VOGONS Forums and The Vintage Computer Forums, I wanted to make sure that all the information was available here on my blog :
I. CPU
I needed a system that would play most DOS games from 1988-1994. Games prior to that can be played on my Tandy 1000, and games after that would be better on a Pentium machine. So I had to pick a CPU that could be flexible, speed-wise. I chose an Intel 486DX2/66, a very common option for 1993-1994 machines. This is a standard 486DX2 that runs at 5V and has 8KB of write-through cache. (There is an sSpec number, SX955, which supports write-back cache.) It has 168 pins and uses a pin grid array. Most retail motherboards for the 486 line use socket 3, so this CPU is perfect. The CPU runs hot enough that a heatsink with a fan mounted on it or blowing at it is recommended.
I did not want to go too high end and use an AMD or Cyrix processor, because it would be easier to put together a Pentium system. A Pentium, while having superior integer performance compared to a 486, completely outclasses the 486 when it comes to floating point performance. True 3D space games like Quake use floating point math extensively, and barely run acceptably on the fastest 486-based CPUs.
II. Motherboard
A proper motherboard is the next part that I needed to obtain to build a working system. My requirements were for a middle-of-the-road motherboard. I wanted to steer clear of PCI slots for several reasons. First, PCI was just being released during the late 486/early Pentium era (1995) and the implementations had not worked all the bugs out. Second, PCI makes for more complicated system setup. Third, PCI video cards are much more likely to have VGA compatibility bugs than VLB cards. Fourth, in no other system would I be able to run a VLB card. So I had to find a board with two VLB slots, one for the video card, another for the hard drive controller.
Most motherboards I found that were sold as a part, as opposed to a system pull, were bare bones boards. This means that there were no ports beyond the keyboard port, no headers for ports or drive interfaces, and no integrated hardware like a sound chip. There would be ISA and VLB slots, the CPU socket, the RAM slots and the cache sockets. The rest of the board would solely be dedicated to the system chipset.
When shopping for a vintage motherboard, it is critical to make sure you can find a manual for the board. Even if the motherboard jumper's settings are silk screened on the board, the cryptic information may be difficult to decipher. I chose a motherboard whose manual, or at least the board settings, was available online. The motherboard is the ASUS VL/I-486SV2G. This is the board's layout, from Total Hardware 99 :
This board uses the SiS 85C471 + 85C407 chipset. One great feature of this board is that it uses standard 72-pin SIMM slots, instead of the older 30-pin SIMM slots still found on many 486 boards. Only one SIMM is required in a 486 board to have working RAM because SIMM memory is 32-bit. This board supports Fast Page Mode (FPM) DRAM, but not Extended Data Out (EDO) DRAM. EDO support may be found on the last 486 boards.
The cache sockets support up to 1MB of cache, but finding nine cache chips of the appropriate speed and pin out is not easy. Besides, external cache is nice, but more than 256KB really becomes subject to the law of diminishing returns. However, external cache up to that amount really helps push this board beyond those that did not support external cache, so it was a must have requirement.
The final issue, and one that will not be shown on the diagram, is the board's battery support for the real time clock and saving the BIOS settings. In 486 boards you will generally find three types of batteries. First, there are batteries integrated into the clock chip. This is the Dallas 1287 RTC, and once the battery has been depleted you must replace the chip. Replacement chips are expensive these days, and I did not want to have to cut into the chip to solder on battery holder. Second, there are batteries soldered onto the motherboard. Usually these are three cells held together in a plastic package and are usually referred to as the "barrel type." The problem with these, apart from needing to remove them from the motherboard, is that when the batteries get old they leak battery acid onto the board, damaging traces and components. Third are the coin-slot holders, which usually hold a CR2032 3v cell. These are the best because old batteries can be discarded and replaced without difficulty. My board came with a CR2032 coin slot holder and keeps the date/time and settings perfectly. There is a header to connect an external battery, and 4xAA battery packs are easy enough to find with a 4-pin header attached.
When shopping for motherboards, you may have a difficult time finding out what kind of BIOS it has. Mine has an AMI BIOS, text-based. The settings are a tad spartan and needed some tracking down to figure out what they do, but most are self-explanatory. The neat feature about my board is that it supports the Large addressing and LBA modes for hard drives, so I need not be concerned with the 504MB BIOS barrier so frequently seen in 386 and 486 boards. However, as my BIOS is dated prior to December, 1993, I must use the LBA mode, as the Large mode is buggy. The LBA mode works fine with my 2GB Compact Flash card.
Other important settings for me is the ability to disable internal and (especially) external cache. This is without a doubt the best way to implement slowdown. Disabling internal cache can be done with software programs like cacheon and cacheoff. Disabling the cache will result in remarkable slowdown, turning that 486DX2/66 into something like a 386DX40. One performance feature I have noticed is that disabling the external cache will result in a measurable but not remarkable speed decrease and is best for fine tuning slowdown. But if you disable the internal cache, it seems that the external cache has little effect on performance whether enabled or disabled.
Finally, there is the Turbo function. My case has a Power button and a Turbo button, and both require a switch that will remember its position. If your case does not have a turbo button, any switch with a catch and release mechanism can be used. If using the Turbo function does not appeal, then you can put a jumper over the leads and your system will always be in Turbo mode. If there is no switch connected or jumpers over the leads, then your system will not function as fast as it should. The slowdown resulting from turning the Turbo off is equivalent in the benchmarks to disabling internal cache, but in my opinion it is not as smooth. While Turbo in a 386 machine may actually reduce the clock speed to 8MHz, Turbo in a 486 machine generally inserts wait states from CPU to memory accesses. However, the CPU is still processing data at 66MHz, so the effect is not uniform and jerkiness in games can result.
The program HIRAM supports this chipset, so you can load it to obtain Upper Memory Blocks without needing to load EMM386 or another Extended Memory Manager. See my Ultima VII on Real Hardware post for more details.
Here are the fastest speed settings in the BIOS :
BIOS FEATURES SETUP :
CPU Internal Cache - Enabled
External Cache - Ditto
Quick Power On Self Test - Ditto
Boot Up Floppy Seek - Disabled
Boot Up System Speed - High
IDE HDD Block Mode - Enabled
Video BIOS Shadow - Enabled
C8000-CFFFF - Enabled
D0000-D7FFF - Ditto
D8000-DFFFF - Ditto
CHIPSET FEATURES SETUP :
Auto Configuration - Disabled
AT Bus Clock - 1/4CLKIN (33MHz / 4)
DRAM Speed - Fastest
DRAM Write WS - 0 WS
DRAM Write CAS - 1T
DRAM Write Burst - Enabled
Slow Refresh - Ditto
Hidden Refresh - Ditto
L2 Cache Scheme - Write Back
L1 Cache Scheme - Write Back (My 486 only supports Write Thru)
Cache Burst Read - 1T
Cache Write Cycle - 2T
Video Shadow - Cacheable
Fast Reset Emulation - Enabled
Fast Reset Latency - 2 us
Latch Local Bus - T2
Local Bus Ready - Transparent
III. Video Card
In a 386 or lower system, the user is generally stuck with ISA graphics cards. 486 systems introduced the VESA Local Bus to implement faster access to hardware. This helps eliminate the ISA bottleneck when playing first person shooters like DOOM or flight simulators like Microsoft Flight Simulator 5. A VLB card was a necessity, and I especially wanted to avoid compatibility issues with games that used tweaked VGA features. I chose the Diamond Stealth 24 VLB S3-805. This card has 1MB of RAM and that is it, but it is enough. I have had no graphics trouble with games or demos other than the Copper demo, which only works correctly with certain Tseng ET4000AX chips. There are faster cards and better featured cards, but for what I want to run this card suits me fine. It can support 640x480x256, 800x600x16 and 15-bit color modes. It uses an S3 chipset, which includes Windows acceleration and a very respectable DOS performer.
IV. Sound Cards
In this system, there is no one sound card that can do it all, so I have three in it.
A. Roland MPU-401 + MIF-IPC-A
If this system were built in 1993, this card and breakout box would not be a contemporary of it. However, it is the only Roland MPU-401 interface I own. Its sole purpose is to handle MIDI output to my midi modules, of which I have five :
Roland MT-32
Roland CM-32L
Roland SC-55
Roland SC-55ST
Yamaha FB-01
B. Sound Blaster Pro 1.0
I went back and forth about whether to put a SB Pro or a SB16 in this system, and I finally decided to keep the Pro. My decision is based on the following :
1. It is hard enough to find games that actually support OPL3 features, and many games that support dual OPL2 and OPL3 sound better on the older chipset. Then as many of the games I play use Roland LA or GS synthesis as their preferred output device, the FM synthesis will not get much use.
2. Most games this system will run use 8-bit digital sound. The early 16s have poor sound output quality and insert pops and clicks when used with the 8-bit digital sound methods used by the Pro and earlier cards.
3. I have a separate MIDI interface card that has no compatibility issues with games or handing note bugs. The SB Pro's interface is NOT MPU-401 compatible at all, and that what games support (unless they have specific support for Sound Blaster MIDI). Most later SB16s and all AWE32s suffer from the hanging notes MIDI bug, some more than others.
C. Gravis Ultrasound ACE
I have discussed the gaming benefits of the Ultrasounds in an earlier post, and everything I said there relevant to this card applies. The ACE is designed to function alongside a real Sound Blaster card. The only issue is my card is a 1.0 version and I need to reverse the stereo outputs. I also need to use a special version of ULTRINIT program to properly disable the joystick interface, even though this card does not have a joystick port. The Adlib ports are obviously disabled, because this thing does not sound anything like a real Adlib. However, the Ultrasound SBOS emulator works in this motherboard, meaning it has a working Non-Maskable Interrupt (NMI). In this system I needed to set the ATCLK to 7.159MHz (or lower) and set separate GUS and MIDI IRQs for the music to work properly in games like DOOM and Epic Pinball.
V. I/O Interface & Drives
This motherboard has no parallel, serial or game ports and no floppy or IDE interfaces. I chose the Kouwell KW-560D, since I could buy it used and a manual with the jumper settings is a must. This card has 32 jumpers. It supports two serial ports, (headers required), one parallel port, one game port, one ISA/IDE hard drive interface and one VL/IDE drive interface. It uses the second VLB slot in this motherboard.
The serial supports 16550 FIFO, the floppy disk controller up to 2.88M drives, the parallel port can be set to unidirectional, bidirectional, EPP and ECP modes. The gameport should not be used because it only supports 2 axes/2 buttons and is not speed sensitive. The VLB/IDE port need not have the high speed features enabled if stability is crucial. All of the above options except the VLB/IDE speed are set strictly by jumpers. The card has no BIOS socket which can be used to break the 504MB hard drive barrier. All ports can be disabled.
The VL/IDE interface offers increased speed through the VLB bus. The 16-bit ISA/IDE tops out at 3MB or so a second, but the VLB interface will allow much more bandwidth. However, the faster the speeds, the more likely hard drive corruption will occur. I use a SanDisk 2GB Compact Flash card rated for 15MB/sec with a CF-IDE adapter. SanDisk makes reliable cards and this was the fastest card available at this speed. I wanted to keep to 2GB because that is the maximum drive partition size in MS-DOS 6.22. Drive D should always be the CD-ROM drive, and 2GB should be enough to play most DOS games without having to add and remove games too often.
For my floppy drive, I use an Epson SD-880 combo 5.25"/3.5" drive. This drive occupies only one 5.25" bay and supports both types of HD disks. For the IDE CD-ROM, I picked something generic. It is an HP CD-Writer Plus 9300, which was probably released close to the turn of the century. It is reliable, not too noisy and will have no trouble with CD-R discs. Early drives tend to be in tough shape, rely on very complicated mechanisms, use proprietary interfaces, and are not fast. A universal cable will be needed to output stereo CD audio from the drive to a Sound Blaster Pro, which uses a white connector.
VI. Case, Monitor, Speakers, Mouse, Keyboard & Joysticks
I bought a generic AT case off ebay, but it was new. A new case is hard to come by, but this case does everything I need with no fuss. It supports 2 x 3.5" bays (sideways) and 3 x 5.25" bays. It has well-sized Power, Reset and Turbo buttons and a keylock. I did not have any experience with a keylock function until I got this case, and the key has to be in the unlocked position or the machine will not accept input from the keyboard. This is a desktop case, not a tower, which would have been more typical for a home user of the time. I put an Intel Inside sticker on it to lessen the generic feel.
My monitor is a generic 17" VGA shadow mask device from KDS. It has a nicely curved tube and displays color well.
I am using my Cambridge Soundworks Gigaworks S750. This will change because the left and right speakers are eight inches away from each other, so I have no practical stereo separation. I will try to get a pair of bookshelf speakers, but they must be in an off-white color to match the ascetic of the system.
My keyboard is an IBM Model M 1391401, the virtues of which I have previously waxed enthusiastically and need not repeat here.
My mouse is a generic three button serial mouse with a switch for Microsoft and Mouse Systems modes. Microsoft mode supports 2 buttons, but Mouse Systems supports 3.
My first joystick is a Gravis Gamepad for responsive digital controls. Commander Keen does not play the same with an analog stick.
My second joystick is a CH Products Flightstick Pro with four buttons and a throttle wheel. If I were a sim junkie I would get a Thrustmaster FCS or FLCS, the Rudder Control System and the Weapons Control System Mark II (Throttle). I am not, but this offers more functionality over the standard 2 button stick.
I. CPU
I did not want to go too high end and use an AMD or Cyrix processor, because it would be easier to put together a Pentium system. A Pentium, while having superior integer performance compared to a 486, completely outclasses the 486 when it comes to floating point performance. True 3D space games like Quake use floating point math extensively, and barely run acceptably on the fastest 486-based CPUs.
II. Motherboard
A proper motherboard is the next part that I needed to obtain to build a working system. My requirements were for a middle-of-the-road motherboard. I wanted to steer clear of PCI slots for several reasons. First, PCI was just being released during the late 486/early Pentium era (1995) and the implementations had not worked all the bugs out. Second, PCI makes for more complicated system setup. Third, PCI video cards are much more likely to have VGA compatibility bugs than VLB cards. Fourth, in no other system would I be able to run a VLB card. So I had to find a board with two VLB slots, one for the video card, another for the hard drive controller.
Most motherboards I found that were sold as a part, as opposed to a system pull, were bare bones boards. This means that there were no ports beyond the keyboard port, no headers for ports or drive interfaces, and no integrated hardware like a sound chip. There would be ISA and VLB slots, the CPU socket, the RAM slots and the cache sockets. The rest of the board would solely be dedicated to the system chipset.
When shopping for a vintage motherboard, it is critical to make sure you can find a manual for the board. Even if the motherboard jumper's settings are silk screened on the board, the cryptic information may be difficult to decipher. I chose a motherboard whose manual, or at least the board settings, was available online. The motherboard is the ASUS VL/I-486SV2G. This is the board's layout, from Total Hardware 99 :
This board uses the SiS 85C471 + 85C407 chipset. One great feature of this board is that it uses standard 72-pin SIMM slots, instead of the older 30-pin SIMM slots still found on many 486 boards. Only one SIMM is required in a 486 board to have working RAM because SIMM memory is 32-bit. This board supports Fast Page Mode (FPM) DRAM, but not Extended Data Out (EDO) DRAM. EDO support may be found on the last 486 boards.
The cache sockets support up to 1MB of cache, but finding nine cache chips of the appropriate speed and pin out is not easy. Besides, external cache is nice, but more than 256KB really becomes subject to the law of diminishing returns. However, external cache up to that amount really helps push this board beyond those that did not support external cache, so it was a must have requirement.
The final issue, and one that will not be shown on the diagram, is the board's battery support for the real time clock and saving the BIOS settings. In 486 boards you will generally find three types of batteries. First, there are batteries integrated into the clock chip. This is the Dallas 1287 RTC, and once the battery has been depleted you must replace the chip. Replacement chips are expensive these days, and I did not want to have to cut into the chip to solder on battery holder. Second, there are batteries soldered onto the motherboard. Usually these are three cells held together in a plastic package and are usually referred to as the "barrel type." The problem with these, apart from needing to remove them from the motherboard, is that when the batteries get old they leak battery acid onto the board, damaging traces and components. Third are the coin-slot holders, which usually hold a CR2032 3v cell. These are the best because old batteries can be discarded and replaced without difficulty. My board came with a CR2032 coin slot holder and keeps the date/time and settings perfectly. There is a header to connect an external battery, and 4xAA battery packs are easy enough to find with a 4-pin header attached.
When shopping for motherboards, you may have a difficult time finding out what kind of BIOS it has. Mine has an AMI BIOS, text-based. The settings are a tad spartan and needed some tracking down to figure out what they do, but most are self-explanatory. The neat feature about my board is that it supports the Large addressing and LBA modes for hard drives, so I need not be concerned with the 504MB BIOS barrier so frequently seen in 386 and 486 boards. However, as my BIOS is dated prior to December, 1993, I must use the LBA mode, as the Large mode is buggy. The LBA mode works fine with my 2GB Compact Flash card.
Other important settings for me is the ability to disable internal and (especially) external cache. This is without a doubt the best way to implement slowdown. Disabling internal cache can be done with software programs like cacheon and cacheoff. Disabling the cache will result in remarkable slowdown, turning that 486DX2/66 into something like a 386DX40. One performance feature I have noticed is that disabling the external cache will result in a measurable but not remarkable speed decrease and is best for fine tuning slowdown. But if you disable the internal cache, it seems that the external cache has little effect on performance whether enabled or disabled.
Finally, there is the Turbo function. My case has a Power button and a Turbo button, and both require a switch that will remember its position. If your case does not have a turbo button, any switch with a catch and release mechanism can be used. If using the Turbo function does not appeal, then you can put a jumper over the leads and your system will always be in Turbo mode. If there is no switch connected or jumpers over the leads, then your system will not function as fast as it should. The slowdown resulting from turning the Turbo off is equivalent in the benchmarks to disabling internal cache, but in my opinion it is not as smooth. While Turbo in a 386 machine may actually reduce the clock speed to 8MHz, Turbo in a 486 machine generally inserts wait states from CPU to memory accesses. However, the CPU is still processing data at 66MHz, so the effect is not uniform and jerkiness in games can result.
The program HIRAM supports this chipset, so you can load it to obtain Upper Memory Blocks without needing to load EMM386 or another Extended Memory Manager. See my Ultima VII on Real Hardware post for more details.
Here are the fastest speed settings in the BIOS :
BIOS FEATURES SETUP :
CPU Internal Cache - Enabled
External Cache - Ditto
Quick Power On Self Test - Ditto
Boot Up Floppy Seek - Disabled
Boot Up System Speed - High
IDE HDD Block Mode - Enabled
Video BIOS Shadow - Enabled
C8000-CFFFF - Enabled
D0000-D7FFF - Ditto
D8000-DFFFF - Ditto
CHIPSET FEATURES SETUP :
Auto Configuration - Disabled
AT Bus Clock - 1/4CLKIN (33MHz / 4)
DRAM Speed - Fastest
DRAM Write WS - 0 WS
DRAM Write CAS - 1T
DRAM Write Burst - Enabled
Slow Refresh - Ditto
Hidden Refresh - Ditto
L2 Cache Scheme - Write Back
L1 Cache Scheme - Write Back (My 486 only supports Write Thru)
Cache Burst Read - 1T
Cache Write Cycle - 2T
Video Shadow - Cacheable
Fast Reset Emulation - Enabled
Fast Reset Latency - 2 us
Latch Local Bus - T2
Local Bus Ready - Transparent
III. Video Card
In a 386 or lower system, the user is generally stuck with ISA graphics cards. 486 systems introduced the VESA Local Bus to implement faster access to hardware. This helps eliminate the ISA bottleneck when playing first person shooters like DOOM or flight simulators like Microsoft Flight Simulator 5. A VLB card was a necessity, and I especially wanted to avoid compatibility issues with games that used tweaked VGA features. I chose the Diamond Stealth 24 VLB S3-805. This card has 1MB of RAM and that is it, but it is enough. I have had no graphics trouble with games or demos other than the Copper demo, which only works correctly with certain Tseng ET4000AX chips. There are faster cards and better featured cards, but for what I want to run this card suits me fine. It can support 640x480x256, 800x600x16 and 15-bit color modes. It uses an S3 chipset, which includes Windows acceleration and a very respectable DOS performer.
IV. Sound Cards
In this system, there is no one sound card that can do it all, so I have three in it.
A. Roland MPU-401 + MIF-IPC-A
If this system were built in 1993, this card and breakout box would not be a contemporary of it. However, it is the only Roland MPU-401 interface I own. Its sole purpose is to handle MIDI output to my midi modules, of which I have five :
Roland MT-32
Roland CM-32L
Roland SC-55
Roland SC-55ST
Yamaha FB-01
B. Sound Blaster Pro 1.0
I went back and forth about whether to put a SB Pro or a SB16 in this system, and I finally decided to keep the Pro. My decision is based on the following :
1. It is hard enough to find games that actually support OPL3 features, and many games that support dual OPL2 and OPL3 sound better on the older chipset. Then as many of the games I play use Roland LA or GS synthesis as their preferred output device, the FM synthesis will not get much use.
2. Most games this system will run use 8-bit digital sound. The early 16s have poor sound output quality and insert pops and clicks when used with the 8-bit digital sound methods used by the Pro and earlier cards.
3. I have a separate MIDI interface card that has no compatibility issues with games or handing note bugs. The SB Pro's interface is NOT MPU-401 compatible at all, and that what games support (unless they have specific support for Sound Blaster MIDI). Most later SB16s and all AWE32s suffer from the hanging notes MIDI bug, some more than others.
C. Gravis Ultrasound ACE
I have discussed the gaming benefits of the Ultrasounds in an earlier post, and everything I said there relevant to this card applies. The ACE is designed to function alongside a real Sound Blaster card. The only issue is my card is a 1.0 version and I need to reverse the stereo outputs. I also need to use a special version of ULTRINIT program to properly disable the joystick interface, even though this card does not have a joystick port. The Adlib ports are obviously disabled, because this thing does not sound anything like a real Adlib. However, the Ultrasound SBOS emulator works in this motherboard, meaning it has a working Non-Maskable Interrupt (NMI). In this system I needed to set the ATCLK to 7.159MHz (or lower) and set separate GUS and MIDI IRQs for the music to work properly in games like DOOM and Epic Pinball.
V. I/O Interface & Drives
This motherboard has no parallel, serial or game ports and no floppy or IDE interfaces. I chose the Kouwell KW-560D, since I could buy it used and a manual with the jumper settings is a must. This card has 32 jumpers. It supports two serial ports, (headers required), one parallel port, one game port, one ISA/IDE hard drive interface and one VL/IDE drive interface. It uses the second VLB slot in this motherboard.
The serial supports 16550 FIFO, the floppy disk controller up to 2.88M drives, the parallel port can be set to unidirectional, bidirectional, EPP and ECP modes. The gameport should not be used because it only supports 2 axes/2 buttons and is not speed sensitive. The VLB/IDE port need not have the high speed features enabled if stability is crucial. All of the above options except the VLB/IDE speed are set strictly by jumpers. The card has no BIOS socket which can be used to break the 504MB hard drive barrier. All ports can be disabled.
The VL/IDE interface offers increased speed through the VLB bus. The 16-bit ISA/IDE tops out at 3MB or so a second, but the VLB interface will allow much more bandwidth. However, the faster the speeds, the more likely hard drive corruption will occur. I use a SanDisk 2GB Compact Flash card rated for 15MB/sec with a CF-IDE adapter. SanDisk makes reliable cards and this was the fastest card available at this speed. I wanted to keep to 2GB because that is the maximum drive partition size in MS-DOS 6.22. Drive D should always be the CD-ROM drive, and 2GB should be enough to play most DOS games without having to add and remove games too often.
For my floppy drive, I use an Epson SD-880 combo 5.25"/3.5" drive. This drive occupies only one 5.25" bay and supports both types of HD disks. For the IDE CD-ROM, I picked something generic. It is an HP CD-Writer Plus 9300, which was probably released close to the turn of the century. It is reliable, not too noisy and will have no trouble with CD-R discs. Early drives tend to be in tough shape, rely on very complicated mechanisms, use proprietary interfaces, and are not fast. A universal cable will be needed to output stereo CD audio from the drive to a Sound Blaster Pro, which uses a white connector.
VI. Case, Monitor, Speakers, Mouse, Keyboard & Joysticks
I bought a generic AT case off ebay, but it was new. A new case is hard to come by, but this case does everything I need with no fuss. It supports 2 x 3.5" bays (sideways) and 3 x 5.25" bays. It has well-sized Power, Reset and Turbo buttons and a keylock. I did not have any experience with a keylock function until I got this case, and the key has to be in the unlocked position or the machine will not accept input from the keyboard. This is a desktop case, not a tower, which would have been more typical for a home user of the time. I put an Intel Inside sticker on it to lessen the generic feel.
My monitor is a generic 17" VGA shadow mask device from KDS. It has a nicely curved tube and displays color well.
I am using my Cambridge Soundworks Gigaworks S750. This will change because the left and right speakers are eight inches away from each other, so I have no practical stereo separation. I will try to get a pair of bookshelf speakers, but they must be in an off-white color to match the ascetic of the system.
My keyboard is an IBM Model M 1391401, the virtues of which I have previously waxed enthusiastically and need not repeat here.
My mouse is a generic three button serial mouse with a switch for Microsoft and Mouse Systems modes. Microsoft mode supports 2 buttons, but Mouse Systems supports 3.
My first joystick is a Gravis Gamepad for responsive digital controls. Commander Keen does not play the same with an analog stick.
My second joystick is a CH Products Flightstick Pro with four buttons and a throttle wheel. If I were a sim junkie I would get a Thrustmaster FCS or FLCS, the Rudder Control System and the Weapons Control System Mark II (Throttle). I am not, but this offers more functionality over the standard 2 button stick.
Subscribe to:
Posts (Atom)











