modemwars/disassembly/boot/titleBitmapA000.s
2026-08-23 02:09:40 -05:00

1266 lines
82 KiB
ArmAsm

; ============================================================================
; LOAD ($A000-$BF3F) - title picture multicolour bitmap (8000 bytes, VIC bank 2, $D011=$3B, $D016=$D8)
; ============================================================================
; Displayed by the boot loader while the game loads. $BF40-$BFFF is padding.
.setcpu "6502"
.include "c64.inc"
.include "kernal.inc"
.include "zeropage.inc"
.org $A000
; titleBitmap - the 8000-byte multicolour bitmap of the title picture, $A000-$BF3F. It is bytes
; $0800-$27FF of the 11264-byte directory file 'load' (tracks 19-21, not encrypted), which the
; stage-1 stub at $02B8 KERNAL-LOADs to $9800-$C3FF - into the RAM under the ROMs - so the picture
; arrives already at the address the VIC reads it from: no code ever copies it. Layout is the VIC's
; own: 25 character rows of 40 cells, 8 consecutive bytes per cell (one byte per pixel row of that
; cell), so cell (row,col) is at $A000 + 320*row + 8*col and every line below is one 8x8 cell. Each
; byte holds four 2-bit pixels (leftmost in bits 7-6): %00 = background $D021 (black, set at $C14E),
; %01 = the high nibble of titleScreenRam[cell], %10 = its low nibble, %11 = the low nibble of
; titleColorRam[cell]. bootShowTitlePicture ($C23F) copies those two 1000-byte tables from
; $9800 -> COLOR_RAM and $9C00 -> $8C00, selects VIC bank 2 (CIA2_PRA = $05) and sets VIC_CTRL2 = $D8
; (multicolour), VIC_MEM_PTR = $38 (video matrix $8C00, bitmap $A000) and VIC_CTRL1 = $3B (bitmap on).
; The CPU still has BASIC ROM banked in over $A000-$BFFF at that moment - only the VIC, which always
; sees RAM, can read these bytes; the game switches to $01 = $35 later. The picture: Dan Bunten's name
; over the 'MODEM WARS' logo, a striding walker tank firing (a second walker behind it on the left,
; its shot crossing the logo), an explosion and smoke on the right, and the copyright line along the
; bottom. docs/titleScreen.png is these bytes decoded. No CPU code in the shipped game reads or
; writes the picture: it is shown while the disk loads and then thrown away. From $0800 on this is
; simply the game's own display bitmap - initBitmapScreen ($2D41) clears $A000-$BF3F (and stops there,
; because $BFB0-$BFFF holds the map row tables). The three labels inside the picture (titleBitmapAAEA,
; titleBitmapBAA2, titleBitmapBAA3) are not data: they are the operands of dead or patched
; instructions in the boot loader - see each one. Row 0 (pixel rows 0-7): sky (light blue) across
; columns 0-31, the yellow caption "DAN BUNTEN'S" starting on pixel row 5 in columns 13-25, and the
; grey-black smoke column in columns 26-39.
titleBitmap:
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A000 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A008 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A010 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A018 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A020 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A028 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A030 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A038 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A040 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A048 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A050 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A058 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A060 ........
.byte $FF,$FF,$FF,$FF,$FF,$FD,$FD,$FD; A068 ........
.byte $FF,$FF,$FF,$FF,$FF,$4F,$11,$11; A070 .....O..
.byte $FF,$FF,$FF,$FF,$FF,$4D,$11,$11; A078 .....M..
.byte $FF,$FF,$FF,$FF,$FF,$4F,$13,$13; A080 .....O..
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A088 ........
.byte $FF,$FF,$FF,$FF,$FF,$53,$44,$50; A090 .....SDP
.byte $FF,$FF,$FF,$FF,$FF,$44,$44,$44; A098 .....DDD
.byte $FF,$FF,$FF,$FF,$FF,$53,$44,$44; A0A0 .....SDD
.byte $FF,$FF,$FF,$FF,$FF,$54,$10,$D3; A0A8 .....T..
.byte $FF,$FF,$FF,$FF,$FF,$54,$40,$54; A0B0 .....T@T
.byte $FF,$FF,$FF,$FF,$FF,$53,$44,$44; A0B8 .....SDD
.byte $FF,$FF,$FF,$FF,$FF,$4D,$44,$05; A0C0 .....MD.
.byte $F1,$F1,$FC,$FC,$FC,$8F,$0F,$8F; A0C8 ........
.byte $29,$25,$C5,$C0,$C0,$30,$30,$30; A0D0 )%...000
.byte $FF,$FF,$FF,$0F,$0E,$7F,$73,$40; A0D8 ......s@
.byte $FC,$FF,$FF,$FF,$F7,$5D,$F7,$D7; A0E0 .....]..
.byte $C0,$3C,$43,$CC,$FF,$FC,$7F,$D7; A0E8 .<C.....
.byte $03,$03,$C0,$33,$CF,$3F,$C3,$72; A0F0 ...3.?.r
.byte $FC,$0F,$00,$53,$33,$FF,$3C,$EF; A0F8 ...S3.<.
.byte $00,$00,$F0,$0C,$F3,$0C,$FF,$3F; A100 .......?
.byte $00,$00,$00,$C0,$F0,$3C,$CF,$F3; A108 .....<..
.byte $00,$00,$0F,$0C,$00,$00,$00,$C0; A110 ........
.byte $00,$03,$FC,$03,$00,$33,$3F,$16; A118 .....3?.
.byte $00,$00,$F0,$FF,$3F,$0F,$F0,$FF; A120 ....?...
.byte $0C,$0F,$01,$0D,$FE,$3D,$F5,$DF; A128 .....=..
.byte $7D,$DF,$76,$DD,$7F,$9F,$66,$69; A130 }.v...fi
.byte $5D,$97,$E7,$FD,$56,$3F,$DF,$B7; A138 ]...V?..
; Row 1 (pixel rows 8-15): the caption ends on pixel row 11; pixel row 15 is the yellow top rim that
; runs the whole width of the 'MODEM WARS' logo. Smoke still fills columns 27-39.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FD; A140 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$55; A148 .......U
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$54; A150 .......T
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A158 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$55; A160 .......U
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$54; A168 .......T
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$F5; A170 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$55; A178 .......U
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$4F; A180 .......O
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$D5; A188 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$55; A190 .......U
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$53; A198 .......S
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FD; A1A0 ........
.byte $FD,$FD,$FD,$FC,$FF,$FF,$FF,$55; A1A8 .......U
.byte $11,$11,$41,$0C,$FF,$FF,$FF,$55; A1B0 ..A....U
.byte $51,$11,$11,$00,$FF,$FF,$FF,$54; A1B8 Q......T
.byte $13,$13,$13,$03,$FF,$FF,$FF,$55; A1C0 .......U
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$55; A1C8 .......U
.byte $44,$44,$50,$03,$FF,$FF,$FF,$3F; A1D0 DDP....?
.byte $44,$44,$54,$00,$FF,$FF,$FF,$D5; A1D8 DDT.....
.byte $44,$44,$44,$00,$FF,$FF,$FF,$55; A1E0 DDD....U
.byte $D3,$D3,$D3,$C3,$FF,$FF,$FF,$35; A1E8 .......5
.byte $40,$43,$54,$00,$FF,$FF,$FF,$55; A1F0 @CT....U
.byte $44,$44,$44,$00,$FF,$FF,$FF,$51; A1F8 DDD....Q
.byte $F0,$FF,$F5,$F0,$FF,$FF,$FF,$55; A200 .......U
.byte $4F,$4F,$0F,$3F,$FF,$FF,$FF,$45; A208 OO.?...E
.byte $10,$C4,$C4,$F1,$F1,$F1,$F0,$AA; A210 ........
.byte $0C,$0F,$0C,$1C,$10,$03,$07,$8C; A218 ........
.byte $DF,$C7,$53,$1C,$C7,$43,$C0,$2A; A220 ..S..C.*
.byte $F7,$DF,$D5,$77,$3F,$45,$00,$A0; A228 ...w?E..
.byte $67,$D5,$5D,$DF,$F5,$F7,$7F,$FF; A230 g.].....
.byte $15,$75,$C3,$33,$DC,$47,$C0,$2A; A238 .u.3.G.*
.byte $CF,$F3,$FC,$77,$5D,$17,$00,$AA; A240 ...w]...
.byte $FC,$CF,$F3,$30,$CF,$B0,$00,$55; A248 ...0...U
.byte $FC,$3F,$0D,$F3,$30,$3F,$01,$80; A250 .?..0?..
.byte $FF,$FD,$5B,$C6,$52,$05,$4A,$CD; A258 ..[.R.J.
.byte $35,$B7,$5F,$E5,$7B,$EE,$B0,$C0; A260 5._.{...
.byte $17,$47,$F3,$3C,$4C,$F7,$00,$AA; A268 .G.<L...
.byte $B7,$7D,$ED,$67,$3F,$9D,$00,$01; A270 .}.g?...
.byte $B9,$77,$77,$5F,$D7,$F7,$07,$4D; A278 .ww_...M
; Row 2 (pixel rows 16-23): first body row of the logo - dark red block letters with a black outline,
; sky showing between them in columns 0-28, smoke in columns 30-39.
.byte $FD,$FD,$FD,$FD,$FC,$FC,$FF,$FF; A280 ........
.byte $FF,$FF,$FF,$FF,$3F,$3F,$7F,$7F; A288 ....??..
.byte $FC,$FC,$FC,$FC,$FC,$FC,$FC,$FC; A290 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FE,$FD; A298 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A2A0 ........
.byte $FC,$FC,$FC,$FC,$C0,$C0,$C5,$C5; A2A8 ........
.byte $5F,$6F,$7F,$7F,$BF,$FF,$FF,$FF; A2B0 _o......
.byte $FF,$FF,$FF,$FF,$FF,$CF,$03,$03; A2B8 ........
.byte $C5,$E1,$F1,$F1,$F8,$FC,$FC,$FC; A2C0 ........
.byte $7F,$7F,$7F,$7F,$4F,$4F,$5F,$5F; A2C8 ....OO__
.byte $FF,$FF,$FF,$FF,$F0,$F0,$F1,$F1; A2D0 ........
.byte $F4,$FD,$FF,$FF,$FF,$FF,$3F,$3F; A2D8 ......??
.byte $FD,$3D,$3D,$3D,$8C,$4C,$4F,$4F; A2E0 .===.LOO
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$3F; A2E8 .......?
.byte $FF,$FF,$FF,$FF,$03,$00,$14,$15; A2F0 ........
.byte $FC,$FC,$FC,$FC,$FC,$FC,$FC,$FC; A2F8 ........
.byte $FF,$FF,$FF,$FF,$0F,$0F,$5F,$5F; A300 ......__
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A308 ........
.byte $3F,$3F,$3F,$3F,$3F,$3F,$3F,$3F; A310 ????????
.byte $7F,$7F,$7F,$BF,$FF,$FF,$FF,$FF; A318 ........
.byte $FF,$FF,$FF,$FF,$F0,$F0,$F1,$F1; A320 ........
.byte $35,$35,$35,$30,$30,$3F,$FF,$FF; A328 55500?..
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A330 ........
.byte $F3,$F3,$F3,$C0,$C0,$C0,$C0,$C0; A338 ........
.byte $FF,$FF,$FF,$3F,$3F,$3F,$3F,$7F; A340 ...????.
.byte $CF,$CF,$CF,$03,$03,$03,$03,$43; A348 .......C
.byte $FF,$FF,$FF,$FC,$FC,$FC,$FC,$FC; A350 ........
.byte $C4,$C4,$D0,$0C,$0C,$AC,$4C,$50; A358 ......LP
.byte $3F,$BF,$7F,$FF,$FF,$FF,$FF,$FF; A360 ?.......
.byte $F0,$F0,$F4,$FC,$FC,$FC,$FC,$FC; A368 ........
.byte $FF,$5F,$FF,$0F,$1F,$D3,$F3,$3C; A370 ._.....<
.byte $3F,$3F,$3F,$43,$43,$53,$54,$54; A378 ???CCSTT
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A380 ........
.byte $FF,$FF,$FF,$03,$03,$03,$04,$04; A388 ........
.byte $D0,$F4,$FC,$FD,$FF,$FF,$FF,$FF; A390 ........
.byte $CC,$13,$31,$00,$00,$00,$00,$80; A398 ..1.....
.byte $85,$1F,$3F,$7F,$FF,$FF,$FF,$FF; A3A0 ..?.....
.byte $FF,$FF,$FF,$FF,$FF,$C0,$C0,$15; A3A8 ........
.byte $53,$F3,$F7,$FF,$FF,$FF,$FF,$3F; A3B0 S......?
.byte $4F,$4F,$4F,$4F,$4F,$4F,$4F,$4F; A3B8 OOOOOOOO
; Row 3 (pixel rows 24-31): logo body; the white muzzle flash of the background walker's gun reaches
; column 0 at the left.
.byte $55,$15,$85,$E8,$FE,$BF,$2F,$2F; A3C0 U.....//
.byte $BF,$BF,$BF,$03,$0F,$37,$C3,$53; A3C8 .....7.S
.byte $FC,$FC,$FD,$FF,$FF,$FF,$FF,$03; A3D0 ........
.byte $FD,$FD,$3D,$3D,$3D,$3D,$3C,$11; A3D8 ..====<.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$3F,$7F; A3E0 ......?.
.byte $C5,$C5,$C6,$C7,$C7,$C7,$C7,$C7; A3E8 ........
.byte $FF,$FF,$FC,$FC,$FC,$FC,$FC,$FC; A3F0 ........
.byte $3D,$3D,$3C,$3C,$FF,$FF,$FF,$FF; A3F8 ==<<....
.byte $FC,$FC,$FD,$FF,$FF,$FF,$FF,$FF; A400 ........
.byte $5F,$5F,$1F,$1F,$1F,$1F,$1F,$1F; A408 __......
.byte $F1,$F1,$F1,$F1,$F1,$F1,$F1,$F1; A410 ........
.byte $7F,$7F,$7F,$7F,$4F,$4F,$5F,$5F; A418 ....OO__
.byte $C5,$E1,$F1,$F1,$F1,$F1,$F1,$F1; A420 ........
.byte $3F,$7F,$7F,$7F,$7F,$7F,$7F,$7F; A428 ?.......
.byte $3F,$3F,$3F,$3F,$3F,$3F,$3A,$35; A430 ??????:5
.byte $3C,$3C,$7C,$7C,$7C,$7C,$3C,$00; A438 <<||||<.
.byte $5F,$5F,$5F,$5F,$5F,$5F,$5F,$5F; A440 ________
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A448 ........
.byte $3F,$3F,$8E,$4D,$4D,$4D,$4D,$4D; A450 ??.MMMMM
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A458 ........
.byte $F1,$F1,$F1,$F1,$F1,$F1,$F1,$F1; A460 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FD; A468 ........
.byte $FF,$FF,$FF,$FF,$3F,$3F,$7F,$3F; A470 ....??.?
.byte $C0,$C0,$C0,$C0,$C0,$D0,$F0,$F0; A478 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A480 ........
.byte $C3,$C3,$C3,$C3,$C3,$C3,$C3,$C3; A488 ........
.byte $FC,$FC,$FC,$FC,$FC,$F0,$F0,$F0; A490 ........
.byte $50,$D0,$70,$72,$D2,$F2,$32,$32; A498 P.pr..22
.byte $FF,$FF,$FF,$FF,$FF,$FF,$F3,$F3; A4A0 ........
.byte $FC,$FC,$FC,$FD,$FF,$FF,$FF,$FF; A4A8 ........
.byte $0F,$0F,$0F,$3F,$30,$3F,$1C,$03; A4B0 ...?0?..
.byte $FC,$FC,$FC,$0C,$FC,$F0,$0C,$44; A4B8 .......D
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A4C0 ........
.byte $04,$04,$04,$0C,$00,$00,$0C,$0C; A4C8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A4D0 ........
.byte $C1,$C3,$C3,$C3,$C3,$C3,$C3,$C3; A4D8 ........
.byte $FC,$FC,$FC,$FD,$FF,$FF,$FF,$FF; A4E0 ........
.byte $3F,$3F,$FF,$0F,$0F,$83,$43,$60; A4E8 ??....C`
.byte $3F,$4F,$4F,$4F,$4F,$4F,$4F,$60; A4F0 ?OOOOOO`
.byte $4F,$4F,$4B,$4F,$4F,$4F,$4F,$3F; A4F8 OOKOOOO?
; Row 4 (pixel rows 32-39): logo body with the white-and-orange muzzle flash over columns 0-5.
.byte $D6,$C5,$C1,$F0,$D0,$E8,$C8,$C0; A500 ........
.byte $5C,$B5,$FD,$DF,$DF,$9B,$01,$30; A508 \......0
.byte $28,$20,$44,$60,$E5,$FF,$FF,$D6; A510 ( D`....
.byte $13,$C1,$EC,$0C,$4C,$3F,$7F,$FC; A518 ....L?..
.byte $15,$41,$CD,$0D,$00,$33,$CA,$C8; A520 .A...3..
.byte $C7,$C7,$C7,$C7,$07,$87,$07,$C7; A528 ........
.byte $FC,$FC,$FC,$FC,$FC,$FC,$FC,$FC; A530 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A538 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A540 ........
.byte $1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F; A548 ........
.byte $F1,$F1,$F1,$F1,$F1,$F1,$F1,$F1; A550 ........
.byte $5F,$5F,$5F,$5F,$5F,$5F,$5F,$5F; A558 ________
.byte $F2,$F4,$FC,$FC,$FC,$FC,$FC,$FC; A560 ........
.byte $7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F; A568 ........
.byte $1F,$1F,$1F,$1F,$AF,$FF,$FF,$FF; A570 ........
.byte $00,$3F,$3F,$3F,$3F,$3F,$3F,$3F; A578 .???????
.byte $5F,$5F,$5F,$5F,$5F,$5F,$5F,$5F; A580 ________
.byte $FF,$FF,$FF,$CF,$CF,$CF,$CF,$CF; A588 ........
.byte $C7,$C7,$C7,$C7,$C7,$C7,$EB,$FF; A590 ........
.byte $FF,$FF,$FF,$FF,$CF,$CF,$CF,$CF; A598 ........
.byte $F1,$F1,$F1,$F1,$F1,$F1,$F1,$F1; A5A0 ........
.byte $57,$5F,$7F,$FC,$C3,$3F,$CC,$C2; A5A8 W_...?..
.byte $3F,$3F,$3F,$3F,$3F,$3F,$0F,$0F; A5B0 ??????..
.byte $F0,$F0,$F0,$F1,$F3,$F3,$F3,$F3; A5B8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A5C0 ........
.byte $C3,$C3,$C3,$C7,$CF,$CF,$CF,$CF; A5C8 ........
.byte $F0,$F0,$F1,$F2,$F2,$F1,$F2,$F1; A5D0 ........
.byte $53,$53,$53,$83,$43,$4F,$8F,$4F; A5D8 SSS.CO.O
.byte $F3,$F3,$F3,$F3,$F3,$F3,$C0,$C0; A5E0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A5E8 ........
.byte $0F,$0C,$00,$00,$0E,$4C,$40,$4F; A5F0 .....L@O
.byte $10,$08,$00,$00,$00,$30,$FC,$00; A5F8 .....0..
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A600 ........
.byte $03,$03,$03,$57,$FF,$FF,$FF,$FF; A608 ...W....
.byte $FF,$FF,$FF,$FF,$FC,$FC,$F0,$F4; A610 ........
.byte $01,$31,$31,$3C,$FC,$FC,$FC,$3F; A618 .11<...?
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$3F; A620 .......?
.byte $F4,$FD,$FF,$FF,$FF,$FF,$FF,$FF; A628 ........
.byte $20,$0A,$42,$D0,$F4,$FC,$FD,$FF; A630 .B.....
.byte $3F,$33,$33,$FF,$3F,$0F,$0F,$4F; A638 ?33.?..O
; Row 5 (pixel rows 40-47): logo body; the flash (columns 2-5) and the grey gun barrel that runs down
; and to the right from it, drawn straight over the letters.
.byte $F8,$F8,$F0,$FF,$FD,$FD,$FC,$FF; A640 ........
.byte $62,$4C,$70,$7C,$30,$33,$08,$5A; A648 bLp|03.Z
.byte $F7,$4D,$97,$E7,$0F,$20,$25,$2D; A650 .M... %-
.byte $FB,$FF,$7F,$FF,$7F,$FD,$FF,$FF; A658 ........
.byte $36,$32,$F0,$E5,$F4,$FD,$EF,$FF; A660 62......
.byte $0B,$33,$33,$03,$4B,$33,$73,$D3; A668 .33.K3s.
.byte $FC,$FC,$FC,$FC,$FC,$FC,$FC,$FC; A670 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A678 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A680 ........
.byte $1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F; A688 ........
.byte $F1,$F1,$F1,$F1,$F1,$F1,$F1,$F1; A690 ........
.byte $5F,$5F,$5F,$5F,$5F,$5F,$5F,$5F; A698 ________
.byte $FC,$FC,$FC,$FC,$FC,$FC,$F0,$F0; A6A0 ........
.byte $7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F; A6A8 ........
.byte $0F,$0F,$1F,$1F,$1F,$1F,$1F,$10; A6B0 ........
.byte $3F,$3F,$3F,$3F,$3F,$3F,$3F,$14; A6B8 ???????.
.byte $5F,$5F,$5F,$5F,$5F,$5F,$5F,$5F; A6C0 ________
.byte $CF,$CF,$CF,$CF,$CF,$CF,$CF,$C3; A6C8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A6D0 ........
.byte $CF,$CF,$CF,$CF,$CF,$CF,$CF,$0F; A6D8 ........
.byte $F2,$F2,$F2,$F1,$F2,$F1,$F1,$F1; A6E0 ........
.byte $30,$BF,$FF,$DD,$F5,$F5,$55,$55; A6E8 0.....UU
.byte $4F,$4F,$4F,$8F,$4F,$4F,$4F,$4F; A6F0 OOO.OOOO
.byte $F3,$F7,$FF,$FF,$FF,$FF,$FF,$FF; A6F8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$CF,$CF; A700 ........
.byte $CF,$DF,$FF,$FF,$FF,$FF,$FF,$FF; A708 ........
.byte $F0,$C1,$C1,$C1,$C1,$C1,$C5,$C9; A710 ........
.byte $4F,$4F,$4F,$0F,$0F,$0F,$2F,$3F; A718 OOO.../?
.byte $C0,$C8,$C8,$C0,$D5,$FF,$FF,$FF; A720 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A728 ........
.byte $4F,$4F,$43,$43,$43,$43,$43,$63; A730 OOCCCCCc
.byte $D0,$FC,$FC,$FC,$FC,$FC,$FC,$FC; A738 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A740 ........
.byte $3F,$0F,$0F,$0F,$03,$03,$03,$03; A748 ?.......
.byte $FC,$FC,$FC,$FD,$FF,$FF,$FF,$FF; A750 ........
.byte $3F,$BF,$BF,$3C,$31,$31,$31,$31; A758 ?..<1111
.byte $3F,$4F,$4F,$03,$A0,$F0,$F1,$F1; A760 ?OO.....
.byte $FF,$FF,$FF,$FF,$FF,$3F,$0F,$40; A768 .....?.@
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A770 ........
.byte $C1,$C1,$E1,$F1,$F1,$F1,$F1,$F1; A778 ........
; Row 6 (pixel rows 48-55): logo body; flash and barrel in columns 2-7.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A780 ........
.byte $F0,$F3,$F8,$F8,$E4,$D4,$D4,$D4; A788 ........
.byte $32,$12,$10,$32,$48,$70,$03,$CF; A790 2..2Hp..
.byte $D1,$9F,$7C,$3C,$32,$13,$01,$30; A798 ..|<2..0
.byte $F3,$C1,$5C,$DD,$C2,$E0,$70,$01; A7A0 ..\...p.
.byte $B4,$9D,$37,$3D,$73,$30,$3C,$0F; A7A8 ..7=s0<.
.byte $A8,$28,$C8,$70,$DF,$77,$1D,$47; A7B0 .(.p.w.G
.byte $FF,$FF,$FF,$FF,$4E,$52,$54,$15; A7B8 ....NRT.
.byte $FF,$FF,$FF,$FF,$FC,$FC,$FC,$3C; A7C0 .......<
.byte $1F,$1F,$1F,$1F,$1F,$1F,$5F,$5F; A7C8 ......__
.byte $F1,$F1,$F1,$F1,$F1,$F1,$F1,$F1; A7D0 ........
.byte $5F,$6F,$7F,$7F,$7F,$7F,$BF,$FF; A7D8 _o......
.byte $F1,$F1,$F1,$F1,$F1,$F1,$C1,$C1; A7E0 ........
.byte $7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F; A7E8 ........
.byte $30,$3F,$3F,$3F,$3F,$3F,$3F,$3F; A7F0 0???????
.byte $3C,$7C,$7C,$7C,$7C,$7C,$BC,$FC; A7F8 <|||||..
.byte $5F,$5F,$5F,$5F,$5F,$5F,$5F,$5F; A800 ________
.byte $C3,$C7,$C7,$C7,$C7,$C7,$C7,$C7; A808 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A810 ........
.byte $0F,$1F,$1F,$1F,$1F,$1F,$1F,$1F; A818 ........
.byte $F1,$F2,$F1,$F1,$F1,$F2,$F0,$F0; A820 ........
.byte $F7,$DF,$C0,$4F,$5D,$D4,$3C,$00; A828 ...O].<.
.byte $4F,$53,$63,$03,$A3,$03,$13,$93; A830 OSc.....
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A838 ........
.byte $CF,$CF,$CF,$CF,$CF,$CF,$CF,$CF; A840 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A848 ........
.byte $4F,$4F,$4E,$4F,$4C,$0C,$0C,$38; A850 OONOL..8
.byte $3F,$3F,$3F,$3F,$3F,$3F,$7F,$FF; A858 ??????..
.byte $55,$00,$00,$0F,$0F,$0F,$0F,$03; A860 U.......
.byte $FF,$3F,$3F,$3F,$3F,$3F,$3F,$3F; A868 .???????
.byte $F1,$F1,$F1,$F0,$F0,$F1,$F8,$FC; A870 ........
.byte $FC,$FC,$FC,$FC,$FC,$FC,$FC,$FC; A878 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A880 ........
.byte $03,$03,$03,$03,$03,$03,$03,$03; A888 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; A890 ........
.byte $23,$03,$13,$33,$33,$33,$33,$33; A898 #..33333
.byte $F2,$F0,$F0,$F4,$FC,$FC,$FC,$FD; A8A0 ........
.byte $F0,$FF,$FF,$FF,$FF,$3F,$3F,$0F; A8A8 .....??.
.byte $FF,$3F,$3F,$3F,$3F,$3F,$3F,$3F; A8B0 .???????
.byte $F1,$F1,$F1,$F1,$F1,$C1,$C1,$C5; A8B8 ........
; Row 7 (pixel rows 56-63): last body row of the logo - the letters end on pixel row 62 and pixel row
; 63 is their black shadow line; the barrel continues in columns 2-9.
.byte $FF,$FF,$FE,$FD,$FD,$FD,$FD,$FC; A8C0 ........
.byte $7C,$7F,$BF,$FF,$FF,$FF,$FF,$00; A8C8 |.......
.byte $CF,$0B,$CB,$C3,$C7,$C7,$C7,$04; A8D0 ........
.byte $20,$F1,$FC,$FC,$F0,$F0,$F1,$01; A8D8 .......
.byte $03,$5F,$7F,$FF,$FF,$FF,$FF,$00; A8E0 ._......
.byte $C1,$C0,$FC,$FC,$FC,$FC,$FC,$00; A8E8 ........
.byte $B1,$6C,$70,$BC,$D0,$35,$0E,$83; A8F0 .lp..5..
.byte $37,$37,$15,$94,$5E,$7F,$7F,$DF; A8F8 77..^...
.byte $48,$D0,$F4,$7D,$1F,$87,$E1,$F8; A900 H..}....
.byte $AF,$AF,$AF,$3F,$4F,$53,$57,$54; A908 ...?OSWT
.byte $F5,$FF,$FF,$FF,$FF,$FF,$FF,$00; A910 ........
.byte $FF,$FF,$FF,$FF,$FF,$FC,$F0,$00; A918 ........
.byte $4F,$4F,$0F,$0E,$3D,$3D,$3D,$FC; A920 OO..===.
.byte $7F,$FF,$FF,$FF,$FF,$FF,$FF,$00; A928 ........
.byte $15,$16,$17,$AB,$FF,$FF,$FF,$00; A930 ........
.byte $FC,$FC,$FC,$FC,$FC,$FC,$FC,$00; A938 ........
.byte $5F,$5F,$AF,$FF,$FF,$FF,$FF,$00; A940 __......
.byte $C7,$C7,$E1,$F1,$F1,$F1,$F1,$01; A948 ........
.byte $FF,$FF,$FC,$FC,$FC,$FC,$FD,$01; A950 ........
.byte $1F,$1F,$3F,$3F,$7F,$7F,$3F,$80; A958 ..??..?.
.byte $F0,$F0,$F5,$FF,$FF,$FF,$FF,$00; A960 ........
.byte $00,$00,$30,$30,$10,$1C,$00,$F0; A968 ..00....
.byte $42,$C6,$06,$04,$30,$3C,$C0,$C3; A970 B...0<..
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$00; A978 ........
.byte $CF,$CF,$CF,$03,$03,$03,$03,$18; A980 ........
.byte $FF,$FF,$FF,$FC,$FC,$FC,$FC,$00; A988 ........
.byte $3C,$3C,$30,$3A,$05,$05,$C5,$F0; A990 <<0:....
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$00; A998 ........
.byte $08,$08,$00,$51,$F3,$F3,$F3,$08; A9A0 ...Q....
.byte $3F,$3F,$BF,$7F,$FF,$FF,$FF,$00; A9A8 ??......
.byte $FC,$FC,$FC,$FD,$FF,$FF,$FF,$00; A9B0 ........
.byte $52,$53,$03,$2B,$3F,$3F,$3F,$00; A9B8 RS.+???.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$00; A9C0 ........
.byte $03,$03,$00,$A0,$F1,$F1,$F5,$05; A9C8 ........
.byte $FF,$FF,$FF,$FF,$FF,$3F,$3F,$40; A9D0 .....??@
.byte $F3,$F3,$F3,$F3,$C3,$C3,$E3,$10; A9D8 ........
.byte $FF,$FF,$FF,$FF,$FF,$F3,$F3,$04; A9E0 ........
.byte $40,$D5,$FF,$FF,$FF,$FF,$FF,$00; A9E8 @.......
.byte $7F,$FF,$FF,$FF,$FF,$FF,$FF,$00; A9F0 ........
.byte $4F,$4F,$4F,$4F,$0F,$3F,$FC,$CC; A9F8 OOOO.?..
; Row 8 (pixel rows 64-71): sky, the top of the big walker's hull (greys, columns 7-28) with the white
; barrel highlight in columns 8-25, and smoke turning into the explosion in columns 29-39.
.byte $FC,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AA00 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AA08 ........
.byte $0C,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AA10 ........
.byte $03,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AA18 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AA20 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AA28 ........
.byte $F0,$FC,$FF,$FF,$FF,$FF,$FF,$FF; AA30 ........
.byte $95,$25,$09,$C2,$F0,$FC,$FF,$FF; AA38 .%......
.byte $FF,$FF,$7F,$DF,$37,$0D,$80,$A0; AA40 ....7...
.byte $3F,$8F,$6D,$5F,$71,$F0,$18,$06; AA48 ?.m_q...
.byte $00,$2A,$CA,$72,$DC,$77,$1D,$07; AA50 .*.r.w..
.byte $03,$FF,$FF,$FF,$FF,$3F,$4F,$93; AA58 .....?O.
.byte $FC,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AA60 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AA68 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AA70 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AA78 ........
.byte $00,$FF,$FD,$FD,$FC,$FF,$F5,$F6; AA80 ........
.byte $02,$BF,$CF,$55,$00,$0F,$CC,$00; AA88 ...U....
.byte $03,$5F,$F5,$DF,$00,$42,$02,$00; AA90 ._...B..
.byte $C0,$AF,$BC,$7F,$67,$0D,$D0,$0F; AA98 ....g...
.byte $00,$3F,$D5,$75,$DD,$FF,$DF,$3D; AAA0 .?.u...=
.byte $CC,$CF,$F0,$FF,$FF,$FF,$FF,$FF; AAA8 ........
.byte $0B,$CC,$F3,$04,$37,$FC,$FD,$FD; AAB0 ....7...
.byte $00,$C0,$30,$0C,$00,$40,$00,$F0; AAB8 ..0..@..
.byte $30,$07,$05,$00,$00,$C0,$CC,$4F; AAC0 0......O
.byte $00,$55,$D5,$D5,$3F,$FF,$8F,$8F; AAC8 .U..?...
.byte $50,$55,$55,$55,$FF,$FF,$FF,$FF; AAD0 PUUU....
.byte $00,$FF,$FC,$FF,$40,$5F,$57,$55; AAD8 ....@_WU
.byte $00,$C1,$09,$FC,$01,$C5,$D4,$FD; AAE0 ........
.byte $00,$31 ; AAE8 .1
titleBitmapAAEA:
.byte $33,$CC,$3F,$CF,$FC,$FC ; AAEA 3.?... row 8, column 29, pixel rows 2-7: dark grey smoke against the sky, ordinary picture bytes. The label exists only because the boot loader's STA $AAEA,Y at $C168 carries this address as its operand, and that instruction is patched to TXS (INC $C168 at $C242) before it is ever executed - nothing is ever stored here
.byte $00,$FC,$FF,$FF,$FF,$0F,$00,$3C; AAF0 .......<
.byte $C0,$F0,$30,$30,$3C,$1C,$8C,$0F; AAF8 ..00<...
.byte $00,$3F,$3F,$3F,$0F,$3F,$33,$00; AB00 .???.?3.
.byte $0F,$FF,$FF,$FF,$FF,$FF,$03,$7F; AB08 ........
.byte $C0,$F1,$CF,$FF,$3F,$FF,$FF,$CC; AB10 ....?...
.byte $0C,$C2,$31,$C4,$30,$30,$F3,$FC; AB18 ..1.00..
.byte $0C,$1F,$3F,$3C,$F0,$C3,$03,$0F; AB20 ..?<....
.byte $00,$31,$F3,$F3,$0F,$0F,$3F,$FF; AB28 .1....?.
.byte $00,$C7,$FF,$F3,$CF,$C3,$0F,$FF; AB30 ........
.byte $0F,$FC,$C0,$30,$FF,$FF,$F3,$CC; AB38 ...0....
; Row 9 (pixel rows 72-79): walker hull and turret; the first orange and yellow pixels of the
; explosion appear in columns 30-35.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AB40 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AB48 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AB50 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AB58 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AB60 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AB68 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AB70 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AB78 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AB80 ........
.byte $C1,$F0,$FC,$FF,$FF,$FF,$FF,$FF; AB88 ........
.byte $81,$60,$18,$06,$C1,$F0,$FC,$FF; AB90 .`......
.byte $74,$DD,$37,$0D,$83,$E0,$38,$0E; AB98 t.7...8.
.byte $FF,$3F,$4F,$93,$64,$99,$26,$09; ABA0 .?O.d.&.
.byte $FF,$FF,$FF,$FF,$FF,$3F,$8F,$65; ABA8 .....?.e
.byte $FF,$FF,$FF,$FD,$FD,$49,$48,$55; ABB0 .....IHU
.byte $FF,$FF,$53,$83,$42,$05,$04,$55; ABB8 ..S.B..U
.byte $F0,$FC,$F5,$EA,$A0,$05,$00,$55; ABC0 .......U
.byte $00,$C3,$F3,$54,$00,$33,$33,$FF; ABC8 ...T.33.
.byte $00,$40,$FC,$00,$00,$7F,$07,$00; ABD0 .@......
.byte $C0,$C0,$00,$00,$00,$00,$50,$00; ABD8 ......P.
.byte $CF,$03,$30,$3C,$C7,$F3,$04,$00; ABE0 ..0<....
.byte $FF,$FF,$FF,$3F,$3F,$C7,$F1,$00; ABE8 ...??...
.byte $FF,$FF,$FF,$FF,$FF,$FD,$F7,$FD; ABF0 ........
.byte $F4,$F5,$FF,$F5,$FF,$F5,$D5,$57; ABF8 .......W
.byte $73,$04,$43,$D3,$F4,$77,$FF,$57; AC00 s.C..w.W
.byte $0F,$43,$0F,$4F,$4F,$4F,$4F,$4F; AC08 .C.OOOOO
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AC10 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AC18 ........
.byte $FF,$FF,$FF,$FF,$FC,$FC,$FF,$FF; AC20 ........
.byte $F3,$FC,$FF,$FF,$FF,$FF,$CF,$CF; AC28 ........
.byte $33,$03,$30,$C0,$C3,$F3,$C4,$FF; AC30 3.0.....
.byte $09,$C1,$31,$02,$3C,$3C,$F1,$30; AC38 ..1.<<.0
.byte $04,$04,$C1,$C1,$C0,$E0,$E0,$24; AC40 .......$
.byte $33,$33,$FC,$3C,$CF,$FC,$3C,$3F; AC48 33.<..<?
.byte $F3,$0F,$FC,$F0,$C0,$01,$F1,$C8; AC50 ........
.byte $80,$00,$11,$17,$7C,$0D,$C0,$8C; AC58 ....|...
.byte $14,$95,$00,$F0,$3C,$FC,$FC,$0C; AC60 ....<...
.byte $FF,$3F,$FF,$3F,$3C,$03,$3F,$3F; AC68 .?.?<.??
.byte $C0,$1F,$F0,$CF,$0F,$F3,$FF,$FC; AC70 ........
.byte $F3,$0F,$FC,$C0,$00,$F1,$FF,$C0; AC78 ........
; Row 10 (pixel rows 80-87): hull and raised turret; the explosion (white, yellow, orange, red) now
; covers columns 30-39.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AC80 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AC88 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AC90 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AC98 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ACA0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ACA8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ACB0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ACB8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ACC0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ACC8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FD,$F6,$F6; ACD0 ........
.byte $81,$A0,$AF,$B5,$DF,$75,$5F,$5F; ACD8 .....u__
.byte $81,$60,$98,$F6,$55,$FF,$FF,$D5; ACE0 .`..U...
.byte $EE,$FB,$3E,$0F,$43,$90,$04,$50; ACE8 ..>.C..P
.byte $BF,$7F,$55,$9F,$67,$97,$2B,$2B; ACF0 ..U.g.++
.byte $AA,$AA,$FF,$FD,$F5,$F5,$F5,$F5; ACF8 ........
.byte $FF,$FF,$D5,$4F,$4F,$4A,$4A,$4A; AD00 ...OOJJJ
.byte $FF,$FF,$AA,$FF,$FF,$55,$55,$55; AD08 .....UUU
.byte $55,$55,$00,$AA,$55,$FF,$FF,$FF; AD10 UU..U...
.byte $FF,$FF,$00,$40,$54,$F5,$A7,$A7; AD18 ...@T...
.byte $FF,$FF,$00,$00,$3F,$40,$56,$56; AD20 ....?@VV
.byte $50,$50,$0B,$52,$09,$A5,$FF,$FF; AD28 PP.R....
.byte $0A,$02,$40,$F4,$5F,$55,$FF,$FF; AD30 ..@._U..
.byte $FF,$FF,$3F,$03,$80,$58,$56,$56; AD38 ..?..XVV
.byte $77,$7F,$FF,$DF,$37,$0F,$03,$80; AD40 w...7...
.byte $4F,$4F,$4F,$4F,$4F,$4C,$4F,$4F; AD48 OOOOOLOO
.byte $3F,$FF,$C3,$C3,$FF,$FF,$FF,$0F; AD50 ?.......
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AD58 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AD60 ........
.byte $3F,$3F,$33,$FF,$33,$3F,$F3,$FF; AD68 ??3.3?..
.byte $F3,$C0,$20,$13,$15,$20,$C8,$20; AD70 .. .. .
.byte $C0,$C4,$05,$C0,$CA,$3C,$30,$83; AD78 .....<0.
.byte $7C,$6C,$2C,$4F,$5B,$57,$07,$07; AD80 |l,O[W..
.byte $00,$00,$0F,$0C,$A3,$03,$43,$4C; AD88 ......CL
.byte $0F,$30,$F1,$F1,$FC,$C0,$04,$05; AD90 .0......
.byte $0C,$10,$1C,$00,$03,$1C,$90,$80; AD98 ........
.byte $0F,$F0,$40,$40,$00,$03,$43,$82; ADA0 ..@@..C.
.byte $FC,$01,$00,$00,$3F,$F0,$00,$FF; ADA8 ....?...
.byte $00,$04,$28,$80,$13,$13,$3F,$3F; ADB0 ..(...??
.byte $30,$8C,$80,$DC,$10,$04,$70,$40; ADB8 0.....p@
; Row 11 (pixel rows 88-95): hull; explosion in columns 30-39.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ADC0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ADC8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ADD0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ADD8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ADE0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ADE8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ADF0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; ADF8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AE00 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AE08 ........
.byte $A7,$9D,$75,$77,$DF,$DF,$7C,$F0; AE10 ..uw..|.
.byte $55,$5F,$FF,$FF,$F0,$F0,$0A,$AA; AE18 U_......
.byte $FF,$FF,$FF,$FF,$00,$00,$55,$55; AE20 ......UU
.byte $70,$5C,$5C,$5C,$1F,$1F,$FF,$F0; AE28 p\\\....
.byte $0B,$0B,$13,$13,$04,$04,$FF,$E5; AE30 ........
.byte $F5,$F5,$F5,$BD,$AD,$AD,$AA,$00; AE38 ........
.byte $C5,$C5,$C5,$C0,$C3,$C7,$B8,$28; AE40 .......(
.byte $FF,$FF,$FF,$03,$54,$54,$55,$00; AE48 ....TTU.
.byte $FF,$FF,$FF,$FF,$03,$03,$54,$15; AE50 ......T.
.byte $A6,$F6,$F7,$F7,$F7,$F7,$37,$47; AE58 ......7G
.byte $F5,$B7,$A7,$E6,$F6,$F7,$F7,$F7; AE60 ........
.byte $FF,$A5,$F9,$FE,$7F,$5F,$D5,$F5; AE68 ....._..
.byte $55,$FF,$FF,$BF,$6F,$6F,$5A,$D5; AE70 U...ooZ.
.byte $57,$FF,$FD,$FF,$D5,$D5,$FD,$B5; AE78 W.......
.byte $F0,$5C,$54,$F7,$F9,$F9,$FA,$FA; AE80 .\T.....
.byte $4F,$43,$4F,$0F,$43,$83,$80,$E0; AE88 OCO.C...
.byte $3F,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AE90 ?.......
.byte $FF,$FF,$FF,$FF,$FF,$FC,$FC,$F3; AE98 ........
.byte $FC,$FF,$3F,$F3,$C0,$FC,$F3,$FF; AEA0 ..?.....
.byte $33,$C3,$03,$3F,$FC,$0F,$F0,$C0; AEA8 3..?....
.byte $CA,$CF,$C0,$C4,$F2,$F0,$F1,$F1; AEB0 ........
.byte $C0,$0D,$05,$23,$AF,$16,$03,$2C; AEB8 ...#...,
.byte $12,$10,$16,$3F,$3C,$00,$20,$30; AEC0 ...?<. 0
.byte $CA,$F0,$70,$31,$3C,$1C,$0C,$0F; AEC8 ..p1<...
.byte $50,$02,$49,$54,$03,$CC,$FE,$2C; AED0 P.IT...,
.byte $23,$04,$08,$FA,$03,$37,$35,$40; AED8 #....75@
.byte $43,$70,$C0,$30,$40,$0B,$49,$70; AEE0 Cp.0@.Ip
.byte $00,$00,$32,$3C,$34,$35,$0F,$3F; AEE8 ..2<45.?
.byte $01,$27,$FE,$56,$55,$FF,$BE,$FA; AEF0 .'.VU...
.byte $C2,$C4,$0C,$C0,$00,$50,$80,$20; AEF8 .....P.
; Row 12 (pixel rows 96-103): the underside of the hull; explosion in columns 31-39.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AF00 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AF08 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AF10 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AF18 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AF20 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AF28 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; AF30 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$F5; AF38 ........
.byte $FF,$FF,$4F,$0F,$FF,$68,$40,$96; AF40 ..O..h@.
.byte $FF,$FD,$E4,$E0,$C0,$FF,$65,$09; AF48 ......e.
.byte $4F,$3F,$7F,$7F,$7C,$7C,$1C,$07; AF50 O?..||..
.byte $FC,$C0,$15,$15,$03,$43,$7F,$F0; AF58 .....C..
.byte $00,$6A,$FF,$FF,$C1,$C1,$55,$00; AF60 .j....U.
.byte $00,$AA,$FF,$FF,$F1,$F1,$55,$00; AF68 ......U.
.byte $00,$55,$7F,$7F,$70,$70,$AA,$00; AF70 .U..pp..
.byte $00,$FF,$BF,$BF,$B0,$B0,$55,$00; AF78 ......U.
.byte $01,$AA,$FF,$FF,$70,$70,$55,$00; AF80 ....ppU.
.byte $55,$AA,$FF,$FF,$7C,$7C,$55,$00; AF88 U...||U.
.byte $41,$F4,$FF,$FF,$FF,$57,$55,$05; AF90 A....WU.
.byte $F0,$3F,$4F,$43,$50,$55,$F5,$FF; AF98 .?OCPU..
.byte $1D,$CD,$F1,$FC,$3F,$0F,$43,$54; AFA0 ....?.CT
.byte $FF,$FF,$FF,$FF,$3F,$43,$54,$55; AFA8 ....?CTU
.byte $5F,$D7,$F5,$FD,$FF,$FF,$FF,$3F; AFB0 _......?
.byte $EF,$FB,$FC,$7C,$5A,$E3,$D5,$FF; AFB8 ...|Z...
.byte $AD,$AD,$FF,$FF,$F0,$85,$00,$10; AFC0 ........
.byte $60,$78,$D8,$DA,$1E,$17,$CF,$4F; AFC8 `x.....O
.byte $3F,$3F,$0F,$0C,$03,$40,$83,$43; AFD0 ??...@.C
.byte $FF,$3F,$3F,$F0,$00,$C3,$0F,$FC; AFD8 .??.....
.byte $0F,$FF,$FF,$03,$FC,$30,$C0,$01; AFE0 .....0..
.byte $0C,$FF,$FC,$FF,$00,$00,$55,$55; AFE8 ......UU
.byte $0C,$FC,$00,$FF,$00,$00,$55,$55; AFF0 ......UU
.byte $5A,$44,$4A,$00,$01,$3D,$FC,$FF; AFF8 ZDJ..=..
.byte $30,$C3,$35,$7D,$37,$13,$2B,$AE; B000 0.5}7.+.
.byte $0E,$0E,$02,$C3,$C7,$8D,$C1,$4C; B008 .......L
.byte $12,$1D,$F2,$DE,$C8,$FD,$7C,$74; B010 ......|t
.byte $0C,$48,$1D,$03,$38,$F2,$53,$DD; B018 .H..8.S.
.byte $F0,$04,$FC,$80,$C1,$7C,$66,$58; B020 .....|fX
.byte $FF,$C2,$70,$40,$42,$CD,$1B,$21; B028 ..p@B..!
.byte $13,$31,$31,$8A,$00,$DC,$20,$0C; B030 .11... .
.byte $C0,$F0,$F0,$10,$94,$F0,$C0,$00; B038 ........
; Row 13 (pixel rows 104-111): sky in columns 0-6, the hull ending in columns 7-26, sky again in
; columns 27-31, explosion in columns 32-39.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B040 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B048 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B050 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B058 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B060 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B068 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FD; B070 ........
.byte $9E,$9E,$BF,$4B,$53,$30,$78,$4F; B078 ...KS0xO
.byte $FF,$F5,$DD,$FF,$DF,$FD,$F5,$37; B080 .......7
.byte $73,$FC,$5F,$7F,$F5,$5D,$FD,$DF; B088 s._..]..
.byte $C1,$71,$1C,$CC,$47,$5F,$75,$DF; B090 .q..G_u.
.byte $FF,$FF,$7F,$1F,$1F,$87,$81,$A0; B098 ........
.byte $FD,$FF,$00,$FF,$FF,$FF,$F0,$B0; B0A0 ........
.byte $7F,$5F,$00,$D7,$F5,$FD,$00,$00; B0A8 ._......
.byte $F5,$FD,$00,$FF,$FF,$7F,$00,$00; B0B0 ........
.byte $FF,$7F,$00,$5F,$D7,$F5,$00,$00; B0B8 ..._....
.byte $FF,$FF,$00,$FF,$FF,$FF,$00,$00; B0C0 ........
.byte $5F,$D7,$00,$F5,$FD,$FF,$00,$00; B0C8 _.......
.byte $FF,$FF,$03,$FF,$7F,$5F,$00,$00; B0D0 ....._..
.byte $FF,$FF,$FF,$FF,$FF,$FF,$00,$00; B0D8 ........
.byte $D5,$F5,$FD,$FF,$FF,$FF,$00,$00; B0E0 ........
.byte $3F,$3F,$4F,$53,$D4,$FD,$01,$00; B0E8 ??OS....
.byte $C5,$C5,$F1,$FC,$FF,$FF,$3F,$7F; B0F0 ......?.
.byte $D5,$D5,$D5,$FF,$3F,$3F,$2A,$2A; B0F8 ....??**
.byte $C3,$C3,$C5,$C6,$C6,$C0,$30,$30; B100 ......00
.byte $27,$27,$27,$27,$27,$27,$0F,$0F; B108 ''''''..
.byte $F0,$F0,$F0,$F0,$F0,$72,$72,$72; B110 .....rrr
.byte $44,$50,$00,$03,$FF,$FF,$FF,$FF; B118 DP......
.byte $0F,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B120 ........
.byte $D3,$D3,$C3,$FD,$F4,$D0,$D0,$D8; B128 ........
.byte $FF,$FF,$FF,$3F,$3F,$3D,$FD,$E0; B130 ...??=..
.byte $FD,$FD,$F8,$F4,$F0,$42,$06,$0A; B138 .....B..
.byte $0F,$7E,$7B,$E3,$33,$C5,$D0,$F5; B140 .~{.3...
.byte $84,$F0,$E9,$DC,$3A,$DB,$46,$57; B148 ....:.FW
.byte $FF,$DC,$3C,$0F,$07,$17,$F3,$8E; B150 ..<.....
.byte $FE,$1F,$DF,$BC,$DC,$BC,$F6,$FC; B158 ........
.byte $08,$F1,$B0,$FD,$E7,$CF,$F0,$D7; B160 ........
.byte $0C,$10,$18,$B3,$F8,$C1,$C1,$7C; B168 .......|
.byte $08,$F0,$CD,$B8,$E0,$03,$44,$05; B170 ......D.
.byte $00,$00,$00,$00,$3C,$30,$00,$00; B178 ....<0..
; Row 14 (pixel rows 112-119): the hull's belly and the tops of the legs (columns 7-25); the
; background walker's gun appears at columns 5-6; explosion in columns 29-39.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B180 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B188 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B190 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B198 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B1A0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FD,$F4; B1A8 ........
.byte $FD,$FD,$FD,$FD,$FD,$FA,$A5,$55; B1B0 .......U
.byte $F3,$FC,$55,$FD,$FB,$56,$E5,$BA; B1B8 ..U..V..
.byte $0F,$FE,$E3,$3F,$FF,$67,$FB,$5D; B1C0 ...?.g.]
.byte $5D,$5D,$75,$F5,$EF,$6B,$AF,$EF; B1C8 ]]u..k..
.byte $BF,$FD,$AF,$BD,$FF,$59,$55,$55; B1D0 .....YUU
.byte $54,$5B,$5F,$D7,$57,$FF,$FF,$FF; B1D8 T[_.W...
.byte $7F,$1F,$07,$C1,$F2,$FC,$FC,$FF; B1E0 ........
.byte $FF,$F0,$CF,$C8,$73,$72,$5C,$14; B1E8 ....sr\.
.byte $FC,$01,$FF,$00,$FD,$FD,$00,$7F; B1F0 ........
.byte $3F,$35,$3F,$0E,$F3,$F3,$0C,$BF; B1F8 ?5?.....
.byte $FF,$AA,$FF,$55,$D5,$D5,$35,$CF; B200 ...U..5.
.byte $55,$AA,$55,$FF,$FF,$FF,$FF,$55; B208 U.U....U
.byte $55,$A5,$55,$FF,$FF,$FF,$FF,$55; B210 U.U....U
.byte $05,$C4,$F1,$FC,$7F,$5F,$57,$FF; B218 ....._W.
.byte $F0,$00,$FF,$00,$3F,$4F,$50,$57; B220 ....?OPW
.byte $FF,$FF,$0F,$03,$50,$54,$00,$55; B228 ....PT.U
.byte $C0,$FC,$FC,$FF,$FF,$00,$0F,$0F; B230 ........
.byte $3F,$00,$0F,$CF,$F0,$00,$FF,$FF; B238 ?.......
.byte $00,$05,$F0,$F3,$03,$03,$03,$C3; B240 ........
.byte $8B,$3E,$3D,$F5,$36,$F6,$F5,$D5; B248 .>=.6...
.byte $52,$52,$52,$D2,$F2,$F2,$F2,$FC; B250 RRR.....
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B258 ........
.byte $FF,$FF,$F4,$D0,$D1,$C1,$FC,$FF; B260 ........
.byte $C2,$C8,$FB,$F1,$60,$15,$04,$C0; B268 ....`...
.byte $43,$3C,$F3,$85,$00,$08,$10,$12; B270 C<......
.byte $54,$C7,$44,$77,$00,$1C,$BB,$2F; B278 T.Dw.../
.byte $13,$1B,$C4,$25,$08,$0F,$F0,$C5; B280 ...%....
.byte $EB,$D7,$7C,$40,$DC,$F0,$03,$0F; B288 ..|@....
.byte $DF,$D3,$A3,$0F,$FF,$CC,$F0,$CC; B290 ........
.byte $FF,$F3,$FF,$FF,$FF,$B7,$3F,$DF; B298 ......?.
.byte $70,$BC,$CF,$FF,$FC,$FF,$FF,$37; B2A0 p......7
.byte $51,$3F,$C0,$D7,$DF,$50,$72,$CF; B2A8 Q?...Pr.
.byte $50,$3C,$3F,$00,$93,$23,$02,$00; B2B0 P<?..#..
.byte $C0,$00,$00,$00,$C0,$C0,$40,$18; B2B8 ......@.
; Row 15 (pixel rows 120-127): the background walker's barrel crosses columns 1-5, the big walker's
; legs fill columns 6-25, explosion in columns 30-39.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B2C0 ........
.byte $FF,$FF,$FD,$FD,$FC,$FF,$FF,$FF; B2C8 ........
.byte $FF,$8F,$13,$44,$21,$08,$C2,$F0; B2D0 ...D!...
.byte $FF,$FF,$FF,$FF,$3F,$4F,$14,$86; B2D8 ....?O..
.byte $FF,$FF,$FF,$FF,$FD,$FD,$FC,$3F; B2E0 .......?
.byte $B1,$B0,$BF,$DF,$35,$17,$1F,$41; B2E8 ....5..A
.byte $95,$FF,$F6,$D6,$DD,$5F,$F6,$9A; B2F0 ....._..
.byte $55,$57,$EF,$BF,$FF,$57,$FF,$FF; B2F8 UW...W..
.byte $75,$59,$FF,$FF,$FF,$FF,$FF,$FF; B300 uY......
.byte $5F,$7F,$7F,$FF,$FF,$7F,$FF,$FF; B308 _.......
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B310 ........
.byte $FF,$FF,$DF,$FF,$FF,$C0,$FF,$FF; B318 ........
.byte $FF,$FF,$FF,$FF,$FF,$0F,$F0,$FF; B320 ........
.byte $27,$C5,$C9,$F1,$C2,$00,$3C,$3C; B328 '.....<<
.byte $C0,$9A,$C0,$C0,$D0,$F4,$FC,$3D; B330 .......=
.byte $03,$DC,$77,$1F,$07,$01,$00,$00; B338 ..w.....
.byte $F0,$05,$FF,$FF,$FF,$6A,$00,$10; B340 .....j..
.byte $55,$2A,$BF,$BF,$40,$FF,$00,$00; B348 U*..@...
.byte $55,$AA,$FF,$FF,$00,$FF,$00,$00; B350 U.......
.byte $55,$AA,$FF,$FF,$00,$FF,$00,$00; B358 U.......
.byte $55,$AA,$FF,$FF,$00,$FF,$00,$00; B360 U.......
.byte $55,$AA,$FF,$FF,$00,$FF,$00,$00; B368 U.......
.byte $80,$50,$FF,$FF,$00,$FF,$00,$00; B370 .P......
.byte $00,$FF,$3F,$3F,$3F,$55,$00,$00; B378 ..???U..
.byte $02,$F2,$F0,$FC,$FF,$55,$00,$00; B380 .....U..
.byte $E5,$F5,$F9,$FD,$3E,$BF,$2F,$0F; B388 ....>./.
.byte $DC,$DD,$FF,$F7,$FF,$FD,$3F,$FF; B390 ......?.
.byte $FF,$3F,$3F,$4F,$8F,$93,$63,$64; B398 .??O..cd
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B3A0 ........
.byte $F0,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B3A8 ........
.byte $4F,$8C,$B0,$32,$72,$4C,$70,$70; B3B0 O..2rLpp
.byte $70,$4C,$40,$03,$33,$C0,$02,$09; B3B8 pL@.3...
.byte $54,$70,$03,$4E,$2E,$17,$83,$0F; B3C0 Tp.N....
.byte $2F,$BD,$F4,$D2,$4E,$3F,$31,$FF; B3C8 /...N?1.
.byte $0F,$3C,$FC,$F3,$70,$3D,$93,$E3; B3D0 .<..p=..
.byte $DF,$BF,$33,$3C,$FF,$37,$3F,$37; B3D8 ..3<.7?7
.byte $BD,$FF,$CC,$FF,$F0,$3C,$FF,$C3; B3E0 .....<..
.byte $30,$13,$44,$3F,$00,$34,$4C,$80; B3E8 0.D?.4L.
.byte $25,$C4,$CF,$0F,$0C,$14,$C4,$F0; B3F0 %.......
.byte $A5,$AF,$15,$3F,$25,$2D,$CF,$EF; B3F8 ...?%-..
; Row 16 (pixel rows 128-135): the background walker (columns 4-16), sky between the big walker's legs
; (columns 17-25), explosion in columns 31-39.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B400 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B408 ........
.byte $FC,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B410 ........
.byte $44,$14,$05,$C1,$F0,$FC,$FF,$FF; B418 D.......
.byte $CA,$31,$41,$DC,$F3,$0C,$03,$A0; B420 .1A.....
.byte $CD,$07,$3C,$3D,$01,$80,$20,$C8; B428 ..<=.. .
.byte $9F,$77,$7F,$1B,$8F,$73,$3F,$0F; B430 .w...s?.
.byte $D5,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B438 ........
.byte $7F,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B440 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B448 ........
.byte $FF,$FC,$FF,$FF,$FF,$FF,$FD,$FC; B450 ........
.byte $FF,$00,$FF,$FF,$CC,$FC,$33,$F0; B458 ......3.
.byte $30,$00,$0C,$CF,$CF,$0F,$30,$FC; B460 0.....0.
.byte $F0,$03,$F3,$F0,$C0,$01,$05,$C5; B468 ........
.byte $3C,$0F,$0F,$03,$03,$00,$54,$55; B470 <.....TU
.byte $00,$00,$80,$E5,$F5,$F9,$F5,$3D; B478 .......=
.byte $12,$04,$04,$FE,$FE,$FF,$FF,$FF; B480 ........
.byte $FF,$FF,$FF,$3F,$3F,$4F,$4F,$93; B488 ...??OO.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B490 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B498 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B4A0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B4A8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B4B0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B4B8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B4C0 ........
.byte $C6,$F2,$F1,$FC,$FC,$FF,$FF,$FF; B4C8 ........
.byte $E5,$F5,$F9,$FD,$BE,$3F,$2F,$4F; B4D0 .....?/O
.byte $FC,$DD,$FF,$F7,$FD,$FD,$3F,$FF; B4D8 ......?.
.byte $FF,$3F,$3F,$8F,$4F,$63,$53,$98; B4E0 .??.OcS.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B4E8 ........
.byte $C3,$C3,$FF,$FE,$F5,$D0,$D0,$C5; B4F0 ........
.byte $A5,$94,$53,$4F,$3C,$F0,$C0,$02; B4F8 ..SO<...
.byte $24,$53,$FF,$35,$37,$57,$74,$7F; B500 $S.57Wt.
.byte $6F,$70,$B8,$CA,$35,$DD,$CF,$03; B508 op..5...
.byte $FF,$0D,$4C,$00,$F3,$04,$16,$14; B510 ..L.....
.byte $3C,$CF,$CF,$7F,$FF,$0C,$A5,$FC; B518 <.......
.byte $FC,$FC,$7C,$D0,$80,$E3,$07,$F4; B520 ..|.....
.byte $C0,$F3,$FE,$33,$33,$3C,$FC,$50; B528 ...33<.P
.byte $C0,$C2,$48,$08,$40,$C0,$F0,$4C; B530 ..H.@..L
.byte $0F,$0F,$0F,$3F,$0F,$03,$04,$05; B538 ...?....
; Row 17 (pixel rows 136-143): both walkers' legs over sky; explosion and its falling debris in
; columns 33-39.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B540 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B548 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B550 ........
.byte $FF,$FF,$FF,$F9,$F5,$F0,$D0,$D4; B558 ........
.byte $90,$77,$7F,$FC,$FC,$F1,$F1,$F1; B560 .w......
.byte $31,$0C,$37,$95,$DF,$7F,$F0,$AA; B568 1.7.....
.byte $00,$F5,$37,$CF,$7F,$43,$A2,$80; B570 ..7..C..
.byte $00,$7F,$4F,$4A,$4F,$4F,$45,$00; B578 ..OJOOE.
.byte $00,$FF,$5A,$AD,$F9,$FD,$3D,$11; B580 ..Z...=.
.byte $00,$F0,$71,$0F,$BF,$BD,$9F,$B7; B588 ..q.....
.byte $53,$07,$03,$83,$F3,$AB,$FD,$7D; B590 S......}
.byte $CC,$C0,$03,$07,$1C,$1C,$10,$15; B598 ........
.byte $44,$40,$00,$44,$04,$00,$FF,$FF; B5A0 D@.D....
.byte $53,$43,$43,$0F,$FF,$FF,$FF,$FF; B5A8 SCC.....
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B5B0 ........
.byte $24,$C5,$C9,$F1,$F1,$F6,$FA,$F8; B5B8 $.......
.byte $FF,$FF,$7F,$7F,$7F,$5E,$9D,$85; B5C0 .....^..
.byte $73,$5C,$BC,$00,$00,$95,$CD,$CD; B5C8 s\......
.byte $FF,$FF,$FF,$FF,$FF,$3F,$3F,$3F; B5D0 .....???
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B5D8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B5E0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B5E8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B5F0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B5F8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B600 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B608 ........
.byte $C6,$F2,$F1,$FC,$FC,$FF,$FF,$FF; B610 ........
.byte $E5,$F5,$F9,$FD,$BE,$3F,$1F,$5F; B618 .....?._
.byte $FC,$DD,$F7,$F5,$FD,$F5,$94,$BC; B620 ........
.byte $FF,$3F,$3F,$4F,$4F,$13,$43,$48; B628 .??OO.CH
.byte $C0,$F0,$FF,$FF,$FF,$FF,$FF,$FF; B630 ........
.byte $0F,$3F,$FD,$FD,$FD,$4E,$4C,$0C; B638 .?...NL.
.byte $5C,$CC,$74,$DE,$7E,$F7,$48,$FB; B640 \.t.~.H.
.byte $01,$3C,$F4,$33,$30,$F1,$23,$CA; B648 .<.30.#.
.byte $5F,$FF,$DD,$44,$02,$08,$38,$62; B650 _..D..8b
.byte $D4,$E3,$03,$AC,$D7,$40,$1C,$14; B658 .....@..
.byte $07,$2D,$24,$04,$0C,$00,$C0,$C0; B660 .-$.....
.byte $C0,$00,$00,$00,$12,$11,$3F,$C0; B668 ......?.
.byte $E0,$0D,$00,$F9,$CC,$04,$00,$F0; B670 ........
.byte $0F,$07,$07,$0F,$0B,$03,$03,$03; B678 ........
; Row 18 (pixel rows 144-151): legs over sky; the brown ridge of the horizon comes in at columns 33-39
; on pixel row 149.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B680 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B688 ........
.byte $FF,$FF,$FF,$FC,$FC,$FF,$FC,$FF; B690 ........
.byte $FF,$FF,$3F,$3F,$7C,$44,$00,$00; B698 ..??|D..
.byte $53,$53,$D2,$FC,$7C,$FC,$FF,$FF; B6A0 SS..|...
.byte $CE,$04,$3F,$FF,$3F,$0F,$C4,$C1; B6A8 ..?.?...
.byte $55,$73,$FF,$FF,$FF,$FF,$FD,$3C; B6B0 Us.....<
.byte $55,$11,$FF,$FF,$FF,$FF,$55,$FF; B6B8 U.....U.
.byte $4F,$54,$FD,$FF,$FF,$FF,$F2,$FE; B6C0 OT......
.byte $D5,$C5,$31,$4C,$DF,$F7,$3F,$8F; B6C8 ..1L..?.
.byte $67,$68,$50,$5D,$6F,$ED,$F0,$FC; B6D0 ghP]o...
.byte $4F,$4F,$23,$A3,$93,$93,$13,$63; B6D8 OO#....c
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B6E0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B6E8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B6F0 ........
.byte $F4,$F4,$F4,$F2,$FA,$F9,$F9,$E5; B6F8 ........
.byte $42,$42,$42,$FF,$6C,$6C,$5F,$7F; B700 BBB.ll_.
.byte $8B,$87,$97,$43,$5F,$00,$0C,$F4; B708 ...C_...
.byte $3F,$3F,$3F,$3F,$3F,$3F,$3F,$FF; B710 ???????.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B718 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B720 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B728 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B730 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B738 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B740 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B748 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B750 ........
.byte $C0,$C0,$C0,$E0,$E4,$C0,$E5,$D5; B758 ........
.byte $14,$3C,$3C,$3C,$3F,$33,$FC,$9F; B760 .<<<?3..
.byte $8C,$8C,$8C,$8C,$30,$70,$01,$51; B768 ....0p.Q
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B770 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B778 ........
.byte $7C,$7C,$0C,$3D,$B1,$80,$85,$A7; B780 ||.=....
.byte $5D,$7C,$50,$40,$31,$FF,$88,$F8; B788 ]|P@1...
.byte $5F,$30,$38,$78,$4F,$1F,$13,$03; B790 _08xO...
.byte $AC,$F8,$0C,$03,$1C,$1C,$15,$E8; B798 ........
.byte $00,$03,$FE,$35,$34,$32,$4E,$4C; B7A0 ...542NL
.byte $CF,$4C,$33,$23,$4C,$0C,$03,$30; B7A8 .L3#L..0
.byte $EE,$15,$C0,$7F,$3C,$FC,$CC,$F3; B7B0 ....<...
.byte $C4,$FF,$00,$FF,$00,$00,$55,$15; B7B8 ......U.
; Row 19 (pixel rows 152-159): the brown horizon ridge now crosses the whole row behind the legs.
.byte $FF,$FF,$FF,$FF,$FF,$55,$55,$55; B7C0 .....UUU
.byte $FF,$FF,$FF,$FF,$FF,$55,$55,$55; B7C8 .....UUU
.byte $FF,$FF,$FF,$FF,$D4,$55,$54,$55; B7D0 .....UTU
.byte $F3,$C3,$FF,$3C,$FF,$3F,$FF,$CF; B7D8 ...<.?..
.byte $C0,$C0,$FF,$CF,$03,$3F,$3C,$0C; B7E0 .....?<.
.byte $40,$50,$41,$03,$0F,$4F,$4F,$0F; B7E8 @PA..OO.
.byte $FF,$7F,$17,$10,$84,$84,$A1,$A1; B7F0 ........
.byte $15,$CF,$01,$BC,$00,$00,$F1,$FC; B7F8 ........
.byte $57,$FF,$55,$00,$00,$AA,$FA,$5F; B800 W.U...._
.byte $F3,$3C,$FF,$00,$00,$55,$55,$A9; B808 .<...UU.
.byte $C0,$FF,$FC,$3F,$00,$40,$55,$55; B810 ...?.@UU
.byte $72,$FC,$7C,$7F,$5F,$1F,$17,$87; B818 r.|._...
.byte $FF,$FF,$FF,$3F,$3F,$8F,$4F,$53; B820 ...??.OS
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B828 ........
.byte $FF,$FF,$FF,$FF,$FD,$FD,$F6,$F6; B830 ........
.byte $9F,$7F,$7F,$7F,$FF,$FF,$FF,$FF; B838 ........
.byte $7B,$7F,$7F,$7F,$6F,$EF,$EF,$EF; B840 {...o...
.byte $F4,$F4,$F4,$D0,$D0,$D2,$D2,$D2; B848 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B850 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B858 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B860 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$D5; B868 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FD,$55; B870 .......U
.byte $FF,$FF,$FF,$FF,$FF,$FF,$55,$55; B878 ......UU
.byte $FF,$FF,$FF,$FF,$FF,$55,$55,$55; B880 .....UUU
.byte $55,$55,$55,$5F,$FF,$FF,$FF,$FF; B888 UUU_....
.byte $55,$55,$7F,$FE,$FE,$FE,$FA,$FA; B890 UU......
.byte $D5,$95,$95,$55,$FF,$FF,$FF,$FD; B898 ...U....
.byte $B5,$BD,$FF,$FF,$FF,$FF,$FF,$FF; B8A0 ........
.byte $52,$53,$43,$43,$4F,$4F,$4F,$4F; B8A8 RSCCOOOO
.byte $55,$FF,$FF,$FF,$FF,$FF,$FF,$FF; B8B0 U.......
.byte $A4,$F4,$F0,$FF,$FF,$FF,$F4,$F4; B8B8 ........
.byte $A0,$FC,$FF,$F4,$F4,$F1,$FD,$FF; B8C0 ........
.byte $04,$30,$E3,$F1,$B7,$03,$80,$33; B8C8 .0.....3
.byte $FC,$FC,$4F,$0F,$0F,$53,$43,$03; B8D0 ..O..SC.
.byte $D7,$F5,$35,$3D,$9F,$BF,$B7,$97; B8D8 ..5=....
.byte $71,$91,$51,$A4,$BA,$FF,$FF,$FF; B8E0 q.Q.....
.byte $FC,$FF,$FF,$FF,$3F,$13,$83,$43; B8E8 ....?..C
.byte $C0,$00,$0C,$FC,$F3,$F0,$FC,$D3; B8F0 ........
.byte $3F,$3F,$FF,$FF,$3F,$3F,$3F,$FF; B8F8 ??..???.
; Row 20 (pixel rows 160-167): the ridge ends and the green ground starts on pixel row 164; the legs
; and feet of both walkers stand on it.
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; B900 UUU.....
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; B908 UUU.....
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; B910 UUU.....
.byte $FC,$FF,$FC,$30,$FC,$FC,$CC,$CF; B918 ...0....
.byte $CC,$F0,$F0,$C0,$31,$00,$41,$15; B920 ....1.A.
.byte $05,$55,$55,$00,$FF,$00,$FF,$FF; B928 .UU.....
.byte $54,$54,$55,$00,$FF,$00,$FF,$FE; B930 TTU.....
.byte $BC,$BD,$63,$42,$43,$13,$5F,$7F; B938 ..cBC._.
.byte $FF,$3F,$3F,$00,$15,$00,$15,$15; B940 .??.....
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; B948 UUU.....
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; B950 UUU.....
.byte $85,$A1,$A1,$01,$FD,$00,$FC,$FD; B958 ........
.byte $F3,$FC,$B0,$BD,$1D,$10,$90,$B8; B960 ........
.byte $AA,$55,$55,$00,$3F,$00,$3E,$FE; B968 .UU.?.>.
.byte $A7,$5F,$5F,$3F,$7F,$3F,$FF,$FF; B970 .__?.?..
.byte $FE,$FD,$FD,$FD,$FD,$FD,$F5,$F5; B978 ........
.byte $FF,$FF,$FF,$7F,$7F,$7F,$FF,$FF; B980 ........
.byte $73,$73,$71,$71,$C2,$C0,$CA,$CA; B988 ssqq....
.byte $AA,$95,$55,$00,$FF,$00,$FF,$FF; B990 ..U.....
.byte $A9,$55,$55,$00,$FF,$00,$FF,$FF; B998 .UU.....
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; B9A0 UUU.....
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; B9A8 UUU.....
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; B9B0 UUU.....
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; B9B8 UUU.....
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; B9C0 UUU.....
.byte $FF,$FF,$FF,$00,$55,$02,$56,$5A; B9C8 ....U.VZ
.byte $A5,$9F,$7F,$7F,$FF,$FF,$FF,$FF; B9D0 ........
.byte $AA,$F9,$F9,$F5,$F5,$F5,$E5,$E5; B9D8 ........
.byte $FF,$FF,$FF,$FD,$FD,$FD,$FD,$FD; B9E0 ........
.byte $85,$85,$85,$00,$0F,$00,$3F,$3F; B9E8 ......??
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; B9F0 UUU.....
.byte $50,$55,$58,$00,$F0,$00,$FF,$FF; B9F8 PUX.....
.byte $F8,$F8,$F0,$00,$63,$0C,$40,$50; BA00 ....c.@P
.byte $A4,$40,$14,$40,$80,$0F,$00,$FF; BA08 .@.@....
.byte $0A,$29,$A9,$07,$5F,$5F,$3F,$7F; BA10 .)..__?.
.byte $AF,$FF,$FD,$FD,$FE,$FE,$F5,$F5; BA18 ........
.byte $BF,$DF,$7F,$FF,$FC,$FC,$FC,$FC; BA20 ........
.byte $84,$84,$80,$04,$0F,$00,$FF,$FF; BA28 ........
.byte $64,$40,$50,$00,$FF,$00,$F8,$F0; BA30 d@P.....
.byte $55,$55,$55,$00,$FF,$00,$FF,$FF; BA38 UUU.....
; Row 21 (pixel rows 168-175): green ground with the white and grey legs and feet. The two labels in
; this row (titleBitmapBAA2/BAA3) belong to dead code - see them.
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BA40 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BA48 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BA50 ........
.byte $3F,$33,$73,$43,$4C,$5F,$53,$00; BA58 ?3sCL_S.
.byte $00,$3F,$3F,$3F,$3F,$3F,$4F,$40; BA60 .?????O@
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BA68 ........
.byte $03,$57,$53,$5F,$5F,$7F,$7F,$2A; BA70 .WS__..*
.byte $7F,$6F,$7C,$7C,$FC,$FC,$B8,$48; BA78 .o||...H
.byte $00,$3F,$3F,$3F,$FF,$FF,$FF,$00; BA80 .???....
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BA88 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BA90 ........
.byte $02,$5B,$5A,$5F,$6F,$7F,$BE,$FF; BA98 .[Z_o...
.byte $7C,$FC ; BAA0 |.
titleBitmapBAA2:
.byte $74 ; BAA2 t row 21, column 12, pixel row 2 - four pixels of a grey leg standing on the green ground. In the build the boot loader was cut down from, $BA00 held a sector buffer and this was BAM offset $A2, the first character of the disk id; the truncated leftoverCheckDiskId still reads it at $C3EC, but that routine is unreachable, so this is picture data and nothing else
titleBitmapBAA3:
.byte $F4,$F0,$F0,$F2,$F0 ; BAA3 ..... the same for BAM offset $A3, the second id character, read by the dead code at $C3E3; then four more pixel bytes to the end of column 12
.byte $03,$5B,$5B,$6F,$6F,$BF,$FF,$FF; BAA8 .[[oo...
.byte $FF,$FF,$FF,$FF,$55,$FF,$FF,$FF; BAB0 ....U...
.byte $F5,$F5,$F5,$F7,$AF,$FF,$FA,$FA; BAB8 ........
.byte $FF,$FF,$FF,$5F,$47,$11,$01,$32; BAC0 ..._G..2
.byte $40,$4F,$4F,$4F,$4F,$0F,$0F,$00; BAC8 @OOOO...
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BAD0 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BAD8 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BAE0 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BAE8 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BAF0 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$00; BAF8 ........
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$01; BB00 ........
.byte $07,$AF,$9F,$9F,$BF,$55,$7F,$FF; BB08 .....U..
.byte $FF,$FF,$FF,$FF,$FF,$55,$FE,$FE; BB10 .....U..
.byte $7F,$7F,$7F,$7F,$BF,$B5,$54,$54; BB18 ......TT
.byte $FD,$FD,$FD,$FD,$FD,$BD,$34,$34; BB20 ......44
.byte $3F,$00,$3F,$3F,$3F,$3F,$3F,$00; BB28 ?.?????.
.byte $FF,$00,$FF,$FF,$FF,$FF,$FF,$00; BB30 ........
.byte $FF,$00,$FF,$FF,$FF,$FF,$FF,$00; BB38 ........
.byte $FD,$01,$FC,$FF,$FF,$FF,$FF,$02; BB40 ........
.byte $CA,$03,$0F,$AD,$B5,$FF,$D5,$57; BB48 .......W
.byte $97,$FD,$FF,$FF,$FF,$FF,$5F,$F5; BB50 ......_.
.byte $F5,$77,$DF,$F4,$10,$20,$E2,$87; BB58 .w... ..
.byte $F4,$F4,$F4,$3C,$FC,$C0,$C0,$C0; BB60 ...<....
.byte $FF,$00,$FF,$FF,$FF,$FF,$FF,$00; BB68 ........
.byte $FF,$01,$FD,$FC,$FF,$FF,$FF,$02; BB70 ........
.byte $FF,$00,$3F,$3F,$FF,$FF,$FF,$00; BB78 ..??....
; Row 22 (pixel rows 176-183): green ground, feet and their shadows.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BB80 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BB88 ........
.byte $FF,$FF,$FC,$FC,$FF,$FF,$FF,$FF; BB90 ........
.byte $C4,$16,$52,$0C,$FF,$FF,$FF,$FF; BB98 ..R.....
.byte $8F,$13,$44,$00,$FF,$FF,$FF,$FF; BBA0 ..D.....
.byte $FF,$FF,$FF,$FE,$F5,$F5,$C2,$D4; BBA8 ........
.byte $FF,$FF,$14,$A9,$2D,$3D,$15,$3D; BBB0 ....-=.=
.byte $8C,$C0,$C0,$05,$F1,$FC,$FC,$EC; BBB8 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$C0; BBC0 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$00; BBC8 ........
.byte $FF,$FE,$FD,$FE,$F5,$F5,$D4,$E8; BBD0 ........
.byte $7F,$FF,$F5,$42,$A9,$3D,$3D,$15; BBD8 ...B.==.
.byte $12,$12,$23,$20,$1F,$9F,$95,$7F; BBE0 ..# ....
.byte $FF,$FF,$FF,$8A,$FF,$FF,$55,$FF; BBE8 ......U.
.byte $FF,$FF,$FF,$28,$FF,$FF,$55,$FF; BBF0 ...(..U.
.byte $85,$8D,$0D,$07,$A1,$A1,$F0,$FC; BBF8 ........
.byte $03,$03,$33,$CF,$F0,$F0,$01,$01; BC00 ..3.....
.byte $3F,$3F,$3F,$3F,$3F,$3F,$FF,$FF; BC08 ??????..
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BC10 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BC18 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BC20 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BC28 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BC30 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BC38 ........
.byte $FD,$F6,$F6,$F9,$D5,$D5,$C4,$AA; BC40 ........
.byte $FF,$FF,$FF,$FF,$55,$55,$10,$FF; BC48 ....UU..
.byte $FE,$FF,$FC,$B8,$58,$58,$50,$FF; BC50 ....XXP.
.byte $F3,$F0,$E1,$D1,$D0,$D3,$18,$CA; BC58 ........
.byte $1C,$1C,$1C,$30,$30,$32,$32,$72; BC60 ...0022r
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BC68 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BC70 ........
.byte $FF,$FF,$FF,$FF,$FD,$FD,$FC,$FF; BC78 ........
.byte $A5,$A4,$9F,$5F,$FF,$5F,$05,$00; BC80 ..._._..
.byte $98,$EB,$70,$50,$BF,$01,$01,$3D; BC88 ..pP...=
.byte $3F,$7F,$5F,$65,$FA,$FF,$FE,$FE; BC90 ?._e....
.byte $C1,$F0,$FC,$3F,$C3,$FC,$E7,$D7; BC98 ...?....
.byte $0F,$0F,$3F,$4F,$4F,$23,$53,$43; BCA0 ..?OO#SC
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BCA8 ........
.byte $FD,$FC,$FF,$FF,$FF,$FF,$FF,$FF; BCB0 ........
.byte $3F,$3F,$FF,$FF,$FF,$FF,$FF,$FF; BCB8 ??......
; Row 23 (pixel rows 184-191): ground on pixel rows 184-186, then the yellow copyright line
; 'COPYRIGHT(C) 1988-OZARK SOFTSCAPE' from pixel row 187, columns 5-36.
.byte $FF,$FF,$FF,$FF,$00,$FF,$FF,$FF; BCC0 ........
.byte $FF,$FF,$FF,$FF,$00,$FF,$FF,$FF; BCC8 ........
.byte $FF,$FF,$FF,$FF,$00,$FF,$FF,$FF; BCD0 ........
.byte $FF,$FF,$FF,$FF,$00,$FF,$FF,$FF; BCD8 ........
.byte $FF,$F3,$F0,$F0,$00,$FF,$FF,$FF; BCE0 ........
.byte $FC,$FC,$00,$04,$11,$10,$10,$10; BCE8 ........
.byte $16,$16,$00,$0C,$33,$33,$33,$33; BCF0 ....3333
.byte $96,$56,$00,$3C,$33,$33,$33,$3C; BCF8 .V.<333<
.byte $00,$00,$00,$33,$33,$33,$33,$0C; BD00 ...3333.
.byte $00,$02,$01,$3C,$33,$33,$33,$3C; BD08 ...<333<
.byte $54,$54,$00,$3F,$0C,$0C,$0C,$0C; BD10 TT.?....
.byte $94,$96,$41,$0C,$33,$30,$33,$33; BD18 ..A.3033
.byte $95,$55,$00,$33,$33,$33,$3F,$33; BD20 .U.333?3
.byte $02,$16,$00,$3F,$0C,$0C,$4C,$4C; BD28 ...?..LL
.byte $FF,$FF,$FC,$01,$04,$84,$C4,$C4; BD30 ........
.byte $FF,$FF,$C3,$01,$10,$44,$40,$40; BD38 .....D@@
.byte $F4,$FD,$FD,$3F,$80,$8F,$85,$85; BD40 ...?....
.byte $FF,$3F,$03,$84,$94,$84,$84,$84; BD48 .?......
.byte $FF,$FF,$C3,$04,$11,$11,$05,$01; BD50 ........
.byte $FF,$FF,$C3,$04,$11,$04,$11,$11; BD58 ........
.byte $FF,$FF,$C3,$04,$11,$04,$11,$11; BD60 ........
.byte $FF,$FF,$FF,$FC,$3C,$00,$3C,$3C; BD68 ....<.<<
.byte $FF,$FF,$03,$10,$44,$44,$44,$44; BD70 ....DDDD
.byte $FF,$FE,$00,$54,$04,$04,$10,$40; BD78 ...T...@
.byte $55,$AA,$01,$30,$CC,$CC,$CC,$FC; BD80 U..0....
.byte $AA,$55,$01,$F0,$CC,$CC,$CC,$F0; BD88 .U......
.byte $A8,$54,$00,$CC,$CC,$CC,$CC,$F0; BD90 .T......
.byte $C0,$F0,$FF,$FF,$FF,$55,$00,$FF; BD98 .....U..
.byte $12,$12,$40,$0F,$30,$3F,$03,$03; BDA0 ..@.0?..
.byte $FF,$FF,$C3,$04,$11,$11,$11,$11; BDA8 ........
.byte $FF,$FF,$00,$15,$10,$10,$14,$10; BDB0 ........
.byte $FF,$FF,$00,$15,$04,$04,$C4,$C4; BDB8 ........
.byte $50,$55,$40,$0F,$30,$3F,$03,$03; BDC0 PU@.0?..
.byte $3E,$FC,$C0,$05,$10,$10,$10,$10; BDC8 >.......
.byte $54,$04,$00,$0C,$33,$33,$33,$3F; BDD0 T...333?
.byte $65,$6A,$00,$3C,$33,$33,$33,$3C; BDD8 ej.<333<
.byte $60,$60,$00,$3F,$30,$30,$3C,$30; BDE0 ``.?00<0
.byte $03,$00,$00,$00,$00,$00,$C0,$00; BDE8 ........
.byte $FF,$00,$00,$00,$00,$00,$00,$00; BDF0 ........
.byte $FF,$00,$00,$00,$00,$00,$00,$00; BDF8 ........
; Row 24 (pixel rows 192-199): the copyright line finishes on pixel row 193, green ground below. This
; row is also where the older build whose remains start at $BF40 kept code ($BE93, $BEA7) and the
; ten-byte serial it copied from $BE30 - the picture overwrote all of it.
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BE00 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BE08 ........
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF; BE10 ........
.byte $FF,$FF,$FC,$FC,$FF,$FF,$FF,$FF; BE18 ........
.byte $FC,$C0,$00,$0F,$FF,$FF,$FF,$FF; BE20 ........
.byte $11,$04,$C0,$FF,$FF,$FF,$FF,$FF; BE28 ........
.byte $11,$04,$C0,$FF,$FF,$FF,$FF,$FF; BE30 ........
.byte $10,$10,$03,$FF,$FF,$FF,$FF,$FF; BE38 ........
.byte $C4,$C4,$C0,$FF,$FF,$FF,$FF,$FF; BE40 ........
.byte $11,$11,$00,$FF,$FF,$FC,$FC,$C0; BE48 ........
.byte $04,$15,$00,$AF,$BF,$3F,$00,$00; BE50 .....?..
.byte $22,$08,$C0,$FF,$FF,$55,$00,$00; BE58 "....U..
.byte $11,$11,$00,$F2,$C2,$C0,$00,$00; BE60 ........
.byte $48,$48,$00,$5F,$0F,$0F,$00,$00; BE68 HH._....
.byte $C8,$C8,$F2,$FC,$FF,$55,$00,$00; BE70 .....U..
.byte $44,$10,$01,$20,$AF,$BF,$00,$00; BE78 D.. ....
.byte $8D,$8D,$0F,$3F,$F7,$55,$00,$00; BE80 ...?.U..
.byte $04,$15,$00,$EB,$FB,$FF,$00,$00; BE88 ........
.byte $33,$0F,$00,$10,$00,$00,$10,$00; BE90 3.......
.byte $33,$0C,$00,$00,$00,$00,$00,$00; BE98 3.......
.byte $33,$0C,$00,$00,$00,$00,$00,$00; BEA0 3.......
.byte $00,$00,$00,$00,$00,$00,$00,$03; BEA8 ........
.byte $88,$20,$01,$07,$07,$1F,$1F,$7F; BEB0 . ......
.byte $40,$54,$00,$FF,$FF,$FF,$FF,$FF; BEB8 @T......
.byte $88,$88,$00,$F5,$C0,$C5,$C4,$C0; BEC0 ........
.byte $88,$88,$00,$1F,$1F,$1F,$1F,$1F; BEC8 ........
.byte $88,$88,$00,$FD,$FD,$FD,$FD,$FD; BED0 ........
.byte $F0,$F5,$F5,$F6,$F5,$F5,$F5,$F5; BED8 ........
.byte $02,$28,$40,$F5,$7C,$7D,$DF,$DF; BEE0 .(@.|}..
.byte $22,$08,$40,$70,$70,$1C,$DC,$CC; BEE8 ".@pp...
.byte $10,$10,$00,$FF,$00,$00,$C0,$00; BEF0 ........
.byte $C4,$C4,$C0,$FF,$FF,$FF,$0F,$00; BEF8 ........
.byte $01,$14,$C0,$FF,$FF,$FF,$FF,$03; BF00 ........
.byte $10,$05,$00,$00,$F0,$FF,$FF,$FF; BF08 ........
.byte $11,$11,$00,$00,$00,$0C,$F0,$FC; BF10 ........
.byte $30,$30,$00,$00,$00,$00,$00,$00; BF18 00......
.byte $30,$3F,$00,$00,$00,$00,$00,$00; BF20 0?......
.byte $00,$00,$0F,$0C,$0C,$0C,$0C,$00; BF28 ........ columns 37-39 of the last row: the small dark-grey monogram in the bottom right corner of the picture - it reads like a lower-case 'mk' with a flourish, probably the artist's initials. $BF3F is the last byte the VIC displays
.byte $00,$00,$FC,$CC,$CF,$CC,$CC,$00; BF30 ........
.byte $03,$03,$4B,$6F,$0C,$60,$40,$00; BF38 ..Ko.`@.
; leftoverDataDiskCode ($BF40-$BFEC) - 173 bytes that are NOT part of the picture and are never
; executed by anything: the bitmap needs 8000 bytes and stops at $BF3F, so these are whatever happened
; to be sitting in the mastering machine's memory above it when the 'load' file was written. They are
; 6502 code, and they disassemble cleanly all the way from $BF40 to $BFEC. (At run time the half from
; $BFB0 on is overwritten by the map row address tables - see mapRowAddrLoTable; $BF40-$BFAF is never
; touched at all.) It is code from an earlier build of this game - almost certainly the same build
; whose remains also survive in the boot loader file at $C3BC-$C3FF:
; * it calls $C3C4, and the truncated original of that routine (leftoverCheckDiskId, 'read the BAM
; of track 18 to $BA00 and compare $BAA2/$BAA3 with OZ / EA') is itself still sitting unreachable
; in the boot loader file from $C3C4 to the end of the file at $C3FF;
; * both fragments call the same pair of loader entry points $CBED (set destination) and $CBF2 (read
; sectors), which in that build lived at $CBxx and in the shipped one live at $C034/$C004;
; * both use the same $BA00 sector buffer, and this fragment stamps ten bytes into $BAAB - BAM
; offset $AB, exactly the disk name/serial field the shipped checkDiskId reads at $02AB ($0FF3)
; and copies to ownPlayerName $FFDE-$FFE7;
; * its other call targets ($C1B3, $C1C6, $C1D8, $C453, $C7AB, $C860, $C933) and the strings it
; prints ($BB5C, $BB8C) match nothing in the shipped game at those addresses.
; What it does, as far as the surviving part shows: print a prompt, ask $C3C4 which disk is in the
; drive, keep asking until the right one is inserted, copy track 18 sectors $11 and $12 (the two save
; slots) through the $BA00 buffer, and write a ten-byte serial into a BAM image - i.e. the disk-swap /
; data-disk preparation that the shipped game does from $0FB1 and the film menus. The routines it
; calls below $BF40 ($BE30, $BE93, $BEA7, the strings at $BB5C and $BB8C) were all overwritten by the
; title picture, so only this tail survives. Rendered one instruction per line, with the decoded
; instruction in the comment; the file is pure data, so the bytes stay .byte.
leftoverDataDiskCode:
.byte $A9,$0B ; BF40 .. lda #$0B
.byte $85,$5F ; BF42 ._ sta $5F - a flag or parameter of that build (in the shipped game $5F is joyFireUp)
.byte $20,$D8,$C1 ; BF44 .. jsr $C1D8 - a routine of that build; the shipped boot loader has unrelated code there
.byte $A4,$60 ; BF47 .` ldy $60
.byte $A6,$21 ; BF49 .! ldx $21
.byte $B9,$5C,$BF ; BF4B .\. lda leftoverTableBF5C,y - pick one of the three constants below
.byte $9D,$02,$BA ; BF4E ... sta $BA02,x - into the sector buffer at $BA00, offset 2 + X
.byte $A9,$04 ; BF51 .. lda #$04
.byte $20,$53,$C4 ; BF53 S. jsr $C453
.byte $A2,$07 ; BF56 .. ldx #$07
.byte $4C,$B3,$C1 ; BF58 L.. jmp $C1B3 - tail call, X = 7
.byte $60 ; BF5B ` rts - unreachable, left over from whatever preceded the jmp
; Three constants, indexed by zero page $60 in the fragment above and stored into the $BA00 sector
; buffer at offset 2 + zp $21: $00, $08, $40.
leftoverTableBF5C:
.byte $00,$08,$40 ; BF5C ..@
; Prints one prompt: the string at $BB8C in that build's memory (now picture data). Called from
; $BFB0 below.
leftoverDiskPrompt:
.byte $A9,$0B ; BF5F .. lda #$0B
.byte $20,$AB,$C7 ; BF61 .. jsr $C7AB
.byte $A9,$8C ; BF64 .. lda #$8C
.byte $A0,$BB ; BF66 .. ldy #$BB - A/Y = $BB8C, a string in that build
.byte $20,$60,$C8 ; BF68 `. jsr $C860 - print it
.byte $A9,$0A ; BF6B .. lda #$0A
.byte $20,$33,$C9 ; BF6D 3. jsr $C933
.byte $A9,$0B ; BF70 .. lda #$0B
.byte $20,$AB,$C7 ; BF72 .. jsr $C7AB
.byte $A9,$00 ; BF75 .. lda #$00
.byte $85,$2D ; BF77 .- sta $2D
.byte $4C,$75,$C7 ; BF79 Lu. jmp $C775 - tail call
; The main surviving routine: print a message, then ask $C3C4 (that build's checkDiskId, whose
; truncated remains are at $C3C4 in the boot loader file) which disk is in the drive. A = 0 means the
; expected disk is there and it goes straight on to $BFB0; A = 2 means the other disk, in which case
; the two save-slot sectors are pulled off it first.
leftoverSwapDisks:
.byte $20,$93,$BE ; BF7C .. jsr $BE93 - a routine of that build; the picture overwrote it (row 24 of the bitmap)
.byte $A9,$5C ; BF7F .\ lda #$5C
.byte $A0,$BB ; BF81 .. ldy #$BB - A/Y = $BB5C, another lost string
.byte $20,$60,$C8 ; BF83 `. jsr $C860 - print it
.byte $20,$C4,$C3 ; BF86 .. jsr $C3C4 - checkDiskId: reads the BAM of track 18 to $BA00 and matches $BAA2/$BAA3
.byte $C9,$00 ; BF89 .. cmp #$00 - 0 = the disk it wanted is in the drive
.byte $F0,$23 ; BF8B .# beq $BFB0
.byte $A9,$07 ; BF8D .. lda #$07
.byte $20,$C6,$C1 ; BF8F .. jsr $C1C6 - prompt / wait, code 7
.byte $20,$C4,$C3 ; BF92 .. jsr $C3C4 - look again
.byte $F0,$19 ; BF95 .. beq $BFB0
.byte $C9,$02 ; BF97 .. cmp #$02 - 2 = the other disk of the pair
.byte $F0,$01 ; BF99 .. beq $BF9C
.byte $60 ; BF9B ` rts - anything else: give up
; Reads track 18 sectors $11 and $12 - the two save slots - into the $BA00 buffer and hands each to
; $C1B3 with X = 0 then X = 1.
leftoverGrabSaveSlots:
.byte $A2,$11 ; BF9C .. ldx #$11 - track 18 sector 17, the first save slot
.byte $20,$DA,$BF ; BF9E .. jsr leftoverReadTrack18Sector
.byte $A2,$00 ; BFA1 .. ldx #$00
.byte $20,$B3,$C1 ; BFA3 .. jsr $C1B3 - pass the buffer on as 0
.byte $A2,$12 ; BFA6 .. ldx #$12 - track 18 sector 18, the second save slot
.byte $20,$DA,$BF ; BFA8 .. jsr leftoverReadTrack18Sector
.byte $A2,$01 ; BFAB .. ldx #$01
.byte $20,$B3,$C1 ; BFAD .. jsr $C1B3 - and as 1
; mapRowAddrLoTable - 40 bytes, $BFB0-$BFD7, one per battlefield row: the LOW byte of the address of
; map row 0-39, i.e. of $F000 + 40*row. The matching high bytes are the separate table
; mapRowAddrHiTable at $BFD8; this is a split lo/hi pointer pair, not a table of addresses, so the two
; halves are typed as bytes. Built at start-up by buildMapRowAddressTable ($0339, low byte stored at
; $034A, high byte at $0345) and read by readMapCell ($25FA - low at $25FC, high at $2603) and every
; other map accessor, so the 80 bytes $BFB0-$BFFF are live for the whole game. They sit here because
; these are the last 80 bytes of VIC bank 2 above the bitmap (which ends at $BF3F), which is why
; initBitmapScreen ($2D41) clears only $A000-$BF3F. What the disk file holds at these addresses is the
; middle of the leftover routine below - the table is written over it before the first map cell is
; ever read. $BF40-$BFAF, the 112 bytes in front of the table, are the only bytes of this file that
; the game never reads or writes: no label in XREF.txt falls between $BF40 and $BFAF, and the bitmap
; clear stops at $BF3F. The only code that ever reaches them is the copy-protection memory wipe at
; $0A1E, which erases everything. The leftover instructions here: after the prompt, keep checking
; until the right disk is inserted, then stamp the serial in.
mapRowAddrLoTable:
.byte $20,$5F,$BF ; BFB0 _. jsr leftoverDiskPrompt - 'insert the other disk'
.byte $20,$A7,$BE ; BFB3 .. jsr $BEA7 - another routine of that build, now under the picture
.byte $20,$C4,$C3 ; BFB6 .. jsr $C3C4 - checkDiskId
.byte $C9,$00 ; BFB9 .. cmp #$00
.byte $F0,$08 ; BFBB .. beq $BFC5
.byte $A9,$07 ; BFBD .. lda #$07
.byte $20,$C6,$C1 ; BFBF .. jsr $C1C6 - prompt / wait, code 7
.byte $4C,$B6,$BF ; BFC2 L.. jmp $BFB6 - loop until the right disk is in the drive
; Copies ten bytes from $BE30 (lost under the picture) into the sector buffer at $BAAB - BAM offset
; $AB, the ten-byte disk name/serial that the shipped game reads back at $02AB ($0FF3) and keeps in
; ownPlayerName ($FFDE-$FFE7) so both modem players can prove they run the same disk. Then it hands
; the buffer to $C1B3 and tail-calls $C1C6 with code 5.
leftoverStampSerial:
.byte $A0,$09 ; BFC5 .. ldy #$09 - ten bytes, index 9 down to 0
.byte $B9,$30,$BE ; BFC7 .0. lda $BE30,y - the serial in that build
.byte $99,$AB,$BA ; BFCA ... sta $BAAB,y - into BAM offset $AB of the $BA00 buffer
.byte $88 ; BFCD . dey
.byte $10,$F7 ; BFCE .. bpl $BFC7
.byte $A2,$00 ; BFD0 .. ldx #$00
.byte $20,$B3,$C1 ; BFD2 .. jsr $C1B3
.byte $A9,$05 ; BFD5 .. lda #$05
.byte $4C ; BFD7 L jmp opcode ($4C); its operand is the first two bytes of the high-byte table below
; mapRowAddrHiTable - 40 bytes, $BFD8-$BFFF: the HIGH byte of the address of map row 0-39 ($F000 +
; 40*row, so $F0 for rows 0-5, $F1 for 6-12, and so on). Second half of the split pointer pair whose
; low bytes are mapRowAddrLoTable at $BFB0; written at $0345 by buildMapRowAddressTable and read at
; $2603 by readMapCell. On disk these bytes are still the leftover routine (and its trailing filler),
; starting in the middle of the jmp at $BFD7.
mapRowAddrHiTable:
.byte $C6,$C1 ; BFD8 .. operand $C1C6 of the jmp at $BFD7
; Reads one sector of track 18 into the $BA00 buffer with that build's fast loader: X = sector number,
; patched into the LDX below. Called twice from $BF9C.
leftoverReadTrack18Sector:
.byte $8E,$E7,$BF ; BFDA ... stx $BFE7 - self-modifying: X = the sector number, patched into the ldx at $BFE6
.byte $A2,$00 ; BFDD .. ldx #$00
.byte $A0,$BA ; BFDF .. ldy #$BA - destination $BA00
.byte $20,$ED,$CB ; BFE1 .. jsr $CBED - that build's setLoadDest (shipped: $C034 / $085C)
.byte $A0,$12 ; BFE4 .. ldy #$12 - track 18
.byte $A2,$00 ; BFE6 .. ldx #$00 - sector, patched at $BFDA
.byte $A9,$01 ; BFE8 .. lda #$01 - one sector
.byte $4C,$F2,$CB ; BFEA L.. jmp $CBF2 - that build's sector read (shipped: $C004 / $0804)
; The last 19 bytes of the loaded file: filler, not code and not picture - alternating $00/$FF with a
; stray $0B, the same kind of junk the mastering system left in the unused sector tails elsewhere on
; the disk. At run time these are entries 21-39 of mapRowAddrHiTable.
titleFileTailFiller:
.byte $00,$FF,$00,$00,$FF,$00,$FF,$0B,$FF,$00,$FF,$00,$FF,$00,$FF,$00,$FF,$00,$FF; BFED ...................