// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:08
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $27ff  (8192 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0a00 (2560)
// IRQ handler:  $0a9e (irq_0a9e)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 1579 bytes, Data: 6613 bytes
// Labels: 177, Subroutines: 17
//
// Cross-references: all OK
// ============================================


// --- Region $0a00-$0bb7 ---
.pc = $0a00 "main_0a00"

main_0a00:
        lda #$06
        sta $d020
        sta $d021
        jsr $e544
        ldx #$00

loc_0a0d:
        lda #$06
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_0a0d
        ldx #$00

loc_0a20:
        lda #$01
        sta $d027,x
        inx
        cpx #$08
        bne loc_0a20
        ldx #$00

loc_0a2c:
        lda txt_1c00,x
        sta $0540,x
        sta $05b8,x
        sta $0630,x
        inx
        cpx #$50
        bne loc_0a2c
        ldx #$00

loc_0a3f:
        lda #$07
        sta $d940,x
        sta $d9b8,x
        sta $da30,x
        lda #$00
        sta $d8c8,x
        sta $daa8,x
        inx
        cpx #$50
        bne loc_0a3f
        ldx #$00

loc_0a59:
        lda #$01
        sta $da08,x
        inx
        cpx #$28
        bne loc_0a59
        ldx #$00

loc_0a65:
        lda txt_1ca0,x
        sta $0590,x
        inx
        cpx #$28
        bne loc_0a65
        sei
        lda #$fb
        sta $d012
        lda #$01
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$1b
        sta $d011
        lda #$9e
        sta $0314
        lda #$0a
        sta $0315
        lda #$00
        sta $51
        lda #$80
        sta $52
        jsr sub_1000
        cli

loc_0a9b:
        jmp loc_0a9b

irq_0a9e:
        lda #$20

loc_0aa0:
        cmp $d012
        bne loc_0aa0
        jsr sub_1003
        jsr sub_0b4e
        lda #$18
        sta $d018
.label smc_0ab1 = * + 1
        lda #$c8                                    // !SMC: modified by $0c98
        sta $d016
        lda #$6d

loc_0ab7:
        cmp $d012
        bne loc_0ab7
        ldx #$0b

loc_0abe:
        dex
        bne loc_0abe
        lda #$06
        sta $d020
        sta $d021
        lda #$c7
        sta $d016
        lda #$82

loc_0ad0:
        cmp $d012
        bne loc_0ad0
        ldx #$08

loc_0ad7:
        dex
        bne loc_0ad7
        lda #$12
        sta $d018
        lda #$8a

loc_0ae1:
        cmp $d012
        bne loc_0ae1
        ldx #$08

loc_0ae8:
        dex
        bne loc_0ae8
        lda #$18
        sta $d018
        lda #$99

loc_0af2:
        cmp $d012
        bne loc_0af2
        ldx #$14

loc_0af9:
        dex
        bne loc_0af9
        lda #$12
        sta $d018
        lda $0c36
        sta $d016
        lda #$a2

loc_0b09:
        cmp $d012
        bne loc_0b09
        ldx #$09

loc_0b10:
        dex
        bne loc_0b10
        lda #$18
        sta $d018
        lda #$c7
        sta $d016
        lda #$b6

loc_0b1f:
        cmp $d012
        bne loc_0b1f
        ldx #$0a

loc_0b26:
        dex
        bne loc_0b26
        lda #$00
        sta $d020
        sta $d021
.label smc_0b32 = * + 1
        lda #$c8                                    // !SMC: modified by $0cc6
        sta $d016
        jsr sub_0c82
        jsr sub_0ce9
        jsr smc_0d16
        jsr sub_0c8d
        jsr sub_0cbb
        jsr sub_0c37
        inc $d019
        jmp $ea31
// Referenced by: jsr from $0aa8

sub_0b4e:
        ldx #$26

loc_0b50:
        lda $daa8,x
        sta $daa9,x
        lda $dad0,x
        sta $dad1,x
        lda $d8f0,x
        sta $d8f1,x
        lda $d8c8,x
        sta $d8c9,x
        dex
        cpx #$ff
        bne loc_0b50
.label smc_0b6e = * + 1
        lda dat_0c00                                // !SMC: modified by $0b84
        beq loc_0b82
        sta $daa8
        sta $dad0
        sta $d8f0
        sta $d8c8
        inc smc_0b6e
        rts

loc_0b82:
        lda #$00
        sta smc_0b6e                                // SMC: modifies $0b6e
        rts

loc_0b88:
        sei
        lda #$31
        ldx #$ea
        sta $0314
        stx $0315
        lda #$00
        sta $d01a
        sta $d418
        lda #$81
        sta $dc0d
        cli
        jsr $ff81
        ldx #$00

loc_0ba6:
        lda chr_0bb7,x
        sta $0400,x
        inx
        bne loc_0ba6
        lda #$00
        sta scr_0800
        jmp $0400

chr_0bb7:
        // === Screen RAM (1 bytes, $0bb7-$0bb7) ===
        .byte $78                                   // scrcode: .

// --- Region $0c37-$0d16 ---
.pc = $0c37 "sub_0c37"
// Referenced by: jsr from $0b45

sub_0c37:
        ldy #$02

loc_0c39:
        dey
        beq chr_0c42
        jsr sub_0c43
        jmp loc_0c39

chr_0c42:
        // === Charset data (1 bytes, $0c42-$0c42) ===
        .byte $60                                   // char 0 (partial)
// Referenced by: jsr from $0c3c

sub_0c43:
        dec $0c36
        lda $0c36
        cmp #$bf
        beq loc_0c4e
        rts

loc_0c4e:
        lda #$c7
        sta $0c36
        ldx #$00

loc_0c55:
        lda $0609,x
        sta $0608,x
        inx
        cpx #$27
        bne loc_0c55
.label smc_0c61 = * + 1
.label smc_0c62 = * + 2
        lda dat_0d80                                // !SMC: modified by $0c79, $0c7e
        beq loc_0c77
        sta $062f
        inc smc_0c61
        lda smc_0c61
        cmp #$ff
        beq loc_0c73
        rts

loc_0c73:
        inc smc_0c62
        rts

loc_0c77:
        lda #$80
        sta smc_0c61                                // SMC: modifies $0c61
        lda #$0d
        sta smc_0c62                                // SMC: modifies $0c62
        rts
// Referenced by: jsr from $0b36

sub_0c82:
        lda $dc01
        cmp #$ef
        beq loc_0c8a
        rts

loc_0c8a:
        jmp loc_0b88

// Referenced by: jsr from $0b3f
sub_0c8d: {
        ldx $51
        lda $1d00,x
        and #$07
        eor #$07
        ora #$c0
        sta smc_0ab1                                // SMC: modifies $0ab1
        lda $1d00,x
        lsr
        lsr
        lsr
        tax
        ldy #$00
loop:
        lda $1bf9,x
        sta $04c8,y
        lda $1c21,x
        sta $04f0,y
        inx
        iny
        cpy #$28
        bne loop
        inc $51
        inc $51
        rts
}

// Referenced by: jsr from $0b42
sub_0cbb: {
        ldx $52
        lda $1d00,x
        and #$07
        eor #$07
        ora #$c0
        sta smc_0b32                                // SMC: modifies $0b32
        lda $1d00,x
        lsr
        lsr
        lsr
        tax
        ldy #$00
loop:
        lda $1bf9,x
        sta $06a8,y
        lda $1c21,x
        sta $06d0,y
        inx
        iny
        cpy #$28
        bne loop
        inc $52
        inc $52
        rts
}
// Referenced by: jsr from $0b39

sub_0ce9:
.label smc_0cea = * + 1
        ldx #$05                                    // !SMC: modified by $0cf7
        dec smc_0cea
        lda smc_0cea
        beq loc_0cf4
        rts

loc_0cf4:
        nop
        lda #$05
        sta smc_0cea                                // SMC: modifies $0cea

smc_0cfa:
        ldx #$00                                    // !SMC: modified by $0d0d
        lda #$01
        sta $d998,x
        inc $0cfb
        lda $0cfb
        cmp #$28
        bne loc_0d15
        lda #$60
        sta smc_0cfa                                // SMC: modifies $0cfa
        lda #$ea
        sta smc_0d16                                // SMC: modifies $0d16

loc_0d15:
        rts

smc_0d16:
        rts                                         // !SMC: modified by $0d12

// --- Region $1000-$1080 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $0a97, $1007

sub_1000:
        jmp loc_1048
// Referenced by: jsr from $0aa5, $1011

sub_1003:
        jmp loc_1021

loc_1006:
        sei
        jsr sub_1000

loc_100a:
        lda #$ff

loc_100c:
        cmp $d012
        bne loc_100c
        jsr sub_1003
        lda $dc01
        and #$10
        bne loc_100a
        sta $d418
        cli
        rts

dat_1020:
        .byte $00                                   // .

loc_1021:
        ldx #$00
        dec $1090
        bmi loc_1034
        jsr sub_1226
        jsr sub_1225
        jmp sub_1225

dat_1031:
        .byte $ff,$ff,$ff                           // ...

loc_1034:
        lda #$02
        sta $1090
        jsr sub_1040
        jsr sub_103f
// Referenced by: jsr from $103c

sub_103f:
        inx
// Referenced by: jsr from $1039

sub_1040:
        dec $108a,x
        bmi loc_1091
        jmp sub_1226

loc_1048:
        lda #$1f
        sta $d418
        lda #$f0
        sta $d417
        and #$0f
        sta smc_1262                                // SMC: modifies $1262
        ldx #$0f

loc_1059:
        sta dat_1081,x
        dex
        bpl loc_1059
        ldx #$02

loc_1061:
        lda $14b9,x
        sta $fa
        lda $14bc,x
        sta $fb
        ldy #$00
        lda ($fa),y
        sta $108d,x
        iny
        lda ($fa),y
        sta $10e6,x
        and #$0f
        sta $10e9,x
        dex
        bpl loc_1061
        rts

// --- Region $1091-$10c6 ---
.pc = $1091 "loc_1091"

loc_1091:
        ldy $108d,x
        cpy #$fe
        bne loc_10a1
// Referenced by: jsr from $10c0

sub_1098:
        lda $1084,x
        and #$fe
        sta $1084,x
        rts

loc_10a1:
        lda $1b4c,y
        sta $fa
        lda $1b0e,y
        sta $fb
        ldy dat_1081,x
        lda ($fa),y
        bmi loc_10d2
        cmp #$60
        bcc loc_10f9

loc_10b6:
        and #$1f
        sta $108a,x
        lda #$fe
        sta dat_1031,x
        jsr sub_1098

loc_10c3:
        jmp loc_1187

dat_10c6:
        .byte $00                                   // .

// --- Region $10d2-$10dd ---
.pc = $10d2 "loc_10d2"

loc_10d2:
        cmp #$a0
        bcc loc_10ec
        and #$1f
        sta $108a,x
        bcs loc_10c3
        brk

// --- Region $10ec-$1141 ---
.pc = $10ec "loc_10ec"

loc_10ec:
        asl
        asl
        asl
        sta dat_13d9,x
        iny
        lda ($fa),y
        cmp #$60
        bcs loc_10b6

loc_10f9:
        sta $fc
        iny
        lda $10e6,x
        lsr
        lsr
        lsr
        lsr
        clc
        adc $fc
        sta $10c9,x
        sty $fc
        tay
        lda dat_1437,y
        sta $10cc,x
        sta $13e2,x
        lda dat_11c5,y
        sta $10cf,x
        sta $12b6,x
        ldy $fc
        lda ($fa),y
        sta dat_1141,x
        and #$1f
        sta $108a,x
        lda ($fa),y
        bmi loc_1150
        and #$20
        beq loc_1177
        iny
        lda ($fa),y
        sta $1147,x
        iny
        lda ($fa),y
        sta $114a,x
        jmp loc_1177

dat_1141:
        .byte $43                                   // C

// --- Region $1150-$11c4 ---
.pc = $1150 "loc_1150"

loc_1150:
        stx smc_1262                                // SMC: modifies $1262
        iny
        lda ($fa),y
        sta smc_1266                                // SMC: modifies $1266
        and #$0f
        asl
        sec
        sbc #$10
        sta smc_12a0                                // SMC: modifies $12a0
        iny
        lda ($fa),y
        bne loc_116e
        lda #$f0
        sta $d417
        bne loc_1177

loc_116e:
        sta smc_126b                                // SMC: modifies $126b
        lda dat_12b3,x
        sta $d417

loc_1177:
        lda #$ff
        sta dat_1031,x
        sta $12b9,x
        lda #$00
        sta $10dd,x
        sta $12bd,x

loc_1187:
        iny
        lda ($fa),y
        cmp #$ff
        bne loc_11c0
        dec $10e9,x
        bpl loc_11be
        lda $14b9,x
        sta $fa
        lda $14bc,x
        sta $fb
        ldy $1087,x
        iny
        jsr sub_14bf
        cmp #$ff
        bne loc_11aa
        ldy #$00

loc_11aa:
        tya
        sta $1087,x
        lda ($fa),y
        sta $108d,x
        iny
        lda ($fa),y
        sta $10e6,x
        and #$0f
        sta $10e9,x

loc_11be:
        ldy #$00

loc_11c0:
        tya
        sta dat_1081,x
        rts

// --- Region $1225-$12b3 ---
.pc = $1225 "sub_1225"
// Referenced by: jsr from $102b; jmp from $102e

sub_1225:
        inx
// Referenced by: jsr from $1028; jmp from $1045

sub_1226:
        ldy dat_13d9,x
        sty $fc
        lda dat_1141,x
        and #$40
        bne loc_1290
        sta $1144,x
        lda $161f,y
        sta $fa
        lda $1620,y
        ldy dat_10c6,x
        sta $d406,y
        lda $fa
        sta $d405,y
        lda $1084,x
        and #$fe
        sta $d404,y
        ldy $fc
        lda $1621,y
        sta $1084,x
        lda $1622,y
        sta $13dc,x
        sta $13df,x
.label smc_1262 = * + 1
        cpx #$00                                    // !SMC: modified by $1054, $1150
        bne loc_126f
.label smc_1266 = * + 1
        lda #$f2                                    // !SMC: modified by $1156
        sta smc_129e                                // SMC: modifies $129e
.label smc_126b = * + 1
        lda #$0f                                    // !SMC: modified by $116e
        sta smc_1296                                // SMC: modifies $1296

loc_126f:
        lda #$00
        sta $10e0,x
        sta $10e3,x
        lda $1624,y
        lsr
        lsr
        lsr
        sta $114d,x
        lda dat_1141,x
        ora #$40
        sta dat_1141,x
        lda $1626,y
        sta $fd,x
        jmp loc_1385

loc_1290:
        cpx smc_1262
        bne loc_12a7
.label smc_1296 = * + 1
        lda #$0f                                    // !SMC: modified by $126c
        beq loc_12a7
        dec smc_1296
        clc
.label smc_129e = * + 1
        lda #$f2                                    // !SMC: modified by $1267, $12a1, $140e
.label smc_12a0 = * + 1
        adc #$f4                                    // !SMC: modified by $115f
        sta smc_129e                                // SMC: modifies $129e
        sta $d416

loc_12a7:
        lda $fd,x
        and #$0f
        beq loc_12c7
        jsr sub_13e5
        jmp loc_1322

dat_12b3:
        .byte $f1                                   // .

// --- Region $12c7-$13d8 ---
.pc = $12c7 "loc_12c7"

loc_12c7:
        lda dat_1141,x
        and #$20
        bne loc_1322
        lda $fd,x
        and #$10
        beq loc_1322
        dec $114d,x
        bpl loc_1322
        inc $114d,x
        lda $12bd,x
        and #$03
        tay
        lda $12c3,y
        bne loc_12fa
        ldy $fc
        sec
        lda $10cc,x
        sbc $1625,y
        sta $10cc,x
        bcs loc_130d
        dec $10cf,x
        bne loc_130d

loc_12fa:
        ldy $fc
        clc
        lda $10cc,x
        adc $1625,y
        sta $10cc,x
        bcc loc_130d
        inc $10cf,x
        bcs loc_130d

loc_130d:
        inc $10dd,x
        lda $1624,y
        and #$0f
        cmp $10dd,x
        bne loc_1322
        lda #$00
        sta $10dd,x
        inc $12bd,x

loc_1322:
        ldy $fc
        lda $1623,y
        sta $fc
        lda $fd,x
        and #$40
        beq loc_1343
        clc
        lda $fc
        adc $13dc,x
        sta $13dc,x
        lda $fc
        adc $13df,x
        sta $13df,x
        jmp loc_1385

loc_1343:
        lda $fd,x
        and #$20
        beq loc_1385
        lda $10e3,x
        beq loc_135e
        clc
        lda $13dc,x
        adc $fc
        sta $13dc,x
        bcc loc_136c
        inc $13df,x
        bcs loc_136c

loc_135e:
        sec
        lda $13dc,x
        sbc $fc
        sta $13dc,x
        bcs loc_136c
        dec $13df,x

loc_136c:
        inc $10e0,x
        lda $fc
        and #$0f
        cmp $10e0,x
        bne loc_1385
        lda #$00
        sta $10e0,x
        lda $10e3,x
        eor #$01
        sta $10e3,x

loc_1385:
        ldy dat_10c6,x
        lda $1084,x
        sta $d404,y
        lda $13df,x
        sta $d403,y
        lda $13dc,x
        sta $d402,y
        lda dat_1141,x
        and #$20
        beq loc_13cc
        lda $1147,x
        and #$01
        beq loc_13b2
        lda $12b9,x
        eor #$ff
        sta $12b9,x
        bne loc_13cc

loc_13b2:
        clc
        lda $13e2,x
        adc $1147,x
        sta $13e2,x
        sta $d400,y
        lda $12b6,x
        adc $114a,x
        sta $12b6,x
        sta $d401,y
        rts

loc_13cc:
        lda $10cc,x
        sta $d400,y
        lda $10cf,x
        sta $d401,y
        rts

// --- Region $13e5-$1436 ---
.pc = $13e5 "sub_13e5"
// Referenced by: jsr from $12ad

sub_13e5:
        tay
        lda $1498,y
        sta $fa
        lda $14a8,y
        sta $fb
        ldy $1144,x
        lda ($fa),y
        and dat_1031,x
        sta $1084,x
        iny
        lda ($fa),y
        bmi loc_1404
        clc
        adc $10c9,x

loc_1404:
        and #$7f
        sta smc_1429                                // SMC: modifies $1429
        iny
        lda ($fa),y
        beq loc_1411
        sta smc_129e                                // SMC: modifies $129e

loc_1411:
        iny
        lda ($fa),y
        cmp #$fe
        bcc loc_1424
        beq loc_141e
        ldy #$00
        beq loc_1424

loc_141e:
        lda $fd,x
        and #$f0
        sta $fd,x

loc_1424:
        tya
        sta $1144,x
.label smc_1429 = * + 1
        ldy #$40                                    // !SMC: modified by $1406
        lda dat_1437,y
        sta $10cc,x
        lda dat_11c5,y
        sta $10cf,x
        rts

// --- Region $14bf-$14d8 ---
.pc = $14bf "sub_14bf"
// Referenced by: jsr from $11a1

sub_14bf:
        iny

loc_14c0:
        lda ($fa),y
        cmp #$fd
        beq loc_14c7
        rts

loc_14c7:
        iny
        lda ($fa),y
        asl
        sta $1087,x
        tay
        clc
        bcc loc_14c0
        lsr $4f,x
        eor #$43
        eor $54
        .byte $52                                   // jam // ILLEGAL

// --- Region $264c-$264c ---
.pc = $264c "Segment $264c"
        brk

// ============================================
// Data blocks
// ============================================

// --- Region $0800-$09ff ---
.pc = $0800 "scr_0800"

scr_0800:
        // === Screen RAM (512 bytes, $0800-$09ff) ===
        .encoding "screencode_mixed"
        .fill 8, $00                                // scrcode: @@@@@@@@
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $ee,$fe,$ee,$ee,$ee                   // scrcode: .....
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $ee,$fc,$ee,$ee,$fc                   // scrcode: .....
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $e0,$e0,$e0,$ee,$7c                   // scrcode: .....
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $ee,$ee,$ee,$ee,$fc                   // scrcode: .....
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "f"
        .byte $e0,$f8,$e0,$e6,$7c                   // scrcode: .....
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $e0,$f8,$e0,$e0,$e0                   // scrcode: .....
        .text "@"
        .byte $fe                                   // scrcode: .
        .text "n"
        .byte $e0,$ee,$ee,$e6,$7e                   // scrcode: .....
        .text "@"
        .byte $ee                                   // scrcode: .
        .text "n"
        .byte $ee,$fe,$ee,$ee,$ee                   // scrcode: .....
        .text "@"
        .byte $7c                                   // scrcode: .
        .text "@8888"
        .byte $7c                                   // scrcode: .
        .text "@>@nn"
        .byte $ee,$ee,$7c                           // scrcode: ...
        .text "@"
        .byte $ee                                   // scrcode: .
        .text "n"
        .byte $ec,$f8,$ec,$ee,$ee                   // scrcode: .....
        .text "@"
        .byte $e0                                   // scrcode: .
        .text "@"
        .byte $e0,$e0,$e0,$e6,$7e                   // scrcode: .....
        .text "@"
        .byte $c6,$ee,$fe,$fe,$ee,$ee,$ee           // scrcode: .......
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $ee,$ee,$ee,$ee,$ee                   // scrcode: .....
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $ee,$ee,$ee,$ee,$7c                   // scrcode: .....
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $ee,$fc,$e0,$e0,$e0                   // scrcode: .....
        .text "@"
        .byte $7c                                   // scrcode: .
        .text "n"
        .byte $ee,$e6,$da,$ec,$76                   // scrcode: .....
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $ee,$fc,$fc,$ee,$e6                   // scrcode: .....
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "f"
        .byte $e0,$7c                               // scrcode: ..
        .text "n"
        .byte $ce,$7c                               // scrcode: ..
        .text "@"
        .byte $fe,$c0                               // scrcode: ..
        .text "nnnnn@"
        .byte $ee                                   // scrcode: .
        .text "n"
        .byte $ee,$ee,$ee,$ee,$7c                   // scrcode: .....
        .text "@"
        .byte $ee                                   // scrcode: .
        .text "n"
        .byte $ee,$ee,$7c                           // scrcode: ...
        .text "8p@"
        .byte $ee                                   // scrcode: .
        .text "n"
        .byte $ee,$fe,$fe,$ee,$c6                   // scrcode: .....
        .text "@"
        .byte $ee                                   // scrcode: .
        .text "n"
        .byte $ee,$7c,$ee,$ee,$ee                   // scrcode: .....
        .text "@"
        .byte $ee                                   // scrcode: .
        .text "n"
        .byte $ee,$7c                               // scrcode: ..
        .text "888@"
        .byte $fe                                   // scrcode: .
        .text "@n"
        .byte $7c,$e0,$e0,$7e                       // scrcode: ....
        .text "@"
        .byte $c6                                   // scrcode: .
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $fe,$ee,$ee                           // scrcode: ...
        .text "@"
        .byte $c6                                   // scrcode: .
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $ee,$ee,$7c                           // scrcode: ...
        .text "@8@"
        .byte $fc                                   // scrcode: .
        .text "n"
        .byte $fe,$ee,$ee                           // scrcode: ...
        .text "@p("
        .byte $44,$ee                               // scrcode: ..
        .text "((8@"
        .text "p0"
        .byte $5e,$82,$5e                           // scrcode: ...
        .text "0p@@@@@@@@@x<<x@xx@"
        .byte $6c,$6c                               // scrcode: ..
        .text "@@@@@@"
        .byte $6c,$6c,$fe,$6c,$fe,$6c,$6c           // scrcode: .......
        .text "@"
        .byte $7e,$ea,$ea,$7c,$ae,$ae,$fc           // scrcode: .......
        .text "@@"
        .byte $66,$6c                               // scrcode: ..
        .text "x0"
        .byte $6c,$4c                               // scrcode: ..
        .text "@@"
        .byte $7c,$ee,$ee,$7c                       // scrcode: ....
        .text "@"
        .byte $fe                                   // scrcode: .
        .text "@lxp@@@@@8"
        .byte $70,$e0,$e0,$e0,$70                   // scrcode: .....
        .text "8@"
        .text "8"
        .byte $1c                                   // scrcode: .
        .text "nnn"
        .byte $1c                                   // scrcode: .
        .text "8@@@x<<x@@@xx"
        .byte $7e                                   // scrcode: .
        .text "xx@@@@@@hx0@@@@"
        .byte $7e                                   // scrcode: .
        .text "@@@@"
        .text "@@@@@xx@flx0"
        .byte $60,$c0,$80                           // scrcode: ...
        .text "@"
        .byte $7c,$ee,$e6,$d6,$ce,$ee,$7c           // scrcode: .......
        .text "@x8"
        .byte $78                                   // scrcode: .
        .text "xx<<@"
        .byte $fc,$ce                               // scrcode: ..
        .text "n"
        .byte $7c,$e0,$e0,$fe                       // scrcode: ....
        .text "@"
        .byte $fc,$ce                               // scrcode: ..
        .text "n<n"
        .byte $ce,$fc                               // scrcode: ..
        .text "@"
        .byte $ee,$ee,$ee,$7c                       // scrcode: ....
        .text "nnn@"
        .byte $fe,$e0,$e0,$7c                       // scrcode: ....
        .text "n"
        .byte $ce,$fc                               // scrcode: ..
        .text "@8"
        .byte $60,$e0,$fc,$ee,$ee,$7c               // scrcode: ......
        .text "@"
        .byte $f8,$dc,$1c                           // scrcode: ...
        .text ">"
        .byte $1c,$1c,$1c                           // scrcode: ...
        .text "@"
        .byte $7c,$ee,$ee,$7c,$ee,$ee,$7c           // scrcode: .......
        .text "@"
        .byte $7c,$ee,$ee,$7e                       // scrcode: ....
        .text "nn"
        .byte $1c                                   // scrcode: .
        .text "@@@x@x@@@@@x@hx0@x0"
        .byte $60,$c0,$60                           // scrcode: ...
        .text "0x@"
        .text "@@<@<@@@0xlflx0@"
        .byte $7c,$c6                               // scrcode: ..
        .text "f"
        .byte $1c                                   // scrcode: .
        .text "x@x@"
        .encoding "petscii_upper"

// --- Region $0bb8-$0bda ---
.pc = $0bb8 "Program $0bb8"
        .encoding "screencode_mixed"
        .byte $a9                                   // scrcode: .
        .text "4"
        .byte $85                                   // scrcode: .
        .text "a"
        .byte $a2                                   // scrcode: .
        .text "@"
        .byte $bd                                   // scrcode: .
        .text "@("
        .byte $9d                                   // scrcode: .
        .text "ah"
        .byte $e8,$d0,$f7,$ee                       // scrcode: ....
        .text "id"
        .byte $ee                                   // scrcode: .
        .text "ld"
        .byte $ad                                   // scrcode: .
        .text "id"
        .byte $d0,$ea,$a9                           // scrcode: ...
        .text "7"
        .byte $85                                   // scrcode: .
        .text "a"
        .byte $58                                   // scrcode: .
        .text " "
        .byte $e2,$fc                               // scrcode: ..
        .encoding "petscii_upper"

dat_0bda:
        // === Fill data (1 bytes, $0bda-$0bda) ===
        .byte $00                                   // .

// --- Region $0c00-$0c36 ---
.pc = $0c00 "dat_0c00"

dat_0c00:
        .byte $09,$02,$08,$0a,$0f,$0d,$07           // char 9 (partial)
        .byte $01,$01,$07,$0d,$0f,$0a,$08,$02       // char 10 @+10
        .byte $09                                   // char 11 (partial)

dat_0c10:
        // === Fill data (36 bytes, $0c10-$0c33) ===
        .fill 36, $10
        .byte $00,$00,$c7                           // char 15 (partial)

// --- Region $0d17-$0d54 ---
.pc = $0d17 "chr_0d17"

chr_0d17:
        // === Charset data (62 bytes, $0d17-$0d54) ===
        .byte $a9,$05,$ce,$18,$0d,$ad,$18,$0d       // char 0 @+0
        .byte $f0,$01,$60,$a9,$05,$8d,$18,$0d       // char 1 @+1
        .byte $a0,$00,$a2,$00,$a9,$01,$9d,$98       // char 2 @+2
        .byte $d9,$e8,$e0,$28,$d0,$f6,$b9,$4b       // char 3 @+3
        .byte $0d,$8d,$2c,$0d,$ee,$28,$0d,$ad       // char 4 @+4
        .byte $28,$0d,$c9,$07,$d0,$05,$a9,$00       // char 5 @+5
        .byte $8d,$28,$0d,$60,$01,$0f,$0c,$0b       // char 6 @+6
        .byte $0b,$0c,$0f,$0c,$0f                   // char 7 (partial)

dat_0d54:
        // === Fill data (1 bytes, $0d54-$0d54) ===
        .byte $00                                   // .

// --- Region $0d80-$0e01 ---
.pc = $0d80 "dat_0d80"

dat_0d80:
        .byte $17,$05,$20,$02,$12,$09,$0e           // char 13 (partial)
        .byte $07,$20,$19,$0f,$15,$20,$22,$13       // char 14 @+14
        .byte $01,$16,$05,$20,$14,$08,$0f,$13       // char 15 @+15
        .byte $05,$20,$0a,$01,$0e,$09,$14,$0f       // char 16 @+16
        .byte $12,$13                               // char 17 (partial)

txt_0da1:
        .byte $2b,$2b,$2b,$22,$20,$0f               // char 17 (partial)
        .byte $0e,$20,$0a,$01,$0e,$15,$01,$12       // char 18 @+18
        .byte $19                                   // char 19 (partial)

txt_0db0:
        .byte $20,$32,$39,$2c,$20,$32,$30           // char 19 (partial)
        .byte $31,$31,$2e,$20,$03,$12,$01,$03       // char 20 @+20
        .byte $0b,$05,$04,$2b,$14,$12,$01,$09       // char 21 @+21
        .byte $0e,$05,$04,$20,$02,$19,$20,$09       // char 22 @+22
        .byte $01,$0e,$20,$03,$0f,$0f,$07,$20       // char 23 @+23
        .byte $01,$0e,$04,$20,$0f,$12,$09,$07       // char 24 @+24
        .byte $09,$0e,$01,$0c,$20,$13,$15,$10       // char 25 @+25
        .byte $10,$0c,$09,$05,$04,$20,$02,$19       // char 26 @+26
        .byte $20,$0d,$0f,$0c,$0f,$03,$08           // char 27 (partial)

txt_0df6:
        .byte $2e                                   // char 27 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 28 @+28
        .byte $20,$20                               // char 29 (partial)

dat_0e01:
        // === Fill data (1 bytes, $0e01-$0e01) ===
        .byte $00                                   // .

// --- Region $1081-$1090 ---
.pc = $1081 "dat_1081"

dat_1081:
        .byte $07,$05,$05,$09,$09,$09,$02,$02,$02,$03,$03,$03,$0f,$0e,$11,$01 // ................

// --- Region $10c7-$10d1 ---
.pc = $10c7 "Segment $10c7"
        .byte $07,$0e,$10,$00,$34,$bd,$16,$eb,$02,$01,$15 // ....4......

// --- Region $10de-$10eb ---
.pc = $10de "dat_10de"

dat_10de:
        .fill 14, $00

// --- Region $1142-$114f ---
.pc = $1142 "Segment $1142"
        .byte $43,$43,$00,$00,$00,$65,$35,$f0,$0f,$00,$00,$0a,$00,$00 // CC...e5.......

// --- Region $11c5-$1224 ---
.pc = $11c5 "dat_11c5"

dat_11c5:
        .fill 11, $01
        .byte $02,$02,$02,$02,$02,$02,$02,$03,$03,$03,$03,$03,$04,$04,$04,$04 // ................
        .byte $05,$05,$05,$06,$06,$06,$07,$07,$08,$08,$09,$09,$0a,$0a,$0b,$0c // ................
        .byte $0d,$0d,$0e,$0f,$10,$11,$12,$13,$14,$15,$17,$18,$1a,$1b,$1d,$1f // ................

txt_1200:
        .text " "
        .byte $22                                   // double quote character
        .text "$')+.147:>AEINRW"
        .byte $5c                                   // backslash character
        .byte $62,$68,$6e,$75,$7c,$83,$8b,$93,$9c,$a5,$af,$b9,$c4,$d0,$dd,$ea // bhnu|...........
        .byte $f8,$fd                               // ..

// --- Region $12b4-$12c6 ---
.pc = $12b4 "Segment $12b4"
        .byte $f3,$f7,$02,$01,$15,$ff,$ff,$ff,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $01,$01,$00                           // ...

// --- Region $13d9-$13e4 ---
.pc = $13d9 "dat_13d9"

dat_13d9:
        .byte $20,$08,$40,$1a,$08,$0a,$1a,$08,$0a,$bd,$16,$eb //  .@.........

// --- Region $1437-$14be ---
.pc = $1437 "dat_1437"

dat_1437:
        .byte $16,$27,$38,$4b,$5f,$73,$8a,$a1,$ba,$d4,$f0,$0e,$2d,$4e,$71,$96 // .'8K_s......-Nq.
        .byte $bd,$e7,$13,$42,$74,$a9,$e0,$1b,$5a,$9b,$e2,$2c,$7b,$ce,$27,$85 // ...Bt...Z..,{.'.
        .byte $e8,$51,$c1,$37,$b4,$37,$c4,$57,$f5,$9c,$4e,$09,$d0,$a3,$82,$6e // .Q.7.7.W..N....n
        .byte $68,$6e,$88,$af,$eb,$39,$9c,$13,$a1,$46,$04,$dc,$d0,$dc,$10,$5e // hn...9...F.....^
        .byte $d6,$72,$38,$26,$42,$8c,$08,$b8,$a0,$b8,$20,$bc,$ac,$e4,$70,$4c // .r8&B..... ...pL
        .byte $84,$18,$10,$70,$40,$70,$40,$78,$58,$c8,$e0,$98,$08,$30,$20,$2e // ...p@p@xX....0 .
        .byte $67,$69,$de,$f7,$13,$1a,$21,$2e,$77,$7e,$97,$b0,$c9,$d9,$f2,$0b // gi....!.w~......
        .byte $12,$e0,$14,$14,$15,$15,$15,$15,$15,$15,$15,$15,$15,$15,$15,$16 // ................
        .byte $16,$22,$1f,$5e,$6f,$17,$17,$17       // .".^o...

// --- Region $14d9-$16af ---
.pc = $14d9 "txt_14d9"

txt_14d9:
        .text "ACK 4"
        .byte $81,$da,$00,$41,$a7,$00,$40,$a3,$00,$40,$a0,$00,$40,$9d,$00,$40 // ...A..@..@..@..@
        .byte $9a,$00,$10,$a5,$00,$00,$00,$00,$fe,$81,$c2,$00,$41,$ad,$00,$40 // ............A..@
        .byte $ab,$00,$80,$c2,$00,$80,$c2,$00,$40,$aa,$00,$40,$9a,$00,$10,$a5 // ........@..@....
        .byte $00,$00,$00,$00,$fe,$81,$df,$00,$55,$00,$00,$fe,$41,$00,$00,$41 // ........U...A..A
        .byte $00,$00,$fe,$81,$ff,$00,$40,$00,$80,$40,$00,$70,$40,$00,$60,$fe // ......@..@.p@.`.
        .byte $41,$0c,$00,$41,$0c,$00,$41,$0c,$00,$41,$0c,$00,$41,$00,$00,$41 // A..A..A..A..A..A
        .byte $00,$00,$41,$00,$00,$41,$00,$00,$41,$0c,$00,$41,$0c,$00,$41,$0c // ..A..A..A..A..A.
        .byte $00,$41,$0c,$00,$41,$00,$00,$41,$00,$00,$41,$00,$00,$41,$00,$00 // .A..A..A..A..A..
        .byte $41,$0c,$00,$41,$0c,$00,$41,$0c,$00,$41,$0c,$00,$41,$00,$00,$41 // A..A..A..A..A..A
        .byte $00,$00,$41,$00,$00,$41,$00,$00,$ff,$41,$0b,$00,$41,$0c,$00,$fe // ..A..A...A..A...
        .byte $41,$0c,$00,$41,$0c,$00,$41,$07,$00,$41,$07,$00,$41,$03,$00,$41 // A..A..A..A..A..A
        .byte $03,$00,$41,$00,$00,$41,$00,$00,$ff,$41,$0c,$00,$41,$0c,$00,$41 // ..A..A...A..A..A
        .byte $07,$00,$41,$07,$00,$41,$04,$00,$41,$04,$00,$41,$00,$00,$41,$00 // ..A..A..A..A..A.
        .byte $00,$ff,$41,$0c,$00,$41,$0c,$00,$41,$08,$00,$41,$08,$00,$41,$05 // ..A..A..A..A..A.
        .byte $00,$41,$05,$00,$41,$00,$00,$41,$00,$00,$ff,$81,$df,$60,$41,$00 // .A..A..A.....`A.
        .byte $50,$41,$00,$50,$41,$00,$50,$40,$00,$40,$fe,$41,$0c,$00,$41,$0c // PA.PA.P@.@.A..A.
        .byte $00,$41,$0a,$00,$41,$0a,$00,$41,$07,$00,$41,$07,$00,$41,$04,$00 // .A..A..A..A..A..
        .byte $41,$04,$00,$ff,$41,$0c,$00,$41,$0c,$00,$41,$0a,$00,$41,$0a,$00 // A...A..A..A..A..
        .byte $41,$07,$00,$41,$07,$00,$41,$03,$00,$41,$03,$00,$ff,$81,$df,$00 // A..A..A..A......
        .byte $41,$00,$00,$fe,$81,$ff,$00,$40,$a8,$00,$40,$a4,$00,$40,$00,$60 // A......@..@..@.`
        .byte $fe,$05,$d5,$09,$08,$00,$00,$00,$01,$08,$88,$09,$08,$00,$00,$00 // ................
        .byte $02,$06,$00,$11,$00,$00,$00,$00,$03,$07,$08,$09,$08,$00,$00,$ff // ................
        .byte $14,$05,$1d,$09,$1a                   // .....

txt_1643:
        .text " R#"
        .byte $b5                                   // '5' | $80 (end-of-string marker)
        .byte $05,$5d,$17,$1a,$00,$00,$00,$00,$09,$d8,$09,$08
        .text "?B"
        .byte $22                                   // double quote
        .text "7"
        .byte $05,$1d,$09,$1a                       // ....

txt_165b:
        .text " R#"
        .byte $bf                                   // '?' | $80 (end-of-string marker)
        .byte $08,$50,$09,$0a,$8f,$00,$00,$28,$08,$50,$09,$0a,$8f,$00,$00,$29 // .P.....(.P.....)
        .byte $08,$50,$41,$0a,$8f,$00,$00,$2a,$09,$9c,$09,$8d,$20,$02,$01,$bb // .PA....*.... ...
        .byte $08,$50,$09,$0a,$8f,$00,$00,$2c,$08,$50,$41,$0a,$8f,$00,$00,$2d // .P.....,.PA....-
        .byte $08,$60,$09,$08                       // .`..

txt_1693:
        .text " 24>"
        .byte $09,$8a,$41,$44,$40,$00,$00,$5f,$18,$7d,$41,$09 // ..AD@.._.}A.

txt_16a3:
        .text "/R#"
        .byte $b6                                   // '6' | $80 (end-of-string marker)
        .byte $00,$30,$00,$09                       // .0..

txt_16ab:
        .text "/R#"
        .byte $b6                                   // '6' | $80 (end-of-string marker)

dat_16af:
        // === Fill data (1 bytes, $16af-$16af) ===
        .byte $00                                   // .

// --- Region $1717-$1ba0 ---
.pc = $1717 "dat_1717"

dat_1717:
        .fill 8, $ff
        .byte $01,$00,$0f,$00,$03,$00,$03,$70,$03,$80,$03,$50,$03,$50,$03,$70 // .......p...P.P.p
        .byte $03,$00,$03,$70,$03,$00,$03,$70,$03,$80,$03,$50,$03,$50,$03,$70 // ...p...p...P.P.p
        .byte $03,$00,$03,$70,$03,$80,$0a,$50,$03,$80,$0a,$50,$03,$00,$03,$70 // ...p...P...P...p
        .byte $03,$80,$0a,$50,$03,$80,$0a,$50,$03,$00,$03,$70,$fd,$01,$ff,$04 // ...P...P...p....
        .byte $00,$0e,$00,$06,$c1,$08,$01,$09,$00,$08,$01,$09,$00,$fd,$01,$ff // ................
        .byte $07,$00,$11,$00,$04,$01,$0b,$00,$0c,$00,$0b,$00,$0c,$00,$fd,$01 // ................
        .byte $ff,$7f,$ff,$90,$15,$9f,$97,$3f,$10,$1f,$11,$1f,$0e,$1f,$0e,$1f // .......?........
        .byte $10,$1f,$15,$1f,$10,$1f,$ff,$88,$39,$1f,$89,$37,$1f,$88,$39,$1f // ........9..7..9.
        .byte $8c,$32,$1f,$89,$35,$1f,$89,$37,$1f,$88,$39,$1f,$89,$37,$1f,$ff // .2..5..7..9..7..
        .byte $87,$15,$83,$f2,$0f,$84,$15,$01,$15,$01,$81,$00,$81,$8f,$0f,$84 // ................
        .byte $15,$81,$f2,$0f,$15,$03,$87,$15,$03,$87,$15,$01,$84,$21,$01,$81 // .............!..
        .byte $00,$81,$8f,$0f,$84,$15,$81,$f2,$0f,$15,$03,$ff,$8e,$a3,$34,$01 // ..............4.
        .byte $61,$39,$01,$61,$3b,$01,$3c,$05,$3e,$01,$61,$3c,$01,$61,$3b,$01 // a9.a;.<.>.a<.a;.
        .byte $61,$3c,$05,$3b,$01,$63,$37,$07,$39,$01,$61,$3b,$01,$61,$39,$0f // a<.;.c7.9.a;.a9.
        .byte $32,$07,$35,$07,$32,$1f,$67,$32,$01,$61,$34,$01,$61,$35,$01,$61 // 2.5.2.g2.a4.a5.a
        .byte $37,$05,$39,$01,$63,$3c,$01,$61,$3e,$05,$3c,$01,$63,$3b,$01,$61 // 7.9.c<.a>.<.c;.a
        .byte $37,$05,$34,$05,$3b,$01,$61,$39,$1f,$28,$01,$2b,$01,$2d,$01,$2b // 7.4.;.a9.(.+.-.+
        .byte $01,$2d,$01,$2f,$01,$32,$01,$2f,$01,$32,$01,$34,$01,$37,$01,$34 // .-./.2./.2.4.7.4
        .byte $01,$37,$01,$39,$01,$3c,$01,$3b,$01,$ff,$91,$30,$1f,$2f,$1f,$30 // .7.9.<.;...0./.0
        .byte $1f,$2d,$1f,$2d,$1f,$2f,$1f,$30,$1f,$2f,$1f,$ff,$88,$2d,$03,$2d // .-.-./.0./...-.-
        .byte $03,$2d,$05,$2d,$03,$2d,$03,$2d,$01,$2d,$03,$2d,$03,$89,$2b,$03 // .-.-.-.-.-.-..+.
        .byte $2b,$03,$2b,$05,$2b,$03,$2b,$03,$2b,$01,$2b,$03,$2b,$03,$88,$2d // +.+.+.+.+.+.+..-
        .byte $03,$2d,$03,$2d,$05,$2d,$03,$2d,$03,$2d,$01,$2d,$03,$2d,$03,$89 // .-.-.-.-.-.-.-..
        .byte $26,$03,$26,$03,$26,$05,$26,$03,$26,$03,$26,$01,$26,$03,$26,$03 // &.&.&.&.&.&.&.&.
        .byte $88,$26,$03,$26,$03,$26,$05,$26,$03,$26,$03,$26,$01,$26,$03,$26 // .&.&.&.&.&.&.&.&
        .byte $03,$28,$03,$28,$03,$28,$05,$28,$03,$28,$03,$28,$01,$28,$03,$28 // .(.(.(.(.(.(.(.(
        .byte $03,$2d,$03,$2d,$03,$2d,$05,$2d,$03,$2d,$03,$2d,$01,$2d,$03,$2d // .-.-.-.-.-.-.-.-
        .byte $03,$89,$2b,$03,$2b,$03,$2b,$05,$2b,$03,$2b,$03,$2b,$01,$2b,$03 // ..+.+.+.+.+.+.+.
        .byte $2b,$03,$ff,$8e,$a5,$34,$03,$39,$03,$3b,$01,$3c,$05,$3e,$03,$3c // +....4.9.;.<.>.<
        .byte $03,$3b,$03,$3c,$05,$3b,$05,$37,$07,$39,$03,$3b,$03,$39,$0f,$32 // .;.<.;.7.9.;.9.2
        .byte $07,$35,$07,$32,$1f,$67,$32,$03,$34,$03,$35,$03,$37,$05,$39,$05 // .5.2.g2.4.5.7.9.
        .byte $3c,$03,$3e,$05,$3c,$05,$3b,$03,$37,$05,$34,$05,$3b,$03,$39,$1f // <.>.<.;.7.4.;.9.
        .byte $28,$01,$2b,$01,$2d,$01,$2b,$01,$2d,$01,$2f,$01,$32,$01,$2f,$01 // (.+.-.+.-./.2./.
        .byte $32,$01,$34,$01,$37,$01,$34,$01,$37,$01,$39,$03,$ff,$88,$39,$05 // 2.4.7.4.7.9...9.
        .byte $39,$05,$39,$07,$39,$05,$39,$05,$89,$35,$05,$35,$05,$37,$07,$37 // 9.9.9.9..5.5.7.7
        .byte $05,$37,$05,$ff,$88,$39,$05,$39,$05,$39,$07,$39,$05,$39,$05,$89 // .7...9.9.9.9.9..
        .byte $37,$05,$37,$05,$37,$07,$37,$05,$37,$05,$ff,$87,$15,$83,$f2,$0f // 7.7.7.7.7.......
        .byte $84,$15,$01,$15,$01,$81,$00,$81,$8f,$0f,$84,$15,$81,$f2,$0f,$15 // ................
        .byte $03,$87,$17,$03,$87,$17,$01,$84,$23,$01,$81,$00,$81,$8f,$0f,$84 // ........#.......
        .byte $17,$81,$f2,$0f,$17,$03,$ff,$8e,$3c,$03,$3b,$03,$39,$03,$37,$03 // ........<.;.9.7.
        .byte $39,$05,$3b,$05,$3c,$03,$3e,$05,$3c,$05,$3b,$03,$37,$0f,$ff,$8e // 9.;.<.>.<.;.7...
        .byte $3c,$03,$3b,$03,$39,$03,$37,$03,$39,$05,$3b,$05,$3c,$03,$3e,$05 // <.;.9.7.9.;.<.>.
        .byte $3c,$05,$3b,$03,$37,$05,$34,$05,$3b,$03,$39,$1f,$34,$01,$37,$01 // <.;.7.4.;.9.4.7.
        .byte $39,$01,$37,$01,$39,$01,$3b,$01,$3e,$01,$3b,$01,$3e,$01,$40,$01 // 9.7.9.;.>.;.>.@.
        .byte $43,$01,$40,$01,$43,$01,$45,$01,$48,$01,$47,$01,$ff,$88,$32,$1f // C.@.C.E.H.G...2.
        .byte $ff,$81,$00,$01,$00,$03,$00,$03,$00,$01,$00,$03,$ff,$84,$15,$81 // ................
        .byte $f2,$0f,$10,$03,$13,$03,$10,$01,$13,$03,$ff,$88,$39,$07,$39,$01 // ............9.9.
        .byte $39,$03,$39,$03,$39,$03,$39,$01,$39,$03,$39,$03,$89,$37,$03,$37 // 9.9.9.9.9.9..7.7
        .byte $03,$37,$05,$37,$03,$37,$03,$37,$01,$37,$03,$37,$03,$88,$39,$01 // .7.7.7.7.7.7..9.
        .byte $39,$01,$39,$01,$39,$01,$39,$03,$39,$01,$39,$01,$39,$01,$39,$01 // 9.9.9.9.9.9.9.9.
        .byte $39,$03,$39,$03,$39,$01,$39,$01,$8c,$32,$03,$32,$03,$32,$03,$32 // 9.9.9.9..2.2.2.2
        .byte $03,$32,$03,$32,$01,$32,$03,$32,$01,$32,$01,$32,$01,$89,$35,$07 // .2.2.2.2.2.2..5.
        .byte $35,$07,$35,$07,$35,$01,$35,$03,$35,$01,$89,$37,$03,$37,$03,$37 // 5.5.5.5.5..7.7.7
        .byte $03,$37,$03,$37,$03,$37,$03,$37,$03,$37,$03,$88,$39,$03,$39,$01 // .7.7.7.7.7..9.9.
        .byte $39,$01,$39,$01,$39,$03,$39,$01,$39,$03,$39,$01,$39,$01,$39,$01 // 9.9.9.9.9.9.9.9.
        .byte $39,$03,$39,$01,$89,$37,$03,$37,$03,$37,$01,$37,$03,$37,$03,$37 // 9.9..7.7.7.7.7.7
        .byte $03,$37,$03,$37,$01,$37,$01,$37,$01,$ff,$88,$39,$01,$34,$03,$89 // .7.7.7.7...9.4..
        .byte $37,$03,$88,$39,$01,$89,$37,$03       // 7..9..7.

dat_1ab7:
        // === Fill data (87 bytes, $1ab7-$1b0d) ===
        .fill 87, $ff
        .byte $17,$17,$17,$17,$17,$18,$18,$18,$19,$19,$19,$19,$19,$19,$19,$19 // ................

dat_1b1e:
        // === Fill data (38 bytes, $1b1e-$1b43) ===
        .fill 38, $1a
        .byte $1b,$1b,$1b,$1b,$1b,$1b,$1b,$00,$80,$82,$96,$af,$db,$49,$5b,$e2 // .............I[.
        .byte $3c,$53,$6a,$96,$ae,$ec,$f0,$fc,$0a,$a9,$b8,$ba,$bc,$be,$c0,$c2 // <Sj.............
        .byte $c4,$c6,$c8,$ca,$cc,$ce,$d0,$d2,$d4,$d6,$d8,$da,$dc,$de,$e0,$e2 // ................
        .byte $e4,$e6,$e8,$ea,$ec,$ee,$f0,$f2,$f4,$f6,$f8,$fa,$fc,$fe,$00,$02 // ................
        .byte $04,$06,$08,$0a,$0c,$00               // ......

txt_1b8a:
        .text "**END OF MUSIC**"
        .byte $bd                                   // '=' | $80 (end-of-string marker)
        .byte $bd,$bd,$bd,$bd,$bd                   // .....

dat_1ba0:
        // === Fill data (1 bytes, $1ba0-$1ba0) ===
        .byte $00                                   // .

// --- Region $1c00-$1c78 ---
.pc = $1c00 "txt_1c00"

txt_1c00:
        .text "          "
        .byte $01,$41,$12,$52,$0d,$4d,$01,$41,$07,$47,$05,$45,$04,$44,$04,$44 // .A.R.M.A.G.E.D.D
        .byte $0f,$4f,$0e                           // .O.

txt_1c1d:
        .text "N                    "
        .byte $81,$c1,$92,$d2,$8d,$cd,$81,$c1,$87,$c7,$85,$c5,$84,$c4,$84,$c4 // ................
        .byte $8f,$cf,$8e,$ce                       // ....

dat_1c46:
        .text "                                                  "
        .byte $00                                   // string terminator

// --- Region $1ca0-$1cc9 ---
.pc = $1ca0 "txt_1ca0"

txt_1ca0:
        .text "         "

txt_1ca9:
        .encoding "screencode_mixed"
        .text "save those janitors"
        .encoding "petscii_upper"

txt_1cbc:
        .text "+++         ."
        .byte $00                                   // string terminator

// --- Region $1d06-$1ef5 ---
.pc = $1d06 "dat_1d06"

dat_1d06:
        .byte $01,$01,$01,$01,$02,$02,$02,$03,$03,$04,$04,$05,$06,$06,$07,$08 // ................
        .byte $08,$09,$0a,$0b,$0b,$0c,$0d,$0e,$0f,$10,$11,$12,$13,$14,$15,$16 // ................
        .byte $17,$19,$1a,$1b,$1c,$1d,$1f           // .......

txt_1d2d:
        .text " !"
        .byte $22                                   // double quote character
        .text "$%&()+,-/0134679:;=>"
        .byte $40                                   // @ character
        .text "ACDEGHIKLNOPRSTUWXYZ"
        .byte $5b,$5d,$5e,$5f,$60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$69,$6a // []^_`abcdefghiij
        .byte $6b,$6c,$6c,$6d,$6e,$6e,$6f,$70,$70,$71,$71,$72,$72,$72,$73,$73 // kllmnnoppqqrrrss
        .byte $73,$73,$74,$74,$74,$74,$74,$74,$74,$74,$74,$74,$74,$73,$73,$73 // sstttttttttttsss
        .byte $73,$72,$72,$72,$71,$71,$70,$70,$6f,$6e,$6e,$6d,$6c,$6c,$6b,$6a // srrrqqpponnmllkj
        .byte $69,$69,$68,$67,$66,$65,$64,$63,$62,$61,$60,$5f,$5e,$5d,$5b // iihgfedcba`_^][

txt_1da8:
        .text "ZYXWUTSRPONLKIHGEDCA"
        .byte $40                                   // @ character
        .text ">=;:9764310/-,+)(&%$"
        .byte $22                                   // double quote character
        .text "! "
        .byte $1f,$1d,$1c,$1b,$1a,$19,$17,$16,$15,$14,$13,$12,$11,$10,$0f,$0e // ................
        .byte $0d,$0c,$0b,$0b,$0a,$09,$08,$08,$07,$06,$06,$05,$04,$04,$03,$03 // ................
        .byte $02,$02,$02,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .fill 8, $00
        .byte $01,$01,$01,$01,$01,$02,$02,$02,$02,$03,$03,$03,$04,$04,$04,$05 // ................
        .byte $05,$05,$06,$06,$07,$07,$08,$08,$09,$09,$0a,$0a,$0b,$0b,$0c,$0d // ................
        .byte $0d,$0e,$0e,$0f,$10,$10,$11,$12,$13,$13,$14,$15,$16,$17,$17,$18 // ................
        .byte $19,$1a,$1b,$1c,$1d,$1d,$1e,$1f       // ........

txt_1e44:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$%&'()+,-./01345689:;=>?ABCEFHIKLNOQRTUWXZ"
        .byte $5c                                   // backslash character
        .byte $5d,$5f,$60,$62,$64,$65,$67,$69,$6b,$6c,$6e,$70,$72,$74,$72,$70 // ]_`bdegiklnprtrp
        .byte $6e,$6c,$6b,$69,$67,$65,$64,$62,$60,$5f,$5d // nlkigedb`_]

txt_1e8e:
        .byte $5c                                   // backslash character
        .text "ZXWUTRQONLKIHFECBA?>=;:98654310/.-,+)('&%$#"
        .byte $22                                   // double quote character
        .text "! "
        .byte $1f,$1e,$1d,$1d,$1c,$1b,$1a,$19,$18,$17,$17,$16,$15,$14,$13,$13 // ................
        .byte $12,$11,$10,$10,$0f,$0e,$0e,$0d,$0d,$0c,$0b,$0b,$0a,$0a,$09,$09 // ................
        .byte $08,$08,$07,$07,$06,$06,$05,$05,$05,$04,$04,$04,$03,$03,$03,$02 // ................
        .byte $02,$02,$02,$01,$01,$01,$01,$01       // ........

dat_1ef5:
        // === Fill data (1 bytes, $1ef5-$1ef5) ===
        .byte $00                                   // .

// --- Region $2000-$2040 ---
.pc = $2000 "spr_2000"

spr_2000:
        .fill 8, $00
        .byte $07,$1f,$3f,$3c,$78,$78,$7f,$7f,$00,$00,$00,$00,$00,$00,$00,$00 // ..?<xx..........
        .fill 8, $00
        .byte $ff,$ff,$ff,$78,$78,$78,$78,$78,$0f,$3f,$7f,$78,$f0,$f0,$ff,$ff // ...xxxxx.?.x....
        .fill 8, $00
        .byte $0f,$3f,$7f,$78,$f0,$f0,$f1,$f1       // .?.x....

dat_2040:
        // === Fill data (1 bytes, $2040-$2040) ===
        .byte $00                                   // .

// --- Region $2068-$2098 ---
.pc = $2068 "dat_2068"

dat_2068:
        .byte $7f,$ff,$ff,$f7,$f7,$f7,$f7,$f7       // char 13 @+13
        .byte $78,$f8,$f8,$f0,$f8,$fc,$ff,$f7       // char 14 @+14
        .byte $0f,$3f,$7f,$78,$f0,$f0,$f0,$f0       // char 15 @+15
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 16 @+16
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 17 @+17
        .byte $ff,$ff,$ff,$78,$78,$78,$ff,$ff       // char 18 @+18

dat_2098:
        // === Fill data (1 bytes, $2098-$2098) ===
        .byte $00                                   // .

// --- Region $2208-$2240 ---
.pc = $2208 "dat_2208"

dat_2208:
        .byte $fc,$fc,$fc,$78,$78,$78,$f8,$f8       // char 65 'A'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 66 'B'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 67 'C'
        .byte $c0,$f0,$f8,$78,$3c,$3c,$3c,$3c       // char 68 'D'
        .byte $f8,$fc,$fc,$3c,$3c,$00,$80,$80       // char 69 'E'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 70 'F'
        .byte $fc,$fc,$fc,$3c,$3c,$00,$fc,$fc       // char 71 'G'

dat_2240:
        // === Fill data (1 bytes, $2240-$2240) ===
        .byte $00                                   // .

// --- Region $2268-$2298 ---
.pc = $2268 "dat_2268"

dat_2268:
        .byte $f8,$fc,$fc,$bc,$bc,$bc,$bc,$bc       // char 77 'M'
        .byte $78,$7c,$7c                           // char 78 (partial)

txt_2273:
        .byte $3c,$3c,$3c,$3c,$bc                   // char 78 (partial)
        .byte $c0,$f0,$f8,$78                       // char 79 (partial)

txt_227c:
        .byte $3c,$3c,$3c,$3c                       // char 79 (partial)
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 80 'P'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 81 'Q'
        .byte $c0,$f0,$f8,$78,$3c,$78,$f8,$f0       // char 82 'R'

dat_2298:
        // === Fill data (1 bytes, $2298-$2298) ===
        .byte $00                                   // .

// --- Region $2400-$243f ---
.pc = $2400 "scr_2400"

scr_2400:
        .fill 8, $00
        .byte $7f,$78,$78,$78,$fc,$fc,$fc,$00,$00,$00,$00,$00,$00,$00,$00,$00 // .xxx............
        .fill 8, $00
        .byte $78,$78,$78,$78,$ff,$ff,$ff,$00,$ff,$f0,$f0,$78,$7f,$3f,$0f,$00 // xxxx.......x.?..
        .fill 8, $00
        .byte $f1,$f0,$f0,$78,$7f,$3f,$0f           // ...x.?.

dat_243f:
        // === Fill data (1 bytes, $243f-$243f) ===
        .byte $00                                   // .

// --- Region $2468-$2497 ---
.pc = $2468 "dat_2468"

dat_2468:
        .byte $f7,$f0,$f0,$f0,$f8,$f8,$78,$00       // char 141
        .byte $f3,$f0,$f0,$f0,$f8,$f8,$78,$00       // char 142
        .byte $f0,$f0,$f0,$78,$7f,$3f,$0f,$00       // char 143
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 144
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 145
        .byte $ff,$78,$78,$78,$fc,$fc,$fc           // char 146 (partial)

dat_2497:
        // === Fill data (1 bytes, $2497-$2497) ===
        .byte $00                                   // .

// --- Region $2608-$264b ---
.pc = $2608 "dat_2608"

dat_2608:
        .byte $f8,$78,$78,$78,$fc,$fc,$fc,$00       // char 193
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 194
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 195
        .byte $3c,$3c,$3c,$78,$f8,$f0,$c0,$00       // char 196
        .byte $80,$00,$3c,$3c,$fc,$fc,$f8,$00       // char 197
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 198
        .byte $fc,$3c,$3c,$78,$f8,$f0,$c0,$00       // char 199
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 200
        .byte $00,$00,$00,$00                       // char 201 (partial)

// --- Region $264d-$264d ---
.pc = $264d "bmp_264d"

bmp_264d:
        // === Charset data (1 bytes, $264d-$264d) ===
        .byte $00                                   // char 0 (partial)

// --- Region $2668-$2697 ---
.pc = $2668 "dat_2668"

dat_2668:
        .byte $bc,$3c,$3c,$3c,$7c                   // char 3 (partial)
        .byte $7c,$78,$00,$fc,$fc,$7c,$3c,$7c       // char 4 @+4
        .byte $7c,$78,$00,$3c,$3c,$3c,$78,$f8       // char 5 @+5
        .byte $f0,$c0,$00,$00,$00,$00,$00,$00       // char 6 @+6
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 7 @+7
        .byte $00,$00,$00,$e0,$f0,$78,$78,$fc       // char 8 @+8
        .byte $fc,$fc                               // char 9 (partial)

dat_2697:
        // === Fill data (1 bytes, $2697-$2697) ===
        .byte $00                                   // .
