Thursday, October 23, 2014

4.77MHz 8088, You're Needed!

The floor for all PCs, in terms of speed, is the Intel 8088 CPU running at 4.77MHz, the speed it ran in the IBM PC Model 5150 released in 1981.  However, there are various nuances when it comes to PC speed :

The IBM PCjr. also ran at 4.77MHz, but its access to 128KB of RAM was substantially slower than the PC because the video chip also accessed memory to refresh the memory.  It could decrease performance by 15-20%.  However, if software is ran in memory above 128KB, the performance is slightly better than the IBM PC.  Because the PCjr. was not designed to use more than 128KB, at least in the beginning, most early software did not account for the speed increase.  On the other hand, most PCjr.-specific software was contained on cartridges or self-booting disks and did not need RAM about 128KB.

A DOS rip of a PCjr. booter may run too fast.  Lode Runner is a good example of a game with this problem.  Fortunately it does have a speed adjustment that can reduce the speed to sane levels.  This is, however, a rare feature.

Most 8088s in the PCs and compatibles, including all the IBM PCs, XTs most of the PCjr.s, were socketed.  The NEC V20 was a very popular upgrade and was a simple replacement for the 8088.  It could increase performance by 15-20%, depending on the application.  Later, ISA accelerator cards like the Orchid Tiny Turbo and the Intel Inboard 386PC plugged into an ISA slot and the CPU socket and could speed up the system to be the equivalent of a low end AT or 386 machine.  Some brave users would try to overclock their machines by using crystal-switching devices like PC Sprint, which allowed the processor to use a faster clock crystal while the rest of the system used the standard clock crystal, vital for system timing.  

Later PC compatibles bumped the clock speed (Tandy 1000 SX, EX and HX), used a V20 (Tandy 1400) or the 8086 with a true 16-bit data path to RAM (some Compaq machines, Tandy SL, SL/2 and RL, IBM PS/2 Models 25 and 30) to improve speed without seriously sacrificing compatibility with software that relied on the basic speed.  Usually one speed "bump" would not be sufficiently serious to break software, but gameplay, sound effects and graphical effects could be affected when compared to the base machine.

However, when IBM released the IBM PC AT in 1984, it included a 6MHz 80286, which could run applications three times faster than the original PC or XT.  All the software that had been written before the AT's release had only to cope with one speed, so code that was dependent on processor speed could run far faster than intended.  Even when the AT was released, programmers did not necessarily put speed checks in their code overnight, the AT was an enormously expensive machine and games would be the last kind of software expected to run on it.  Thus for a five year period, 1981-1986, game software was generally designed to run on a 4.77MHz 8088.

In addition to the CPU speed, the speed of the video card sometimes needs to be taken into account.  The IBM Color/Graphics Display Adapter was the first graphics card for the IBM PC and compatibles, and it was widely cloned.  (By contrast, the IBM Monochrome Display and Printer Adapter could only show 80-column text and was not suitable for most games).  The PCjr. was only semi-compatible and the Tandy 1000 was (almost) fully compatible with IBM CGA, but it accessed memory far faster than the IBM card.  Some games rely on the performance of the IBM CGA card to produce special graphical effects.

Eventually, most early games will break sooner or later as the processor speed and generations increase, or the CGA hardware found less and less support with more advanced graphic cards.  Some games, however, like Shamus and Alley Cat, were famously far-sighted and could be run on virtually any system that can run DOS, regardless of processor speed.

IBM PC 4.77MHz

Defender
Defender simply runs too fast when the speed becomes any greater than one bump.  Forget about it running at a playable speed on a 286, even one that has been slowed down to 4MHz as with a Tandy 1000 TX or TL.  A 4MHz 286 is about as an 8MHz V20 or 8086.

Ultima I-IV
All of the first four Ultima ports to the PC vary the length of their sound effects, the speed of attacks and the spawning rate based on the system speed.

Dunzhin: Warrior of RAS
Dunzhin features synthesized speech, and the pitch of the speech is speed sensitive.  "Welcome to Dunzhin!"

IBM PCjr. 4.77MHz

Lode Runner & Championship Lode Runner
These games detect the presence of the PCjr. and adjust their speed.  Running games like these as a DOS conversion will result in the action running very fast.  The speed settings contained in the game may not fully compensate.

IBM PCjr. 4.77MHz and Tandy 1000 4.77MHz

Touchdown Football
This game was released by Imagic first for the PCjr. and somewhat later for the Tandy 1000.  At this point, the Tandy 1000 only ran at 4.77MHz and came with 128KB of RAM onboard.  The PCjr. version could run in a 128KB Tandy 1000, but the digitized speech would play back too quickly because the Tandy does not have same the speed penalty for memory accesses in its 128KB of RAM.  If you were able to accelerate your PCjr., the speech would playback too quickly.  The digitized speech in the Tandy version is affected by any speed bump, such as the 7.16MHz Tandy 1000 SX.  Fortunately, Tandy allowed you to change the speed of the CPU to 4.77MHz either at boot-up or in DOS.

Demon Attack
Also developed by Imagic and ported from the PCjr. cartridge version.  Similar to Touchdown Football, this game is extremely speed sensitive and runs properly only on a 4.77MHz 8088 Tandy 1000/A/HD/EX/HX/SX.

IBM PC 4.77MHz and Tandy 1000 4.77MHz

Super Boulder Dash
As discussed here : http://nerdlypleasures.blogspot.com/2016/08/boulder-dash-pc-speed-and-joysticks.html, the joystick will respond correctly only at this speed.  Fortunately it will still work with a V20 CPU.

IBM CGA Graphical Effects

Frogger
Jungle Hunt
Frogger and Jungle Hunt rely not so much on processor speed as they do on CGA speed to achieve the effect of making a change in the background color (Frogger) or palette (Jungle Hunt), in mid-frame.  Thus, the default graphics in Frogger will show blue water on the top and black pavement on the bottom, and show a white score text (using the intense cyan, magenta and white palette) on the top and green, red and brown in the playfield for Jungle Hunt.  Even at 4.77MHz, I discovered that at least Jungle Hunt will have an issue with initiating the palette switch on the right scanline when I was using an ADP-50L hard drive controller.  Using a different hard drive controller fixed the issue.

Digger
Digger uses a color-cycling effect on its High Score screen that looks properly when run on a 4.77MHz machine with a CGA card.

8088mph
This recent (2015) demo will only run correctly with a 4.77MHz 8088 CPU and an IBM CGA card. It relies both on the speed of the CPU and the video memory speed access of the CGA card, as well as the composite colors generated by the IBM CGA card.   It has different settings for Old and New IBM CGA cards.

Saturday, October 18, 2014

Hand-held gaming mods : Success and FAILURE!

If failure is one of the basic freedoms, as the Fourth Doctor tells D84, a sentient robot in the Robots of Death, then I have had been feeling very free lately.

Lately I have had a resurgent interest, as regular readers of this blog may note, in the Game Boy line.  I had a Game Boy Pocket and finally decided to try to install a backlight into it.  I ordered my backlight from Hand Held Legend, and it came very quickly.  I wanted a white backlight so as to minimize the color change when the backlight is installed.  While it will not look exactly the same, the Pocket's screen is close to true grayscale.

Before I could add the backlight, I discovered that the A/C power socket was not providing power to the system.  Batteries would work, so I guessed it was a bad connection.  I did not have a multimeter handy which I could use as a continuity tester.  The only schematic I had was for a Game Boy Color, and while the power section is very similar, there are differences.  I was able to fix the issue by soldering a wire from the positive pin to the positive battery terminal.  I do not believe that socket is connected exactly in this way and I may have destroyed an Official Nintendo Game Boy Pocket AC Adapter getting it to work.  I believe that at the very least there is a diode between the positive pin and terminal.  Fortunately, I had bought a Radio Shack (Enercell) 3v/700W AC adapter that worked.  You need to get an Adaptaplug Type A and the tip must be positive.  Unfortunately the wire I used for the patch was a bit too thick at .22 or .24AWG to snake it comfortably around the case.  Most Game Boy cases are tight, and tighter than they look when it comes to mods.

Okay, I fixed the AC power socket so I could use my 64MB GB Smart Card.  With the AC attached, there are no issues with contrast fluctuations with the screen.  I have read that this is also a concern with the vastly superior EverDrive GB, one of which I hope to obtain by this Christmas.

Now came time to install the backlight.  To install a backlight in a Game Boy or Game Boy Pocket, you need to remove the reflective and polarizing layers from the glass Liquid Crystal Display.  In order to remove these two layers, you have to wedge a razor blade between the layers and the glass, get a corner separated and then carefully pull the layers from the glass without destroying the screen.  The screen has connections horizontally and vertically, and the layers are affixed to the screen with some kind of adhesive.

The hardest part of the mod is removing these layers without cracking the screen or irreparably damaging the connections between the screen and ribbon cable.  While the screen comes totally away from the PCB, the ribbon cable goes up the back where you need to pull.  You have to get your razor blade in there without slicing the ribbon and pull all the layer off without damaging the ribbon or dislodging the ribbons connections.  I thought I did it right, but after I removed the layers from the Game Boy Pocket's screen, I found I had damaged the connection between the screen and ribbon cable.  There was a large gap in the scrolling "Nintendo", at least 16 pixels wide.  Unfortunately, unlike with an original Game Boy, heating up the area where the ribbon cable meets the screen with a soldering iron will not fix it.  I was able to get the lines appear some of the time by bending the ribbon on the bottom forward quite a bit, but this was obviously not a solution that would work in the long term.  Scratch one Game Boy Pocket.

I was not dispirited by this disappointment, and I knew that my local vintage gaming shop had an Original Game Boy, and I bought it off them for $20.  It was a bit dirty, the screen protector needed replacement and I could see that dirt had found its way onto the screen, but nothing that my used toothbrush and can of compressed air couldn't fix.  Fortunately the backlight I acquired can work in either a Game Boy or a Game Boy Pocket, and can fit inside the area for the screen without cutting.  Unlike the Pocket, the screen does not come totally off the PCB (the Game Boy has two PCBs).  The ribbons are soldered to the PCB, and you need to lift the screen up enough to get at the layers but not so much that you rip the ribbons from the PCB.

People online said that removing the layers from a Game Boy's screen was easier than the Game Boy Pocket's screen.  Unfortunately, I found it to be six-of-one, half-a-dozen of the other.  The inner layer did not come off easily, I had to peel it off pieces at a time and probably left razor nicks in the glass.  When I put it back together, I found that I did not have dead pixel columns.  Instead, the lower right corner looked like I had cracked it when I peeled the last of the layers off.  It looked similar to how a broken pocket calculator's LCD looked.  The rest of the screen functioned normally.  Scratch one DMG Game Boy.

The Game Boy after the back-light was installed, I threw out the Pocket before I could take its picture.
In one day I had essentially destroyed two great vintage video game systems.  However, I was still undaunted and determined to mod a hand-held system successfully.  Ten years ago I had bought an Afterburner Kit for my Game Boy Advance.  The complexity of trying to install the front light in my GBA put me off trying it, and once the front-light GBA SP came out, I bought one and the Afterburner went into my miscellaneous console stuff drawer.  Occasionally I would pull it out and contemplate installing it, but I would look at the lengthy instructions and turn back to my backlit GBA SP.  However, determined to have something to show for all my modding efforts, I grabbed a lightly used GBA I acquired and went to work.

The Afterburner is a PITA to install, no bones about it.  The hardest part for me was scraping down the plastic in the screen area.  All those little bits of plastic tend to create dusty conditions that tend find their way in between the screen.  I did not use a dremel because I did not know if I would carve too much and create holes in the front of the case.  That was a mistake.  I apparently lost the included 44 ohm resistor that goes to reduce the screen brightness.

They also give you these really tiny wires, which were difficult to strip with my wire stripper.  In addition to the front light, there is a piece of anti-reflective film that is supposed to go between the front light and LCD screen. Getting this thing on the LCD without bubbles forming was impossible.  Snaking those wires around the PCB was a miserable experience, and soldering the wires to the tiny potentiometer to control screen brightness and mounting it to the case was a miserable experience.  When everything was finally done, the case did not have the same snug fit as it did before I touched it.

I installed the backlight and found the result to be terrible.  The screen looked totally washed out and I had a hard time making out objects on the screen.  Game boy games were a little easier to see.  I thought installing the potentiometer would improve things, but it really didn't.  It was easier to make out the screen from an angle than from a head on view.  I thought I may have screwed up the AR film somehow.  I opened up the system, fiddled around with with and found that things looked better when the AR film was not present!  Maybe my AR film was defective or maybe I lost the proper layer in the last ten years.  I reassembled the GBA and found the results to be more tolerable, although it pales in comparison to my back-lit GBA (for which I had traded in my front-lit GBA).  Unfortunately when I was playing around with the front light and AR film, I had caused a few, quite visible, scratches to appear on the front light.  There is a bit of dust on the bottom part of the screen, but still I consider this mod much more successful than my Game Boy backlight mods.

The Game Boy Advance after the front-light was installed, the horizontal lines are a camera artifact.
The same system at an angle, you can see the scratches and dust, but the graphics are clearer than they appear.
Lessons I have learned from these experiences:

1.  Use thin wires, but thick enough to strip.

2.  A dremel is a wonderful tool, worth every penny.

3.  Have a safety razor handy.

4.  See through consoles help with threading wires.

5.  Have a spare screen protector ready

6.  If you don't break your Game Boy or Game Boy Pocket screen installing a back light, consider yourself fortunate.

7.  A dab of hot glue is not an evil thing.

Thursday, October 16, 2014

Retro Releases - Working within Limitations

When a home video game console is developed, often the designers could not predict how long the system would last.  The Atari 2600 was designed in 1976 and the last games were released for the system in 1990.  During the lifespan of a successful console, programmers would often push the hardware to limits well beyond what was thought possible when the system was designed.  

Console systems that relied on cartridges had one severe limitation, space.  The larger the ROM cartridge, the more costly it was for the publisher to make.  Adding special features like battery-backed save RAM or advanced functionality (like a MMC chip for a NES game, an MBC chip for a Gameboy/Color game, or a SARA chip for an Atari 2600 game) was even more expensive.  However, as manufacturing costs for cartridges decreased, larger games would become more economical.  Eventually, there came a point where space and functionality could, late in a console's life, only go so far to hide the age of the underlying hardware.

For an Atari 2600 game, 16KB was considered a large cartridge at the end of the console's life.  512KB would be about as large as most NES, SMS and non-color Gameboy games would get, 3MB for a Sega Genesis game and 4MB for a Super Nintendo game.  Even though most of those systems had larger games available, at those sizes the games were approaching the upper limits of what was feasible during the console's lifespan.  

Today, many, many programmers and developers make retro-themed games.  Often these games would have graphics that would hearken back to the 8-bit or 16-bit eras and have music to match.  Almost always, these games would be released for the Windows PC platform, the Intel-based Macs, or for Android or iOS mobile OSes.  Many would be available to download through a digital download source like Steam or an App store.  

These games lack at least two crucial features of real console games.  First, they have no permanent form, they exist entirely within the digital domain.  If your hard drive is wiped and your Steam account is deleted, there goes your game.  Sometimes they have DRM, so if Steam goes down then your access may be gone forever, despite having the program on your hard drive and backup.  By contrast, a cartridge (or a CD) has its own existence and the game's survival depends only on how well you treat the cartridge.  You can sell or trade or lend the cartridge as you please.  Licensing restrictions really never worked to keep people from doing any of these things.  

The second issue is that most of these games will never be remembered with the same fondness as Super Mario Bros. or Sonic the Hedgehog.  Those games were played by tens of millions of people, were ground breaking and state-of-the-art in their day, had significant cultural impact and historical significance.  A retro-style game may be very well received today, but its impact will probably pale in comparison to the giants that came before it.  

Retro-style games have a substantial advantage over the classic console games : they are run on vastly more powerful hardware.  Retro programmers tend not to have to worry about CPU cycle counting, assembler optimization, IRQ timing, sprite limitations and lack of sound channels.  By modern standards, it is a miracle that the NES and similar systems were able to run such games as they did.  No retro-style game need put up with these limitations, and even some that claim to do so (Mega Man 9 & 10) cheat when necessary.

Of course, with a game developed for a particular system, it must be contained on a cartridge if you want people to play it.  It simply was not feasible for most programmers to self-publish a cartridge in the 1980s or 1990s or even into the 21st Century.  Any such publishing was typically limited to Atari 2600 games, which are among the simplest cartridges to make.  

For more advanced systems, there are many difficulties in releasing a new game.  Burning EPROMS and soldering them onto donor carts to test games was not attractive to most people. Moreover, using donor carts is just not feasible for publishing a new game, new cartridge boards had to be produced. Unlike a pre-crash game, which could be programmed by one person, a complex game for the NES, SNES or Sega Genesis typically requires a team of several people.  Whatever price the game is sold for will not pay for the thousands of man-hours it took to create a game.  Game development must be balanced with real-life realities.  Also, there is a real probability that once your game is released, the ROM will be dumped and spread across the Internet.  

However, even though a game may be developed or ported to work on a real hardware system, there are examples when the hardware is simply way too advanced for the console.  At this point, the console becomes little more than a generic device that supplies power and inputs to the game.  The SNES MSU-1 is an example of too much hardware.  It can store and allow the SNES to access 4GB of data!  Not even if the canceled CD-ROM attachment came out could the SNES access so much storage space.  CD-ROM attachments were not seamless, players had to suffer load times, CD audio track reloading and the ever present drive noise.

I respect any game developer who is willing to work within reasonable constraints and able to produce memorable games.  Pier Solar is an example of a game that, while it pushes the limits of a Sega Genesis a bit (8MB cart), is still an original game that fits within the Genesis RPG library.  Battle Kid 1 & 2 for the NES are excellent games that would not have seemed out of place during the NES's heyday.  However, the number of new, substantial (not puzzle games) cartridge games for home consoles is still very few in number.

One last comment on homebrew games is that I cannot feel that a game is fully legitimate unless it is released on a cartridge.  ROMs are nice, and if they run on a flash cart that is great, but to have a unique cartridge, preferably with a box and manual, truly confirms a game as legitimate and tends to avoid issues with them being lost to time.

A related issue is the release of "VGA upgrades" to old adventure games like King's Quest I, II & III, Space Quest II, Quest for Glory II.  The trouble I have with them, besides the inconsistent quality of the updated graphics, is that while they purport to look like an SCI1-1.1. game, underneath they are anything but.  They do not use Sierra's SCI engine but Adventure Game Studio.  While they do nothing that would push a 486, they are meant to run on nothing less than a Pentium II and create 100MB save games.  Totally inefficient and wasteful.

As of June 13, 2015, here are the NES Homebrew carts that you can buy.  Items in yellow are currently out of stock.

Title Company/Developer Includes Optional Ordering Site
2 in 1 Geminim/Siamond Sivak Dust Sleeve
http://www.retrousb.com/product_info.php?cPath=30&products_id=59
Armed for Battle Rizz Dust Sleeve Box & Manual http://www.infiniteneslives.com/armedforbattle.php
Battle Kid 2: Mountain of Torment Sivak Manual, Dust Sleeve Box & Art Book http://www.retrousb.com/product_info.php?cPath=30&products_id=121
Battle Kid: Fortress of Peril Sivak Manual, Dust Sleeve
http://www.retrousb.com/product_info.php?cPath=30&products_id=86
Beerslinger Greetings Carts

https://www.etsy.com/listing/234297536/beerslinger-nintendo-nes-brand-new?ref=shop_home_active_2
Blow 'em out Greetings Carts
Box & Manual, Personalized Cart https://www.etsy.com/listing/215571036/blow-em-out-a-personalized-original
Chunkout 2 James Todd Dust Sleeve
http://www.retrousb.com/product_info.php?cPath=30&products_id=65
GemVenture Tom Livak

http://www.retrousb.com/product_info.php?cPath=&products_id=92
Glider RetroZone Manual, Dust Sleeve, Box, Insert
http://www.retrousb.com/product_info.php?cPath=30&products_id=58
Homebrew World Championships (HBWC) 2012 Multiple Dust Sleeve
http://www.retrousb.com/product_info.php?cPath=30&products_id=129
Larry & the Long Look For a Luscious Lover KHAN Games Manual, Dust Sleeve, Box, Insert
http://www.retrousb.com/product_info.php?cPath=30&products_id=133
Mad Wizard, The Sly Dog Studios

http://www.retrousb.com/product_info.php?cPath=30&products_id=137
Mystic Pillars Sivak Dust Sleeve
http://www.retrousb.com/product_info.php?cPath=30&products_id=55
Nighttime Bastards One Bit Games Manual, Dust Sleeve Box http://www.infiniteneslives.com/nighttimebastards.php
Nomolos: Storming the Catsle (Re-release) Gradual Games Manual, Dust Sleeve Box http://www.infiniteneslives.com/nomolos.php
Star Versus Studio Dustmop Manual
http://starversus.com/
Study Hall KHAN Games Dust Sleeve Box & Manual http://www.retrousb.com/product_info.php?cPath=30&products_id=128
Super NeSnake 2 Matrixz Dust Sleeve
http://www.retrousb.com/product_info.php?cPath=30&products_id=60

Sitting this One Out - The Lack of an American Presence in the Third Generation of Console Video Games

After the video game crash of 1983-84, there were far fewer companies making video games than at the height of the second generation of home video game consoles.  What companies remained focused solely on home computer games.  When the NES kick started the third generation of console games and revived the console industry, few people overlooked the fact that Nintendo was a Japanese company.  Nintendo thoroughly dominated the 3rd generation of home video game consoles.  Sega was also a Japanese company, although its console had less impact in the United States and Canada, it still competed with Atari for 2nd place.

If you looked through the credits of most NES games (that had credits), the names would typically be Japanese names.  Of all the great, classic NES games, virtually all came from Japanese developers.  Some of the best known are Shigeru Miyamoto, who created Super Mario Bros. and The Legend of Zelda, Kenji Inafune of Mega Man fame, Hironobu Sakaguchi, original designer of the final Final Fantasy series, Yoshio Sakamoto, designer of Metroid and Kid Icarus, Genyo Takeda for (Mike Tyson's) Punch-Out!! and the Startropics games, and of course no list can be complete without Yuji Hori of Dragon Quest/Warrior renown.

I do not wish to be ignorant by implying that America did not have an important role to play in the third generation, as it most certainly did.  Americans bought millions of systems and games and millions were spent to get them to buy those games.  Success in America transformed the console from a single-country (Japan) success into a global phenomenon, even if it was not as dominant in Europe.  Nor do I ignore the important contributions of several Americans like Howard Phillips, Howard Lincoln, Henk Rogers and (indirectly) John Kirby.  Without them, Nintendo of America may never have been able to make the console a success.

However, when it comes to classic console games of the third generation, virtually none can be traced back to American developers.  What few nuggets did come from the States were ports of well-regarded home computer games.  AD&D Pool of Radiance, Hillsfar & Bard's Tale, Boulder Dash, Raid on Bungeling Bay, King's Quest V, Lemmings, Maniac Mansion, Might and Magic, Pipe Dream, Pirates!, Prince of Persia, Skate or Die!, Ultima III and IV, Wizardry I & II.  Many of these games were good ports but most lost something in translation, or their appeal was lost on NES gamers.

The U.K. developer Rare cannot be overlooked in this article.  Rare(ware) made great original games like Snake, Rattle & Roll, Battletoads and its sequel Battletoads & Double Dragon, the Ultimate Teamup.  It also made the R. C. Pro-Am and Wizards and Warriors series.  Although the latter series is uneven, #3 is quite good.  Their pinball ports, Pinbot and High Speed, are probably the best pinball games on the NES.

While there were several American unlicensed companies that released NES games like Tengen, American Video Entertainment and Color Dreams, Tengen's best titles were ports of games already released for the Famicom (Alien Syndrome, Fantasy Zone, Rolling Thunder, Shinobi) by other companies and the other two were bottom feeders that almost never released good games.  Many of AVE and Color Dreams games were games developed in Taiwan.  Codemasters was  a U.K. company that made at least one great game, Micro Machines, good ports of the Dizzy games (which originated on the U.K. home computers) and demonstrated that they could compete with Nintendo's official licensees.  Camerica distributed Codemasters games in the US and Canada.  There were a few decent games from the unlicensed US NES developers, but if you are looking for classics, look elsewhere/.

Most American designers were commissioned by outfits like LJN and Acclaim to make licensed games.  Virtually all suck.  If I had to list all the crappy licensed games made for the NES, we would be here for a while.  Some of the Star Trek and Star Wars games are okay, but nothing spectacular.  Games based on gameshows like Wheel of Fortune and Jeopardy fulfilled a need, but the individual games are largely forgettable.

Things are not completely hopeless on the U.S front.  One arguable classic from U.S. shores is David Crane's A Boy and his Blob.  I consider this as close to an official David Crane's Pitfall 3 as he ever got.  The graphics were drab, the music repetitive, the controls somewhat loose and the scrolling notable for its absence.  However, the design is first rate, with all the things the blob can do and all the ways you need to do it to solve puzzles and explore the game world.

Regarding the NES's two closest competitors, there were few American original games released for the SMS, and the ports were typically done by Japanese or Europeans and released only in Europe or Brazil.  The 7800 had some great arcade ports, but it had a small library and few original games for the console.  No classics here.

This situation would continue into the 16-bit generation.  The big two consoles, the Genesis and the SNES, still had the bulk of their classics from Japan and Europe.  At least U.S. game developers were starting to take consoles seriously, but it would take at least another generation or two before the U.S. could boast of parity with the Japanese and European developers.  In the fourth generation, we have such lustrous titles and series like Earthworm Jim, Zombies Ate My Neighbors, Super Star Wars, the Lost Vikings, all developed primarily by US developers.  LucasArts never shined on the NES, but on the SNES, it was a different story with the above and games like Metal Warriors.  The Sega Genesis may be a bit more egalitarian than the SNES, but only because Nintendo really just kept hitting the home runs on its 16-bit wonder.  Of course, I could mention all the sports games like Madden and NBA Jam and quality arcade ports of the Mortal Kombat series.

Monday, October 13, 2014

Battery Life in the 8-bit Game Boy Line

When the Game Boy was released in 1989, it was the first portable video game system using interchangeable cartridges.  (While the Microvision had been released in 1979, the games themselves attached to the base and provided controls and CPU as well as program code).  In the palms of the player's hands they had much of the power of the NES.  However, its rivals the Atari Lynx, Sega Game Gear & Nomad and the NEC Turbo Express, could have easily eclipsed it with their color screens.

The Game Boy had two huge advantages over its rivals.  First, it came with the killer-app pack-in, Tetris.  Second, it had far superior battery life to any of its rivals.  In this post, I will discuss battery life among the four members of the 8-bit Game Boy line, the original DMG Game Boy, the Game Boy Pocket, the Game Boy Light and the Game Boy Color.

1.  Game Boy DMG-01

The DMG-01 takes four AA (LR6) batteries and there was an official Rechargeable Battery Pack, DMG-03, available at launch, that could provide portable or AC power.  Regular Alkaline AA batteries are rated to provide a nominal 1.5 volts and 1800-2400 milli-amperes per hour (1A = 1,000mA) depending on the energy drain of the powered device.

The DMG doesn't tell you directly everything you need to know about its power requirements.  On the back of the DMG, the text states that the DMG is rated for 6 volts and 0.7 watts.  If you look in the Game Boy Owner's Manual, (p.12) you will see that this is not the maximum power consumption for the device, just the approximate usage.  Power consumption depends on what game is used and what it is doing.  The manual gives approximately 15 hours on 4xAA, but I have seen other estimates of 35 hours.

Four out of five of the launch titles for the DMG, Alleyway, Baseball, Tennis, Tetris would have required fairly little power.   These small (32-64KB) games only tend to animate a small portion of the screen, leave lots of undrawn "white space", do not use extra RAM in the cartridge, are often silent or do not always have music playing and rarely scroll the screen.  The fifth launch title, Super Mario Land, is a substantially more complex game and would have a greater power draw.  Larger (128-512KB) and more complex games after these launch titles would almost certainly draw more.

Back to our DMG, we need to determine the amperage the device requires.  Fortunately the relationship between volts, amps and watts is simple :

W = V x A

Dividing the wattage, .7, by the voltage, 6, we get .11666A, or 116.66mA.  If we look at the rechargeable battery pack specs, we see that it provides 150mA, confirming the ampere requirements for the DMG.

The DMG and its successors connect its batteries in series so that the output voltage is the sum of the output voltage of each individual battery.  So four 1.5v AA batteries will give a voltage of 6v.  Unfortunately, the mAh available to the Game Boy does not increase with extra batteries.  If the batteries were connected in parallel, it would increase but the voltage available would only be 1.5v, which is nowhere near sufficient to drive the device.  Thus you get a tradeoff, either you increase the voltage or the current that can be provided, but not both.  

The rechargeable battery pack also tells us that it provides 4.8v to the Game Boy.  Rechargeable AA batteries like NiCd and NiMH batteries provide a nominal 1.2v per cell.  NiMH was just coming on the market in 1989, and the rechargeable battery pack used NiCd batteries. However, the Game Boy is fairly tolerant of the variance between 6v and 4.8v, probably because it uses 5v logic.  Besides, depending on the quality of the Alkalines being used, that 1.5v per cell may be very nominal indeed.  Moreover, the voltage of an alkaline declines over time, whereas a modern NiMH battery's voltage remains much more constant until it reaches the point of discharge.

Now we come to the issue of mAh.  Consider the following datasheet :

http://data.energizer.com/PDFs/E91.pdf

As we have determined, the Game Boy requires an average of 116.66mA to operate.  According to the Milliamp-Hours Capacity, at that amperage requirement the battery can provide approximately 2400mAh.  If we divide the mA by the mAh, we get 20.57 hours.  Nintendo's estimate may have been a bit conservative here, but they could have been thinking ahead for the more complex games to come.

Nintendo was not only introducing a new video game console, it was introducing a new video game concept. It had to convince buyers that they should buy an expensive hand-held video game machine and its cartridges.  It also had to show that the simple games from Tiger Electronics simply were not good enough.  First impressions counted a great deal, and Nintendo could not afford to fudge the battery life figures too much.  This was especially true because of how crucial battery life was to the hand-held video game market.  Nintendo's success rested in no small part on its battery life.  You could get 15-20 hours out of a Game Boy on a fresh 4-pack of batteries.  Its competitors required 6 batteries and could give you six hours at best.

2.  Game Boy Pocket MGB-001

The Pocket was the second iteration of the Game Boy line, released in 1996.  This was a comparatively slimmer device, as its name implies.  The Pocket takes 2xAAA (LR03) batteries and has power requirements of 3v and 0.7W.  Thus, although the Pocket's logic may require fewer volts to operate, it requires double the amps, 233.33mA.  Therefore the actual power to operate the Pocket is unchanged from the DMG.

The official Game Boy Pocket A/C Adapter from Nintendo, MGB-005, outputs 3v and 300mA.  A similar third-party adapter from Hori outputs 350mA.  The Pocket A/C Adapters are to be used with the Game Boy Light and Color.  In Japan there was a rechargeable battery pack for the Pocket.

The use of AAA batteries kills the battery life of this machine.  An Alkaline AAA battery has the same voltage as an AA battery, 1.5, but only provides 850-1200mAh.  There is only about half the energy available to the Pocket as there is to the DMG.  I have seen quotes of battery life of 8-10 hours for the Pocket.

If we take the datasheet here as a guide :

http://data.energizer.com/PDFs/E92.pdf

We can see that at 233.33mA, we are only going to get about 700mAh out of our good AAAs.  This gives us a pathetic 3 hours.  Perhaps Nintendo was measuring it against the titles that were available in 1994-1995, such as Kirby's Dream Land 2 and Donkey Kong.  The strict approximation doesn't seem to hew to the reported battery life, which demonstrates that the Nintendo or the battery makers were treating the issue of battery life very conservatively.

3.  Game Boy Light MGB-101

The Game Boy Light, released only in Japan, functions like the Game Boy Pocket with a switch to activate an electro-luminescent backlight.  The Light uses 2xAA batteries and boasts 20 hours of play without the backlight and 12 hours with it on.  The power requirements have also decreased slightly to 3v, 0.6w.  Thus it requires an average of 200mA to run.

According to the datasheet, at 200mA we have approximately 2000mAh.  If we divide the mA by the mAh, we get about 10 hours on a pair of AAs.  One hopes that the stated power requirements were taking the backlight into consideration.

4.  Game Boy Color CGB-001

The Color has the specs of the Light without the backlight.  I have seen quotes of battery life of 20-35 hours.

Now the Color has the same power ratings as the Light, but this time it has a color screen, three times the RAM and a CPU that can run twice as fast as the Light, Pocket and DMG.  The games themselves are typically larger, from 1-4MB.  I suspect that the battery life is more impressive if it runs monochrome Game Boy games than if it is running Color Game Boy games because those extra features are not being used.

Compared to the original DMG, the Color seems to have less life.  However, the Color can run on 2 AAs whereas the DMG requires 4.  I would say that with 4 AA batteries (meaning you need to replace the batteries once), you can probably get the same amount of playtime as you would with a DMG.

The videos here may be very instructive :

https://www.youtube.com/watch?v=XsU4AcYhjy8

https://www.youtube.com/watch?v=VgKdEa06qUs

The video maker in his first video gives a battery life of 31hrs 12mins for a DMG and in the second video 35hrs 45mins for a Color.  In the later video, the relatively short time for the Game Boy is because one of his children turned it off prematurely.  However, both systems were running monochrome Game Boy games, and I cannot tell for certain what game was in the DMG, but it appears both videos used the same game in the DMG.  I think it is Super Mario Land.  (For the Color it was Top Rank(ing) Tennis).  Super Mario Land has an attract mode, but Top Ranking Tennis has animation and music on its title screen, so the cartridges seem pretty fair.  However, if a true Color game were being played, I would certainly think that the time would be significantly shorter.

Saturday, October 11, 2014

Directional Difficulties - The Early Keyboards and Cursor Keys

When IBM introduced the PC, it came with an 83-key keyboard keyboard that a number row and a numeric keypad.  There were no status LEDs on this keyboard, so the only way you could tell whether the Num Lock key had been pressed was by observing the behavior of the numeric keypad.  If a number was typed, then the Num Lock was on.  The general layout was as follows :


All layouts taken from here : http://www.quadibloc.com/comp/kyb03.htm.  There were also separate + and - keys and a PrtSc * key.  Not every game used the numberpad for directional controls.  

For the IBM PCjr., IBM severely cut down the keyboard size, build quality and number of keys.  There was no numeric keypad.  Instead, the keyboard only had six discrete cursor keys.  Here is the new layout :

The cursor keys pull double and even triple duty, as their function changes  if the Shift or Fn key is held down.  There is no Num Lock key on this keyboard.

The Num Lock key can be "pressed" by hitting Alt, Fn and N.  When the Num Lock function is activated in this manner or the Shift key is pressed, then Up becomes 8, Left becomes 4, Right becomes 6, Down becomes 2, Ins becomes 0 and Del becomes .  If the Fn key is held, then you get Home, Pg Up, Pg Dn and End for Up, Left, Right and Down, respectively.   Press Fn and Shift, and you get 7, 9, 3 and 1.  Numberpad key 5 cannot be directly generated by the PCjr. keyboard.

The next major keyboard innovation came from Tandy.  Tandy 2000 and more importantly 1000 keyboards have separate cursor control keys in the now familiar inverted-T layout.  In addition, there is a numeric keypad, but several functions have been changed.  There are individual keys for Home, Insert and Delete. Here is the layout :


There are more differences between an IBM and a Tandy keyboard as well.  However, the differences do not always make a difference to programs.  There are two general methods with PCs to determine which key was pressed.  The first was to call Int 16h.  The result would give you a translated scan code and an ASCII character.  The second was to read the raw scancode directly from the hardware.  Some programmers used the second method with their own keyboard interrupt handlers.  This tends to be the cause of keyboard incompatibilities.

Because some keys, like the numberpad keys, can give results identical to other keys on the keyboard, even the BIOS allows you to distinguish between the 1 key on the number row and the 1 key on the number paid.  You can tell the difference between the Left and Right Shift keys, even though their function is totally identical.

A Tandy has a Num Lock key and even a status LED, but when the Tandy boots up, the Num Lock defaults to off, just like the PCjr.  An IBM PC defaults the Num Lock function to on.  Many games require you to turn the Num Lock on when running on a Tandy 1000.  This is because the characters given by the Tandy keyboard are often not the same as on an IBM PC keyboard.  However, for numbers they will always be the same.  

The Tandy inverted T cursor keys are another issue.  A well-behaved program doesn't care which key is pressed so long as it reads the scancode it expects.  However, not every DOS game is well-behaved.  In DOS, the separate cursor keys function as they would on an IBM Model M keyboard.  However, some games rely on the numeric keypad to give eight movement directions.  Tandy's inverted-T cursor keys give different raw scancodes and may not always be recognized.  

Later Keyboards :

The 83-key keyboard layout was followed for the PC AT keyboard with a few differences to key placement and size.  IBM included status LEDs and an 84th key for Sys Req.  The raw scancodes are completely different from an 83-key keyboard, only the BIOS allows for compatibility with PC and XT software.  However, despite the fewer number of keys compared to more modern keyboards, it is still usable in any system with a PS/2 port.  

Finally, IBM released the Model M 101-key keyboard which essentially defined the minimum number of keys and the basic layout that we use today.  Its provided fully separate cursor keys in addition to the numeric keypad.  Most of the time, the cursor keys can be used as directionals, but because they have different raw scancodes than the numeric keypad cursor keys, some games will not recognize them.  The Model M supports three sets of raw scancodes, Set 1 is the PC/XT scancodes and it sends those scancodes when it is plugged into a PC or XT or Tandy 1000 TL/SL/RL or the 8086 based IBM PS/2s (but compatibility with anything other than the PC/XT's 2nd or 3rd BIOS is dicey).  Set 2 is when it is plugged into an IBM PC AT, PC/XT Model 286 and just about every other computer, including modern machines. Set 3 was intended as the native PS/2 scancode set and is similar to Set 2 but was rarely used. 

Three Flight Simulator Joysticks for DOS

I want to compare and contrast the three DOS-era joysticks I own suitable for DOS Flight Simulators, Racing Simulators and the like.

1.  CH Flightstick Pro

One of the first modern joysticks, this almost-completely ambidextrous joystick has four buttons, a 4-position hat switch, two trims and a throttle wheel.  The throttle wheel acts as the Y-axis of the second joystick.  The 4-position hat switch is implemented as button combinations.  Hat up is buttons 1,2 3 & 4, Hat down is buttons 1, 2 & 3, Hat right is buttons 1, 2 & 4 and Hat left is buttons 1 & 2.  Due to this, the individual buttons will not register simultaneous button presses.  Button 1 will have priority over buttons 2, 3 and 4, button 2 will have priority over buttons 3 and 4 and button 3 will have priority over button 4.


This joystick is by far the "loosest" of the three.  The stick offers little resistance and it seems you can move the stick much further than you would think.  With my joystick the trims frequently get dislodged, causing things to go haywire.  I put electrical tape over them to keep them in place.

To open the joystick, you must dislodge all four of the rubber feet around the edges to get at the screws.  This is annoying because you can scrape the sticky stuff holding the rubber feet to the bottom off.

The stick's design has been very popular over the years, and the basic design is still being sold today in a USB form.

2.  IBM 76H1571 Joystick

Despite IBM introducing the PC joystick interface in 1981, I believe this may be the only IBM-branded joystick released for the PC-compatible platform that is suitable to hold in your hand.  It was made for IBM by Anko Electronic Co., Ltd., and was branded for its Aptiva line of computers.  Its for right handed people only.


It has four buttons, a 4-position hat switch, two trims, a throttle wheel and a pair of two position switches.  This joystick is fully Thrustmaster Flight Control System compatible, where the hat switches represent resistance values of 0.2 (Up), 20 (Left), 40 (Right), 60 (Down), 82 (Center) kOhms on the Y-axis of the second joystick.

The left switch, when set to the right position, enables Thrustmaster compatibility.  When set to the left position, it disables the hat switch and allows the throttle wheel to function on the Y-axis of the second joystick.  It does not provide full CH Flightstick Pro compatibility because the HAT switch is disabled.

The right switch, when set to the left position, enables rapid fire action for button 1 only.  The right position is normal button operation.

Unlike the other two joysticks, it has suction cups on the base.  It also has steel weights screwed into the inside of the base to give it extra weight.  This stick has the stiffest feel and the travel distance feels short.  The screws for opening the stick are all completely visible.

As I do not own a true Thrustmaster joystick, I do not know how well the build quality or stick and button action compare to the real thing.  Even still, it fills a hole in my joystick collection.

3.  Microsoft Sidewinder 3D Pro

Microsoft's first joystick shows a transition between DOS-compatible hardware and Windows-feature hardware.  It is more-lefty friendly than the IBM stick, but despite its shape it is not truly ambidextrous.  It has four buttons and a hat switch on the stick, a throttle wheel and the stick can be twisted for a X-axis.  It has four buttons on the base and a mode switch on the bottom of the base with two positions.


The CH and IBM joysticks use traditional potentiometers to indicate stick movement and need the trim controls.  The Microsoft joystick uses optical sensors to determine stick movement and converts the data into an analog resistance value.  There is also a "digital" mode which allows for direct optical support, ultra precise input and the use of the four buttons on the base, but the driver must have explicit support for it with DOS.  The four extra buttons on the base of the stick also require specific driver support.  The Windows drivers should allow for full game support.  As far as I know, only Mechwarrior 2 for DOS supports the "digital" mode of this stick.  Descent does not and Descent 2 does only with its Windows version.

Unfortunately, this stick may only be compatible in its digital mode with Windows 95 or 98.  I have read that it can be tricky to get working in ME, 2000 or XP.  You may want to try and build a gamepad to USB converter.

The mode switch, when set to the 1 position, enables full CH Flightstick Pro compatibility.  When set to the 2 position, it enables full Thrustmaster FCS compatibility.  Due to the way the Hat switch works in these modes, the hat switch is only a four way switch.  (This also applies to the CH and IBM sticks).  The twisting function is recognized in either mode, so it will register as input on the 2nd joystick's x-axis.

There is one notable flaw in the design, the throttle control.  The throttle control rubs plastic against plastic and is particularly open to attracting dust and debris through the slot.  There is grease that will need to be cleaned out and replaced.  My stick's throttle control is very stiff, some lubricant can help.

The lack of trims is both a blessing and a curse.  The blessing is that your joysticks will not drift because the trims get adjusted.  The curse is that you may not be able to get a perfect center for your game.  Depending on how sensitive your game is, it may throw you the game's calibration off.

To open the stick requires not only removing the feet on the "tips" of the joystick but also a screw covered by the Microsoft label on the bottom.  There are weights on each side of the stick for balance.  One optical sensor handles all four joystick axes.

One thing to note is that this stick's DA-15 connector does not have all the pins on it.  Pins 5, 8, 9, 12 and 15 are not  supposed to be present on the connector.  If you see a stick for sale with these pins missing, do not let it faze you.

The Microsoft default drivers for this stick in Windows are very speed sensitive.  This stick was released during the Pentium era, but apparently the designers did not future proof their drivers because the stick will go haywire with a Pentium III.  This is despite the optical encoders having the precision of a mouse.  Fortunately there are custom drivers that will allow you to get an adjustable speed setting, to a point.

Sunday, September 28, 2014

The Lost PC Game Versions

Updated 03-28-2021

Originally this blog entry was titled "The Lost PCjr. and Tandy 1000 Game Versions".  However, several years later there are very few games known to have any special support for PCjr./Tandy graphics or sound remaining unavailable.  So I have decided to expand this list with other notable games.  You won't find these games in any DOS or ROM collection, on any abandonware site, from any torrent site, or to buy from any legitimate retro PC game selling site like Good Old Games.  Where I know of corroboration for these games, I will give it.

Agent USA - Tandy
Supports PCjr. graphics and was advertised for sale in Tandy's catalogs, so a Tandy version with support for enhanced graphics may exist.

Congo Bongo - CGA Composite
This game, like Tapper, came as a "flippy" disk.  This is a disk where both sides are independent of each other and can be used in single or double sided drives.  This is rare on the IBM PC, and disks for the IBM PC have two index holes.  Ultima 3 also used a flippy.  One version had graphics suitable for RGBI monitors, the other was meant for composite color monitors.  The composite color version has yet to be preserved and distributed.

Dragon's Keep - PCjr.
Based on installation instructions in the manual for the PCjr. and magazine articles from the time period, this game may have been ported to the PCjr.

EcoQuest 1 - EGA 16-Color
EcoQuest uses the Sierra SCI1 engine, and like other SCI1 games, it had separate 16-color and 256-color versions.  Other SCI1 games like King's Quest V and Conquests of the Longbow have their 16-color versions available, this is the only one which is not available.

Gauntlet II - Tandy DAC
Gauntlet II had a bonus disk, which you had to send away for to Mindscape, that added digitized sound support for owners of a Tandy 1000 with a DAC, such as the TL, SL and their successors.

Mouskattack - PC
A 2019 discovery of this Sierra port from the Apple II and Atari 8-bit computers : https://www.mobygames.com/game/mouskattack/cover-art

Oil's Well - PCjr.- PCjr.
Although there is a hack which gets Oil's Well working on a PCjr./Tandy 1000, the original disk still needs to be redumped because the disk was damaged where the PCjr. code was.  The original game may have PCjr/Tandy sound support.

Superbowl Sunday - Tandy
Supports enhanced PCjr. graphics.  Advertised in Tandy's catalogs, so a version that supports enhanced graphics on a Tandy may exist.

Wizardry II - 5.25" Disk
The Wizardry sequels were released on 5.25" disks and 3.5" disks, but only the latter are available for Wizardry II.  All booters should have 5.25" disks versions available because early computers like the IBM PC, XT and PCjr. did not have 3.5" drives.

Saturday, September 27, 2014

Oddball EGA and VGA Resolutions, When the Standard Resolutions Aren't Used

I have already indicated in several posts that 320x200 was generally the resolution for DOS games.  However, in my previous post I discussed how the classic DOS pinball games use Mode X resolutions.  In this post I will identify other games that use non-standard resolutions.  While there are a few games that use oddball EGA resolutions, custom resolutions really came into play with VGA.  Once people figured out how to manipulate its CRT Controller Registers without destroying their monitors, all manner of resolutions became possible.

In addition to supporting all CGA Graphics and Text Modes and the MDA Text Mode, the standard BIOS Supported EGA graphics modes are :

Mode 0Dh - 320x200x16
Mode 0Eh - 640x200x16
Mode 0Fh - 640x350 mono (intended for monochrome MDA monitors)
Mode 10h - 640x350x16/64 (can display 16 colors from palette of 64 colors, requires color 350-line monitor)

In addition to supporting all the mode EGA supports, the standard, BIOS Supported VGA graphics modes are :

Mode 11h - 640x480x2 (intended for monochrome analog VGA displays, MCGA compatible)
Mode 12h - 640x480x16 (60Hz, all other VGA modes run at 70Hz)
Mode 13h - 320x200x256 (MCGA compatible)

For the list of games, I have taken my own screenshots with DOSBox.  Any aspect ratio correction from DOSBox has been removed.  If no scalers or aspect ration correction settings in DOSBox are used, 320x200, 320x240, 360x200 and 360x240 resolutions are not scaled.  Other resolutions are stretched as follows :

320x350 to 640x350
320x400 to 640x400
320x480 to 640x480
360x350 to 720x350
360x400 to 720x400
360x480 to 720x480

Certain resolutions, like 320x240, need no aspect ratio correction, since that mode was used to ensure square pixels.  Many of these modes may not fill to the edges of a VGA monitor.

Gauntlet

256x200 EGA Mode :


Gauntlet uses this mode, which seems derived from the 320x200 16-color mode.  Gauntlet and F-15 Strike Eagle also use an unusual for EGA 160x200 16-color resolution, but this may not be an actual new mode as just drawing every pixel twice in the 320x200 16-color mode.  Sierra's AGI games also use an effective 160x200 graphics resolution, but use the typical text font for the 40 column text modes, which require 320 horizontak pixels.

Lemmings & Oh No! More Lemmings

These games change the palette entries in mid-frame in order to select more colors than would be normally possible in the 640x350 16-color mode.  Lemmings uses this only for the screen type below, and no other place.  Regular DOSBox v0.74 will show these proper screens with the vgaonly machine type.

640x350x"32" EGA Mode :


640x350x"32" VGA Mode :


Pinball Fantasies

Same issue with Pinball Fantasies, but only on the table select screens and using a different resolution. Without this effect, the car would look mostly green.

640x480x"32" :


Pinball Illusions

Pinball Illusions is one of the most demo-like games ever released by a developer with any stature in the PC DOS game world of the time.  It uses several weird modes and very demo-like effects.

320x400 :



These graphics should obviously be stretched horizontally.

320x145 :


320x290 :



These banners should also be stretched horizontally to fill the screens, they look wrong without aspect ratio correction.

320x240 (304x224 active pixels) :


This screen is very interesting.  The active screen is 304x224 pixels, and this is what DOSBox captures in a screenshot.  On a real monitor, there is this dark blue border seen in the screenshot.  You can see this border in a custom version of DOSBox like daum that has border support.  I had to add the border in this screenshot, and I figured that 8 pixels on each side would ensure that the screen ratio was 4:3, those are rotating cubes.

Jurassic Park

This game is clearly an Amiga port.  One of the main game types uses an odd 320x184 mode.  I suspect that it was done for performance issues, as the same resolution is used for the Amiga.  The game uses 320x200 for the other game type, which is a first person 3D shooter.  However, the Amiga confines the action to a small window, whereas the DOS version the action takes up most of the screen.  Some Amiga screens use a 320x256 resolution (found on PAL Amigas), including the loading screen.  The loading screen shows a perfect circle, whereas the same screen in the DOS version, which uses 320x200 pixels, does not without aspect ratio correction.

320x184 :


Prehistorik 2

Why did the programmers decide to eliminate 8 pixels from the standard resolution?  Because they could, evidently.  Game uses 320x200 elsewhere, including on the in-game screen.  The difficulty selection screen shown below uses a typical demo effect.

312x200 :




Cyril Cyberpunk, a.k.a. Cyberboard Kid

288x224


No aspect ratio correction required.

Jazz Jackrabbit & Jazz Jackrabbit : Holiday Hare '94 & '95

320x199 :

I hypothesized earlier that the programmers made a tiny tweak to the standard mode to ensure that the adapter would run this mode at 60Hz, not the default 70Hz. The question of whether the game requires aspect ratio correction is complex.  The in-game screens clearly do not :




If you look at the circles in the last two screenshots, you can see that they are perfectly circular.  Aspect ratio correction would only stretch them into ovals.  Similarly, the large and small "diamonds" in the first two screenshots are actually squares, as each of the four sides has the same length.  In fact, on a real VGA CRT, the in-game graphics should appear in a letterbox mode with large borders on the top and bottom.  However, if the user decides to stretch out of screen vertically, then the objects will become elongated.  There are no other near modes that would show the detrimental effects of the stretch, so the effect may be lost.  

On the other screens, some may require aspect ratio correction, while others do not.  Here is one that does not :


On the other hand, this one does :


The planet in the middle of the screen doesn't look quite right without aspect ratio correction.  Even with aspect ratio correction, its not a perfect sphere, but neither is the real Earth :


The Incredible Machine & The Even More Incredible Machine

Sierra bought several companies in the early to mid-1990s, and while their own games rarely pushed hardware, the same cannot be said for some of its subsidiaries, like the one that produced this series of games.  These games do not require aspect ratio correction.

640x471x16 :


640x400x16 :


640x448x16 :



The Incredible Machine 2

640x441x16 :



Quake

Quake is unique because it supports every combination of 320 and 360 horizontal pixels and 200, 240, 350, 400 and 480 vertical pixels.  Increasing the vertical resolution increases the view area vertically.  This looks absolutely ludicrous without aspect ratio correction once you get to 350 vertical pixels.  Increasing the horizontal resolution puts empty filler on the sides of the status area and does not enhance the field of view horizontally.  Instead, it merely stretches the pixels contained within that view horizontally.  I would personally recommend staying with the 320x240 resolution.  At 640x480 resolutions, you should really be using GLQuake (with a Glide wrapper if necessary) or a source port with support for more modern 3D accelerators.

320x240 :


320x350 :


320x400 :


320x480 :


360x200 :


360x240 :



360x350 :


360x400 :


360x480 :


Earthworm Jim & Earthworm Jim 2

Earthworm Jim was originally designed for the Sega Genesis, which uses a 320x224 pixel resolution.   320x240 is used for all non-ingame screens in both EWJ1 and EWJ2.  Both 320x224 and 320x240 are available for EWJ1 in-game, but EWJ2 supports only 320x224.  There is no difference between the two graphics modes in EWJ1 except the need to adjust the size graphics using the monitor controls, but some cards had trouble with the 320x224 mode.  Due to the origins of this game, it should be stretched out vertically, but tiny difference between 224 and 240 pixels makes it pretty much a non-issue.

320x240 :


320x224 :


The Lost Vikings & Norse by Norse West: The Return of the Lost Vikings

320x240 :


LineWars II

This is the only Mode X VGA mode the game supports, and it requires horizontal stretching.  This game will support 640x480 and 800x600 on specific ATi and S3 SVGA cards.  The regular 320x200 resolution does not need aspect correction, but the 320x480 resolution obviously does :

320x200 :


320x480 :


Scorched Earth

For the main menu, each increase in the graphics resolution adds more height to the image.  As a consequence, the buttons are more spaced out vertically.  However, as you can see, the 320x240 resolution cannot fully display all the buttons using the spacing, which is consistent beginning with this resolution.

320x200 :


320x240 :


320x400 :


320x480 :


360x480 :


As far as the in-game graphics go, each increase in resolution substantially increases the play area, but not the status bar.  As you can see, the amount of barrier to open space ratio eventually becomes ridiculous :

320x200 :


320x240 :


320x400 :


320x480 :



360x480 :



Aspect Ratio correction required.

Chaos Software Mario Shareware Game

320x190-191 :


The top eight pixels do not seem to be used, but sometimes an extra black line is displayed, leading to the one pixel difference.

Axia

640x400x16 :



Needs no aspect ratio correction, the planets are perfectly spherical without it.

Jump 'n Bump

400x256 :




Most Moraff games

Games shown are Moraff's Flygame, Moraff's Super Entrap and Moraff's Monster Memory

360x480 :




Monster Memory's unadjusted 360x480 resolution is clearly wrong compared to its true 4:3 SVGA modes, which show perfect squares.  In addition, the 320x200 mode does not show perfect squares unless aspect ratio correction is applied.  I would think this applies to all of Steve Moraff's games, since they were developed by him.

I am greatly indebted to RGB Classic Games for identifying many of the more obscure games on this list. Moraff's (Regular) Entrap and Magic Pockets do not use a 640x400 VGA mode, despite what RGB Classic Games may think.  Moraff's Entrap, as it states in its setup menu supports EGA 320x200, EGA 640x350, VGA 320x200 and VGA 640x480.  Magic Pockets supports regular EGA 320x200 (but uses different palette entries than the Tandy 320x200 mode) and regular VGA 320x200.

The Moraff games that support the 360x480 mode are as follows :

Moraff's Blast I
Moraff's Dungeons of the Unforgiven, Module I
Moraff's Monster Bridge
Moraff's Monster Memory
Moraff's Super Blast
Moraff's Super Entrap
Moraff's Mega Morejongg
Moraff's Stones
Moraff's World

Moraff's Escapade only supports OEM-specific SVGA modes found on Ahead Systems, Trident and Tseng Labs chipsets with 1MB of RAM.

System Shock CD

Unlike the floppy version, which supports only 320x200, the CD version also supports 320x400, 640x400 and 640x480.  While the 320x400 resolution clearly requires aspect ratio conversion, the 320x200 and 640x400 modes do not.  They have perfect squares and circles in the HUD area, and the 640x480 mode distorts them into rectangles and ovals.

320x200 :


320x400 :


Conclusion

I believe there are to types of non-standard VGA modes, first there are the the modes that use a combination 320 or 360 horizontal pixels and 200, 350, 400 or 480 vertical pixels.  Second, there are modes that use a number of pixels other than the ones given in the previous sentence for at least one axis.  The second variety are the games that tend to break graphics cards with less than stellar VGA compatibility.  Even the first variety can cause later cards to break because there was no universal standard.  

As far as aspect ratio correction with non-standard VGA modes go, it is almost always desirable to stretch out the double the horizontal pixels for any of these games that use a 320 or 360 horizontal pixel resolution.  Often, there will be a standard VGA or SVGA mode to guide you.  I understand that VGA cards more or less do this by default in low resolution modes.  However, this does not always apply, as I have demonstrated in the previous post with the 360x350 mode used by Pinball Dreams and its successors.  

With games that use a high resolution 16 color mode with 640 horizontal pixels, I see no reason to stretch the display vertically.  The letterboxing is pretty minimal.