The Benefit of Upgrading the Super Snapshot V5 to 32kB RAM

January 4, 2022 - Reading time: 8 minutes

After upgrading the RAM of my Super Snapshot V5 from 8kB RAM to 32kB, I was hoping for considerably better performance when copying disks with the built-in Disk Copier program. I was quite disappointed when I found out that copying a regular 35-track disk with a single disk drive only improved from requiring 4 read/write cycles (7 disk swaps) to 3 read/write cycles (5 disk swaps).

I did not put any further energy into looking more closely at how the memory of the C64 and Super Snapshot V5 is used when copying disks until I noticed that VICE is able to emulate the Super Snapshot V5 with both 8kB and 32kB cartridge RAM.

Starting the C64 emulator and attaching the cartridge image results in the emulation of the Super Snapshot V5 with 8kB RAM. The ssramexpansion command line parameter causes VICE to expand the RAM to 32kB.

x64sc -cartss5 Super_Snapshot_v5.22_v2_1990_PAL.bin -ssramexpansion

The Disk Copier program can be configured to use the RAM of the cartridge if 32kB is available. Disabling this option is identical with the only possible configuration if just 8kB of cartridge RAM is available.

Screenshot of VICE running the Disk Copier program of the Super Snaphot V5

I created an empty standard disk image (d64) with 35 tracks in VICE. Each track of a disk for the C64 is divided into a number of sectors which contain 256 bytes of data each. The number of sectors in a track depends on the position of the track on the disk. Tracks on the outer side of the disks (lower track numbers) have room for more sectors than tracks on the inner side of the disk (higher track numbers). According to the Commodore 1541 Disk Drive User's Guide the tracks contain the following number of sectors:

Tracks Number of Sectors/Track Bytes of Data/Track
1 to 17 21 5376
18 to 24 19 4864
25 to 30 18 4608
31 to 35 17 4352

I copied the disk (onto itself) using the Disk Copier program with cartridge RAM disabled. VICE displays the track which is accessed by the disk drive emulation. The program required 4 read/write cycles:

Cycle First Track Last Track Bytes of Data
1 1 10 53760
2 11 20

52224

3 21 31

51456

4 32 35

17408

The maximum amount of RAM used in this case is 52.5kB.

After enabling cartridge RAM copying a disk requires 3 read/write cycles.

Cycle First Track Last Track Bytes of Data
1 1 14

75264

2 15 30

77824

3 31 35

21760

The maximum amount of RAM used in this case is 76kB.

The difference between both cases is 23.5kB which is just a little bit less than the difference between the 8kB and 32kB. I suspect that 8kB (the minimum configuration of the Super Snapshot V5) cartridge RAM is reserved to be able to save the state of the C64 when using the freeze function. This leaves 24kB of usable RAM for the Disk Copier program which is used nearly completely.

Contrary to my original intuition, the Disk Copier program uses almost all of the additional cartridge RAM if 32kB is installed. 👍