modemwars/annotations/07_titlePicture.json
2026-08-23 02:09:40 -05:00

102 lines
No EOL
2.5 KiB
JSON

{
"_comment": "Structure of the title picture, which the boot loader displays while the game loads.",
"unitLabels": {
"boot/titleColorRam9800": {
"9800": "titleColorRam",
"9BE8": "titleColorRamPadding"
},
"boot/titleScreenRam9C00": {
"9C00": "titleScreenRam",
"9FE8": "titleScreenRamPadding"
},
"boot/titleBitmapA000": {
"A000": "titleBitmap",
"BF40": "titleBitmapPadding"
}
},
"notes": {
"9800": {
"unit": "boot/titleColorRam9800",
"block": [
"titleColorRam - 1000 bytes, one per character cell of the 40x25 screen, copied to $D800-$DBE7 by",
"bootShowTitlePicture. In multicolour bitmap mode the low nibble of each byte gives the colour of",
"the %11 pixel pairs in that cell. One screen row of 40 cells per line below."
]
},
"9BE8": {
"unit": "boot/titleColorRam9800",
"block": [
"Padding to the end of the page; not copied to colour RAM."
]
},
"9C00": {
"unit": "boot/titleScreenRam9C00",
"block": [
"titleScreenRam - 1000 bytes, one per character cell, copied to $8C00 by bootShowTitlePicture",
"(with $D018 = $38 and VIC bank 2 the video matrix sits at $8C00). In multicolour bitmap mode the",
"high nibble gives the colour of the %01 pixel pairs and the low nibble that of the %10 pairs.",
"One screen row of 40 cells per line below."
]
},
"9FE8": {
"unit": "boot/titleScreenRam9C00",
"block": [
"Padding to the end of the page; not part of the video matrix."
]
},
"A000": {
"unit": "boot/titleBitmapA000",
"block": [
"titleBitmap - 8000 bytes of multicolour bitmap, stored the way the VIC reads it: 25 rows of 40",
"character cells, 8 consecutive bytes per cell (one byte per pixel row of that cell), so each line",
"below is one 8x8 cell. Every byte holds four 2-bit pixels: 00 takes the background colour $D021,",
"01 and 10 take the two nibbles of titleScreenRam and 11 takes the low nibble of titleColorRam.",
"docs/titleScreen.png is this data decoded."
]
},
"BF40": {
"unit": "boot/titleBitmapA000",
"block": [
"Padding after the 8000 bitmap bytes, to the end of the loaded file at $BFFF."
]
}
},
"unitDataTypes": {
"boot/titleColorRam9800": {
"9800": [
"grid",
1000,
40
],
"9BE8": [
"grid",
24,
24
]
},
"boot/titleScreenRam9C00": {
"9C00": [
"grid",
1000,
40
],
"9FE8": [
"grid",
24,
24
]
},
"boot/titleBitmapA000": {
"A000": [
"grid",
8000,
8
],
"BF40": [
"grid",
192,
24
]
}
}
}