The Voodoo 3 was 3dfx's first performance oriented 2D & 3D card. Released in 1999, it was designed to compete with the nVidia TNT2 chipset, the Matrox G400 and the ATi Rage 128. It often gets overshadowed by the Voodoo 5, which came out in 2000, and the nVidia Geforce, which was the first GPU to support Hardware Transform and Lighting. However, it is a really nice card to have, especially with Glide games, which were still very common in 1999 and 2000. I would like to discuss some of its good qualities here.
There are five good Voodoo 3 cards, the Voodoo 3 2000 PCI, Voodoo 3 2000 AGP, Voodoo 3 3000 PCI, Voodoo 3 3000 AGP, and the Voodoo 3 3500 AGP. There are also Voodoo 3 Velocity cards, but they are low-end OEM cards with only 8MB of SDRAM and a clock speed of 125MHz.
Superior Performance and Image Quality to Voodoo and Voodoo 2
While the Voodoo 3 may not be able to run every ancient Voodoo 1 game, it will run most of the good ones. The only games that will fail are those that have old statically linked glide dlls that typically only work on a Voodoo 1 and may be coaxed to work on a Voodoo 2. Here is a compatibility list for DOS games : http://www.vogons.org/viewtopic.php?f=46&t=35721&hilit=voodoo+matrix&start=80#p344241
The Voodoo 3 has better image quality than either the Voodoo or Voodoo 2, even with lower resolution 3D graphics. Voodoo and Voodoo tend to have fuzzy image quality and washed out color, whereas Voodoo 3 is sharp and saturated. SLI cards may display more aliasing due to the interleaved nature of the graphics output using two cards.
A Voodoo 3 3000, even though it only has 16MB, usually surpasses a Voodoo 2 SLI 24MB in most benchmarks. The Voodoo 3 is far more efficient in using its unified memory, whereas the Voodoo has separate frame buffer and texture memory. In addition, the Voodoo 3 chipset is clocked higher (143 for the 2000, 166MHz for the 3000 and 183 for the 3500) than the Voodoo 2 (90-95MHz) and uses SDRAM over less efficient EDO DRAM.
The Voodoo and Voodoo 2 use a VGA passthrough cable to output the analog 2D card's output through the input of the Voodoo card, and then onto the monitor. The analog passthrough results in degraded image quality, especially at high 2D resolutions like 1024x768.
One Slot Usage, Excellent Windows and DOS Compatibility and Speed
The Voodoo 3 has an integrated 128-bit 2D accelerator core that supports VBE 3.0. It works with just about any game that supports VGA or better. It handles all the common non-BIOS VGA Mode X graphics modes, supports common SVGA modes and 15-bit and 16-bit color VESA modes. In Windows, the 2D resolution can go up to 2048x1536 @ 75Hz.
The Voodoo 2 can eat up to three slots to provide similar speed and performance (two cards for SLI plus a third card for 2D support).
Relatively Easy to Find
The only time you really saw 3dfx hardware inside systems of the late 1990s was with the Voodoo 3. The Voodoo and Voodoo Rush were too early for the big OEMs like Dell, HP and Compaq to put in their computers, the Voodoo 2 was too high end and the Voodoo 5 was too little too late. Only the Voodoo Banshee and Voodoo 3 ever really saw the insides of these systems, which sold in the millions. When these systems get stripped for parts or sold or dumped as junk machines, there is often a golden nugget or two inside.
The Banshee is more common but only implemented one of the two texture units of the Voodoo 2. Part of the improved performance of the Voodoo 3 is due to the addition of the second texture unit. More complex games like Quake 3 and Unreal can take advantage of multi-pass texturing, and the better performance with these titles will be had with a Voodoo 3. Additionally, the Banshee was manufactured by many OEMs like Diamond and Creative, while the Voodoo 3 board were almost exclusively manufactured by it through its STB subsidiary. The result is a more consistent level of board design and quality along the Voodoo 3 line.
The Voodoo 4 & 5 is not that much better
While the Voodoo 4 and 5 have improved performance and true 32-bit color support, their greatest benefit is probably the support for full screen anti-aliasing. However, as far as being future proof, they lack support for hardware transform and lighting, just like the Voodoo 3. Hardware T&L was a feature of DirectX 7, and by 2004 it was a must-have feature, even if the game only had optional support for it.
No Voodoo 3 card has a fan or needs one if the case has good airflow and the card is not being overclocked. All Voodoo 4 and 5 cards do, and the Voodoo 5 requires a 4-pin Molex connector. Voodoo 4s and 5s are much harder to find at reasonable prices. In my personal experience, there are more things that can go wrong on a Voodoo 5 and have done so.
32-bit support was highly touted back in 1998-2000, but there was a strong argument that many gamers preferred the increased speed of 16-bit graphics over the less noticeable improvement of going from 65 thousand colors to 16 million colors. The Voodoo 3 cannot quite show 32-bit color in 3D modes, but it can get very close with its filtering, which eliminates banding issues seen in 16-bit color modes. The Glide API was typically built around 16-bit color.
Little Difference between PCI and AGP Cards
The Voodoo 3 2000 and 3000 came in PCI and AGP versions. The clock rate was the same on the PCI and AGP cards of each model number. The Voodoo 3 chipset was designed with PCI in mind and really does not see a measurable benefit by using the AGP bus. It does not support the major AGP features like the sideband bus or AGP textures using system memory. Any benefit comes from the increased bandwidth of a 66MHz dedicated AGP slot over a 33MHz PCI slot shared with other peripherals. However, the Voodoo 3 3500 only comes in an AGP variety and has the highest clock rate of any Voodoo 3 board.
Two of AGP cards do come with more than just a VGA output connector. The Voodoo 3 3000 AGP comes with TV output support through a socket that uses an S-video connector. The Voodoo 3 3500 has a DVI-like port that connects to an AV dongle. While it does not support LCD DVI, it does have a TV tuner and AV inputs. The dongle is required to obtain any video output from the card.
The lack of practical performance benefit of the AGP cards means that you can use the PCI card in an Intel i440BX motherboard, which does not have a 1/4 AGP divider which allows for trouble free overclocking at a 133MHz Front Side Bus speed.
Showing posts with label Video Cards. Show all posts
Showing posts with label Video Cards. Show all posts
Friday, September 5, 2014
Sunday, May 18, 2014
The Saga of 16 Colors
IBM's original color graphics solution for CGA could display 16 colors. However, it could not display them all at the same time, except in the text modes. Otherwise it could display graphics (all points addressable) in limited 320x200 4 color and 640x200 2 color modes. Certain games like Round 42 use the 80 column text mode, tweaked to display an effective 160x100 graphics resolution. On a real CGA, the 80-column mode would show CGA snow or the graphics would be very slow.
The 1983 PCjr. was IBM's first consumer device that could display all 16 colors on screen at the same time in graphics modes. Despite the system being much more difficult to upgrade and slower than an IBM PC when equipped with 128KB or less of RAM, its 320x200 16 color and even its 160x200 16 color graphics were far superior to CGA.
The 1984 EGA was IBM's third graphics adapter to see widespread support in games, although the high price of EGA kept it out of reach for most consumers for approximately two years. It too supported a 320x200 16 color mode and could display 160x200 16 color graphics easily through pixel doubling.
In late 1984, Tandy used a tweaked and modified version of the PCjr.'s graphics adapter in its 1000 series. The Tandy 1000 supported the same graphics modes as the PCjr. Games were much more likely to support PCjr. and then Tandy graphics over than EGA in 1985 and 1986. Even so, there were quite a few budget games and lazy ports even in 1987 and 1988 that supported CGA only, especially in Europe where PCs were expensive and the PCjr and Tandy did not have much of a retail presence (if any). The Amstrad PC-1512 was one of the best selling PC compatibles of the time, and it supported little beyond basic CGA. The only advantage it had over regular CGA was a 640x200x16 mode that only a very few games supported.
Games generally would indicate on the box if they supported the PCjr. or the Tandy 1000 series or EGA. Assuming a game supported all three, like Space Quest III : The Pirates of Pestulon, you could connect the PC with EGA, PCjr. or Tandy 1000 to the same monitor and see identical or nearly identical (Maniac Mansion) graphics. All these monitors used a digital TTL signal to which was sent a 4-bit RGBI signal. Thus they could display only 16 colors, and by 1983 IBM had standardized those colors with its 5153 Color Graphics Display. Outside the digital input, the 5153 was little different than the other RGB monitors non-IBM PCs used, as it used a 15.75KHz horizontal line scan rate and 60Hz frame rate. TVs also used this scan rate.
EGA could also support 16 colors from a palette of 64 colors, but only using its 350-line modes. The maximum resolution supported, 640x350 in 16/64 colors, required 128KB of RAM, which was more than the stock IBM EGA card had (64KB). Relatively few games used this mode, SimCity being the most famous example. It also required a 5154 Enhanced Color Display or similar monitor, so it was not widely used for games. The 5154 supported a higher 21.8KHz horizontal line scan rate and 6-bit RrGgBb digital signalling. The 5154 was backwards compatible with the 5153, with changes on the polarity of the pins telling the monitor whether it would display 200 line or 350 line modes.
EGA also supported a 640x200 16 color graphics mode that saw some use, typically in ports of Japanese PC games like Thexder, Zeliard and Romance of the Three Kingdoms. Later Tandy systems have an updated graphics adapter that added support for 640x200 16 color graphics, but the mode was very seldom used for games and all games that support it also support EGA. Additionally, the very popular in Europe Amstrad PC-1512 also supported a similar 640x200 16 color graphics, but only a few games used it. The Hercules Graphics InColor Card supported a 720x350 16 color graphics mode on an EGA monitor, only a few games used it.
16 color graphics were typically the best quality graphics PC games supported in the 1980s. 256-color VGA graphics did not really become a must-have feature for games until 1990. Even though EGA was eclipsed by the MCGA and VGA adapters, 16-color games advertised support for these adapters but only displayed their graphics in 16-colors. However, a few games took advantage of the MCGA and VGA's comparatively vast (256K) palette to display other colors than the canonical 16 colors of CGA. Moebius : The Orb of Celestial Harmony is a good example. Thexder is another.
VGA monitors (including MCGA), have a horizontal scan rate double that of a CGA monitor. To compensate, IBM had these adapters draw each of the 200 scanlines twice. This gives 320x200 graphics, regardless of color depth, a noticeable "double scanned" look on VGA, with a scanline bisecting each pixel on the line horizontally, regardless of color depth.
16 color graphics typically looked identical whether displayed on a Tandy 1000, an EGA or VGA card or an MCGA card. EGA was almost always implemented as an expansion card, and VGA could be found integrated into IBM PS/2 systems or cloned on an ISA card. MCGA never came on a card, like the Tandy 1000 Graphics Adapters and the PCjr. Graphics Adapter.
EGA has the great advantage of being available for any system with an ISA slot. MCGA and VGA have an even greater advantage by having an output compatible with most modern monitors. Early Tandy 1000s and the PCjr. also are modern monitor friendly though their composite video output. While the 16 color output looks good with 160x200 graphics, it looks poor with 320x200 graphics.
VGA is a superset of EGA, and at the 16 color level the cards usually work so similarly that games use the same or almost the same graphics driver. However, EGA and MCGA function very differently at the hardware level, and a game must support both to provide 16 colors. MCGA is mostly CGA compatible, and there were games or versions of games that supported only 4 colors with MCGA. MCGA does not have a true 320x200 16 color mode, so it uses a 320x200 256 color mode, which is slower than EGA.
While Tandy graphics and the PCjr. work very similarly, there are just enough differences with the adapters and the systems that a game that works on a PCjr. in 16 colors will not work on a Tandy, and vice versa, unless the game was programmed for both or hacked for one or the other. Tandy graphics work very differently from EGA, so games supporting EGA graphics only tend not to work on a Tandy. This includes virtually every EGA shareware game of the early 90s (Commander Keen, Duke Nukem, Dangerous Dave). The Tandy systems, starting with the SX, can be upgraded with an EGA or VGA card, but the software that allows you to switch back to Tandy graphics only works with VGA.
While Tandy graphics (which use a 16-bit data path) are generally faster than EGA graphics (generally put on an 8-bit card) at similar CPU speeds, systems with Tandy graphics max out at a 10MHz 286, while EGA graphics can accompany systems with much faster CPUs. The IBM systems are stuck with the 8088 PCjr. and the 8086 PS/2 MCGA Models 25 and 30
The 1983 PCjr. was IBM's first consumer device that could display all 16 colors on screen at the same time in graphics modes. Despite the system being much more difficult to upgrade and slower than an IBM PC when equipped with 128KB or less of RAM, its 320x200 16 color and even its 160x200 16 color graphics were far superior to CGA.
The 1984 EGA was IBM's third graphics adapter to see widespread support in games, although the high price of EGA kept it out of reach for most consumers for approximately two years. It too supported a 320x200 16 color mode and could display 160x200 16 color graphics easily through pixel doubling.
In late 1984, Tandy used a tweaked and modified version of the PCjr.'s graphics adapter in its 1000 series. The Tandy 1000 supported the same graphics modes as the PCjr. Games were much more likely to support PCjr. and then Tandy graphics over than EGA in 1985 and 1986. Even so, there were quite a few budget games and lazy ports even in 1987 and 1988 that supported CGA only, especially in Europe where PCs were expensive and the PCjr and Tandy did not have much of a retail presence (if any). The Amstrad PC-1512 was one of the best selling PC compatibles of the time, and it supported little beyond basic CGA. The only advantage it had over regular CGA was a 640x200x16 mode that only a very few games supported.
Games generally would indicate on the box if they supported the PCjr. or the Tandy 1000 series or EGA. Assuming a game supported all three, like Space Quest III : The Pirates of Pestulon, you could connect the PC with EGA, PCjr. or Tandy 1000 to the same monitor and see identical or nearly identical (Maniac Mansion) graphics. All these monitors used a digital TTL signal to which was sent a 4-bit RGBI signal. Thus they could display only 16 colors, and by 1983 IBM had standardized those colors with its 5153 Color Graphics Display. Outside the digital input, the 5153 was little different than the other RGB monitors non-IBM PCs used, as it used a 15.75KHz horizontal line scan rate and 60Hz frame rate. TVs also used this scan rate.
EGA could also support 16 colors from a palette of 64 colors, but only using its 350-line modes. The maximum resolution supported, 640x350 in 16/64 colors, required 128KB of RAM, which was more than the stock IBM EGA card had (64KB). Relatively few games used this mode, SimCity being the most famous example. It also required a 5154 Enhanced Color Display or similar monitor, so it was not widely used for games. The 5154 supported a higher 21.8KHz horizontal line scan rate and 6-bit RrGgBb digital signalling. The 5154 was backwards compatible with the 5153, with changes on the polarity of the pins telling the monitor whether it would display 200 line or 350 line modes.
EGA also supported a 640x200 16 color graphics mode that saw some use, typically in ports of Japanese PC games like Thexder, Zeliard and Romance of the Three Kingdoms. Later Tandy systems have an updated graphics adapter that added support for 640x200 16 color graphics, but the mode was very seldom used for games and all games that support it also support EGA. Additionally, the very popular in Europe Amstrad PC-1512 also supported a similar 640x200 16 color graphics, but only a few games used it. The Hercules Graphics InColor Card supported a 720x350 16 color graphics mode on an EGA monitor, only a few games used it.
16 color graphics were typically the best quality graphics PC games supported in the 1980s. 256-color VGA graphics did not really become a must-have feature for games until 1990. Even though EGA was eclipsed by the MCGA and VGA adapters, 16-color games advertised support for these adapters but only displayed their graphics in 16-colors. However, a few games took advantage of the MCGA and VGA's comparatively vast (256K) palette to display other colors than the canonical 16 colors of CGA. Moebius : The Orb of Celestial Harmony is a good example. Thexder is another.
VGA monitors (including MCGA), have a horizontal scan rate double that of a CGA monitor. To compensate, IBM had these adapters draw each of the 200 scanlines twice. This gives 320x200 graphics, regardless of color depth, a noticeable "double scanned" look on VGA, with a scanline bisecting each pixel on the line horizontally, regardless of color depth.
16 color graphics typically looked identical whether displayed on a Tandy 1000, an EGA or VGA card or an MCGA card. EGA was almost always implemented as an expansion card, and VGA could be found integrated into IBM PS/2 systems or cloned on an ISA card. MCGA never came on a card, like the Tandy 1000 Graphics Adapters and the PCjr. Graphics Adapter.
EGA has the great advantage of being available for any system with an ISA slot. MCGA and VGA have an even greater advantage by having an output compatible with most modern monitors. Early Tandy 1000s and the PCjr. also are modern monitor friendly though their composite video output. While the 16 color output looks good with 160x200 graphics, it looks poor with 320x200 graphics.
VGA is a superset of EGA, and at the 16 color level the cards usually work so similarly that games use the same or almost the same graphics driver. However, EGA and MCGA function very differently at the hardware level, and a game must support both to provide 16 colors. MCGA is mostly CGA compatible, and there were games or versions of games that supported only 4 colors with MCGA. MCGA does not have a true 320x200 16 color mode, so it uses a 320x200 256 color mode, which is slower than EGA.
While Tandy graphics and the PCjr. work very similarly, there are just enough differences with the adapters and the systems that a game that works on a PCjr. in 16 colors will not work on a Tandy, and vice versa, unless the game was programmed for both or hacked for one or the other. Tandy graphics work very differently from EGA, so games supporting EGA graphics only tend not to work on a Tandy. This includes virtually every EGA shareware game of the early 90s (Commander Keen, Duke Nukem, Dangerous Dave). The Tandy systems, starting with the SX, can be upgraded with an EGA or VGA card, but the software that allows you to switch back to Tandy graphics only works with VGA.
While Tandy graphics (which use a 16-bit data path) are generally faster than EGA graphics (generally put on an 8-bit card) at similar CPU speeds, systems with Tandy graphics max out at a 10MHz 286, while EGA graphics can accompany systems with much faster CPUs. The IBM systems are stuck with the 8088 PCjr. and the 8086 PS/2 MCGA Models 25 and 30
Saturday, January 25, 2014
Meet another Video Card - The Prolink Systems, Inc. MVGA-AVGA4VL VLB Card
Recently, I found a card nearly identical to this one from http://www.vgamuseum.info/ in an old system and decided to try it out :
I have tried it out and have come to like it more than my S3-805 based Diamond Stealth VLB card. Its slightly faster, more compatible, supports more RAM and video modes. I have no complaints about the DOS video quality. It uses the Cirrus Logic CL-GD5429, which supports true color modes and Windows acceleration. It uses memory-mapped I/O for increased speed. It comes with 1MB of RAM and can be upgraded to 2MB with two 256x16-70ns Fast Page Mode SOJ chips.
The card has two jumpers, JP1 when closed allows for IRQ2/9 usage, and JP2 when closed allows for operation when the bus speed is greater than 33MHz. The data sheet for the family of VGA controllers, for which this is perhaps its most advanced member, is readily available. It reports that the card's BIOS supports the following SVGA/VESA modes :
14h - 132x25T
54h/10Ah - 132x43T
55h/109h - 132x25T
5Eh/100h - 640x400x256
5Fh/101h - 640x480x256
58h,6Ah/102h - 800x600x16
5Ch/103h - 800x600x256
5Dh/104h - 1024x768x16i/p
60h/105h - 1024x768x256i/p
6Ch/106h - 1280x1024x16i
6Dh/107h - 1280x1024x256i*
66h/110h - 640x480x32K
64h/111h - 640x480x64K
71h/112h - 640x480x16M
67h/113h - 800x600x32K
65h/114h - 800x600x64K
68h/116h - 1024x768x32Ki
74h/117h - 1024x768x64Ki
* - Requires 2MB of video RAM.
i - Interlaced Mode
T - Text Mode
This card has better compatibility that the S3 card. EGA compatibility is very good. Commander Keen 4, 5 and 6 and Dangerous Dave do not need the SVGA compatibility switch, Keen 1-3 and Keen Dreams do not have scrolling problems, SimCity's text fonts look correct in the EGA high resolution mode and there are almost no flickering lines in the Silpheed intro.
VGA and SVGA compatibility is outstanding. System Shock CD allows the 640x400 mode to be used, although the speed on my 486DX2/66 is not the speed at which I would like to play the game. It has no problem with games with unusual Mode-X VGA modes like 320x240 (Epic Pinball), 320x400 (System Shock CD), 320x199 (Jazz Jackrabbit), 360x350 (Pinball Illusions), 312x200 (Prehistorik 2), 320x184 (Jurassic Park) and 320x350 (Pinball Fantasies). It supports SVGA 640x480 and 800x600 resolution modes in Pinball Illusions perfectly. It works with Prehistorik 1 & 2, Duff and Lollypop, both of which use a tweaked 320x200 mode. It is among the supported 640x400 SVGA modes of Microsoft Flight Simulator 5.x. It can even support the old Paradise SVGA 800x600 mode that Wonderland uses. DOOM and DOOM II run just as fast on this card as the S3 card.
The DOS refresh utility is called CLMODE and there are Windows 3.1 drivers for the chipset. The BIOS revision on my card is 1.00A.
Prompted by a friend of mine, I decided to perform a more demanding test, namely testing this card's support with UniVBE 5.3 and 6.53. UniVBE 6.53 reports that Linear Frame Buffer will not work reliably with CL 542x chips with more than 14MB of RAM. Support for LFB was thus dsiabled in my system, but 16MB of system RAM is more useful in a 486 than 12MB of system RAM and LFB. With 8MB of RAM, UniVBE will install LFB at 14MB. UniVBE also reports that Multi Buffering and Virtual Scrolling are also available, but 8-bit DACs are not present.
The card supports lots and lots of modes with UniVBE loaded, so I didn't test each and every resolution at each and every frame rate. With UniVBE 5.3 all the modes I tested worked. There are more modes supported with UniVBE than with the card's BIOS, and UniVBE offers superior compatibility with some modes than the BIOS alone. UniVBE requires 13KB of RAM and it may not be possible to load it into upper memory, so it should only be used when necessary. Here are the list of modes the card supports with UniVBE loaded :
4-bit Banked Only
640x480
800x600
1024x768
8-bit Banked and Linear
320x200
320x240
400x300
320x400
320x480
512x384
640x350
640x400
640x480
800x600
1024x768
1152x864
15-bit Banked and Linear
320x200
320x240
400x300
320x400
320x480
512x384
640x350
640x400
640x480
800x600
16-bit Banked and Linear
320x200
320x240
400x300
320x400
320x480
512x384
640x350
640x400
640x480
800x600
24-bit Banked and Linear
320x200
320x240
400x300
320x400
320x480
512x384
640x350
640x400
640x480
32-bit Modes
None
I have tried it out and have come to like it more than my S3-805 based Diamond Stealth VLB card. Its slightly faster, more compatible, supports more RAM and video modes. I have no complaints about the DOS video quality. It uses the Cirrus Logic CL-GD5429, which supports true color modes and Windows acceleration. It uses memory-mapped I/O for increased speed. It comes with 1MB of RAM and can be upgraded to 2MB with two 256x16-70ns Fast Page Mode SOJ chips.
The card has two jumpers, JP1 when closed allows for IRQ2/9 usage, and JP2 when closed allows for operation when the bus speed is greater than 33MHz. The data sheet for the family of VGA controllers, for which this is perhaps its most advanced member, is readily available. It reports that the card's BIOS supports the following SVGA/VESA modes :
14h - 132x25T
54h/10Ah - 132x43T
55h/109h - 132x25T
5Eh/100h - 640x400x256
5Fh/101h - 640x480x256
58h,6Ah/102h - 800x600x16
5Ch/103h - 800x600x256
5Dh/104h - 1024x768x16i/p
60h/105h - 1024x768x256i/p
6Ch/106h - 1280x1024x16i
6Dh/107h - 1280x1024x256i*
66h/110h - 640x480x32K
64h/111h - 640x480x64K
71h/112h - 640x480x16M
67h/113h - 800x600x32K
65h/114h - 800x600x64K
68h/116h - 1024x768x32Ki
74h/117h - 1024x768x64Ki
* - Requires 2MB of video RAM.
i - Interlaced Mode
T - Text Mode
This card has better compatibility that the S3 card. EGA compatibility is very good. Commander Keen 4, 5 and 6 and Dangerous Dave do not need the SVGA compatibility switch, Keen 1-3 and Keen Dreams do not have scrolling problems, SimCity's text fonts look correct in the EGA high resolution mode and there are almost no flickering lines in the Silpheed intro.
VGA and SVGA compatibility is outstanding. System Shock CD allows the 640x400 mode to be used, although the speed on my 486DX2/66 is not the speed at which I would like to play the game. It has no problem with games with unusual Mode-X VGA modes like 320x240 (Epic Pinball), 320x400 (System Shock CD), 320x199 (Jazz Jackrabbit), 360x350 (Pinball Illusions), 312x200 (Prehistorik 2), 320x184 (Jurassic Park) and 320x350 (Pinball Fantasies). It supports SVGA 640x480 and 800x600 resolution modes in Pinball Illusions perfectly. It works with Prehistorik 1 & 2, Duff and Lollypop, both of which use a tweaked 320x200 mode. It is among the supported 640x400 SVGA modes of Microsoft Flight Simulator 5.x. It can even support the old Paradise SVGA 800x600 mode that Wonderland uses. DOOM and DOOM II run just as fast on this card as the S3 card.
The DOS refresh utility is called CLMODE and there are Windows 3.1 drivers for the chipset. The BIOS revision on my card is 1.00A.
Prompted by a friend of mine, I decided to perform a more demanding test, namely testing this card's support with UniVBE 5.3 and 6.53. UniVBE 6.53 reports that Linear Frame Buffer will not work reliably with CL 542x chips with more than 14MB of RAM. Support for LFB was thus dsiabled in my system, but 16MB of system RAM is more useful in a 486 than 12MB of system RAM and LFB. With 8MB of RAM, UniVBE will install LFB at 14MB. UniVBE also reports that Multi Buffering and Virtual Scrolling are also available, but 8-bit DACs are not present.
The card supports lots and lots of modes with UniVBE loaded, so I didn't test each and every resolution at each and every frame rate. With UniVBE 5.3 all the modes I tested worked. There are more modes supported with UniVBE than with the card's BIOS, and UniVBE offers superior compatibility with some modes than the BIOS alone. UniVBE requires 13KB of RAM and it may not be possible to load it into upper memory, so it should only be used when necessary. Here are the list of modes the card supports with UniVBE loaded :
4-bit Banked Only
640x480
800x600
1024x768
8-bit Banked and Linear
320x200
320x240
400x300
320x400
320x480
512x384
640x350
640x400
640x480
800x600
1024x768
1152x864
15-bit Banked and Linear
320x200
320x240
400x300
320x400
320x480
512x384
640x350
640x400
640x480
800x600
16-bit Banked and Linear
320x200
320x240
400x300
320x400
320x480
512x384
640x350
640x400
640x480
800x600
24-bit Banked and Linear
320x200
320x240
400x300
320x400
320x480
512x384
640x350
640x400
640x480
32-bit Modes
None
Tuesday, January 21, 2014
SimCity for DOS - The Swiss Army Knife of Video Mode Support
The original version of SimCity for DOS, 1.02, supported a variety of video modes. Here is a screenshot of the title screen and an in-game screenshot of the Detroit scenario with a maxed out main window for each mode:
CGA Graphics Mode 06H 640x200 Monochrome :
Hercules Graphics Mode 720x348 Monochrome :
Tandy Graphics Adapter Graphics Mode 09H 320x200x16 / EGA Graphics Mode 0DH 320x200x16 :
(note : screenshots are 200% of original)
EGA Graphics Mode 0FH 640x350 Monochrome :
EGA Graphics Mode 10H 640x350x16 :
Version 1.07 of SimCity added the following :
MCGA/VGA Graphics Mode 11H 640x480 Monochrome :
SimCity Classic for DOS dropped the CGA and Tandy/EGA 320x200 support, but added the following :
MCGA/VGA Graphics Mode 12H 640x480x16 :
MCGA/VGA Graphics Mode 13H 320x200x256 :
(note : screenshots are 200% of original)
The modes common to SimCity and SimCity Classic look virtually identical in-game, but the title screens are different. Here they are :
Finally SimCity Enhanced CD-ROM for DOS only supported the following :
SVGA/VESA Graphics Mode 101H 640x480x256 :
Between the various incarnations of the same basic SimCity game for DOS, the game supported every major DOS video standard and an unusually wide variety of Graphics Modes. Sound support was also very broad. The original SimCity only supported sound effects, and supported the only available digitized sound hardware available in 1989 that would output digital samples without seriously compromising performance, the Tandy DAC and the Covox Sound Master. Unfortunately, not until SimCity Classic did the game support Sound Blaster cards.
CGA Graphics Mode 06H 640x200 Monochrome :
Hercules Graphics Mode 720x348 Monochrome :
Tandy Graphics Adapter Graphics Mode 09H 320x200x16 / EGA Graphics Mode 0DH 320x200x16 :
(note : screenshots are 200% of original)
EGA Graphics Mode 10H 640x350x16 :
Version 1.07 of SimCity added the following :
MCGA/VGA Graphics Mode 11H 640x480 Monochrome :
SimCity Classic for DOS dropped the CGA and Tandy/EGA 320x200 support, but added the following :
MCGA/VGA Graphics Mode 12H 640x480x16 :
MCGA/VGA Graphics Mode 13H 320x200x256 :
(note : screenshots are 200% of original)
The modes common to SimCity and SimCity Classic look virtually identical in-game, but the title screens are different. Here they are :
![]() |
| Hercules Graphics Mode 720x348 Monochrome |
![]() |
| EGA Mode 0FH 640x350 Monochrome |
![]() |
| EGA Mode 10H 640x350x16 |
![]() |
| MCGA/VGA Mode 11H 640x480 Monochrome : |
Finally SimCity Enhanced CD-ROM for DOS only supported the following :
SVGA/VESA Graphics Mode 101H 640x480x256 :
![]() |
| Note : Title Screen uses MCGA/VGA Graphics Mode 13H 320x200x256 (screenshot is 200% of original size) |
Between the various incarnations of the same basic SimCity game for DOS, the game supported every major DOS video standard and an unusually wide variety of Graphics Modes. Sound support was also very broad. The original SimCity only supported sound effects, and supported the only available digitized sound hardware available in 1989 that would output digital samples without seriously compromising performance, the Tandy DAC and the Covox Sound Master. Unfortunately, not until SimCity Classic did the game support Sound Blaster cards.
Saturday, October 12, 2013
320x200 : The Resolution of Choice for the IBM PC
IBM decided that its Color/Graphics Adapter would support a 320x200 pixel resolution in its "medium" resolution graphics modes. In its 40-column text mode, the 8x8 character cell would given an equivalent resolution with 25 rows on the screen. The 16KB CGA card could only display 4 colors on the screen at one time from a 16 color palette, barring graphics tricks. It also supported a high resolution graphics at 640x200 pixels with one color freely selectable, but this was comparatively seldom used except when games turned it into a 160x200 pixel mode using color composite graphics. Its 80-column text mode would, with 25 rows and an 8x8 text box, correspond to the 640x200 pixel resolution.
IBM did not offer a color display at the launch of the PC. It was assumed that most users would connect the CGA card directly to a color composite monitor or to a TV via an RF modulator. While NTSC-standard color displays could support up to 240 visible lines without interlacing, a large portion of the visible area of the screen on these devices could be obscured by the physical shell surrounding the glass monitor. Previous home computers from Apple and Atari only supported 192 pixels as a result. IBM's 200 pixels was hardly likely to tax the newer displays of the 1980s, which showed a more rectangular viewing area than the more circular TV screens of earlier decades. In 1983 IBM released its 5153 PC Color Display, which provided official RGBI support from the Corporation. This monitor had a vertical size control, which could accomodate 240 lines quite easily. The CGA card hardware and 16KB of RAM, could not.
The next widely-used graphics advances were the PCjr.'s Enhanced CGA graphics, later cloned by Tandy and known then as Tandy graphics. This also primarily used a 320x200 pixel graphics mode with 16 colors available, but also supported a true but seldom used 160x200x16 low resolution graphics mode and a very rarely used 640x200x4 graphics mode. IBM's PCjr. was only CGA compatible at the BIOS level, but Tandy's Graphics Adapter was CGA compatible at the register level. The PCjr. and Tandy graphics adapters took from 16-32KB of system RAM for its graphics RAM depending on the mode.
IBM's EGA card also supported a 320x200x16 graphics mode, and this was by far the most frequently used graphics mode in EGA-supporting games. The EGA could also support a 640x200x16 graphics mode and was backwards compatible with CGA at the BIOS level. Tandy Graphics and EGA graphics would almost invariably look the same, but the hardware was very different. Tandy's Enhanced Graphics Adapter, introduced with the Tandy 1000TL and 1000SL also supported a 640x200x16 mode, but few programs used it as it was not EGA compatible. Amstrad's CGA adapter also supported a unique 640x200x16 mode, but few programs used it.
All the above graphics modes worked on the same type of monitor, a digital TTL RGB monitor only capable of selecting sixteen colors. This monitor supported the same NTSC horizontal (15.75KHz) and vertical (60Hz) scan rates of the television set. For the EGA, IBM also included support for a 640x350 line mode with 16 colors selectable out of a 64 color palette. This mode only worked on a special color monitor, the 5154 PC Enhanced Color Display, which supporting a higher horizontal scan rate (21.8KHz) and the ability to select 64 colors through digital TTL RGB inputs. The standard IBM EGA card only came with 64KB, but the 640x350x16 mode required a 128, 192 or 256KB of RAM on the card. Most clone cards came with 256KB standard.
In 1987, IBM introduced the VGA and new corresponding monitors. VGA supported a 320x200x256 graphics mode with a palette of 262,144 colors available. This was the mode most frequently used by games. VGA was backwards compatible with EGA at the register level and CGA at the BIOS level. It also supported a 640x480x16 mode, but far fewer DOS games used it. Windows 3.0 and above would use it for its default graphics display. A new monitor was required to display the much larger color palette of the VGA compared to the CGA and EGA. Analog color monitor outputs were used. The high resolution display supported a 31.5KHz scan rate and 70Hz vertical refresh rates for all VGA modes, including emulated modes, except for the 640x480 mode, which used 60Hz. 200-line modes would be double scanned, with each pixel being double-clocked and each vertical line being repeated to fill up the refresh rate. This gives a different kind of scan-line structure compared with earlier monitor.
By the time of VGA, the 320x200 resolution had found support in many non-IBM PC compatible home computers. The Commodore 64 used a 320x200 resolution and a derived 160x200 resolution. The Atari ST, Commodore Amiga and Apple IIgs all used a 320x200 (and to a far lesser extent 640x200) resolution with varying degrees of color and palette support. While the PAL Amiga supported 256 lines by default, most games used 200 lines for extra speed. Those squished screenshots of Amiga games (compared to other systems) display that way on PAL machines.
Most VGA games only supported 320x200x256 graphics mode. The BIOS mode, Mode 13h, was easy to program for but somewhat limited. Eventually programmers found out how to create custom resolutions by using the VGA hardware registers, the so-called Mode X. Mode X typically comprised of 320x240 pixels, which gave square pixels. Epic Pinball and The Last Vikings used this mode. Some games used a 320x400 graphics mode, which was easy to obtain on VGA hardware. Programmers had to be careful to ensure that their custom mode would be compatible with the wide variety of VGA adapters in the marketplace. Standard 256KB VGA can support any combination of 320 or 360 horizontal pixels by 200, 240 or 350 vertical pixels with 256 colors.
I have included screenshots of Jill of the Jungle above. Jill supports all 320x200 in all three color modes. The game does not support 320x200x16 graphics on an IBM PCjr. or Tandy 1000 Graphics adapter (few if any shareware games supported the unique graphics modes these adapters), it will use the 320x200x4 mode instead. Except for Jill's face, the graphics are virtually identical, pixel-wise, across the three modes. Many games down-convert the graphics using an algorithm to eliminate the need to have two extra sets of graphics images or tiles on the disk.
320x200 has a 1.6 pixel aspect ratio. To get truly square pixels, a 4:3 display must have letterboxing. A 16:10 1280x800, 1920x1200 or 2560x1600 widescreen monitor can display the resolution perfectly using nearest-neighbor interpolation. However, when the resolution was used all displays were 4:3, and most users would stretch the 200 vertical lines to fill up the screen. Instead of perfectly square pixels, you would get pixels 1.2 times as vertical compared with the horizontal width on a monitor where the vertical width had been stretched to the edges of the monitor. Most graphic artists assumed this and adjusted their graphics accordingly, but not all did.
An illustrative example. Look at this screenshot of Elite Plus, using the VGA 320x200x256 graphics mode.
You can see that the circle is a circle in the 1.6:1 aspect ratio. But when converted to a 4:3 aspect ratio :
The circle has become an oval. Thus it would seem that the 1.6:1 aspect ratio is correct for this game.
Let's look at another game, LOOM. Here is a screenshot with a clearly spherical object in it :
Looks a bit squat in the 1.6:1 aspect ratio. If we stretch the aspect ratio :
Now the crystal ball looks like a sphere in a 4:3 aspect ratio. Click the 4:3 images for an undistorted, pixel-perfect resize but huge (1600x1200) version of the screenshot.
Even when Windows 95 was released, most graphically intensive games for the PC were still being released for DOS. Only in 1997, with the acceptance of 3D accelerators, DirectX and the undeniable dominance of the Windows platform did high-performance games finally require Windows. Most games up to this point either only supported 320x200 (DOOM, Daggerfall) or offered it as the default resolution (Duke Nukem 3D, Quake). SVGA was not well-supported because each chipset had its own way of offering higher resolution modes, and by the time VESA modes were widely supported, Windows 95 was the gaming OS of choice. At this point, 640x400x256 and 640x480x256 graphics were the norm.
IBM did not offer a color display at the launch of the PC. It was assumed that most users would connect the CGA card directly to a color composite monitor or to a TV via an RF modulator. While NTSC-standard color displays could support up to 240 visible lines without interlacing, a large portion of the visible area of the screen on these devices could be obscured by the physical shell surrounding the glass monitor. Previous home computers from Apple and Atari only supported 192 pixels as a result. IBM's 200 pixels was hardly likely to tax the newer displays of the 1980s, which showed a more rectangular viewing area than the more circular TV screens of earlier decades. In 1983 IBM released its 5153 PC Color Display, which provided official RGBI support from the Corporation. This monitor had a vertical size control, which could accomodate 240 lines quite easily. The CGA card hardware and 16KB of RAM, could not.
![]() |
| Jill of the Jungle CGA 320x200x4 Mode |
IBM's EGA card also supported a 320x200x16 graphics mode, and this was by far the most frequently used graphics mode in EGA-supporting games. The EGA could also support a 640x200x16 graphics mode and was backwards compatible with CGA at the BIOS level. Tandy Graphics and EGA graphics would almost invariably look the same, but the hardware was very different. Tandy's Enhanced Graphics Adapter, introduced with the Tandy 1000TL and 1000SL also supported a 640x200x16 mode, but few programs used it as it was not EGA compatible. Amstrad's CGA adapter also supported a unique 640x200x16 mode, but few programs used it.
![]() |
| Jill of the Jungle EGA 320x220x16 Mode |
In 1987, IBM introduced the VGA and new corresponding monitors. VGA supported a 320x200x256 graphics mode with a palette of 262,144 colors available. This was the mode most frequently used by games. VGA was backwards compatible with EGA at the register level and CGA at the BIOS level. It also supported a 640x480x16 mode, but far fewer DOS games used it. Windows 3.0 and above would use it for its default graphics display. A new monitor was required to display the much larger color palette of the VGA compared to the CGA and EGA. Analog color monitor outputs were used. The high resolution display supported a 31.5KHz scan rate and 70Hz vertical refresh rates for all VGA modes, including emulated modes, except for the 640x480 mode, which used 60Hz. 200-line modes would be double scanned, with each pixel being double-clocked and each vertical line being repeated to fill up the refresh rate. This gives a different kind of scan-line structure compared with earlier monitor.
![]() |
| Jill of the Jungle VGA 320x200x256 Mode |
Most VGA games only supported 320x200x256 graphics mode. The BIOS mode, Mode 13h, was easy to program for but somewhat limited. Eventually programmers found out how to create custom resolutions by using the VGA hardware registers, the so-called Mode X. Mode X typically comprised of 320x240 pixels, which gave square pixels. Epic Pinball and The Last Vikings used this mode. Some games used a 320x400 graphics mode, which was easy to obtain on VGA hardware. Programmers had to be careful to ensure that their custom mode would be compatible with the wide variety of VGA adapters in the marketplace. Standard 256KB VGA can support any combination of 320 or 360 horizontal pixels by 200, 240 or 350 vertical pixels with 256 colors.
I have included screenshots of Jill of the Jungle above. Jill supports all 320x200 in all three color modes. The game does not support 320x200x16 graphics on an IBM PCjr. or Tandy 1000 Graphics adapter (few if any shareware games supported the unique graphics modes these adapters), it will use the 320x200x4 mode instead. Except for Jill's face, the graphics are virtually identical, pixel-wise, across the three modes. Many games down-convert the graphics using an algorithm to eliminate the need to have two extra sets of graphics images or tiles on the disk.
320x200 has a 1.6 pixel aspect ratio. To get truly square pixels, a 4:3 display must have letterboxing. A 16:10 1280x800, 1920x1200 or 2560x1600 widescreen monitor can display the resolution perfectly using nearest-neighbor interpolation. However, when the resolution was used all displays were 4:3, and most users would stretch the 200 vertical lines to fill up the screen. Instead of perfectly square pixels, you would get pixels 1.2 times as vertical compared with the horizontal width on a monitor where the vertical width had been stretched to the edges of the monitor. Most graphic artists assumed this and adjusted their graphics accordingly, but not all did.
An illustrative example. Look at this screenshot of Elite Plus, using the VGA 320x200x256 graphics mode.
You can see that the circle is a circle in the 1.6:1 aspect ratio. But when converted to a 4:3 aspect ratio :
The circle has become an oval. Thus it would seem that the 1.6:1 aspect ratio is correct for this game.
Let's look at another game, LOOM. Here is a screenshot with a clearly spherical object in it :
Looks a bit squat in the 1.6:1 aspect ratio. If we stretch the aspect ratio :
Now the crystal ball looks like a sphere in a 4:3 aspect ratio. Click the 4:3 images for an undistorted, pixel-perfect resize but huge (1600x1200) version of the screenshot.
Even when Windows 95 was released, most graphically intensive games for the PC were still being released for DOS. Only in 1997, with the acceptance of 3D accelerators, DirectX and the undeniable dominance of the Windows platform did high-performance games finally require Windows. Most games up to this point either only supported 320x200 (DOOM, Daggerfall) or offered it as the default resolution (Duke Nukem 3D, Quake). SVGA was not well-supported because each chipset had its own way of offering higher resolution modes, and by the time VESA modes were widely supported, Windows 95 was the gaming OS of choice. At this point, 640x400x256 and 640x480x256 graphics were the norm.
Monday, April 8, 2013
Meet a Video Card - The Diamond Stealth 24 VLB
In this entry I will discuss one of my favorite video cards, discuss its features and why I recommend it to anyone building a vintage computer system. The card in question, as mentioned in the title to this post, is the Diamond Stealth 24 VLB. It looks like this :
Thanks to http://www.vgamuseum.info for the photograph.
As you probably know, the edge connector on the back of the card is for the VESA Local Bus (VLB) slot. This bus is almost totally exclusive to 486 processors, as it is essentially an extension of the 486 bus. If you are building a 486 system, VLB cards are an excellent fit for video if your motherboard supports them. (Whether they are as good a fit for hard drive interfaces is a debate that must be put off for another day.) The ISA bus is just too slow for a 486 and games needing fast video like DOOM, especially as so many boards have VLB slots.
Later 486 motherboards tend to support PCI slots, but the conventional wisdom of the time was that 486 PCI implementations were generally immature. PCI slots came into their own on Pentium Socket 7 motherboards. Small wonder that the number of Pentium mainboard chipset makers and motherboard builders seemed to shrink dramatically. In my opinion a VLB slot is to a 486 as a PCI slot is to a Pentium as an AGP slot is to a Pentium II and above
Back to this board, you can see that it has eight pieces of V53C104 DRAMs. Each chip supports 256kx4 bits.. Eight chips gives you 8 megabits or 1 megabyte of video memory. This is four times the basic VGA memory requirement. The PLCC chip near the VGA connector is a Diamond SS2410 High/True-Color DAC. This is an optional feature for the S3 805 chip. Without this kind of DAC or an equivalent DAC, the card would only be able to support 8-bit color resolutions. With the DAC, it can support 15-bit, 16-bit or 24-bit color resolutions as the maximum memory allows.
The S3 805 can support up to 2 megabytes of video memory, but this was a cheap accelerator card and cannot be upgraded to 2 megabytes. 1 Megabyte of video memory was standard for VLB video cards, 2MB was a premium card, and 4MB was almost unheard of.
This card boasts some VESA compliance. The Modes 101h-104h are VESA modes. The only mode of any real importance for DOS is the 640x480x256 and 15/16-bit and 800x600x16 and 256 modes. It does support 640x400x256, even though it does not list VESA Mode 100h in its supported display modes. Rise of the Robots uses that resolution and works fine with the card at that resolution. System Shock CD does not allow that mode to be selected, so UniVBE may be necessary to play the game in that mode. It can support refresh rates up to 72Hz at 1024x768 or below and refresh rate of 60Hz at 1280x1024. These graphics modes were tested with WHATVGA.EXE and work :
101h - 640x480x256 packed
102h - 800x600x16 planar (also 6Ah)
103h - 800x600x256 packed
104h - 1024x768x16 planar
105h - 1024x768x256 packed
106h - 1280x1024x16 planar
110h - 640x480x32K
111h - 640x480x64K
112h - 640x480x16M
113h - 800x600x32K
114h - 800x600x64K
124h - 1152x864x256 packed (did not work in WHATVGA)
206h - 1280x960x16 packed (not a VESA mode)
208h - 1280x1024x16 planar (not a VESA mode)
WHATVGA.EXE had some issues with displaying planar 1024x768 and 1280x1024 modes, and did not display the extended text modes 54h 132x43 and 55h 132x25.
Not much is known about the BIOS revisions. I have read that there exist 1.11, 1.24 and 2.01, the last being required to use the latest windows drivers. My card has 2.02.
One slightly annoying issue this card has is that its I/O addresses conflict with the default COM4 addresses, 2E8-2EF. This is due to its 8514/A derived design and is not unique to this card. It has a jumper to enable or disable IRQ2, but few games required that functionality on a VGA card. I have not found any problems with it and an MPU-401, which also uses IRQ2 by default. Games rarely use the IRQ functionality of the MPU-401 anyway.
Diamond still provides drivers for the Stealth 24 VLB and other cards on its website for Windows 3.1. This will allow you to use better resolutions than Windows 3.1 default VGA 640x480x16 resolution. Get them here : http://www.dmmdownload.com/legacy.php. These cards tend to be among the most plentiful VLB cards you can find today. Windows 95 comes with drivers for the card.
Game compatibility with EGA and VGA games is excellent. I have tested the card with almost every piece of software on this chart : http://gona.mactar.hu/DOS_TESTS/. I did not try Quake, Duke Nukem 3D above 640x480 or Tomb Raider. Software works perfectly (Commander Keen 4-6 needs the SVGA Compatibility option turned on, as does Dangerous Dave and Keen Dreams with the /comp switch). Silpheed has some minor extraneous flickering lines during its intro, but they do not appear during the actual gameplay. UNIVBE works with the chipset, and there is a utility to set the refresh rates, look for S3REFRSH.ZIP. It reports that you can set 640x480, 800x600, 1024x768 and 1280x1024 to 60Hz or 70Hz/72Hz, 800x600 at 56Hz and 1024x768 and 1280x1024 to 43Hz/45Hz interlaced.
According to this article, it should have good Windows 3.1 acceleration features and speed : http://books.google.cz/books?id=PTwEAAAAMBAJ&pg=PA39&dq=Diamond+Stealth+24&hl=cs&ei=q6ROTOe0EIWL4QafmuyUCA&sa=X&oi=book_result&ct=result&resnum=3&ved=0CDMQ6AEwAg#v=onepage&q=Diamond%20Stealth%2024&f=false
Sunday, July 22, 2012
Observations on 8-bit Video and Sound Cards
8-bit Video Cards
This card can only display 80-column by 25-row text, and uses a special TTL monochrome monitor. The official monitor is the IBM 5151 Display, but clones exist. Not especially useful for games as the next card. Full-length 13" card (as are all IBM 8-bit Video cards), 4KB Video RAM, enough for one page only. Can be used with a CGA card in a dual monitor setup.
Can do everything the MDA can and more. The "more" is a 720x348 monochrome graphics mode that tons of 80s game use. The Hercules-brand cards tend to be 13" full-length cards that do not fit inside Tandy 1000s and other machines with card clearance issues. Many EGA cards include Hercules functionality, as do the Tandy 1000 T/S/RL machines. Many people back then and some vintage enthusiasts today use a CGA card with a color monitor and a Hercules card for text on a monochrome monitor. This avoids CGA snow in text modes. 64KB Video RAM, usually 32KB used (so-called Half-mode). Full-Mode, using 64KB RAM, will conflict with CGA and later cards.
16KB Video RAM
Displays CGA Snow
Uses B8000-BFFFF
Provides the exact synthesis of a Roland CM-300 (SC-55 base) plus a Roland MPU-401 interface, but only 1 MIDI OUT and 1 MIDI IN. MIDI OUT requires a special mini-DIN to DIN cable. Stereo speakers and RCA outputs. The SCC-1 supports 317 patches, the SCC-1A card supports 354 (SCC-1B is a marketing term for an SCC-1A and the Ballade software). Capital tone fallback (see my previous post about Unique PC Hardware) feature is not supported in the SCC-1A. MPU-401 uses ROM revision 1.5B.
In an IBM PC, Portable or XT or a clone or a Tandy 1000, these are your options. I will talk about the IBM cards and note possible differences with clone cards.
IBM Monochrome Display Adapter
This card can only display 80-column by 25-row text, and uses a special TTL monochrome monitor. The official monitor is the IBM 5151 Display, but clones exist. Not especially useful for games as the next card. Full-length 13" card (as are all IBM 8-bit Video cards), 4KB Video RAM, enough for one page only. Can be used with a CGA card in a dual monitor setup.
Hercules Graphics Adapter
Can do everything the MDA can and more. The "more" is a 720x348 monochrome graphics mode that tons of 80s game use. The Hercules-brand cards tend to be 13" full-length cards that do not fit inside Tandy 1000s and other machines with card clearance issues. Many EGA cards include Hercules functionality, as do the Tandy 1000 T/S/RL machines. Many people back then and some vintage enthusiasts today use a CGA card with a color monitor and a Hercules card for text on a monochrome monitor. This avoids CGA snow in text modes. 64KB Video RAM, usually 32KB used (so-called Half-mode). Full-Mode, using 64KB RAM, will conflict with CGA and later cards.
IBM Color/Display Adapter
16KB Video RAM
Displays CGA Snow
Uses B8000-BFFFF
Only fits in an 8-bit slot, has a skirt
Requires a functional 14.318MHz OSC signal for composite signal
Has two solder points to wire a jumper to select the "thin font".
Early cards display a slightly different color arrangement in composite color mode. If your text has red and blue fringes, you have an early card. If the text has orange and blue fringes, you have a later card.
Early cards only display four shades of gray on a monochrome/black&white TV or composite monochrome monitor. Later cards display 16 shades of gray.
Supports an RF adapter and a light pen via pin headers.
Clone cards function similarly to IBM's, but their fonts are likely to show differences and they may lack support for a light pen or a header for an RF adapter. I have an Epson clone which does not have a discret MC6845 CRTC and thus is not quite as compatible with the IBM CGA. Early clones tend to have the 8-bit skirt, later clones tend to be shrunk down. Official monitor is the IBM 5153 Color Display, which supports 200 lines in 16 colors. It can work with an IBM 5154 Enhanced Color Display, Tandy CM-4, CM-5, CM-10 or CM-11. The IBM PC Portable has a built-in 9" amber monochrome screen and it requires a CGA card with composite output.
ATI's Small Wonder cards combine CGA and Hercules support, and they are probably not alone.
IBM EGA Adapter
Uses IRQ2 for vertical sync
64KB on Motherboard, requires separate Expansion daughterboard to add 192KB for the full 256KB. 128KB required for 640x350x16 graphics. (Clones tended to have 256KB on board)
Daughterboard uses standard 64Kx1 chips
Can be set to use alternate 2xx I/O addresses via jumper
Can support light pen
Must use jumper and dipswitches to set monitor type, can use IBM Monochrome, IBM Color and IBM Enhanced Color displays
Can be used with an MDA card in Color mode or a CGA card in monochrome mode
No Hercules support
Can fit in 16-bit slot, but has skirt otherwise
16KB BIOS ROM, mapped C0000-C3FFF (Clones often used 32KB, mapped to C7FFF)
RCA jacks are useless without a Feature Board (IBM never offered one)
Only IBM 8-bit Video Card with Jumpers and Dipswitches.
Only IBM 8-bit Video Card with Jumpers and Dipswitches.
Some clone cards utilize the 16-bit ISA connector, support non-standard line modes, and offer Hercules compatibility. IBM 5154 Enhanced Color Display is the official monitor, supporting 350-lines and 64 colors. This monitor and its clones are pricey and many people use a CGA monitor. Remember to set the dipswitches on the bracket appropriately for a 200-line monitor. It can also use MDA monitors if you set the switches appropriately.
IBM VGA Adapter
Unlike other IBM cards, this card is full length but has a lower profile, width wise. No skirt.
Uses IRQ2 for vertical sync.
Designed to upgrade IBM PS/2 Model 30 systems to VGA, works fine in IBM PC, XT, AT, XT-286.
Officially called the IBM PS/2 Display Adapter
Officially called the IBM PS/2 Display Adapter
Will not fit inside an IBM PS/2 Model 25.
Finicky with 3rd-party motherboard
Uses EPROM to store VGA BIOS (32KB EPROM, 24KB used).
Has two BERG-strip pin headers, functionality unknown
256KB video memory, no further upgrades
24KB BIOS ROM, mapped C0000-C5FFF (Clones almost always use 32KB)
8KB of scratchpad memory, mapped C8000-C7FFF (6KB) and CA000-CA7FF (2KB) Clones do not have this and this mapping is often an annoyance with other cards that can use the CA000 region.
Jumperless, no lightpen support
Many 16-bit VGA cards can work in an 8-bit slot. The Paradise PVGA1A chipset is a good choice, but even some Tseng ET4000AX boards will work. Don't expect to set speed records.
Many 16-bit VGA cards can work in an 8-bit slot. The Paradise PVGA1A chipset is a good choice, but even some Tseng ET4000AX boards will work. Don't expect to set speed records.
8-bit Sound Cards
There are relatively few 8-bit Sound Cards, in fact these are really your only choices for games :
AdLib Music Synthesizer Card
The first sound card, first revision has a 1/4" audio jack, second revision a 3.5mm mini-jack. OPL2 FM Synthesis. Noisier than a Sound Blaster. May be necessary to use an AdLib in a Tandy 1000 T/S/RL due to those systems not playing well with a Sound Blaster. Clone boards will work the same if they use a Yamaha YM3812 OPL2 chip and its Y3014 DAC.
AdLib Gold 1000
Backwards compatible, adds 8-bit and 12-bit DAC functionality but its midi interface is not MPU-401 compatible in any way. No Sound Blaster compatibility. Has header for optional surroundsound daughterboard. Dune makes use of the daughterboard and only supports stereo OPL3 FM Synthesis on this card. Card is rare, daughterboard extremely rare.
Covox Sound Master
Uses GI AY8930 for music and 8-bit DAC/ADC. No compatibility with other cards. Has some near-exclusive game support. Also supports two Atari-style digital gamepads. Virtually impossible to find.
Covox Sound Master Plus
AdLib compatible OPL2 FM. 8-bit DAC, but not completely compatible with the previous card as some games use the AY8930 for DMA. Ditto on findability.
Covox Sound Master II
AdLib compatible OPL2 FM, 8-bit DAC. Basic Sound Blaster compatibility. Somewhat more common.
Creative Music System/Game Blaster
Uses 2 x Phillips SAA-1099 (CMS-301) for music. Certain CMS/Game Blaster cards will not work with Sound Blaster cards with C/MS chips due to the custom board detection chip on these boards. Only way to get trouble free CMS sound on Tandy 1000 T/S/RL systems due to DMA conflict between Sound Blaster and Tandy DAC. Very rare.
Creative Labs Sound Blaster 1.0 & 1.5
1.0 has CMS chips onboard. DSP in 40-pin socket. Typically came with v1.05, could be upgraded to 2.0. 2.0 adds auto-init DMA, which was necessary to meet Windows MPC specification. Regardless of DSP version, DAC limited to 8-bit @ 22.050kHz playback. AdLib compatible. MIDI port is not MPU-401 compatible, even in UART mode. Removing the DRQ1 jumper will not solve problems with Tandy 1000 T/S/RL systems. The 1.5 has 2 sockets for CMS chip upgrade, otherwise identical to 1.0.
Creative Labs Sound Blaster 2.0
DSP v2.01 adds 8-bit @ 44.1kHz DAC playback. Loses alternate I/O selections compared with 1.0, but many games expect the Sound Blaster at I/O 220-22F. CMS upgrade requires a Programmable Logic Array (PAL) chip, which has been reverse engineered using a Generic Logic Array chip (GAL). The GALs of today only work on rev. 3 and rev 4 SB 2.0s unless you use one from National Semiconductor, which are the only ones that work on boards without a rev. They will not work reliable on rev. 0 (no revision) boards, so avoid those if you intend to upgrade. Cards with a CT1336A Bus Interface Chip will not work with the CMS upgrade, even with a true Creative Labs' PAL. Very short card for its time.
Creative Labs Sound Blaster Pro 1.0
Although the Sound Blaster Pro cards have a 16-bit connector, all it does is allow you to select IRQ10 or DMA0, both very unpopular resource choices. They work just fine in 8-bit systems and you can dremel off the 16-bit portion of the card edge with no ill effects. The Pro supports stereo FM with 2 x OPL2 chipsets and 8-bit @ 44.1kHz DAC. It also introduces a hardware mixer, which some games use to create stereo sound. Virtually useless proprietary Panasonic CD-ROM interface on the common CT-1330, but it does not take up extra resources. The Pros allow you to select DMA3, which means they can work with the Tandy 1000 T/S/RL series. They have a 2-pin header to connect the PC Speaker header on the motherboard. Usually the motherboard header is a 4-pin strip, but a simple "rewiring" of a CD audio cable works for me. The PC Speaker will sound louder through the Pro than through systems with a piezo tweeter or a tiny speaker.
Creative Labs Sound Blaster Pro 2.0
See above, but uses an OPL3 for stereo FM. There are games that prefer the dual OPL2 setup, and for the later games that may utilize OPL3 features, they almost always sound better with General MIDI. Shorter than the Pro 1.0 and less noisy sound output than the early Sound Blaster 16s. CT-1600 is the most common and uses the Panasonic CD-ROM interface. CT-1690 has a non-bootable SCSI interface which works with SCSI CD-ROMs.
Innovation SSI-2001
A MOS 6581 SID on a card with a gameport. Extremely rare. I have seen two pictures of these cards, and both use 6581R4 chips, not 6582/8580 (would need a 9v converter on board). A 6581 requires a +12v power source, which the ISA bus provides. The SID chip's 29 registers are mapped directly on the I/O bus starting at 280, 2A0, 2C0 or 2E0. The SID should be clocked at .894MHz. The filter will sound different, as the Caps on the C64 used 470pf and the SSI board uses .01uF. Extremely rare.
Mediavision Pro Audio Spectrum (PAS)
AdLib compatible, no Sound Blaster compatiblity. Requires loading MVSOUND.SYS in CONFIG.SYS for card to work. 8-bit @ 44.1kHz DAC support. SCSI CD-ROM interface. Better noise characteristics than any 8-bit Sound Blaster. Stereo FM using 2 x OPL2 chipsets. There are games from Sierra that support this card for stereo FM music that do not support the Sound Blaster Pro. The MIDI interface has no MPU-401 compatibility.
The PAS can emulate the PC Speaker without having to route the sound from the motherboard. This is weird, however, since there is a header for the analog PC speaker output from the motherboard on the card.
The jumper settings for the original, 8-bit Pro Audio Spectrum are hard to find online and not marked on the circuit board. Look here, which also gives the pinout for the CD Audio input header :
The PAS can emulate the PC Speaker without having to route the sound from the motherboard. This is weird, however, since there is a header for the analog PC speaker output from the motherboard on the card.
The jumper settings for the original, 8-bit Pro Audio Spectrum are hard to find online and not marked on the circuit board. Look here, which also gives the pinout for the CD Audio input header :
Mediavision Thunderboard
AdLib and Sound Blaster 1.5 compatible clone (no CMS) with a volume wheel. Some games have a Thunderboard install option for better compatibility. Claims dynamic filtering for better output quality. Supposed to be reported as a 2.0, presumably because it supports auto-init DMA as does a SB 1.5 with DSP v2.01. The Thunderboard can disable the FM via jumper to work alongside the PAS and provide Sound Blaster compatibility to the Pro Audio Spectrum. (I assume you can do the same thing on a real Sound Blaster by removing the YM3812 chip.) The PAS16 would use the Thunderboard chipset for Sound Blaster compatibility. Do not use in a Tandy 1000 T/R/SL because the DMA channel cannot be changed or disabled. Interestingly, for a Sound Blaster clone it does not support MIDI output of any kind from the joystick port. There is a version called the Thunder and Lightning that does support MIDI output and the capabilities of an SB2.0, licensed from Creative. Its jumper settings are here :
Roland MPU-401 + MIF-IPC or MIF-IPC-A
Roland MPU-401 + MIF-IPC or MIF-IPC-A
Strictly a MIDI interface, but if you need 100% Roland MPU-401 compatibility, your choices are limited. The large external box contains all the major circuitry, the MIF cards are simple bus adapters and can easily be replicated. There were several ROM revisions, with the final revision being v1.5A. This revision is used in the MPU and LAPC-I cards. The MIF-IPC is not reliable in AT-bus systems (16-bit ISA bus systems), while the -A card adds AT-bus compatibility. I/O address and IRQ2 usage cannot be changed without cutting traces and soldering wires or a dipswitch box. The box can be used in many other systems (Apple II, Commodore 64) with the appropriate interface card. Connectors include 2 MIDI OUTs.
Roland MPU-IPC or MPU-IPC-T
Virtually the same as the above, although this time the circuitry is on the card and the external box is just for the connectors. The -T loses the Sync Out (useless for gaming) but allows changing the I/O and IRQ usage without physically altering the card. Connects to the external box via a DB-25.
Roland LAPC-I
Provides the exact synthesis of a Roland CM-32L (MT-32 rev. 1 + 33 extra sound effects) plus a Roland MPU-IPC and selectable I/O and IRQ usage. Has a headphone and two RCA jacks. A DA-15 connector connects to its MCB-1 box for interfacing with extenal devices, which was sold separately. A Gameport-to-MIDI adapter cannot be used unless pins are altered inside the cable. Is a full-length card and requires a -5v power on the ISA bus. Modern ATX power supplies (2.0 and above) do not supply the appropriate voltage. In a pinch you could wire in a 7905 to convert it down from the -12v line, which is still supported. Uses the CM-32L Control ROM, v1.0 (EPROM) or v1.2 (Mask ROM).
Roland SCC-1
Provides the exact synthesis of a Roland CM-300 (SC-55 base) plus a Roland MPU-401 interface, but only 1 MIDI OUT and 1 MIDI IN. MIDI OUT requires a special mini-DIN to DIN cable. Stereo speakers and RCA outputs. The SCC-1 supports 317 patches, the SCC-1A card supports 354 (SCC-1B is a marketing term for an SCC-1A and the Ballade software). Capital tone fallback (see my previous post about Unique PC Hardware) feature is not supported in the SCC-1A. MPU-401 uses ROM revision 1.5B.
Roland MPU-401/AT
The MPU-401AT uses the same MPU-401 features and ports as the SCC-1, but only has a 26-pin waveblaster header. It has no on-board synthesizer by default, but can use any daughterboard that will fit on it. Roland offered two, the General MIDI (with extra drumsets) compatible SCB-7 (a SC-7 derivative) and the General MIDI/GS compatible SCB-55 (a SC-55mkII derivative). I have used a Yamaha DB50XG on the board without problems. The audio output is superior than a Sound Blaster.
There has been confusion between the labels SCB-7 and SCB-55 and SCD-10 and SCD-15. The former two names identify and are silkscreened on the hardware boards, the latter refer to the product bundle with the box, software and manuals. The bundle with the SCB-55 and MPU-401AT ISA card is called the SCM-15AT.
Unfortunately, the MPU-401AT is extremely small and virtually all daughterboards will extend well-beyond the edge of the board. Longer boards have four holes for the daughterboard standoffs, but this board only has two holes for standoffs. The end result can be wobbly. Finally, the name and manual for this card indicate that it is not PC or XT compatible, but because the card was released in 1995, those systems were seen as obsolete. The card probably works fine in 8-bit XT compatible machines. Finding standoffs of the right height will likely prove to be a time consuming task.
All three Roland cards with sound synthesis capabilities can accept MIDI data from a separate computer. In this sense, the cards can act as external modules.
There has been confusion between the labels SCB-7 and SCB-55 and SCD-10 and SCD-15. The former two names identify and are silkscreened on the hardware boards, the latter refer to the product bundle with the box, software and manuals. The bundle with the SCB-55 and MPU-401AT ISA card is called the SCM-15AT.
Unfortunately, the MPU-401AT is extremely small and virtually all daughterboards will extend well-beyond the edge of the board. Longer boards have four holes for the daughterboard standoffs, but this board only has two holes for standoffs. The end result can be wobbly. Finally, the name and manual for this card indicate that it is not PC or XT compatible, but because the card was released in 1995, those systems were seen as obsolete. The card probably works fine in 8-bit XT compatible machines. Finding standoffs of the right height will likely prove to be a time consuming task.
All three Roland cards with sound synthesis capabilities can accept MIDI data from a separate computer. In this sense, the cards can act as external modules.
Sunday, February 28, 2010
Perfecting the IBM Model M Keyboard
The IBM Model M Keyboard is among the best keyboards ever made. However, technologically it has shown its age a bit, and even IBM cut a corner or two to reduce the cost of production. If I had the means, I would make the following improvements:
1. Make a 103-key Keyboard.
Some people like to have Windows keys. Sometimes even I can see their utility. Windows + D makes a good "boss key". Learing how to use the key combinations can make working in Windows more efficient. However, I would prefer a longer spacebar than Windows keys the same size and Ctrl and Alt. The 101-key Model M has empty spaces, the size of a regular key, in between each set of Ctrl and Alt. Why not put Windows key in those spaces? People who hate the Windows key can easily disable it in software. For Macintosh users, perhaps an option could be made for a shorter spacebar and a "Windows" key the same size as the Ctrl and Alt keys. On no account would I want a Menu key cluttering up the row, that key's function can be replicated by Shift F10. However, should one want one, a standard size keycap with the Menu graphic can be included if one was willing to sacrifice a Windows key.
2. Improve the internal assembly
The assembly of the Model M, once the keycaps and keystems are removed, is one plastic layer with holes for the keys, three membrane layers, and a metal back. The greatest dangers to the Model M, regardless of version, are liquids. I spilled some wine into my Unicomp Model M, and despite the drain holes, the conductive membrane was ruined. Later, I spilled a little G2 into my 1987 Model M and the B and M keys would give VB and NM when pressed. In the latter case, I was able to open keyboard up and save the keyboard by wiping up the liquid. The membrane is NOT internally sealed, nor can it be, but the membrane itself is three sheets of translucent plastic that could easily be replaced.
The problem with replacing the membrane is that IBM secured the upper plastic layer to the metal layer by melting the upper plastic layer through holes in the membrane and metal layer (in the assembly) and letting the melted plastic cool into studs on the bottom of the metal plate. There are lots of these plastic nubs throught the back of the keyboard assembly. The issue is that the can break after a hard impact or by wear over time. Once all are broken off, there is no way to resecure the plastic layer to the metal layer. At that point, you had best buy a new keyboard.
The solution is to use screws instead of melted plastic. This way the user can unscrew the keyboard and clean or replace the membrane. I believe this is how the Tandy Enhanced Keyboard operates. (A nut should be used.) Yes, it increases costs, but I believe it is better to extend the life time of the investment.
3. Improve the controller
The Keyboard controller circuit has some issues. First, it only supports AT & PS/2 style connections. Since the AT connection is a thing of the past and the PS/2 connector is a legacy port on modern motherboards, the controller should add USB support. Second, some Model Ms have controllers than can work with the original IBM PC and IBM PC/XT and (with a custom an adapter) the IBM PC Portable (before 2nd BIOS in the latter two cases). Most do not, I do not have any that do. I would love a truly IBM PC Compatible keyboard. The Tandy Enhanced Keyboard works perfectly with an IBM PC 5150 and with any other true IBM PC-compatible computer.
The IBM Model Ms I have ## 1390120 (ledless), 1390131 (silver logo), & 1391401 (grey oval logo) have a 6-pin RJ-45-like port on the rear to attach a cable. IBM generally supplied AT & PS/2 cables, coiled. Why not make a sturdy USB cable? Since only four pins are used, the other two can tell the controller that a USB cable is being attached. While there are AT-PS/2 adapters and PS/2-USB adapters (and vice versa), permanency is prized by some people.
Finally, why not have a wireless dongle attachment? If it attaches to the back, another dongle can attach to the PC. Rechargeable through USB.
4. Add support for N-Key and 6-Key Rollover
The Model M does not support N-key Rollover. In fact, depending on the keys pressed, it cannot register three keys at the same time. Try pressing r y u all at once. Unlimited key rollover is supported through the PS/2 interface, but only 6-key rollover through USB. 6-key is not that terrible, after all the functional limit is 10 keys unless the user is a rare polydactyl with a functioning extra finger. In order to have unlimited N-key rollover, each key on the membrane needs to be isolated with a diode. As this is rather difficult to achieve with a thin plastic membrane, please see my next suggestion.
5. Use Printed Circuit Board Contacts
The IBM Model F keyboards used a Printed Circuit Board with key contacted etched in the board, and the key mechanism used a carbonized switch to conduct electricity between the two halves of the contact. This denoted significantly higher build quality. Also, it gives an easy platform to install the diodes needed for N-key rollover. Get rid of those flimsy plastic membranes which true rubber domes use.
6. Fix the layout shortcomings
The IBM Model M keyboard had a few shortcomings over the older Model Fs. One, the function keys were relegated to the top instead of the side of the keyboard. Savvy keyboard users with the space can use extra function keys, so add a set of function keys on the left side of the keyboard. F11 and F12 would go to the left of the top function key row. This is nothing new, the Nortgate Omnikey Ultra and Ultra T featured two sets of function keys in this fashion.
The ~` and Esc key can be exchanged using removable keycaps, so no adjustment need be made there.
Some people prefer that the L. Ctrl should be where the Caps Lock key is on a Model M. All that is required here is to make a Caps Lock keycap and a Ctrl key (since the Model M's Caps Lock has cap and stem fused together). I would also make two models of Ctrl key, one with the lowered area (so people would not strike it by trying to hit the A key) and one without. Also, why not make a Caps Lock key without the lowered area.
L shaped Enter key? I have no particular views toward or against the big L shaped Enter key, which was a staple of the AT Model F keyboard. But since it replaces the | \ key, the usual alternatives are not very good. One option is to put it to the left of the Backspace key, which requires that key to be shortened. I have never liked this option, which is perhaps the AT Model F's biggest shortcoming. The next option is to put it to the right of the Shift key, ala the Nortgate Omnikey Ultra and Avant Stellar Prime, which is better but unlike a laptop we are not pressed for space here. The best place to put it is where one of the Windows keys go. I do not feel that sacrificing a Windows key to be that great of a loss.
7. Make the Keyboard Fully Programmable
While the keyboard can be reprogrammed in software, there are times when the keycodes being reported from the keyboard to the system would actually match what the key cap indicates. This is especially true when you have reconfigured your keycaps to match a DVORAK or AZERTY layout. No need to load drivers or special software. Volatile memory on the keyboard contoller should be used to indicate which scancode it outputs for each key, so the programming can be platform independent. A USB cable may need to be used for the programming option.
1. Make a 103-key Keyboard.
Some people like to have Windows keys. Sometimes even I can see their utility. Windows + D makes a good "boss key". Learing how to use the key combinations can make working in Windows more efficient. However, I would prefer a longer spacebar than Windows keys the same size and Ctrl and Alt. The 101-key Model M has empty spaces, the size of a regular key, in between each set of Ctrl and Alt. Why not put Windows key in those spaces? People who hate the Windows key can easily disable it in software. For Macintosh users, perhaps an option could be made for a shorter spacebar and a "Windows" key the same size as the Ctrl and Alt keys. On no account would I want a Menu key cluttering up the row, that key's function can be replicated by Shift F10. However, should one want one, a standard size keycap with the Menu graphic can be included if one was willing to sacrifice a Windows key.
2. Improve the internal assembly
The assembly of the Model M, once the keycaps and keystems are removed, is one plastic layer with holes for the keys, three membrane layers, and a metal back. The greatest dangers to the Model M, regardless of version, are liquids. I spilled some wine into my Unicomp Model M, and despite the drain holes, the conductive membrane was ruined. Later, I spilled a little G2 into my 1987 Model M and the B and M keys would give VB and NM when pressed. In the latter case, I was able to open keyboard up and save the keyboard by wiping up the liquid. The membrane is NOT internally sealed, nor can it be, but the membrane itself is three sheets of translucent plastic that could easily be replaced.
The problem with replacing the membrane is that IBM secured the upper plastic layer to the metal layer by melting the upper plastic layer through holes in the membrane and metal layer (in the assembly) and letting the melted plastic cool into studs on the bottom of the metal plate. There are lots of these plastic nubs throught the back of the keyboard assembly. The issue is that the can break after a hard impact or by wear over time. Once all are broken off, there is no way to resecure the plastic layer to the metal layer. At that point, you had best buy a new keyboard.
The solution is to use screws instead of melted plastic. This way the user can unscrew the keyboard and clean or replace the membrane. I believe this is how the Tandy Enhanced Keyboard operates. (A nut should be used.) Yes, it increases costs, but I believe it is better to extend the life time of the investment.
3. Improve the controller
The Keyboard controller circuit has some issues. First, it only supports AT & PS/2 style connections. Since the AT connection is a thing of the past and the PS/2 connector is a legacy port on modern motherboards, the controller should add USB support. Second, some Model Ms have controllers than can work with the original IBM PC and IBM PC/XT and (with a custom an adapter) the IBM PC Portable (before 2nd BIOS in the latter two cases). Most do not, I do not have any that do. I would love a truly IBM PC Compatible keyboard. The Tandy Enhanced Keyboard works perfectly with an IBM PC 5150 and with any other true IBM PC-compatible computer.
The IBM Model Ms I have ## 1390120 (ledless), 1390131 (silver logo), & 1391401 (grey oval logo) have a 6-pin RJ-45-like port on the rear to attach a cable. IBM generally supplied AT & PS/2 cables, coiled. Why not make a sturdy USB cable? Since only four pins are used, the other two can tell the controller that a USB cable is being attached. While there are AT-PS/2 adapters and PS/2-USB adapters (and vice versa), permanency is prized by some people.
Finally, why not have a wireless dongle attachment? If it attaches to the back, another dongle can attach to the PC. Rechargeable through USB.
4. Add support for N-Key and 6-Key Rollover
The Model M does not support N-key Rollover. In fact, depending on the keys pressed, it cannot register three keys at the same time. Try pressing r y u all at once. Unlimited key rollover is supported through the PS/2 interface, but only 6-key rollover through USB. 6-key is not that terrible, after all the functional limit is 10 keys unless the user is a rare polydactyl with a functioning extra finger. In order to have unlimited N-key rollover, each key on the membrane needs to be isolated with a diode. As this is rather difficult to achieve with a thin plastic membrane, please see my next suggestion.
5. Use Printed Circuit Board Contacts
The IBM Model F keyboards used a Printed Circuit Board with key contacted etched in the board, and the key mechanism used a carbonized switch to conduct electricity between the two halves of the contact. This denoted significantly higher build quality. Also, it gives an easy platform to install the diodes needed for N-key rollover. Get rid of those flimsy plastic membranes which true rubber domes use.
6. Fix the layout shortcomings
The IBM Model M keyboard had a few shortcomings over the older Model Fs. One, the function keys were relegated to the top instead of the side of the keyboard. Savvy keyboard users with the space can use extra function keys, so add a set of function keys on the left side of the keyboard. F11 and F12 would go to the left of the top function key row. This is nothing new, the Nortgate Omnikey Ultra and Ultra T featured two sets of function keys in this fashion.
The ~` and Esc key can be exchanged using removable keycaps, so no adjustment need be made there.
Some people prefer that the L. Ctrl should be where the Caps Lock key is on a Model M. All that is required here is to make a Caps Lock keycap and a Ctrl key (since the Model M's Caps Lock has cap and stem fused together). I would also make two models of Ctrl key, one with the lowered area (so people would not strike it by trying to hit the A key) and one without. Also, why not make a Caps Lock key without the lowered area.
L shaped Enter key? I have no particular views toward or against the big L shaped Enter key, which was a staple of the AT Model F keyboard. But since it replaces the | \ key, the usual alternatives are not very good. One option is to put it to the left of the Backspace key, which requires that key to be shortened. I have never liked this option, which is perhaps the AT Model F's biggest shortcoming. The next option is to put it to the right of the Shift key, ala the Nortgate Omnikey Ultra and Avant Stellar Prime, which is better but unlike a laptop we are not pressed for space here. The best place to put it is where one of the Windows keys go. I do not feel that sacrificing a Windows key to be that great of a loss.
7. Make the Keyboard Fully Programmable
While the keyboard can be reprogrammed in software, there are times when the keycodes being reported from the keyboard to the system would actually match what the key cap indicates. This is especially true when you have reconfigured your keycaps to match a DVORAK or AZERTY layout. No need to load drivers or special software. Volatile memory on the keyboard contoller should be used to indicate which scancode it outputs for each key, so the programming can be platform independent. A USB cable may need to be used for the programming option.
Subscribe to:
Posts (Atom)
































