Skip to content

Latest commit

 

History

History
421 lines (317 loc) · 16.5 KB

File metadata and controls

421 lines (317 loc) · 16.5 KB

Chunk inventory

Every chunk of every .dat container, in file order. Generated by python tools/cdidat.py list. The chain of sizes lands exactly on the file size for all 45 containers, which is what makes the layout certain.

68000 code is recognised by a run of BRA.W instructions at offset 4; CLUT7 by a maximum byte value below 0x80; palettes by a length that is 384 or 768 bytes. Everything else is left unclassified rather than guessed at.

con_gfx.dat — 3 chunks, 415,744 B, chain closes at 0x65800

# offset size looks like
0 0x000800 7,262 68000 code (BRA.W jump table at offset 4)
1 0x002800 185,266 structured/mixed, max byte 0xff
2 0x030000 218,758 structured/mixed, max byte 0xff

cr_gfx.dat — 3 chunks, 471,040 B, chain closes at 0x73000

# offset size looks like
0 0x000800 10,972 68000 code (BRA.W jump table at offset 4)
1 0x003800 288,000 8bpp pixels, max index 0x7e -> CLUT7
2 0x04a000 166,202 structured/mixed, max byte 0xff

demo1.dat — 6,144 B — not a container

demo2.dat — 6,144 B — not a container

demo3.dat — 6,144 B — not a container

go_gfx.dat — 4 chunks, 495,616 B, chain closes at 0x79000

# offset size looks like
0 0x000800 4,692 68000 code (BRA.W jump table at offset 4)
1 0x002000 84,480 8bpp pixels, max index 0x7d -> CLUT7
2 0x017000 209,460 structured/mixed, max byte 0xff
3 0x04a800 188,606 structured/mixed, max byte 0xff

hi_gfx.dat — 2 chunks, 141,312 B, chain closes at 0x22800

# offset size looks like
0 0x000800 8,356 68000 code (BRA.W jump table at offset 4)
1 0x003000 128,966 structured/mixed, max byte 0xff

int_gfx.dat — 4 chunks, 516,096 B, chain closes at 0x7e000

# offset size looks like
0 0x000800 16,264 68000 code (BRA.W jump table at offset 4)
1 0x004800 196,818 structured/mixed, max byte 0xff
2 0x035000 236,096 structured/mixed, max byte 0xff
3 0x06f000 61,120 8bpp pixels, max index 0x7e -> CLUT7

intro1.dat — 3 chunks, 253,952 B, chain closes at 0x3e000

# offset size looks like
0 0x000800 5,144 68000 code (BRA.W jump table at offset 4)
1 0x002000 136,154 structured/mixed, max byte 0xff
2 0x023800 107,552 structured/mixed, max byte 0xff

intro2.dat — 3 chunks, 223,232 B, chain closes at 0x36800

# offset size looks like
0 0x000800 5,074 68000 code (BRA.W jump table at offset 4)
1 0x002000 195,808 structured/mixed, max byte 0xff
2 0x032000 17,810 structured/mixed, max byte 0xff

intro3.dat — 3 chunks, 239,616 B, chain closes at 0x3a800

# offset size looks like
0 0x000800 5,062 68000 code (BRA.W jump table at offset 4)
1 0x002000 199,158 structured/mixed, max byte 0xff
2 0x033000 29,582 structured/mixed, max byte 0xff

intro4.dat — 3 chunks, 372,736 B, chain closes at 0x5b000

# offset size looks like
0 0x000800 5,906 68000 code (BRA.W jump table at offset 4)
1 0x002000 161,364 structured/mixed, max byte 0xff
2 0x029800 202,384 structured/mixed, max byte 0xff

intro5.dat — 3 chunks, 235,520 B, chain closes at 0x39800

# offset size looks like
0 0x000800 5,126 68000 code (BRA.W jump table at offset 4)
1 0x002000 168,336 structured/mixed, max byte 0xff
2 0x02b800 55,528 structured/mixed, max byte 0xff

intro6.dat — 3 chunks, 385,024 B, chain closes at 0x5e000

# offset size looks like
0 0x000800 5,446 68000 code (BRA.W jump table at offset 4)
1 0x002000 143,856 structured/mixed, max byte 0xff
2 0x025800 230,976 structured/mixed, max byte 0xff

invaders.dat — 2 chunks, 204,800 B, chain closes at 0x32000

# offset size looks like
0 0x000800 52,078 structured/mixed, max byte 0xff
1 0x00d800 147,536 structured/mixed, max byte 0xff

l1_em.dat — 4 chunks, 645,120 B, chain closes at 0x9d800

# offset size looks like
0 0x000800 211,758 structured/mixed, max byte 0xff
1 0x034800 207,282 structured/mixed, max byte 0xff
2 0x067800 768 palette, 256 RGB entries
3 0x068000 218,424 structured/mixed, max byte 0xff

l2_em.dat — 4 chunks, 593,920 B, chain closes at 0x91000

# offset size looks like
0 0x000800 239,736 structured/mixed, max byte 0xff
1 0x03b800 209,214 structured/mixed, max byte 0xff
2 0x06f000 768 palette, 256 RGB entries
3 0x06f800 136,424 structured/mixed, max byte 0xff

l3_em.dat — 4 chunks, 612,352 B, chain closes at 0x95800

# offset size looks like
0 0x000800 204,812 structured/mixed, max byte 0xff
1 0x033000 171,962 structured/mixed, max byte 0xff
2 0x05d000 768 palette, 256 RGB entries
3 0x05d800 229,304 structured/mixed, max byte 0xff

l4_em.dat — 4 chunks, 593,920 B, chain closes at 0x91000

# offset size looks like
0 0x000800 213,582 structured/mixed, max byte 0xff
1 0x035000 184,136 structured/mixed, max byte 0xff
2 0x062000 768 palette, 256 RGB entries
3 0x062800 190,344 structured/mixed, max byte 0xff

l5_em.dat — 4 chunks, 700,416 B, chain closes at 0xab000

# offset size looks like
0 0x000800 241,634 structured/mixed, max byte 0xff
1 0x03b800 210,302 structured/mixed, max byte 0xff
2 0x06f000 768 palette, 256 RGB entries
3 0x06f800 242,184 structured/mixed, max byte 0xff

l6_em.dat — 4 chunks, 626,688 B, chain closes at 0x99000

# offset size looks like
0 0x000800 239,918 structured/mixed, max byte 0xff
1 0x03b800 209,530 structured/mixed, max byte 0xff
2 0x06f000 768 palette, 256 RGB entries
3 0x06f800 168,744 structured/mixed, max byte 0xff

level1.dat — 5 chunks, 716,800 B, chain closes at 0xaf000

# offset size looks like
0 0x000800 34,624 68000 code (BRA.W jump table at offset 4)
1 0x009000 6,720 8bpp pixels, max index 0x7b -> CLUT7
2 0x00b000 240,766 structured/mixed, max byte 0xff
3 0x046000 210,538 structured/mixed, max byte 0xff
4 0x079800 218,424 structured/mixed, max byte 0xff

level2.dat — 5 chunks, 702,464 B, chain closes at 0xab800

# offset size looks like
0 0x000800 34,668 68000 code (BRA.W jump table at offset 4)
1 0x009000 6,720 8bpp pixels, max index 0x7b -> CLUT7
2 0x00b000 241,658 structured/mixed, max byte 0xff
3 0x046000 209,768 structured/mixed, max byte 0xff
4 0x079800 203,328 structured/mixed, max byte 0xff

level3.dat — 5 chunks, 735,232 B, chain closes at 0xb3800

# offset size looks like
0 0x000800 34,380 68000 code (BRA.W jump table at offset 4)
1 0x009000 6,720 8bpp pixels, max index 0x7b -> CLUT7
2 0x00b000 240,548 structured/mixed, max byte 0xff
3 0x046000 207,546 structured/mixed, max byte 0xff
4 0x079000 237,872 structured/mixed, max byte 0xff

level4.dat — 5 chunks, 714,752 B, chain closes at 0xae800

# offset size looks like
0 0x000800 34,304 68000 code (BRA.W jump table at offset 4)
1 0x009000 6,720 8bpp pixels, max index 0x7b -> CLUT7
2 0x00b000 240,382 structured/mixed, max byte 0xff
3 0x046000 210,672 structured/mixed, max byte 0xff
4 0x079800 216,264 structured/mixed, max byte 0xff

level5.dat — 5 chunks, 716,800 B, chain closes at 0xaf000

# offset size looks like
0 0x000800 34,556 68000 code (BRA.W jump table at offset 4)
1 0x009000 6,720 8bpp pixels, max index 0x7b -> CLUT7
2 0x00b000 241,612 structured/mixed, max byte 0xff
3 0x046000 210,834 structured/mixed, max byte 0xff
4 0x079800 218,424 structured/mixed, max byte 0xff

level6.dat — 5 chunks, 776,192 B, chain closes at 0xbd800

# offset size looks like
0 0x000800 34,452 68000 code (BRA.W jump table at offset 4)
1 0x009000 6,720 8bpp pixels, max index 0x7b -> CLUT7
2 0x00b000 237,582 structured/mixed, max byte 0xff
3 0x045800 201,374 structured/mixed, max byte 0xff
4 0x077000 287,544 structured/mixed, max byte 0xff

levelb.dat — 5 chunks, 501,760 B, chain closes at 0x7a800

# offset size looks like
0 0x000800 15,182 68000 code (BRA.W jump table at offset 4)
1 0x004800 6,720 8bpp pixels, max index 0x7b -> CLUT7
2 0x006800 217,980 structured/mixed, max byte 0xff
3 0x03c000 197,308 structured/mixed, max byte 0xff
4 0x06c800 56,416 structured/mixed, max byte 0xff

map1_1.dat — 3 chunks, 118,784 B, chain closes at 0x1d000

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xc5
1 0x004800 96,258 structured/mixed, max byte 0xfc
2 0x01c800 768 palette, 256 RGB entries

map1_2.dat — 3 chunks, 118,784 B, chain closes at 0x1d000

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xc5
1 0x004800 96,258 structured/mixed, max byte 0xfc
2 0x01c800 768 palette, 256 RGB entries

map1_3.dat — 3 chunks, 118,784 B, chain closes at 0x1d000

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xc4
1 0x004800 96,258 structured/mixed, max byte 0xfc
2 0x01c800 768 palette, 256 RGB entries

map2_1.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xff
1 0x004800 95,108 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map2_2.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xff
1 0x004800 95,108 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map2_3.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xff
1 0x004800 95,108 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map3_1.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xff
1 0x004800 95,924 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map3_2.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xff
1 0x004800 95,924 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map3_3.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xf9
1 0x004800 95,924 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map4_1.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xf7
1 0x004800 95,618 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map4_2.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xf7
1 0x004800 95,618 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map4_3.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xf7
1 0x004800 95,618 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map5_1.dat — 3 chunks, 118,784 B, chain closes at 0x1d000

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xf9
1 0x004800 96,264 structured/mixed, max byte 0xfc
2 0x01c800 768 palette, 256 RGB entries

map5_2.dat — 3 chunks, 118,784 B, chain closes at 0x1d000

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xf9
1 0x004800 96,264 structured/mixed, max byte 0xfc
2 0x01c800 768 palette, 256 RGB entries

map5_3.dat — 3 chunks, 118,784 B, chain closes at 0x1d000

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xf9
1 0x004800 96,264 structured/mixed, max byte 0xfc
2 0x01c800 768 palette, 256 RGB entries

map6_1.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xff
1 0x004800 95,312 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map6_2.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xff
1 0x004800 95,312 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map6_3.dat — 3 chunks, 116,736 B, chain closes at 0x1c800

# offset size looks like
0 0x000800 15,200 structured/mixed, max byte 0xff
1 0x004800 95,312 structured/mixed, max byte 0xfc
2 0x01c000 768 palette, 256 RGB entries

map7_1.dat — 16,384 B — not a container

map7_2.dat — 16,384 B — not a container

map7_3.dat — 16,384 B — not a container

map7_4.dat — 16,384 B — not a container

map7_5.dat — 16,384 B — not a container

tit_gfx.dat — 3 chunks, 378,880 B, chain closes at 0x5c800

# offset size looks like
0 0x000800 6,732 68000 code (BRA.W jump table at offset 4)
1 0x002800 225,294 structured/mixed, max byte 0xff
2 0x03a000 139,728 structured/mixed, max byte 0xff

treas1.dat — 3 chunks, 106,496 B, chain closes at 0x1a000

# offset size looks like
0 0x000800 84,480 8bpp pixels, max index 0x7e -> CLUT7
1 0x015800 384 palette, 128 RGB entries
2 0x016000 14,450 8bpp pixels, max index 0x76 -> CLUT7

Shared chunks

155 chunks in all, 121 distinct.

size copies where
768 18 map1_1.dat#2, map1_2.dat#2, map1_3.dat#2, map2_1.dat#2, map2_2.dat#2, map2_3.dat#2, map3_1.dat#2, map3_2.dat#2, map3_3.dat#2, map4_1.dat#2, map4_2.dat#2, map4_3.dat#2, map5_1.dat#2, map5_2.dat#2, map5_3.dat#2, map6_1.dat#2, map6_2.dat#2, map6_3.dat#2
6,720 6 level1.dat#1, level2.dat#1, level3.dat#1, level4.dat#1, level5.dat#1, level6.dat#1
96,264 3 map5_1.dat#1, map5_2.dat#1, map5_3.dat#1
96,258 3 map1_1.dat#1, map1_2.dat#1, map1_3.dat#1
95,924 3 map3_1.dat#1, map3_2.dat#1, map3_3.dat#1
95,618 3 map4_1.dat#1, map4_2.dat#1, map4_3.dat#1
95,312 3 map6_1.dat#1, map6_2.dat#1, map6_3.dat#1
95,108 3 map2_1.dat#1, map2_2.dat#1, map2_3.dat#1