Friday, September 3, 2021

Lag Testing on a Budget

Keeping input and display latency to a minimum is very important when playing any kind of vintage video game which relies to some extent on reflexes.  There are some methods which can test display lag of any display, like the Time Sleuth or the Leo Bodnar Display Lag Testers.  Other methods may require running the same software on two consoles at the same time or connecting one console to two displays via splitters and adapters.  Testing controller latency often requires wiring up an LED or shooting video of a screen and button pressing at a very high frame rate.  These methods tend to be expensive, but what if we consider an approach that is likely to be inexpensive and perhaps cost you nothing?

Is there a Doctor in the Game Console? - The Venus Turbo Doctor 6M

Taiwan may or may not have been the birthplace of commercial video game piracy, but it certainly has a strong claim to have been its nursery.  When video games skyrocketed in popularity in Southeastern Asia with the Famicom, it seemed as through the entire island of Taiwan wanted to cash in on the efforts of the Japanese.  Taiwan was the first source of unlicensed Famicom clones and pirate cartridges.  But cartridges were expensive to make, even for Taiwan fabs and the larger games were not very profitable to clone.  Then Nintendo handed the pirates a gift, the Famicom Disk System, and as it turned out the gift kept on giving.  While copying FDS games was child's play for the organized pirates, they saw in the FDS an opportunity to pirate to go beyond games originally released on disk. They created RAM cartridges, hardware devices that worked with the Famicom and the Disk System to permit cartridge games put on disk to work.  In this blog entry, I will describe my personal experiences with one such device, the Venus Turbo Game Doctor 6M.

Wednesday, September 1, 2021

Nintendo, Sega and the World Outside Japan and North America - Accommodating Non-English Speakers

Early on, most video games did not need to be translated because the amount of text used in these games was very limited.  Some games, like RPGs, were an exception but by and large most games from the pre-crash era used English when they needed to convey information in the written form.  Even games made by Japanese companies, unless the game was for a Japanese game like Go, Mahjong or Shogi, English was the norm for the simple text messages.  

When console games were large enough to hold a significant amount of text and able totell a story, then for the games that were developed in Japan most or all of the game would tend to use Japanese text.  When these games were released in North America the Japanese text would be translated into English, generally with some simplification for 8-bit and 16-bit console titles.  But when tongues other than English had to be accommodated, things got interesting.

Monday, August 23, 2021

Custom Game Boy Design - Revitalizing Broken or Hard to See Portable Systems

It is a fact that the original Game Boy, its four widely available successors and its contemporary competitors had many excellent games but some truly awful screens by modern standards.  Handheld screen technology has advanced extraordinarily far since the rose-tinted glass days of 1989.  Today modding kits are available to fix or "upgrade" these machines with replacement screens, so let me discuss my own experiences with one.  

Friday, August 13, 2021

Digital Joysticks and the Apple II

The Apple II had thousands of games released during its long life-span, and from its first game, Breakout (later known as "Brick Out" and "Little Brick Out"), many of them used analog controllers like paddles and joysticks.  Other home computers and consoles used digital joysticks, which were often better for single-screen games than analog devices.  During the Apple II's commercial life, there were a few attempts to bring digital joystick support to the computer.  When it became a retro-computing machine, there have been a few more homebrew hardware efforts to bring digital input to older games.  This article will give an overview of attempts both old and new.

Monday, August 2, 2021

Bad Keyboard Switch Designs & Quirky Keys of the Past

Having good switches in today's keyboards is taken for granted.  Except for laptops, any computer can be blessed by a keyboard with mechanical switches or good rubber dome switches.  In the old days of computing this was not always the case.  There were many fine keyswitch designs back in the day, IBM buckling spring, Alps switches, leaf spring switches, hall effect, beam spring, magnetic reed.  But this blog post is not about them.  The 70s and 80s also had many bad keyswitch designs too, so let's identify some of them and where they reared their ugly heads.

Additionally, some keyboard had keys which functioned unusually given the keyboards of today.  We'll take a look at some of those as well.

Friday, July 16, 2021

Keeping the Upscale and Capture Pure - The RGB2HDMI and Digital PC Video Standards

When IBM was designing video display adapters for its IBM PC, it treated video quality as important.  While the world of displays was in 1980 essentially analog, IBM chose to use digital outputs for its IBM Monochrome Display and Printer Adapter and Color Graphics Adapter.  Later it continued to use a digital TTL interface for the IBM PCjr.'s built in video and its Enhanced Graphics Adapters.  Competitors and copycats, like the Hercules Graphics Card and the Tandy 1000's built-in video, also copied IBM's usage of the DE-9 port carrying digital color signals.  While some of the color cards had composite color video support, serious business usage demanded the use of a monitor which could accept those digital signals for the highest possible picture quality possible.  

By 1987, the limitations of the digital interface, with each color primary requiring a separate collection of wires, was too limiting for IBM's Video Graphics Array.  The connector was changed and the colors were output over an analog interface, which only required one pin per color primary.  The VGA analog video standard remained the principal way by which PCs connected their displays for over fifteen years.  By the time the digital DVI connector became popular enough to replace VGA, the older pre-VGA standards had been long consigned to the realm of retro-computing.  

Today the modern display device tends to eschew any display standard older than DVI, with most only having HDMI and DisplayPort inputs.  The digital standards of old used special CRTs, which have become expensive and often require repair or restoration due to age.  Those of us who enjoy working on retro computers are faced with having to "settle" for composite video, having to fork out large amounts of money and space for the special digital CRTs displays or use rather particular capture cards to see what was intended.  The RGB2HDMI is one really good solution for these issues, let's take a look at it.

Tuesday, July 13, 2021

Lag : Consoles, Emulators, FPGAs

When playing classic video games on non-original hardware, one should always be conscious for the amount of extra lag that method may offer over the original hardware.  Along with accuracy, latency is one of the most important tangible benefits (versus of using original hardware and display technology (CRTs) over emulators and current display technology (LCDs).  Latency has always existed in some form, and in this article I will give an overview on how latency has evolved over time.  

Additionally, the use of FPGA chips to simulate original hardware has become increasingly popular over the past five years.  FPGAs can offer the benefit of lower latency compared to traditional software based emulation and can offer a high degree of accuracy by using relatively inexpensive hardware.  FPGAs are not without their singular issues, and in this article I will go over some of the issues with using FPGAs as a replacement for original hardware.

Sunday, June 13, 2021

Making Your Famicom into the Best Famicom it can be : A/V Mods Done Right

Modifying the RF-Only Famicom to output separate video and audio is nothing new, people have been doing it since the 1980s.  But many mods I have seen involved video circuits of dubious quality, drilling and cutting into aged plastic and difficult to reverse without replacement parts.  In this blog post I will go over what I believe are the best ways to modify your Famicom for AV output.

Monday, May 31, 2021

The Computer in Monochrome - Practical Advice for Using for a Macintosh SE

The Graphical User Interface is something computer users have taken for granted for twenty-five years since Windows 95 computers became ubiquitous.  Of course, to owners of any Macintosh computer, the GUI was something they had experienced since day one.  The original Macintosh was designed to be a low-cost productivity computer.  It eventually evolved into a fully general purpose computer, but the systems were sufficiently popular even in the earliest days to enjoy a wide variety of software, including games.  I recently acquired an earlier example of the line, a Macintosh SE, and decided it was worth getting it up and running.  In that process I will be sharing some of the issues I have encountered and solutions.

Friday, May 7, 2021

RetroUSB AVS : The Affordable NES FPGA Console

RetroUSB AVS, courtesy of

The NES is undoubtedly the most cloned video game system ever, and in the 2010s FPGA technology had decreased in price to the point where it was affordable to implement retro video game systems on an FPGA.  The RetroUSB AVS was the first NES FPGA console made available to the public, and while I have discussed it before on this blog, I have not done a full review of the AVS because I never had one in my possession before.  That changed recently thanks to a friend of mine who let me borrow his for testing and review.  As this console is almost five years old at this point and is the only NES FPGA console you can currently pre-order, I think it is time to see where it has progressed and how well it has held up over the years compared to more recent competition.

Saturday, April 24, 2021

Game Boy Link Ports & Cables & Peripherals

When Nintendo released its first handheld console, the Game Boy, it provided a Link Port to allow two players to play games with or against each other.  That Link Port is a simple bidirectional synchronous serial port and was not very fast but it was sufficient to allow two consoles to communicate with each other over a Link Cable.  In subsequent Game Boy models the Link Port became faster but it also took on different shapes.  The Link Port was carried over to the Game Boy Advance, but there were some differences.  In this article I will go over the various cable connectors, the official products which used the Link Port or converted one kind of link port to another and how Link Cables are wired.

Saturday, April 17, 2021

Floppy Drives - Single Density and Double Density, FM, MFM & GCR

In the IBM PC world, there is no such thing as "single density" floppy drives.  Floppy drives started out as double density and later matured into high density and even extra high density.  Those of us who grew up in a PC world had no need to know about "single density".  But where did single density come from and which systems used it?  Moreover, what happens when system builders try to stretch single density reading into double-density capacities?  The truth is a bit more complex than you might think.

Sunday, March 28, 2021

Family BASIC - Putting the "Computer" into the Family Computer

Courtesy of Wikipedia (taken by Evan Amos)

When Nintendo released its first console, the Famicom, the full name of the system was the Nintendo Family Computer.  In the early 1980s the line between video game consoles and home computers was a fuzzy one.  Some consoles, like the Odyssey^2 had a full (membrane) keyboard but were more like video game consoles.  Some computers like the Commodore 64 had a full-travel keyboard and a disk drive but could also play games via its Expansion Port.  At the Famicom's launch in 1983, the only software available for the machine were arcade game ports.  By the next year (1984) Nintendo had released a new product for the Family Computer which was intended to do more than just play another video game.  This product was released as Family BASIC on July 21, 1984, but was only released in Japan.  Did it succeed in turning the Famicom into a Family Computer?  

Saturday, March 20, 2021

IBM JX - The IBM PCjr. 2.0 (Revised Article)

I wrote an article about the IBM JX (note no "PC" in the computer's name) five years ago.  Much of that article was subject to speculation due to the lack of hard information about the IBM JX.  A significant portion of that article had out-of-date information, so with the help of a site dedicated to the IBM JX and two Youtube videos really showing the system off for the first time, I have rewritten that old article (except for the following paragraph) entirely.  

In 1985, IBM released a computer in Japan, Australia and New Zealand called the IBM JX, Model 5511.  Essentially it was an upgraded PCjr., and in some respects what the PCjr. should have been.  In fact, upon rumors of the JX making it to the United States, at least one commentator dubbed it the PCjr. 2. Released in 1985, just as the PCjr. was being discontinued, it proved to be the last machine by IBM with any substantial PCjr. compatibility.  However, it was not successful anywhere it was released and consequently is extremely obscure today.

Friday, March 19, 2021

Breaking the Disk-Based Protection on Sierra On-line Key Disk Games - The Final Word

Sierra On-line was one of the first of the "big-box" computer game that supported installation of its games to a hard drive on a PC-compatible hard drive.  In the beginning, it required a "key disk" to be inserted in the drive whenever its games would be run.  In this article I will discuss the various ways to bypass this key disk check and explore the key disk check in more detail.

History of Sierra and IBM PC-Compatible Disk Based Copy Protection

Sierra was a very early publisher of PC games.  Its first game, Adventure in Serenia was a port of its popular Hi-res Adventure #2, Wizard and the Princess.  The port was developed while the IBM PC was in development and released soon after the release of the IBM PC in August of 1981.  Even though the release was by IBM, the disk was still copy protected.  

The copy protection on early Sierra titles was pretty basic, weird sector IDs, non-standard sector sizes and the like.  The copy protection did not nearly have to be sophisticated as on other systems at first because the IBM PC was a young computer and fairly expensive.  All it had to do was to break the DISKCOPY command and other copying methods with respected DOS rules.  Other early releases like Frogger and Crossfire used these kinds of in-house protections.

Eventually Sierra began relying on commercially sold copy protection schemes, especially as it started to gravitate toward DOS-reliant releases.  At first it favored Formaster Copylock, used with Ultima II (1983 release on 160KiB disk and 1984 release on 360KiB ), Mr. Cool, King's Quest (IBM PC booter versions only) and Sierra Championship Boxing (1984 Booter release).  Formaster Copylock requiresHowever Formaster Copylock had its issues, it did not work at first with a DMA-less PC like the PCjr. and many early Tandy 1000 models (which is why those King's Quest booter versions do not use it) and it was speed sensitive, breaking on faster 286 machines.  It was also not impossible to copy disks via software methods.

Another disk-based copy protection that was available was Softguard's Superlok.  When Formaster was slow to meet Sierra's needs, Superlok was not possible to reproduce without special hardware or an Option Board.  Superlok's protection schemes did not care about DMA or system speed.  When Sierra began using Superlok, it was at v2.3.  Sierra used Superlok for the booter King's Quest II, Donald Duck's Playground and The Black Cauldron.  Sierra also used Superlok for the DOS-based games Sierra's Championship Boxing (1985 release), Winnie the Pooh in the Hundred-Acre Wood, Mickey's Space Adventure (3.5" disk version only) and Ultima II (1985 360KiB release).  Even though these games required MS-DOS they could not be run when their files were copied to a hard drive.

Sierra was apparently so impressed with Superlok that it used it for all its other games which implemented disk-based copy protection.  One other important feature of Superlok is that it permitted games to be copied to and from a hard disk and would call its protection check program from the floppy disk.  Thus those lucky enough to own a hard drive from 1986 onward would be able to enjoy the faster loading speed from a hard drive as opposed to a floppy drive.  

The hard drive installable games protected by Superlok are King's Quest I, II & III, Space Quest I & II, Leisure Suit Larry I, The Black Cauldron (v2.1 only) Thexder and 3-D Helicopter Simulator. The first seven games use the AGI engine.  All the above games use AGI interpreters.  Although Mixed Up Mother Goose and Police Quest I also use AGI interpreters, they may never have had copy protection applied to them.  Eventually Sierra found that Superlok's was not uncrackable, that disk based copy protection was more trouble than it was worth and began switching to manual-based copy protection.  

Defeating Superlok - Three Methods

There are three general methods to defeat Superlok.  The first is to crack the game's .COM loader.  The second is to crack the game's true executable.  The third is to copy the Superlok track.

The way your supposed to load an AGI game installed to hard disk was to execute either the game's .BAT batch file, created by its hard disk installation program (also a batch file).  The batch file would run the .COM loader.  When you installed the game to a hard drive, the name of this loader would be the game's name, KQ.COM, SQ.COM etc.  Sometimes it is named SIERRA.COM.  

If you did not have a hard drive, you were instructed to make a "Play Disk".  You did this by using the command COPY *.* a: b:, not DISKCOPY A: B:  If you used the DISKCOPY command, DOS would quit and throw an error message when it encountered the protected track.

The COM file calls and executes a program called CPC.COM, a hidden file on the game's first floppy disk.  CPC.COM checked for the presence of the the Superlok-formatted track, which was for Sierra always (with one known exception), track 6, side 0.  If the check passed satisfactorily, CPC.COM would pass the 128-byte encryption key to SIERRA.COM.  SIERRA.COM would then use the encryption key to decrypt the file AGI.  AGI was an encrypted .EXE file which ran the intepreter which, once decrypted, in turn ran the game.  

A track on a 360KiB or 720KiB disk stores 4,608 data bytes.  The data on the Superlok track remained the same from game to game from 1985's Booter versions of King's Quest II to 1987's Space Quest II.  Each game would identify an offset in the data from which to derive its key.  Then this 128 byte key would be XORed with the first 128 bytes of the true executable, then the key is rotated by one bit, then XORed with the next 128 bytes of the executable, rotate and repeat until the executable is fully decrypted.

When Sierra began releasing budget versions of its copy protected games, usually to use up surplus manuals or boxes, it would remove the copy protection to permit for easier disk duplication.  It did this by cracking the .COM loader.  Three bytes, when NOPed out, were sufficient to bypass the call to CPC.COM.  The key that decrypted that executable would be present in the cracked .COM file on the disk instead of being copied to the .COM program running in RAM.  With the key present and a call to a program check for the presence of the copy protected track no longer present, the .COM loader will then decrypt AGI.  This method was also used when it introduced Collection CD-ROMs containing compilations of games of a series.  

The Sierra Unprotection Program by Anders M. Olsson was originally written in 1988-90.  It can crack any hard drive installable Sierra game with an original game disk.  It does not care which disk is used, as I explained above the data on any Sierra Superlok disk is identical.  It can crack all protected games installed to the hard drive and it can also crack .COM files located on "Play Disks".  However, this method has the disadvantage of requiring a protected disk track to perform its cracking.  

The second method decrypts the AGI file itself permanently.  The program, published by Cold Turkey, is called AGI Disk Free Decryptor.  The program embeds the contents of the Superlok track, looks for the offset in the .COM loader and then decrypts the AGI file.  The decrypted executable is called AGI.EXE and that will be used to run the game.  The program comes in three versions, a 16-bit DOS executable for DOS and DOSBox usage, a 32-bit DOS executable intended for early Windows and a modern 32-bit Windows command line utility, so it can be run on anything.

Unfortunately, there is one oversight caused by running AGI without the .COM loader preceding it.  These games tend not to run properly on the IBM PCjr. without the .COM loader doing its thing before transferring control of the system over to AGI.  The Sierra Christmas Card Demo from 1986 has a program called CONFIG.COM which does the tasks necessary to permit the decrypted AGI file to run these games properly on a PCjr.  

The only known exception to the above rule is Space Quest I v1.0X, the first release of an AGI game installable to a hard drive.  This requires a PCjr. memory manager to be loaded.  If you load a standard memory manager from IBM or Microsoft, this will not be an issue.  If you load JRCONFIG, then you must 

Thexder has four executables, MAIN, MAINEG, MAINJR, MAINPS.  THEXDER.COM calls the appropriate executable for the graphics hardware detected in the system.  MAIN is for CGA or Hercules, MAINEG is for EGA, MAINJR is for PCjr. and Tandy Graphics, MAINPS is for MCGA graphics.  3-D Helicopter's real executable is also called MAIN, which HELI.COM decryps.

The third method is to use a universal protection disk.  This disk, when properly produced, can bypass the check for any game.  You need a floppy disk or floppy disk image with the Superlok protection track present.  The disk need only contain the CPC.COM program and the following files : _BC.BAT, _KQ1.BAT, _KQ2.BAT, _KQ3.BAT, _LL.BAT, _SQ.BAT, _SQ2.BAT, HELI.COM, THEXDER.COM.  The reason why the game needs these files is that CPC.COM is always run off a floppy disk and AGI interpreter versions 2.4xx and above check for the game's corresponding batch file or .COM file on the floppy disk.  These files can be completely empty, only the file name is important.  You can use the disk for games installed off 5.25" or 3.5" disks.  If you are willing to modify an original disk, you can write all these files without taking up any additional space on the disk if they are all 0 bytes.  

This disk can also be used for running games off floppy disks.  Start by running SIERRA.COM off the game disk.  Then when the prompt asks for the ORIGINAL disk, insert the universal protection disk.  Then when the game asks for the PLAY disk, insert your game disk again and that is all that is required.  The benefit of this method is that you will see the original prompts that people saw when these games were new.

If you have a means of writing back multiple copies of a disk protected with Superlok, then you can make passable disk images of these games even if you only have a group of files.  For the first disk, copy AGI, the .COM loader, all .OVL files, HGC-FONT, LOGDIR, PICDIR, SNDDIR, VIEWDIR, OBJECT, WORDS.TOK, VOL.0 and VOL.1.  DOS will not copy over the Superlok track, it thinks those chunks are bad and not suitable for file storage.  3.5" images should be able to contain all VOL files except for King's Quest III and Space Quest II.  The second disk should have VOL.0, VOL.2, OBJECT and for 3.5" disks, VOL.3.  The third disk, if required, should have VOL.0, VOL.3 and OBJECT.

Finally, you can use this method for making disks for Sierra's Championship Boxing (1985 release), Winnie the Pooh in the Hundred-Acre Wood, Mickey's Space Adventure (3.5" disk version only).  They are DOS games, although they cannot be run off a hard drive.  Ultima II looks for Superlok on another track and will not work with this method.

Sunday, March 14, 2021

Enjoying and Gaming on a TRS-80 Model 1

When one thinks of the 1977 Trinity, the Apple II, the TRS-80 and the Commodore PET, the Apple II invariably is deemed the greatest of them all.  In many ways it was, but at first it was little more than a niche hobbyist's computer.  The first computer to have any impact in the consumer market was not the Apple II but the TRS-80, later retroactively referred to as the Model 1.  You might not think that this B&W only machine with chunky graphics had anything other than some simple BASIC text and crude text-based ASCII games, but you would be mistaken.  In this article, let's look at some of the issues with using a TRS-80 and how you can play games.

Monday, February 15, 2021

The .woz Format - Accurate Preservation of Apple II Floppy Disks

The need for proper preservation of floppy-based software cannot be understated.  Floppy disks were not designed to store data for forty plus years, but for the oldest home computer systems like the Apple II, most of its software is at least thirty years old.  But it is not preservation merely to dump a copy of a game which was pirated in the day.  Those games usually have "cracktros" which do not represent the developer's intended presentation of the game, may have cut out elements of the original game to save space or may include corrupt data in them.  Ideally one should have a proper image of original disks with all data preserved.  Of course, from almost the earliest days of the Apple II's Disk II drive, copy protection schemes were implemented on commercial software to prevent casual disk copying.  True preservation requires preserving them as well, and that requires emulation to become more accurate than it needed to be for just sector based .dsk images.  In this blog article I will describe in as much detail as I can how the Disk II Floppy Drive works, how it is different from floppy drives for other systems, how data is stored on disk, the benefits of the .woz format and how .woz images are made.

Friday, January 22, 2021

wDrive v. Floppy Emu - Comparison of the Best Apple II Disk Emulators

The 5.25" floppy disk was the principal medium of program storage for the Apple II series of computers.  Thousands of software titles were written specifically for the Apple II's Disk II drive and its successors and clones.  Using floppy disks, and more specifically disk images, is essential to using an Apple II computer.  To use a disk image is to either write the image back to a disk, a cumbersome and sometimes unreliable process, or use a disk emulator.  In a recent past blog article, I have written about the Floppy Emu, a very capable Disk II drive emulator.  I have recently acquired the wDrive, another emulator device which can simulate a Disk II drive.  While similar to the Floppy Emu in many ways, the wDrive has its own benefits and quirks, and here I will compare the two hardware floppy emulators.