Difference between revisions of "GRAM Kracker format"

From Ninerpedia
Jump to navigation Jump to search
 
m
Line 45: Line 45:
'''Type byte'''
'''Type byte'''


{| style="width:60em; text-align:center"
{| style="text-align:center; border-collapse:collapse;"
|-
|-
| style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 01
! style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 01
| style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 02
! style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 02
| style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 03
! style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 03
| style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 04
! style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 04
| style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 05
! style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 05
| style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 06
! style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 06
| style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 07
! style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 07
| style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 08
! style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 08
| style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 09
! style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 09
| style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 0a
! style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 0a
| style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 00 / ff
! style="border: 1px solid black; padding:0.2ex; background-color:#dddddd" | 00 / ff
|-
|-
| style="border: 1px solid black; padding:0.2ex" | GROM
| style="border: 1px solid black; padding:0.2ex" | GROM

Revision as of 12:11, 9 April 2011

The GK format, for short, is a headered ROM dump format commonly used in the TI/Geneve world. GK files are dumps from the cartridge memory chips.

The main uses cases why one would like to save the cartridge contents to disk are:

  • Use cartridges in environments without cartridge slots, like for the Geneve, or the TI-99/4P (aka SGCPU).
  • Load multiple cartridges in an expansion card (like the GRAM Karte).
  • Change cartridge contents.
  • Using disk images prevents wear on the TI-99/4A cartridge slot.

The contents of GK files are taken from the ROMs and GROMs of the cartridge, so there must be meta-data about the origin of the data. In fact, GK files are commonly 8198 bytes long, that is, 6 bytes plus the common size of a ROM (8K).

0 1 2 3 4 5 6 7
0x00 MF Type Length Address Data
0x08 Data
...
end

MF byte

  • 00 = No more files to load
  • 80 = Load UTIL file next (E/A option 5)
  • FF = More files to load

Type byte

01 02 03 04 05 06 07 08 09 0a 00 / ff
GROM GROM GROM GROM GROM GROM GROM GROM ROM1 ROM2 RAM
G>0000 G>2000 G>4000 G>6000 G>8000 G>A000 G>C000 G>E000 >6000 >6000 Memory Exp

ROM1 is the default ROM bank in >6000 - >7FFF. ROM2 is a second bank which is used in Extended Basic or other cartridges with a large ROM part (like Atarisoft Games).

Length and Address

Length and address provide information where the dump is located, and how long it is. Note that the memory may be smaller than the default (like a 4 KiB ROM) or it may not be located at the start of its part defined by the type byte, so this information is not redundant.