Encryption of Atari Lynx ROM programs

The Atari Lynx uses cartridges that hold the programs that are loaded into memory. The bootstrap process of the Lynx uses a bit of built-in ROM that will read the contents of the cartridge. It would seem that it is easy to create your own ROMs, put them on a cartridge and use them in a real Lynx device. Atari wanted to prevent this kind of homebrew development in order to maintain high quality. Therefore, they programmed the bootstrap process in the built-in ROM to read and check the contents of the cartridge. It uses a encryption algorithm to encrypt the header of the game and calculate a checksum for the entire contents.

In 2001 the encryption programs for the Atari Jaguar and Lynx were released into the public. The content is no longer available at the location mentioned in the Atari Lynx FAQ: http://cgexpo.com/encrypt/lynx.htm, but has moved here: http://cgexpo.com/encrypt/lynx.htm. The Web Archive still lists the content here.

Harry Dodgson has a part of his website dedicated to the Lynx and explains the encryption on an Amiga machine. He once created a program that will add a 420 byte loader in front of an unencrypted ROM image. This can be found here at his homepage of 2001.

  1. Perform the original encryption on the ROM file.
    You will need the Amiga programs for now. These can be found here. You will also need a Amiga emulator like WinUAE or Amiga Forever. It seems like a good idea to convert the source code into a Windows program that is easy to use.
  2. Use the Gauntlet 3 flawed header.
    Two strategies here: Load the game in unchecked areas or a trojan file that bypasses ROM check. You can find more about the Gauntlet glitch at Bastian Schick’s BLL page. Bastian has captured the header code in two files that are inside of his BLL toolkit: bll\history\lynxboot.asm (the original header for Gauntlet 3) and lynxboo2.asm (
  3. Cheat with a general purpose header
    Add Harry’s loader in front of game.
    Use Karri’s files to built ROM header. See his
Advertisements
This entry was posted in Tutorial. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s