Tape File Formats
Previus Credits Index Next

Now we will describe some tape file formats (used to store and retrieve games in the C64) using low level details and also with 6510 Assembly language programs. These type of formats are describe because the emulator is able to manage them.

The format is describe using a common scheme: Note that the assembly listing has a fixed structure, where there's present: The comment can be color to see that: In this table there's a reassume of the information that you can read below (remember that the time provided are estimated, not measured).

Method used bits parity bit Byte length (bits) Copy present Byte Duration
(ms)
Byte per second Time for 10Kbyte
Kernal 3 yes 20 2 20,4 49 7'
Golden 1 2 no 8 1 10,41 96 1'46"
Turbo 2 no 8 1 5,44 183 55"
Galadriel 2 no 8 1 4,21 237 43"
Golden 2 2 no 8 1 4,21 237 43"


Commodore Kernal Format

This is the format used by the Commodore 64 to store programs and data and it is already described in the previous page.

Bits:

Byte: x0..x7 are HL for bit 1 and LH for 0 like in a Manchester coding.
yy is a parity bit (01 has 0 parity, 11 has 1 parity)

The effective byte is the decode of x7..x0, because low bit is the first.

Synchronization region:

Header and File:

The header and the file are stored in 2 copies. The file has a synchronization region like the header because when the header is found, the tape is stopped for displaying the file name, so a new synchronization may be used.

The header contains these information (1 word is low, high byte):

The file contains these information: Comment:

The Kernal archive format is more reliable but too much slow!

Byte Average Length: always 1 '*', 10 'H', 9 'L'
Byte Average Times duration: 2*1243+18*996= 20,414 milli sec
Byte per second: 1/0,0204=49
Time for 10Kbyte: 10240*2/49=418" = 7'

Listing:

No listing is available. See the Kernal listing for the implementation of the method (that use interrupt for reading/writing).


Turbo Format


Galadriel Format

This is the format used by Galadriel Software to read the games with fast mode.

Bits:

Byte: x0..x7 are the 0/1 bits. The byte is x7..x0 because low bit is the last.

Synchronization region:

(Header and) File:

The file contains these information:

Comment:

This is a very quickly tape method but with no parity bit and only with one checksum!

Byte Average Length: 4 '0', 4 '1'
Byte Average Time duration: 8*526=4,208 milli sec.
Bytes per second: 1/0,004208=237,64
Time for 10Kbytes: 10240/237,64=43,08 sec.

Listing:

See the listing


Golden Format 1

This is the format 1 used by Golden Software to read the games with fast mode.

Bits:

Byte: x0..x7 are the 0/1 bits. The byte is x7..x0 because low bit is the first.

Synchronization region: (Header and) File:

The file contains these information:

Comment:

This is a quickly tape method, but with no parity bit and only with one checksum!

Byte Average Length: 4 '0', 4 '1'
Byte Average Time duration: 8*768=10,416 milli sec.
Bytes per second: 1/0,010416=96
Time for 10Kbytes: 10240/96=106,66 sec. = 1'46"

Listing:

See the listing


Golden Format 2

This is the format 2 used by Golden Software to read the games with fast mode.

Bits:

Byte: x0..x7 are the 0/1 bits. The byte is x7..x0 because low bit is the last.

Synchronization region:

(Header and) File:

The file contains these information:

Comment:

This is a very quickly tape method but with no parity bit and no checksum!

Byte Average Length: 4 '0', 4 '1'
Byte Average Time duration: 8*526=4,208 milli sec.
Bytes per second: 1/0,004208=237,64
Time for 10Kbytes: 10240/237,64=43,08 sec.

Listing:

See the listing

 
Top
C= Logo
commodore 64 pc-c64 logo Tognon Stefano programs