How to encrypt a Jaguar CD

Written by Matthias Domin
Thanks go to Glenn Bruner and Michael Hill

  1. Preparations
  2. Encrypting
  3. Burning the encrypted CD

Preparations

Some backgrond information about the Jaguar-CD-Encryption-process written by Glenn Bruner.

Which tools do you need?

The first step to get an encrypted Jaguar CD is to create an unencrypted CD:

The minimum layout of an encryptable Jaguar CD is this:

Before you burn the above mentioned files to a CD-R you need to prepare them properly to become valid track-files, here is an example for this, assuming that you have a Boot-program called BOOTPRG.BIN which needs to be loaded and started at $4000 and a main program called MAINPRG.BIN:
maketrk -b4000 -z bootprg.bin
padcd +100000 bootprg.t00 bootprg.raw

maketrk -z -t1 -mTRAK mainprg.bin
padcd +100000 mainprg.t01 mainprg.raw


Attention:
The (Dummy-) Encryption-data-track must always be the last track of the second session,
and therefore the internal track-number must be adjusted if your actual track number is higher than in our example.
The internal track-number of bootprg.raw is $20, of mainprg.raw is $21 and so the dummy-encryption-data-track trk_2b.raw has $22:

Internal track number at start of track-file
Internal track number at end of track-file

Now burn a CD-R with your Jaguar-game and the Dummy-Encryption-data-track (trk_2b.raw):
cdrecord -speed=2 -dev=0,0,0 -pad -audio -multi warning.wav
cdrecord -speed=2 -dev=0,0,0 -pad -audio bootprg.raw mainprg.raw trk_2b.raw

If you have a CD-Bypass you should test this CD now before you run the Encryption process!


Encrypting

Now let this unencrypted CD be processed by the JaguarCD-Encryption-tool:

Thanks again to Glenn Bruner for providing the UART-access- and XModem-functions and the HyperTerminal-related images!

This new version of the JaguarCD-Encryption tool sends the calculated Encryption-data to another computer using a standard RS232-level serial line.
This is done using a serial connection between the Atari Jaguar and the other computer.
You will need either a ICD catbox or a Atari JagLink or a compatible device with an additional RJ11-to-DSUB9(or-DSUB25)-adapter to be able to connect the Jaguar and the other computer.
Here is a schematic if you need to build your own adaptor and how it looks in real:
schematic of serial-line adaptor serial-line adaptor in reality

The com-port settings are 115200 baud, 8 data-bits, no parity, 1 stop-bit. Use None as flow control.
Prepare your favorite communication-software on the connected computer.
Here is a description of the proper setup of the familiar MS Windows HyperTerminal-program:
The comport-properties
The terminal-window settings Other terminal-window settings

When the new JaguarCD-encryption tool CDEN16.ABS is successfully loaded and started at $100000 it will show a textscreen with a dark blue border and dark blue text-background and then start to read the TOC of the CD:
Tool started

After the TOC is read the tool starts to scan the tracks and to compute the Encryption-data:
Tool is working
If an error occcurs the tool will tell you about it at the top of the screen.


When the Jaguar has successfully finished the calculation of the Encryption-data it will change the Jaguar-screen-content (i.e. gives it a green border)
and additionally send a character-string saying "Press PAUSE to receive the data!" to the connected computer.

About to transfer
Now you should tell your communication-program that you want it to receive a file using the XModem-protocol.
Again, looking at HyperTerminal:
Select "Receive File..." from the "Transfer"-menu:
Selecting the file-receive menu
Now select the XModem-transfer-protocol and enter the folder-name where the received file should be stored:
Xmodem-Protocol-settings
In order to receive a file using XModem, the software will not only ask you for a directory-folder for the received file, it will also ask you for a filename.
You can type in the file-name (like "CD_HASH.DAT") now, but don't confirm it at the moment!

Again, looking at HyperTerminal:
Entering the file-name
Now depress the PAUSE button on the Jaguar's joypad and
then confirm the file-name in the communications-software immediately!
The JaguarCD-Encryption tool will tell you that it has started to transfer the Encryption-data:
Jag transmitting

The transfer of the calculated Encryption-data (156288 bytes) will be done within a few seconds.
You'll see this window (with similar content) in HyperTerminal during the transfer:
During the transfer

The JaguarCD-Encryption-tool will clear the Jaguar-screen when it has finished the transfer
and will also send a character-string saying "Transfer finished!" to the terminal program.

You can repeat the encryption process and then compare the two results to make sure that everything is ok.


Burning the encrypted CD

Now use PADCD to create a proper track-file out of the Encryption-data:
padcd -2 *100002 CD_HASH.DAT trk_2.raw

After this you are ready to burn a new CD-R with your Jaguar-game and the Encryption-data-track (trk_2.raw):
cdrecord -speed=2 -dev=0,0,0 -pad -audio -multi warning.wav
cdrecord -speed=2 -dev=0,0,0 -pad -audio bootprg.raw mainprg.raw trk_2.raw