// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:47
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $07ee  End: $3001  (10260 bytes)
// Crunched with Beta Dynamic v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0d00 (3328)
// IRQ handler:  $0d2b (irq_0d2b)
// IRQ handler:  $0c00 (irq_0c00)
//
// Code: 2992 bytes, Data: 7268 bytes
// Labels: 237, Subroutines: 36
//
// Cross-references: all OK
// ============================================


// --- Region $0814-$0835 ---
.pc = $0814 "sub_0814"
// Referenced by: jsr from $2d40

sub_0814:
        ror $99
        ror
        lda #$55
        tax
        eor $59,x
        ror $55
        ror $9a
        eor $aa,x
        eor $55,x
        ror $99
        ror $99
        eor $aa,x
        eor $99,x
        ror $99
        ror
        lda #$9b
        .byte $a3,$6b                               // lax ($6b,x) // ILLEGAL
        .byte $63,$63                               // rra ($63,x) // ILLEGAL

chr_0835:
        // === Charset data (1 bytes, $0835-$0835) ===
        .byte $63                                   // char 0 (partial)

// --- Region $0b40-$0baa ---
.pc = $0b40 "loc_0b40"

loc_0b40:
        sei
        lda #$00
        sta $d011
        ldx #$00

loc_0b48:
        lda #$00
        sta $0400,x
        sta $0500,x
        sta $0600,x
        sta $0700,x
        lda #$08
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_0b48
        lda #$13
        sta $d018
        lda #$00                                    // !SMC: modified by $0d87
        sta $0314
        lda #$0c
        sta $0315                                   // !SMC: modified by $0d8c
        jsr sub_20d8
        jsr sub_21d8
        jsr sub_22d8
        jsr sub_23d8
        jsr sub_2a82
        ldx #$00
        lda #$00

loc_0b89:
        sta dat_25c0,x
        sta dat_26c0,x
        sta dat_2700,x
        inx
        bne loc_0b89
        lda #$ff
        sta $d015
        lda #$38
        sta dat_2bf4
        lda #$00
        sta dat_2bdc
        lda #$1b
        sta $d011
        cli
        rts

// --- Region $0c00-$0cb2 ---
.pc = $0c00 "irq_0c00"

irq_0c00:
        lda #$36

loc_0c02:
        cmp $d012
        bne loc_0c02
// Referenced by: jsr from $2e26

sub_0c07:
        ldx #$0a

loc_0c09:
        dex
        bne loc_0c09
        lda $20f0
        sta $d016
        lda #$04
        sta $d021
        lda #$0f
        sta $d022
        lda #$0a
        sta $d023
        jsr sub_2340
        lda #$66

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

loc_0c2d:
        dex
        bne loc_0c2d
        lda $21f0
        sta $d016
        lda #$09
        sta $d021
        lda #$0d
        sta $d022
        lda #$05
        sta $d023
        jsr sub_2040
        lda #$96

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

loc_0c51:
        dex
        bne loc_0c51
        lda $22f0
        sta $d016
        lda #$02
        sta $d021
        lda #$0f
        sta $d022
        lda #$0a
        sta $d023
        jsr sub_1003
        lda #$c7

loc_0c6e:
        cmp $d012
        bne loc_0c6e
        ldx #$08

loc_0c75:
        dex
        bne loc_0c75
        lda $23f0
        sta $d016
        lda #$0b
        sta $d021
        lda #$0f
        sta $d022
        lda #$0c
        sta $d023
        lda #$e0

loc_0c8f:
        cmp $d012
        bne loc_0c8f
        jsr sub_2440
        jsr sub_2240
        jsr sub_2140
        jsr sub_2800
        jsr sub_2be0
        jsr sub_2bc0
        lda $dc01
        cmp #$ef
        bne loc_0cb0
        jmp loc_2c00

loc_0cb0:
        jmp $ea81

// --- Region $0d00-$0d4e ---
.pc = $0d00 "main_0d00"

main_0d00:
        sei
        lda #$00
        sta $d020
        sta $d021
        jsr $e544
        lda #$00
        tay
        tax
        jsr sub_1000
        lda #$02
        sta $0d50
        lda #$fe
        sta $0d51
        lda #$2b
        sta $0314
        lda #$0d
        sta $0315
        cli

loc_0d28:
        jmp loc_0d28

irq_0d2b:
        lda #$ff

loc_0d2d:
        cmp $d012
        bne loc_0d2d
        jsr sub_1003
        dec $0d51
        lda $0d51
        cmp #$00
        bne loc_0d4c
        dec $0d50
        lda $0d50
        cmp #$00
        bne loc_0d4c
        jmp loc_0b40

loc_0d4c:
        jmp $ea81

// --- Region $0f04-$0f04 ---
.pc = $0f04 "sub_0f04"
// Referenced by: jsr from $2e3d

sub_0f04:
        brk

// --- Region $1000-$1006 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $0d10

sub_1000:
        jmp loc_1048
// Referenced by: jsr from $0c69, $0d32

sub_1003:
        jmp loc_1021

dat_1006:
        .byte $00                                   // .

// --- Region $1021-$1080 ---
.pc = $1021 "loc_1021"

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

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

loc_1034:
        lda #$03
        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 $167c,y
        sta $fa
        lda $166d,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 $df                                   // .

// --- 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 $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
        iny
        lda ($fa),y
        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 $1201-$129a ---
.pc = $1201 "Segment $1201"
        .byte $22                                   // jam // ILLEGAL

dat_1202:
        .byte $24                                   // $
        .byte $27,$29                               // rla $29 // ILLEGAL
        .byte $2b,$2e                               // anc #$2e // ILLEGAL
        and ($34),y
        .byte $37,$3a                               // rla $3a,x // ILLEGAL
        rol $4541,x
        eor #$4e
        .byte $52                                   // jam // ILLEGAL

dat_1211:
        .byte $57,$5c,$62                           // W\b
// Referenced by: jsr from $2d35

sub_1214:
        pla
        ror $7c75
        .byte $83,$8b                               // sax ($8b,x) // ILLEGAL
        .byte $93,$9c                               // sha ($9c),y // ILLEGAL
        lda $af
        lda $d0c4,y
        cmp $f8ea,x
.label sub_1225 = * + 1
.label sub_1226 = * + 2
        sbc $bce8,x
        cmp $8413,y
        .byte $fc,$bd,$41                           // nop $41bd,x // ILLEGAL
        ora ($29),y
        rti
        bne loc_1290
        sta $1144,x
        lda $168b,y
        sta $fa
        lda $168c,y
        ldy dat_10c6,x
        sta $d406,y
        lda $fa
        sta $d405,y
        lda $1084,x
        and #$fe
        sta $d404,y
        ldy $fc
        lda $168d,y
        sta $1084,x
        lda $168e,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 #$6a                                    // !SMC: modified by $1156
        sta $129e
.label smc_126b = * + 1
        lda #$01                                    // !SMC: modified by $116e
        sta smc_1296                                // SMC: modifies $1296

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

loc_1290:
        cpx smc_1262
        bne loc_12a7
.label smc_1296 = * + 1
        lda #$00                                    // !SMC: modified by $126c
        beq loc_12a7

dat_1299:
        .byte $ce,$96                               // ..

// --- Region $12a7-$12b3 ---
.pc = $12a7 "loc_12a7"

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 $1691,y
        sta $10cc,x
        bcs loc_130d
        dec $10cf,x
        bne loc_130d

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

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

loc_1322:
        ldy $fc
        lda $168f,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 $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 #$44                                    // !SMC: modified by $1406
        lda dat_1437,y
        sta $10cc,x
        lda dat_11c5,y
        sta $10cf,x
        rts

// --- Region $1482-$148b ---
.pc = $1482 "loc_1482"

loc_1482:
        ldy $e4ac,x
        bvs loc_14d3
        sty $18
        bpl loc_14fb
        rti

// --- Region $14d3-$14e3 ---
.pc = $14d3 "loc_14d3"

loc_14d3:
        and $03,x
        sty $39
        ora ($85,x)
        .byte $37,$03                               // rla $03,x // ILLEGAL
        and $01,x
        .byte $37,$01                               // rla $01,x // ILLEGAL
        .byte $ff,$7f,$ff                           // isc $ff7f,x // ILLEGAL

dat_14e2:
        .byte $7f,$ff                               // ..

// --- Region $17d9-$17ea ---
.pc = $17d9 "loc_17d9"

loc_17d9:
        clc
        bne loc_17fc
        ldx $1c
        lda $1ca5
        jsr sub_2d40
        lda #$85
        jmp loc_2d20

dat_17e9:
        .byte $ea,$ea                               // ..

// --- Region $17fc-$180d ---
.pc = $17fc "loc_17fc"

loc_17fc:
        .byte $67,$2c                               // rra $2c // ILLEGAL
        jsr sub_1a4e
        lda $dc01
        cmp #$ef
        bne loc_180b
        jmp loc_1aad

loc_180b:
        jmp loc_2d30

// --- Region $1902-$1902 ---
.pc = $1902 "sub_1902"
// Referenced by: jsr from $2d3d

sub_1902:
        brk

// --- Region $1aad-$1aad ---
.pc = $1aad "loc_1aad"

loc_1aad:
        brk

// --- Region $2040-$20ed ---
.pc = $2040 "sub_2040"
// Referenced by: jsr from $0c45; branch from $205a

sub_2040:
        dec $20f0
        dec $20f1
        lda $20f0
        cmp #$cf
        bne loc_2055
        lda #$d7
        sta $20f0
        jsr sub_2062

loc_2055:
        lda $20f1
        cmp #$00
        bne sub_2040
.label smc_205d = * + 1
        lda #$02                                    // !SMC: modified by $20e2
        sta $20f1
        rts

// Referenced by: jsr from $2052
sub_2062: {
        ldx #$00
loop1:
        lda $0429,x
        sta $0428,x
        lda $0451,x
        sta $0450,x
        lda $0479,x
        sta $0478,x
        lda $04a1,x
        sta $04a0,x
        lda $04c9,x
        sta $04c8,x
        lda $04f1,x
        sta $04f0,x
        inx
        cpx #$27
        bne loop1
        ldy #$00
        lda ($0a),y
        cmp #$ff
        bne skip
        jsr sub_20e5
        jmp $208d
skip:
        sta $044f
        lda $0b
        sta $20f2
        inc $0b
        ldy #$00
        lda ($0a),y
        sta $0477
        inc $0b
        ldy #$00
        lda ($0a),y
        sta $049f
        inc $0b
        ldy #$00
        lda ($0a),y
        sta $04c7
        inc $0b
        ldy #$00
        lda ($0a),y
        sta $04ef
        inc $0b
        ldy #$00
        lda ($0a),y
        sta $0517
        lda $20f2
        sta $0b
        inc $0a
        rts
}
// Referenced by: jsr from $0b76

sub_20d8:
        lda #$d8
        sta $20f0
        lda #$02
        sta $20f1
        sta smc_205d                                // SMC: modifies $205d
// Referenced by: jsr from $2095

sub_20e5:
        lda #$00
        sta $0a
        lda #$20
        sta $0b
        rts

// --- Region $2140-$21ee ---
.pc = $2140 "sub_2140"
// Referenced by: jsr from $0c9a; branch from $215a

sub_2140:
        dec $21f0
        dec $21f1
        lda $21f0
        cmp #$cf
        bne loc_2155
        lda #$d7
        sta $21f0
        jsr sub_2162

loc_2155:
        lda $21f1
        cmp #$00
        bne sub_2140
.label smc_215d = * + 1
        lda #$04                                    // !SMC: modified by $21e2
        sta $21f1
        rts
// Referenced by: jsr from $2152

sub_2162:
        ldx #$00

loc_2164:
        lda $0519,x
        sta $0518,x
        lda $0541,x
        sta $0540,x
        lda $0569,x
        sta $0568,x
        lda $0591,x
        sta $0590,x
        lda $05b9,x
        sta $05b8,x
        lda $05e1,x
        sta $05e0,x
        inx
        cpx #$27
        bne loc_2164

loc_218d:
        ldy #$00
        lda ($0c),y
        cmp #$ff
        bne loc_219b
        jsr sub_21e5
        jmp loc_218d

loc_219b:
        sta $053f
        lda $0d
        sta $21f2
        inc $0d
        ldy #$00
        lda ($0c),y
        sta $0567
        inc $0d
        ldy #$00
        lda ($0c),y
        sta $058f
        inc $0d
        ldy #$00
        lda ($0c),y
        sta $05b7
        inc $0d
        ldy #$00
        lda ($0c),y
        sta $05df
        inc $0d
        ldy #$00
        lda ($0c),y
        sta $0607
        lda $21f2
        sta $0d
        inc $0c
        rts
// Referenced by: jsr from $0b79

sub_21d8:
        lda #$d8
        sta $21f0
        lda #$04
        sta $21f1
        sta smc_215d                                // SMC: modifies $215d
// Referenced by: jsr from $2195

sub_21e5:
        lda #$00
        sta $0c
        lda #$20
        sta $0d
        rts

dat_21ee:
        .byte $00                                   // .

// --- Region $2240-$22ee ---
.pc = $2240 "sub_2240"
// Referenced by: jsr from $0c97; branch from $225a

sub_2240:
        dec $22f0
        dec $22f1
        lda $22f0
        cmp #$cf
        bne loc_2255
        lda #$d7
        sta $22f0
        jsr sub_2262

loc_2255:
        lda $22f1
        cmp #$00
        bne sub_2240
.label smc_225d = * + 1
        lda #$01                                    // !SMC: modified by $22e2
        sta $22f1
        rts
// Referenced by: jsr from $2252

sub_2262:
        ldx #$00

loc_2264:
        lda $0609,x
        sta $0608,x
        lda $0631,x
        sta $0630,x
        lda $0659,x
        sta $0658,x
        lda $0681,x
        sta $0680,x
        lda $06a9,x
        sta $06a8,x
        lda $06d1,x
        sta $06d0,x
        inx
        cpx #$27
        bne loc_2264

loc_228d:
        ldy #$00
        lda ($0e),y
        cmp #$ff
        bne loc_229b
        jsr sub_22e5
        jmp loc_228d

loc_229b:
        sta $062f
        lda $0f
        sta $22f2
        inc $0f
        ldy #$00
        lda ($0e),y
        sta $0657
        inc $0f
        ldy #$00
        lda ($0e),y
        sta $067f
        inc $0f
        ldy #$00
        lda ($0e),y
        sta $06a7
        inc $0f
        ldy #$00
        lda ($0e),y
        sta $06cf
        inc $0f
        ldy #$00
        lda ($0e),y
        sta $06f7
        lda $22f2
        sta $0f
        inc $0e
        rts
// Referenced by: jsr from $0b7c

sub_22d8:
        lda #$d8
        sta $22f0
        lda #$01
        sta $22f1
        sta smc_225d                                // SMC: modifies $225d
// Referenced by: jsr from $2295

sub_22e5:
        lda #$00
        sta $0e
        lda #$20
        sta $0f
        rts

dat_22ee:
        .byte $00                                   // .

// --- Region $2340-$23ed ---
.pc = $2340 "sub_2340"
// Referenced by: jsr from $0c21; branch from $235a

sub_2340:
        dec $23f0
        dec $23f1
        lda $23f0
        cmp #$cf
        bne loc_2355
        lda #$d7
        sta $23f0
        jsr sub_2362

loc_2355:
        lda $23f1
        cmp #$00
        bne sub_2340
.label smc_235d = * + 1
        lda #$03                                    // !SMC: modified by $23e2
        sta $23f1
        rts
// Referenced by: jsr from $2352

sub_2362:
        ldx #$00

loc_2364:
        lda $06f9,x
        sta $06f8,x
        lda $0721,x
        sta $0720,x
        lda $0749,x
        sta $0748,x
        lda $0771,x
        sta $0770,x
        lda $0799,x
        sta $0798,x
        lda $07c1,x
        sta $07c0,x
        inx
        cpx #$27
        bne loc_2364

loc_238d:
        ldy #$00
        lda ($20),y
        cmp #$ff
        bne loc_239b
        jsr sub_23e5
        jmp loc_238d

loc_239b:
        sta $071f
        lda $21
        sta $23f2
        inc $21
        ldy #$00
        lda ($20),y
        sta $0747
        inc $21
        ldy #$00
        lda ($20),y
        sta $076f
        inc $21
        ldy #$00
        lda ($20),y
        sta $0797
        inc $21
        ldy #$00
        lda ($20),y
        sta $07bf
        inc $21
        ldy #$00
        lda ($20),y
        sta $07e7
        lda $23f2
        sta $21
        inc $20
        rts
// Referenced by: jsr from $0b7f

sub_23d8:
        lda #$d8
        sta $23f0
        lda #$03
        sta $23f1
        sta smc_235d                                // SMC: modifies $235d
// Referenced by: jsr from $2395

sub_23e5:
        lda #$00
        sta $20
        lda #$20
        sta $21
        rts

// --- Region $2440-$2484 ---
.pc = $2440 "sub_2440"
// Referenced by: jsr from $0c94

sub_2440:
        ldx #$97
        stx $07f8
        inx
        stx $07f9
        inx
        stx $07fa
        inx
        stx $07fb
        inx
        stx $07fc
        inx
        stx $07fd
        inx
        stx $07fe
        inx
        stx $07ff
        ldx #$00

loc_2463:
        lda $2488,x
        sta $d000,x
        inx
        cpx #$10
        bne loc_2463
        lda #$ff
        sta $d01d
        lda #$c0
        sta $d010
.label smc_2479 = * + 1
        lda #$01                                    // !SMC: modified by $2be6
        ldx #$00

loc_247c:
        sta $d027,x
        inx
        cpx #$08
        bne loc_247c
        rts

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

// --- Region $2800-$2a97 ---
.pc = $2800 "sub_2800"
// Referenced by: jsr from $0c9d

sub_2800:
        clc
        rol $27c2
        rol $27c1
        rol $27c0
        rol $2782
        rol $2781
        rol dat_2780
        rol $2742
        rol $2741
        rol dat_2740
        rol $2702
        rol $2701
        rol dat_2700
        rol $26c2
        rol $26c1
        rol dat_26c0
        rol $2682
        rol $2681
        rol dat_2680
        rol dat_2642
        rol $2641
        rol $2640
        rol $2602
        rol $2601
        rol dat_2600
        rol $25c2
        rol $25c1
        rol dat_25c0
        clc
        rol $27c5
        rol $27c4
        rol $27c3
        rol $2785
        rol $2784
        rol $2783
        rol $2745
        rol $2744
        rol $2743
        rol $2705
        rol $2704
        rol $2703
        rol $26c5
        rol $26c4
        rol $26c3
        rol $2685
        rol $2684
        rol $2683
        rol $2645
        rol $2644
        rol $2643
        rol $2605
        rol $2604
        rol $2603
        rol $25c5
        rol $25c4
        rol $25c3
        clc
        rol $27c8
        rol $27c7
        rol $27c6
        rol $2788
        rol $2787
        rol $2786
        rol $2748
        rol $2747
        rol $2746
        rol $2708
        rol $2707
        rol $2706
        rol $26c8
        rol $26c7
        rol $26c6
        rol $2688
        rol $2687
        rol $2686
        rol $2648
        rol $2647
        rol $2646
        rol $2608
        rol $2607
        rol $2606
        rol $25c8
        rol $25c7
        rol $25c6
        clc
        rol $27cb
        rol $27ca
        rol $27c9
        rol $278b
        rol $278a
        rol $2789
        rol $274b
        rol $274a
        rol $2749
        rol $270b
        rol $270a
        rol $2709
        rol $26cb
        rol $26ca
        rol $26c9
        rol $268b
        rol $268a
        rol $2689
        rol $264b
        rol $264a
        rol $2649
        rol $260b
        rol $260a
        rol $2609
        rol $25cb
        rol $25ca
        rol $25c9
        clc
        rol $27ce
        rol $27cd
        rol $27cc
        rol $278e
        rol $278d
        rol $278c
        rol $274e
        rol $274d
        rol $274c
        rol $270e
        rol $270d
        rol $270c
        rol $26ce
        rol $26cd
        rol $26cc
        rol $268e
        rol $268d
        rol $268c
        rol $264e
        rol dat_264d
        rol $264c
        rol $260e
        rol $260d
        rol $260c
        rol $25ce
        rol $25cd
        rol $25cc
        clc
        rol $27d1
        rol $27d0
        rol $27cf
        rol $2791
        rol $2790
        rol $278f
        rol $2751
        rol $2750
        rol $274f
        rol $2711
        rol $2710
        rol $270f
        rol $26d1
        rol $26d0
        rol $26cf
        rol $2691
        rol $2690
        rol $268f
        rol $2651
        rol $2650
        rol $264f
        rol $2611
        rol $2610
        rol $260f
        rol $25d1
        rol $25d0
        rol $25cf
        clc
        rol $27d4
        rol $27d3
        rol $27d2
        rol dat_2794
        rol $2793
        rol $2792
        rol $2754
        rol $2753
        rol $2752
        rol $2714
        rol $2713
        rol $2712
        rol $26d4
        rol $26d3
        rol $26d2
        rol $2694
        rol $2693
        rol $2692
        rol $2654
        rol $2653
        rol $2652
        rol $2614
        rol $2613
        rol $2612
        rol $25d4
        rol $25d3
        rol $25d2
        ldx dat_2a98
        dex
        beq loc_2a48
        stx dat_2a98
        rts

loc_2a48:
        ldy #$00
        lda ($3a),y
        beq loc_2a8a
        tax
        lda $3c

loc_2a51:
        clc
        adc #$08
        bne loc_2a58
        inc $3d

loc_2a58:
        sta $3c
        dex
        bne loc_2a51
        ldy #$00
        ldx #$00

loc_2a61:
        lda ($3c),y
        sta $27c0,x
        inx
        inx
        inx
        iny
        cpy #$08
        bne loc_2a61
        lda #$08
        sta dat_2a98
        lda #$00
        ldx #$0e
        sta $3c
        stx $3d
        inc $3a
        bne loc_2a81
        inc $3b

loc_2a81:
        rts
// Referenced by: jsr from $0b82

sub_2a82:
        lda #$00
        ldx #$0e
        sta $3c
        stx $3d

loc_2a8a:
        lda #$80
        ldx #$2c
        sta $3a
        stx $3b
        lda #$08
        sta dat_2a98
        rts

// --- Region $2bc0-$2bf3 ---
.pc = $2bc0 "sub_2bc0"
// Referenced by: jsr from $0ca3

sub_2bc0:
        ldy #$00
        ldx dat_2bdc
        lda dat_2b00,x

loc_2bc8:
        sta $2489,y
        iny
        iny
        cpy #$10
        bne loc_2bc8
        inx
        cpx #$40
        bne loc_2bd8
        ldx #$00

loc_2bd8:
        stx dat_2bdc
        rts

dat_2bdc:
        .byte $15,$00,$00,$00                       // ....
// Referenced by: jsr from $0ca0

sub_2be0:
        ldx dat_2bf4
        lda $2b50,x
        sta smc_2479                                // SMC: modifies $2479
        inx
        cpx #$40
        bne loc_2bf0
        ldx #$00

loc_2bf0:
        stx dat_2bf4
        rts

// --- Region $2c00-$2c38 ---
.pc = $2c00 "loc_2c00"

loc_2c00:
        sei
        lda #$00
        sta chr_0800
        jsr $fda3
        jsr $fd15
        jsr $ff5b
        ldx #$00
        stx $d020
        stx $d021

loc_2c17:
        lda txt_2c38,x
        sta $0400,x
        lda #$00
        sta $d800,x
        inx
        cpx #$40
        bne loc_2c17
        ldx #$00
        lda #$0f

loc_2c2b:
        sta $d800,x
        inx
        cpx #$17
        bne loc_2c2b
        inc $01
        jmp $0418

txt_2c38:
        .encoding "screencode_mixed"
        .text "c"
        .encoding "petscii_upper"

// --- Region $2d18-$2d47 ---
.pc = $2d18 "Segment $2d18"
        jsr $0328
        and #$20
        .byte $1a                                   // nop // ILLEGAL
        ora $10

loc_2d20:
        bpl loc_2d27
        .byte $0c,$09,$0e                           // nop $0e09 // ILLEGAL
        and ($20,x)

loc_2d27:
        .byte $03,$12                               // slo ($12,x) // ILLEGAL
        ora ($03,x)
        .byte $0b,$05                               // anc #$05 // ILLEGAL
        .byte $04,$20                               // nop $20 // ILLEGAL
.label loc_2d30 = * + 1
        ora ($0e,x)
        .byte $04,$20                               // nop $20 // ILLEGAL
        .byte $2b,$32                               // anc #$32 // ILLEGAL
        jsr sub_1214
        ora ($09,x)
        asl $0405
        jsr sub_1902
// Referenced by: jsr from $17e1

sub_2d40:
        jsr sub_0814
        ora $20
        ora ($12,x)
        .byte $12                                   // jam // ILLEGAL

// --- Region $2e26-$2e6a ---
.pc = $2e26 "$2e26"
        jsr sub_0c07                                // !SMC: modified by $2953, $2956, $2959, $2977, $297a, $297d
        .byte $0f,$12,$19                           // slo $1912 // ILLEGAL
        bit $1820
        and $0112
        ora $202c,y
        ora $18
        .byte $14,$12                               // nop $12,x // ILLEGAL
        ora $0d
        ora $2c
        jsr sub_0f04
        ora $0e09
        ora ($14,x)
        .byte $0f,$12,$13                           // slo $1312 // ILLEGAL
        bit $0420
        ora $01
        .byte $04,$0c                               // nop $0c // ILLEGAL
        ora #$0e
        ora $2c
        jsr $0114
        .byte $0c,$05,$0e                           // nop $0e05 // ILLEGAL
        .byte $14,$2c                               // nop $2c,x // ILLEGAL
        jsr $0301
        .byte $14,$09                               // nop $09,x // ILLEGAL
        .byte $0f,$0e,$2c                           // slo $2c0e // ILLEGAL
        jsr $0503
        asl $0f13
        .byte $12                                   // jam // ILLEGAL

txt_2e6a:
        .encoding "screencode_mixed"
        .text ","
        .encoding "petscii_upper"

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

// --- Region $0800-$0813 ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Charset data (20 bytes, $0800-$0813) ===
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 0 @+0
        .byte $ff,$ff,$ff,$f6,$f6,$d9,$da,$d9       // char 1 @+1
        .byte $f5,$5a,$a5,$99                       // char 2 (partial)

// --- Region $0836-$0b27 ---
.pc = $0836 "Program $0836"
        .byte $63,$a3,$55,$6a,$65,$65,$66           // char 0 (partial)
        .byte $69,$66,$69,$6a,$62,$68,$62,$60       // char 1 @+1
        .byte $6c,$60,$6c,$aa,$22,$88,$22,$80       // char 2 @+2
        .byte $0c,$03,$cc,$6a,$a8,$a3,$23,$a3       // char 3 @+3
        .byte $23,$23,$eb,$aa,$aa,$68,$a2,$6a       // char 4 @+4
        .byte $88,$ff,$ff,$aa,$22,$88,$02,$aa       // char 5 @+5
        .byte $00,$ff,$ff,$63,$a3,$a3,$23,$a3       // char 6 @+6
        .byte $03,$ff,$ff,$63,$a3,$a3,$23,$a3       // char 7 @+7
        .byte $23,$23,$e3,$6a,$6a,$68,$62,$60       // char 8 @+8
        .byte $6c,$60,$6c,$aa,$22,$88,$02,$80       // char 9 @+9
        .byte $0c,$03,$cc,$6a,$a8,$a3,$23,$a3       // char 10 @+10
        .byte $23,$23,$e3,$63,$6c,$6f,$db,$db       // char 11 @+11
        .byte $db,$f6,$fa,$33,$cc,$3f,$ff,$ff       // char 12 @+12
        .byte $ff,$00,$aa,$23,$e9,$2a,$ff,$ff       // char 13 @+13
        .byte $ff,$ff,$3f,$ff,$95,$aa,$ff,$ff       // char 14 @+14
        .byte $ff,$fc,$f2,$ff,$7f,$97,$e9,$fe       // char 15 @+15
        .byte $fe,$00,$aa,$ff,$ff,$ff,$ff,$bf       // char 16 @+16
        .byte $7f,$af,$8f,$63,$6c,$6f,$6f,$6f       // char 17 @+17
        .byte $6f,$6c,$62,$23,$e3,$23,$e3,$e3       // char 18 @+18
        .byte $e3,$e3,$23,$fd,$ff,$ff,$ff,$ff       // char 19 @+19
        .byte $ff,$55,$6a,$a5,$8a,$f8,$ff,$ff       // char 20 @+20
        .byte $ff,$55,$aa,$8f,$aa,$08,$ff,$ff       // char 21 @+21
        .byte $ff,$9b,$a3,$c9,$a5,$a5,$66,$a9       // char 22 @+22
        .byte $66,$69,$6a,$55,$55,$99,$66,$99       // char 23 @+23
        .byte $6a,$a9,$aa,$af,$63,$63,$63,$63       // char 24 @+24
        .byte $63,$a3,$63,$69,$65,$65,$66,$69       // char 25 @+25
        .byte $66,$69,$6a,$a3,$63,$63,$63,$63       // char 26 @+26
        .byte $63,$a3,$63,$ff,$ff,$ff,$ff,$ff       // char 27 @+27
        .byte $ff,$55,$6a,$ff,$ff,$ff,$ff,$ff       // char 28 @+28
        .byte $ff,$55,$aa,$ff,$ff,$ff,$ff,$ff       // char 29 @+29
        .byte $ff,$9b,$a3,$62,$68,$62,$60,$6c       // char 30 @+30
        .byte $60,$6c,$63,$22,$88,$02,$80,$0c       // char 31 @+31
        .byte $03,$cc,$33,$ab,$a3,$29,$aa,$20       // char 32 ' '
        .byte $03,$cc,$33,$62,$68,$a2,$a0,$cc       // char 33 '!'
        .byte $00,$cc,$33,$a2,$88,$22,$80,$0c       // char 34 '"'
        .byte $03,$cc,$32,$a3,$a3,$23,$a3,$8f       // char 35 '#'
        .byte $8f,$8f,$3f,$62,$68,$62,$60,$d8       // char 36 '$'
        .byte $d8,$d8,$f6,$a2,$88,$22,$80,$0c       // char 37 '%'
        .byte $03,$cc,$33,$ab,$a3,$23,$a3,$23       // char 38 '&'
        .byte $23,$e3,$23,$6f,$af,$6a,$88,$ff       // char 39 '''
        .byte $ff,$ff,$ff,$fc,$3f,$aa,$00,$ff       // char 40 '('
        .byte $ff,$ff,$ff,$cf,$ff,$aa,$00,$ff       // char 41 ')'
        .byte $ff,$ff,$ff,$ce,$28,$83,$3f,$ff       // char 42 '*'
        .byte $ff,$ff,$ff,$3f,$ff,$ff,$ff,$ff       // char 43 '+'
        .byte $ff,$ff,$ff,$fa,$fd,$ff,$ff,$ff       // char 44 ','
        .byte $ff,$ff,$ff,$fc,$af,$8a,$f8,$ff       // char 45 '-'
        .byte $ff,$ff,$ff,$cc,$3f,$aa,$00,$ff       // char 46 '.'
        .byte $ff,$ff,$ff,$e3,$23,$a3,$03,$ff       // char 47 '/'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 48 '0'
        .byte $ff,$ff,$fc,$ff,$ff,$ff,$fc,$f0       // char 49 '1'
        .byte $c0,$08,$22,$ff,$ff,$c2,$20,$88       // char 50 '2'
        .byte $a2,$89,$aa,$ff,$c0,$08,$22,$a8       // char 51 '3'
        .byte $a6,$a9,$a6,$ff,$03,$88,$a2,$98       // char 52 '4'
        .byte $aa,$99,$66,$ff,$ff,$8f,$22,$a8       // char 53 '5'
        .byte $e6,$ba,$7a,$ff,$ff,$ff,$ff,$bf       // char 54 '6'
        .byte $2f,$8f,$63,$fc,$f0,$f0,$f2,$f0       // char 55 '7'
        .byte $c2,$c0,$c8,$08,$2a,$86,$28,$81       // char 56 '8'

txt_09fd:
        .byte $32,$39,$b2,$99,$6a,$98,$67,$a9       // char 57 '9'
        .byte $66,$a9,$26,$99,$66,$a9,$2a,$c9       // char 58 ':'
        .byte $72,$78,$72,$59,$55,$55,$65,$99       // char 59 ';'
        .byte $66,$95,$69,$9f,$56,$55,$66,$59       // char 60 '<'
        .byte $56,$99,$a6,$cb,$be,$9b,$6a,$a6       // char 61 '='
        .byte $64,$99,$be,$ff,$ff,$ff,$bf,$3f       // char 62 '>'
        .byte $bf,$3f,$bf,$ff,$9b,$a3,$eb,$e3       // char 63 '?'
        .byte $e3,$23,$a3,$c0,$c2,$c8,$c2,$f0       // char 64 '@'
        .byte $f2,$f0,$f0,$0c,$23,$98,$2a,$99       // char 65 'A'
        .byte $66,$a9,$26,$99,$25,$99,$26,$95       // char 66 'B'
        .byte $5f,$70,$c2,$b1,$72,$c2,$cb,$cb       // char 67 'C'
        .byte $02,$22,$09,$be,$ff,$cf,$20,$ce       // char 68 'D'
        .byte $fe,$ba,$a2,$6a,$99,$9a,$69,$ae       // char 69 'E'
        .byte $3e,$bc,$bc,$ff,$f3,$c8,$b3,$7f       // char 70 'F'
        .byte $a2,$9a,$a9,$0f,$8f,$0f,$8f,$2f       // char 71 'G'
        .byte $8f,$0f,$bf,$8f,$6a,$60,$63,$63       // char 72 'H'
        .byte $63,$a3,$63,$c9,$aa,$00,$ff,$ff       // char 73 'I'
        .byte $ff,$55,$6a,$63,$a3,$03,$ff,$ff       // char 74 'J'
        .byte $ff,$55,$aa,$fc,$fc,$ff,$ff,$ff       // char 75 'K'
        .byte $ff,$ff,$ff,$8a,$22,$0b,$cf,$ff       // char 76 'L'
        .byte $ff,$ff,$ff,$c0,$08,$02,$08,$82       // char 77 'M'
        .byte $ca,$cb,$cf,$aa,$99,$a6,$89,$2a       // char 78 'N'
        .byte $fd,$5b,$56,$6a,$aa,$6a,$98,$62       // char 79 'O'
        .byte $88,$a6,$29,$ff,$ff,$ff,$bc,$6a       // char 80 'P'
        .byte $99,$65,$59,$26,$88,$62,$8b,$63       // char 81 'Q'
        .byte $9b,$67,$58,$ff,$fe,$fe,$ff,$ff       // char 82 'R'
        .byte $ff,$ff,$ff,$8d,$25,$26,$09,$23       // char 83 'S'
        .byte $c8,$c2,$f0,$66,$99,$a6,$9a,$a6       // char 84 'T'
        .byte $99,$2e,$8a,$8a,$a4,$83,$3f,$f2       // char 85 'U'
        .byte $a8,$26,$89,$64,$ef,$ff,$fa,$0a       // char 86 'V'
        .byte $a6,$29,$95,$9a,$ee,$ff,$8b,$22       // char 87 'W'
        .byte $98,$66,$58,$ff,$ff,$3f,$bf,$3f       // char 88 'X'
        .byte $bf,$ff,$ff,$fc,$ff,$ff,$ff,$ff       // char 89 'Y'
        .byte $ff,$ff,$ff,$02,$f8,$ff,$ff,$ff       // char 90 'Z'
        .byte $ff,$ff,$ff,$22,$89,$f2,$ff,$ff       // char 91 '['
        .byte $ff,$ff,$ff,$66,$98,$22,$ff,$ff       // char 92 '\'
        .byte $ff,$ff,$ff,$6b,$8f,$ff,$ff,$ff       // char 93 ']'
        .byte $ff,$ff,$ff                           // char 94 (partial)

// --- Region $0bab-$0bab ---
.pc = $0bab "chr_0bab"

chr_0bab:
        // === Charset data (1 bytes, $0bab-$0bab) ===
        .byte $00                                   // char 0 (partial)

// --- Region $0cb3-$0cb3 ---
.pc = $0cb3 "chr_0cb3"

chr_0cb3:
        // === Charset data (1 bytes, $0cb3-$0cb3) ===
        .byte $00                                   // char 0 (partial)

// --- Region $0d4f-$0de5 ---
.pc = $0d4f "chr_0d4f"

chr_0d4f:
        // === Charset data (151 bytes, $0d4f-$0de5) ===
        .byte $00,$02,$8a,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 1 @+1
        .byte $00,$ad,$89,$24,$c9,$b3,$d0,$0b       // char 2 @+2
        .byte $a9,$c5,$8d,$6d,$0b,$a9,$1e,$8d       // char 3 @+3
        .byte $74,$0b,$60,$c9,$b6,$d0,$0b,$a9       // char 4 @+4
        .byte $c6,$8d,$6d,$0b,$a9,$03,$8d,$74       // char 5 @+5
        .byte $0b,$60,$c9,$b8,$d0,$0b,$a9,$c5       // char 6 @+6
        .byte $8d,$6d,$0b,$a9,$1d,$8d,$74,$0b       // char 7 @+7
        .byte $60,$c9,$ba,$d0,$0b,$a9,$c5,$8d       // char 8 @+8
        .byte $6d,$0b,$a9,$26,$8d,$74,$0b,$60       // char 9 @+9
        .byte $c9,$bd,$d0,$0b,$a9,$c5,$8d,$6d       // char 10 @+10
        .byte $0b,$a9,$26,$8d,$74,$0b,$60,$c9       // char 11 @+11
        .byte $bf,$d0,$0b,$a9,$c5,$8d,$6d,$0b       // char 12 @+12
        .byte $a9,$26,$8d,$74,$0b,$60,$c9,$c2       // char 13 @+13
        .byte $d0,$0b,$a9,$c6,$8d,$6d,$0b,$a9       // char 14 @+14
        .byte $1d,$8d,$74,$0b,$60,$c9,$c5,$d0       // char 15 @+15
        .byte $0b,$a9,$c6,$8d,$6d,$0b,$a9,$1d       // char 16 @+16
        .byte $8d,$74,$0b,$60,$a9,$c5,$8d,$6d       // char 17 @+17
        .byte $0b,$a9,$05,$8d,$74,$0b,$60           // char 18 (partial)

// --- Region $0e00-$0f03 ---
.pc = $0e00 "dat_0e00"

dat_0e00:
        .byte $3c,$66,$6e,$6e,$60,$62,$3c           // char 22 (partial)
        .byte $00,$7c,$ee,$ee,$fe,$ee,$ee,$ee       // char 23 @+23
        .byte $00,$fc,$ee,$ee,$fc,$ee,$ee,$fc       // char 24 @+24
        .byte $00,$7e,$ee,$e0,$e0,$e0,$ee,$7e       // char 25 @+25
        .byte $00,$fc,$ee,$ee,$ee,$ee,$ee,$fc       // char 26 @+26
        .byte $00,$7e,$ee,$e0,$fc,$e0,$ee,$7e       // char 27 @+27
        .byte $00,$7e,$ee,$e0,$fc,$e0,$e0,$e0       // char 28 @+28
        .byte $00,$7e,$ee,$e0,$ee,$ee,$ee,$7e       // char 29 @+29
        .byte $00,$ee,$ee,$ee,$fe,$ee,$ee,$ee       // char 30 @+30
        .byte $00,$fe,$38,$38,$38,$38,$38,$fe       // char 31 @+31
        .byte $00,$3e,$0e,$0e,$0e,$0e,$ee,$fc       // char 32 ' '
        .byte $00,$ee,$ee,$ee,$fc,$ee,$ee,$ee       // char 33 '!'
        .byte $00,$e0,$e0,$e0,$e0,$e0,$ee,$7e       // char 34 '"'
        .byte $00,$ee,$fe,$ee,$ee,$ee,$ee,$ee       // char 35 '#'
        .byte $00,$7c,$ee,$ee,$ee,$ee,$ee,$ee       // char 36 '$'
        .byte $00,$7c,$ee,$ee,$ee,$ee,$ee,$7c       // char 37 '%'
        .byte $00,$fc,$ee,$ee,$fc,$e0,$e0,$e0       // char 38 '&'
        .byte $00,$7c,$ee,$ee,$ee,$ee,$7c,$0e       // char 39 '''
        .byte $00,$fc,$ee,$ee,$fc,$ee,$ee,$ee       // char 40 '('
        .byte $00,$7e,$ee,$e0,$7c,$0e,$ee,$fc       // char 41 ')'
        .byte $00,$fc,$ee,$0e,$0e,$0e,$0e,$0e       // char 42 '*'
        .byte $00,$ee,$ee,$ee,$ee,$ee,$ee,$7c       // char 43 '+'
        .byte $00,$ee,$ee,$ee,$ee,$ee,$7c,$38       // char 44 ','
        .byte $00,$ee,$ee,$ee,$ee,$ee,$fe,$ee       // char 45 '-'
        .byte $00,$ee,$ee,$ee,$7c,$ee,$ee,$ee       // char 46 '.'
        .byte $00,$ee,$ee,$ee,$7c,$38,$38,$38       // char 47 '/'
        .byte $00,$fe,$ee,$0e,$7c,$e0,$ee,$fe       // char 48 '0'
        .byte $00                                   // char 49 (partial)

txt_0ed8:
        .byte $3c,$30,$30,$30,$30,$30,$3c           // char 49 (partial)
        .byte $00,$0c,$12,$30,$7c,$30,$62,$fc       // char 50 '2'
        .byte $00,$3c,$0c,$0c,$0c,$0c,$0c,$3c       // char 51 '3'
        .byte $00,$00,$18,$3c,$7e,$18,$18,$18       // char 52 '4'
        .byte $18,$00,$10,$30,$7f,$7f,$30,$10       // char 53 '5'
        .byte $00,$00,$00,$00,$00                   // char 54 (partial)

// --- Region $0f05-$0fff ---
.pc = $0f05 "chr_0f05"

chr_0f05:
        // === Charset data (251 bytes, $0f05-$0fff) ===
        .byte $00,$00,$00,$38,$38,$38,$38,$38       // char 0 @+0
        .byte $00,$38,$00,$ee,$ee,$ee,$00,$00       // char 1 @+1
        .byte $00,$00,$00,$66,$66,$ff,$66,$ff       // char 2 @+2
        .byte $66,$66,$00,$18,$3e,$60,$3c,$06       // char 3 @+3
        .byte $7c,$18,$00,$62,$66,$0c,$18,$30       // char 4 @+4
        .byte $66,$46,$00,$3c,$66,$3c,$38,$67       // char 5 @+5
        .byte $66,$3f,$00,$0e,$1c,$38,$00,$00       // char 6 @+6
        .byte $00,$00,$00                           // char 7 (partial)

spr_0f40:
        .byte $1c,$38,$70,$70,$70                   // char 7 (partial)
        .byte $38,$1c,$00,$70,$38,$1c,$1c,$1c       // char 8 @+8
        .byte $38,$70,$00,$10,$54,$38,$fe,$38       // char 9 @+9
        .byte $54,$10,$00,$00,$38,$38,$fe,$38       // char 10 @+10
        .byte $38,$00,$00,$00,$00,$00,$00,$38       // char 11 @+11
        .byte $38,$70,$00,$00,$00,$00,$fe,$00       // char 12 @+12
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 13 @+13
        .byte $38,$38,$00,$00,$07,$0e,$1c,$38       // char 14 @+14
        .byte $70,$e0,$00,$7c,$ee,$ee,$fe,$ee       // char 15 @+15
        .byte $ee,$7c,$00,$38,$78,$78,$38,$38       // char 16 @+16
        .byte $38,$fe,$00,$7c,$ee,$0e,$7c,$e0       // char 17 @+17
        .byte $ee,$fe,$00,$7c,$ee,$0e,$3c,$0e       // char 18 @+18
        .byte $ee,$7c,$00,$0e,$ee,$ee,$fe,$0e       // char 19 @+19
        .byte $0e,$0e,$00,$fe,$ee,$e0,$fc,$0e       // char 20 @+20
        .byte $ee,$7c,$00,$7c,$ee,$e0,$fc,$ee       // char 21 @+21
        .byte $ee,$7c,$00,$fe,$ee,$1c,$38,$38       // char 22 @+22
        .byte $38,$38,$00,$7c,$ee,$ee,$7c,$ee       // char 23 @+23
        .byte $ee,$7c,$00,$7c,$ee,$ee,$7e,$0e       // char 24 @+24
        .byte $ee,$7c,$00,$00,$38,$38,$00,$38       // char 25 @+25
        .byte $38,$00,$00,$00,$38,$38,$00,$38       // char 26 @+26
        .byte $38,$70,$00,$1e,$38,$70,$e0,$70       // char 27 @+27
        .byte $38,$1e,$00,$00,$00,$7e,$00,$7e       // char 28 @+28
        .byte $00,$00,$00,$f0,$38,$1c,$0e,$1c       // char 29 @+29
        .byte $38,$f0,$00,$7c,$ee,$0e,$1c,$38       // char 30 @+30
        .byte $00,$38,$00                           // char 31 (partial)

// --- Region $1007-$1020 ---
.pc = $1007 "txt_1007"

txt_1007:
        .encoding "screencode_mixed"
        .text "zak by egon larsen!!"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .encoding "petscii_upper"

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

dat_1081:
        .byte $05,$01,$01,$41,$00,$00,$00,$00,$00,$03,$03,$03,$02,$00,$00,$00 // ...A............

// --- Region $10c7-$10d1 ---
.pc = $10c7 "Segment $10c7"
        .byte $07,$0e
        .text "=("
        .byte $40                                   // @ character
        .text "B"
        .byte $f4,$d6
        .byte $37,$fa
        .byte $2b

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

dat_10de:
        .byte $00,$01,$00,$00,$8c,$00,$00,$01,$41,$40,$42,$01,$00,$02 // ........A@B...

// --- Region $1142-$114f ---
.pc = $1142 "Segment $1142"
        .byte $41,$47,$00,$03,$09,$50,$90,$50,$00,$00,$00,$00,$00,$00 // AG...P.P......

// --- Region $11c5-$1200 ---
.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 // ................
        .byte $20                                   //  

// --- Region $129b-$12a6 ---
.pc = $129b "Segment $129b"
        .byte $12,$18,$a9,$6e,$69,$04,$8d,$9e,$12,$8d,$16,$d4 // ...ni.......

// --- Region $12b4-$12c6 ---
.pc = $12b4 "Segment $12b4"
        .byte $f3,$f7,$24,$0a,$2b,$ff,$ff,$ff,$00,$00,$00,$0e,$00,$00,$00,$00 // ..$.+...........
        .byte $01,$01,$00                           // ...

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

dat_13d9:
        .byte $58,$68,$70,$bf,$40,$ca,$cd,$40,$b4,$dc,$f5,$d6 // Xhp.@..@....

// --- Region $1437-$1481 ---
.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 // .r8&B..... 

// --- Region $148c-$14d2 ---
.pc = $148c "dat_148c"

dat_148c:
        .byte $70,$40,$78,$58,$c8,$e0,$98,$08       // p@xX....

txt_1494:
        .text "0 ."
        .byte $d0                                   // 'P' | $80 (end-of-string marker)
        .byte $65,$eb,$f2
        .byte $40,$ff,$12
        .text "%,6I"
        .byte $69
        .byte $40,$60,$80,$a0,$c0
        .byte $e0,$15,$15,$f3,$15,$16,$16,$16,$16,$16,$16,$f4,$f4,$f4,$f4,$f4 // ................
        .byte $f4,$e4,$d9,$d0,$15,$15,$15,$84,$39,$03,$85,$35,$01,$37,$01,$84 // ........9..5.7..
        .byte $39,$03,$34,$01,$85,$37,$01,$84,$39,$01,$85 // 9.4..7..9..

// --- Region $14e4-$17d8 ---
.pc = $14e4 "Segment $14e4"
        .byte $7f,$ff,$7f,$ff,$83,$39,$0f,$ff,$8e,$3c,$01,$3b,$01,$3c,$01,$39 // .....9...<.;.<.9
        .byte $01,$34,$0b,$3c,$03,$39,$07           // .4.<.9.

loc_14fb:
        .byte $3b,$01,$3c,$01,$3b,$01,$3c,$01,$3e,$0b,$3c,$03,$3b,$07,$39,$01 // ;.<.;.<.>.<.;.9.
        .byte $3b,$01,$3c,$01,$3b,$01,$39,$0b,$3c,$01,$39,$01,$3b,$07,$39,$01 // ;.<.;.9.<.9.;.9.
        .byte $3c,$01,$3b,$01,$39,$01,$3c,$0b,$3e,$01,$3c,$01,$3b,$07,$ff,$8e // <.;.9.<.>.<.;...
        .byte $3c,$03,$37,$01,$39,$01,$3c,$03,$3b,$01,$3c,$05,$3e,$01,$39,$09 // <.7.9.<.;.<.>.9.
        .byte $3b,$01,$3c,$01,$3e,$01,$39,$03,$3c,$03,$37,$01,$39,$01,$3c,$03 // ;.<.>.9.<.7.9.<.
        .byte $3e,$09,$ff,$81,$21,$81,$4a,$01,$15,$01,$15,$01,$21,$01,$84,$39 // >...!.J.....!..9
        .byte $83,$7a,$01,$85,$37,$03,$81,$11,$81,$4a,$01,$1d,$01,$11,$01,$1d // .z..7....J......
        .byte $01,$85,$35,$83,$7a,$01,$84,$34,$03,$81,$13,$81,$4a,$01,$13,$01 // ..5.z..4....J...
        .byte $1f,$01,$13,$01,$85,$35,$83,$7a,$01,$85,$37,$03,$81,$1c,$81,$4a // .....5.z..7....J
        .byte $01,$10,$01,$10,$01,$1c,$01,$84,$34,$83,$7a,$01,$85,$35,$03,$ff // ........4.z..5..
        .byte $7f,$ff,$7f,$ff,$8b,$39,$9f,$6a,$01,$8c,$37,$1f,$8b,$34,$1f,$8c // .....9.j..7..4..
        .byte $35,$1f,$ff,$7f,$7f,$7f,$7f,$ff,$87,$24,$03,$8d,$24,$01,$87,$24 // 5........$..$..$
        .byte $01,$82,$24,$03,$87,$24,$03,$24,$03,$8d,$24,$01,$24,$01,$82,$24 // ..$..$.$..$.$..$
        .byte $03,$8d,$24,$03,$ff,$00,$42,$07,$41,$00,$40,$07,$53,$ff,$00,$40 // ..$...B.A.@.S..@
        .byte $01,$4f,$01,$43,$00,$40,$01,$5b,$ff,$02,$41,$03,$47,$03,$57,$ff // .O.C.@.[..A.G.W.
        .byte $41,$00,$00,$40,$00,$00,$fe,$81,$df,$00,$41,$5f,$00,$40,$ac,$00 // A..@......A_.@..
        .byte $80,$df,$00,$fe,$41,$00,$00,$41,$00,$00,$41,$03,$00,$41,$03,$00 // ....A..A..A..A..
        .byte $41,$07,$00,$41,$07,$00,$ff,$41,$00,$00,$41,$00,$00,$41,$04,$00 // A..A...A..A..A..
        .byte $41,$04,$00,$41,$07,$00,$41,$07,$00,$ff,$41,$00,$00,$40,$00,$00 // A..A..A...A..@..
        .byte $fe,$81,$c3,$00,$41,$00,$00,$40,$00,$00,$fe,$53,$00,$00,$41,$00 // ....A..@...S..A.
        .byte $00,$41,$05,$00,$41                   // .A..A

spr_1640:
        // === Sprite data (64 bytes, $1640-$167f) ===
        .byte $05,$00,$41                           // .....#.#.........#.....#
        .byte $07,$00,$41                           // .....###.........#.....#
        .byte $07,$00,$ff                           // .....###........########
        .byte $41,$0c,$00                           // .#.....#....##..........
        .byte $41,$0c,$00                           // .#.....#....##..........
        .byte $41,$0c,$00                           // .#.....#....##..........
        .byte $41,$0c,$00                           // .#.....#....##..........
        .byte $41,$00,$00                           // .#.....#................
        .byte $41,$00,$00                           // .#.....#................
        .byte $41,$00,$00                           // .#.....#................
        .byte $41,$00,$00                           // .#.....#................
        .byte $ff,$31,$09                           // ########..##...#....#..#
        .byte $3f,$09,$08                           // ..######....#..#....#...
        .byte $48,$00,$81                           // .#..#...........#......#
        .byte $ff,$00,$fe                           // ########........#######.
        .byte $15,$15,$15                           // ...#.#.#...#.#.#...#.#.#
        .byte $15,$15,$15                           // ...#.#.#...#.#.#...#.#.#
        .byte $15,$14,$14                           // ...#.#.#...#.#.....#.#..
        .byte $14,$14,$14                           // ...#.#.....#.#.....#.#..
        .byte $14,$14,$00                           // ...#.#.....#.#..........
        .byte $ae,$b3,$9f                           // #.#.###.#.##..###..#####
        .byte $4e                                   // sprite 0 padding

spr_1680:
        // === Sprite data (64 bytes, $1680-$16bf) ===
        .byte $9d,$9b,$2a                           // #..###.##..##.##..#.#.#.
        .byte $ec,$e8,$e0                           // ###.##..###.#...###.....
        .byte $e2,$e4,$e6                           // ###...#.###..#..###..##.
        .byte $bf,$00,$00                           // #.######................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$0a,$3d                           // ............#.#...####.#
        .byte $49,$04,$2f                           // .#..#..#.....#....#.####
        .byte $00,$00,$21                           // ..................#....#
        .byte $08,$09,$11                           // ....#.......#..#...#...#
        .byte $09,$00,$00                           // ....#..#................
        .byte $00,$02,$0c                           // ..............#.....##..
        .byte $0b,$0a,$0a                           // ....#.##....#.#.....#.#.
        .byte $2a,$22,$12                           // ..#.#.#...#...#....#..#.
        .byte $31,$09,$3f                           // ..##...#....#..#..######
        .byte $09,$08,$48                           // ....#..#....#....#..#...
        .byte $00,$00,$24                           // ..................#..#..
        .byte $09,$3f,$09                           // ....#..#..######....#..#
        .byte $08,$48,$00                           // ....#....#..#...........
        .byte $00,$25,$0a                           // ..........#..#.#....#.#.
        .byte $35,$af,$08                           // ..##.#.##.#.####....#...
        .byte $f8                                   // sprite 0 padding
        .byte $00,$00,$76,$06,$06,$09,$08,$00,$00,$ff,$17,$08,$30,$09,$08,$48 // ..v.........0..H
        .byte $00,$00,$28,$bc,$fc,$81,$00,$00,$00,$00,$00,$0f,$03,$09,$08,$af // ..(.............
        .byte $c4,$08,$79,$ca,$0a,$09,$f1,$1f,$00,$00,$74,$ca,$0a,$09,$f1,$1f // ..y.......t.....
        .byte $00,$00,$75,$04,$0e,$09,$40,$00,$00,$00,$0a,$6b,$0b,$41,$0a,$40 // ..u...@....k.A.@
        .byte $12,$40,$50,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea // .@P.............
        .fill 16, $ea
        .byte $00,$a9,$00,$8d,$cd,$1c,$a9,$2e,$8d,$ce,$1c,$20,$44,$e5,$20,$f4 // ........... D. .
        .byte $1c,$20,$00,$2a,$20,$7d,$2a,$a9,$18,$8d,$16,$d0,$e9,$06,$8d,$18 // . .* }*.........
        .byte $d0,$a9,$0a,$8d,$22,$d0,$69,$01,$8d,$23,$d0,$a2,$00,$a9,$0f,$9d // ....".i..#......
        .byte $b8,$d9,$9d,$b8,$da,$e8,$d0,$f5,$a2,$00,$a9,$0f,$9d,$b8,$db,$e8 // ................
        .byte $e0,$30,$d0,$f6,$a2,$00,$bd,$0e,$18,$9d,$b8,$05,$bd,$0e,$19,$9d // .0..............
        .byte $b8,$06,$e8,$d0,$f1,$a2,$00,$bd,$0e,$1a,$9d,$b8,$07,$e8,$e0,$33 // ...............3
        .byte $d0,$f5,$a2,$00,$a9,$0f,$9d,$00,$d8,$e8,$e0,$27,$d0,$f6,$78,$ee // ...........'..x.
        .byte $0d,$dc,$ee,$1a,$d0,$a9,$1b,$8d,$11,$d0,$a9,$b0,$8d,$14,$03,$a9 // ................
        .byte $17,$8d,$15,$03,$a9,$00,$8d,$12,$d0,$58,$4c,$5e,$1d,$4c,$ad,$1a // .........XL^.L..
        .byte $ee,$19,$d0,$a9,$00,$2c,$12,$d0,$a9,$1a,$8d,$18,$d0,$20,$08,$1b // .....,....... ..

txt_17c0:
        .text " ?,"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $3b,$4c,$00,$2d,$ea,$ea,$a9,$c8       // ;L.-....

txt_17cc:
        .text " "
        .byte $40                                   // @ character
        .text "-"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $5d,$4c,$10,$2d,$ea,$ea,$a9,$18,$8d   // ]L.-.....

// --- Region $17eb-$17fb ---
.pc = $17eb "Segment $17eb"
        .byte $a9,$12,$8d,$18,$d0,$a9,$d8           // .......

txt_17f2:
        .text " "
        .byte $40                                   // @ character
        .text "- "
        .byte $f8,$2b,$20,$03,$10,$20               // .+ .. 

// --- Region $180e-$180e ---
.pc = $180e "dat_180e"

dat_180e:
        // === Fill data (1 bytes, $180e-$180e) ===
        .byte $00                                   // .

// --- Region $1903-$1903 ---
.pc = $1903 "dat_1903"

dat_1903:
        // === Fill data (1 bytes, $1903-$1903) ===
        .byte $00                                   // .

// --- Region $1980-$1980 ---
.pc = $1980 "spr_1980"

spr_1980:
        .byte $00                                   // .

// --- Region $1a4e-$1a4e ---
.pc = $1a4e "sub_1a4e"
// Referenced by: jsr from $17fe

sub_1a4e:
        .byte $00                                   // .

// --- Region $1aae-$1aae ---
.pc = $1aae "dat_1aae"

dat_1aae:
        // === Fill data (1 bytes, $1aae-$1aae) ===
        .byte $00                                   // .

// --- Region $2000-$203f ---
.pc = $2000 "dat_2000"

dat_2000:
        .byte $01,$02,$03,$04,$05,$06,$07,$05,$06,$07,$05,$06,$01,$02,$03,$04 // ................
        .byte $05,$06,$01,$02,$03,$04,$05,$06,$01,$02,$03,$04,$05,$06,$01,$02 // ................
        .byte $03,$04,$05,$06,$01,$02,$03,$04,$05,$06 // ..........

txt_202a:
        .text "789:;<="
        .byte $00                                   // string terminator
        .byte $ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ..............

// --- Region $20ee-$213f ---
.pc = $20ee "dat_20ee"

dat_20ee:
        .byte $00,$00,$d6,$02,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // .... ...........
        .byte $00,$00,$08,$09,$0a,$0b,$0c,$0d,$08,$09,$0e,$0f,$10,$0e,$08,$09 // ................
        .byte $11,$0b,$0c,$0d,$08,$09,$11,$0b,$0c,$0d,$08,$09,$0a,$0b,$0c,$0d // ................
        .byte $08,$09,$0a,$0b,$0c,$0d,$08,$09,$0a,$0b,$0c,$0d // ............

txt_212a:
        .text ">?"
        .byte $40                                   // @ character
        .text "ABCDE"
        .byte $00                                   // string terminator
        .fill 13, $00

// --- Region $21ef-$223f ---
.pc = $21ef "Segment $21ef"
        .byte $00,$d4,$04,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ... ............
        .byte $00,$12,$13,$14,$15,$16,$17,$18,$13,$19,$18,$13,$19,$18,$13,$19 // ................
        .byte $00,$00,$00,$18,$13,$19,$00,$00,$00,$18,$13,$14,$15,$46,$00,$12 // .............F..
        .byte $13,$14,$15,$16,$17,$12,$13,$14,$15,$16,$17 // ...........

txt_222a:
        .text "GHIJKLMN"
        .byte $00                                   // string terminator
        .fill 13, $00

// --- Region $22ef-$233f ---
.pc = $22ef "Segment $22ef"
        .byte $00,$d3,$01,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ... ............
        .byte $00,$1a,$1b,$1c,$1d,$1e,$1f,$20,$1e,$21,$20,$1e,$21,$20,$1e // ....... .! .! .

txt_230e:
        .text "!"
        .byte $22                                   // double quote character
        .text "#$ "
        .byte $1e                                   // .

txt_2314:
        .text "!"
        .byte $22                                   // double quote character
        .text "#$ "
        .byte $1e
        .text "OPQ$"
        .byte $1a,$1b,$1c,$1d,$1e,$1f,$1a,$1b,$1c,$1d,$1e
        .byte $1f                                   // .

txt_232a:
        .text "RSTUVWX2"
        .byte $00                                   // string terminator
        .fill 13, $00

// --- Region $23ee-$243f ---
.pc = $23ee "dat_23ee"

dat_23ee:
        .byte $00,$00,$cf,$01,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // .... ...........
        .byte $00,$00                               // ..

txt_2400:
        .text "%&'()*+&'()*+&'(,-+&'(,-+&'(,-%&'()*%&'()*"
        .byte $00                                   // string terminator
        .byte $59,$5a,$5b,$5c,$5d,$5e,$5f,$00,$00,$00,$00,$00,$00,$00,$00,$00 // YZ[\]^_.........
        .byte $00,$00,$00,$00,$00                   // .....

// --- Region $2485-$2498 ---
.pc = $2485 "dat_2485"

dat_2485:
        // === Data block (20 bytes, $2485-$2498) ===
        .byte $00,$00,$00,$00,$a9,$30,$a9,$60,$a9,$90,$a9,$c0,$a9,$f0,$a9,$20 // .....0.`....... 
        .byte $a9,$50,$a9                           // .P.

dat_2498:
        // === Fill data (1 bytes, $2498-$2498) ===
        .byte $00                                   // .

// --- Region $2500-$2531 ---
.pc = $2500 "txt_2500"

txt_2500:
        .text ".//01234/01234/05634/05634/056.//012.//012"
        .byte $00                                   // string terminator
        .byte $00,$60,$61,$62,$63,$64               // .`abcd

dat_2531:
        // === Fill data (1 bytes, $2531-$2531) ===
        .byte $00                                   // .

// --- Region $25c0-$25d5 ---
.pc = $25c0 "dat_25c0"

dat_25c0:
        .byte $dd,$cf,$cf,$dd,$dd,$dd,$1d,$dc,$1c,$9d,$df,$9f,$dd,$dc,$1c,$dd // ................
        .byte $dc,$1c,$8f,$9c,$1c                   // .....

dat_25d5:
        // === Fill data (1 bytes, $25d5-$25d5) ===
        .byte $00                                   // .

// --- Region $2600-$2615 ---
.pc = $2600 "dat_2600"

dat_2600:
        .byte $cf,$df,$80,$dd,$dd,$c0,$1c,$1d,$c0,$9f,$9f,$80,$1c,$1d,$c0,$1d // ................
        .byte $dd,$c7,$0f,$dd,$c7                   // .....

dat_2615:
        // === Fill data (1 bytes, $2615-$2615) ===
        .byte $00                                   // .

// --- Region $2642-$264b ---
.pc = $2642 "dat_2642"

dat_2642:
        .byte $0f,$00,$00,$1d,$00,$00,$1d,$00,$00,$1d // ..........

// --- Region $264d-$2655 ---
.pc = $264d "dat_264d"

dat_264d:
        // === Data block (9 bytes, $264d-$2655) ===
        .byte $00,$1d,$07,$00,$1d,$07,$00,$0f       // ........

dat_2655:
        // === Fill data (1 bytes, $2655-$2655) ===
        .byte $00                                   // .

// --- Region $2680-$2695 ---
.pc = $2680 "dat_2680"

dat_2680:
        .byte $8f,$8f,$cf,$dd,$dd,$dd,$dd,$dc,$1c,$dd,$dc,$1f,$dd,$dc,$1c,$dd // ................
        .byte $dd,$dd,$9d,$cf,$cf                   // .....

dat_2695:
        // === Fill data (1 bytes, $2695-$2695) ===
        .byte $00                                   // .

// --- Region $26c0-$26d5 ---
.pc = $26c0 "dat_26c0"

dat_26c0:
        .byte $c0,$0f,$8f,$c0,$1d,$dd,$00,$1d,$dc,$80,$1f,$dd,$00,$1d,$dd,$c0 // ................
        .byte $1d,$dd,$c0,$1d,$cf                   // .....

dat_26d5:
        // === Fill data (1 bytes, $26d5-$26d5) ===
        .byte $00                                   // .

// --- Region $2700-$2715 ---
.pc = $2700 "dat_2700"

dat_2700:
        .byte $cf,$9f,$cf,$dd,$c7,$1d,$1d,$c7,$1d,$df,$c7,$1d,$dd,$c7,$1d,$dd // ................
        .byte $c7,$1d,$dd,$df,$dd                   // .....

dat_2715:
        // === Fill data (1 bytes, $2715-$2715) ===
        .byte $00                                   // .

// --- Region $2740-$2755 ---
.pc = $2740 "dat_2740"

dat_2740:
        .byte $80,$1f,$9d,$c0,$1d,$dd,$c0,$01,$dd,$c0,$01,$df,$c0,$01,$dd,$c0 // ................
        .byte $01,$dd,$c0,$01,$dd                   // .....

dat_2755:
        // === Fill data (1 bytes, $2755-$2755) ===
        .byte $00                                   // .

// --- Region $2780-$2794 ---
.pc = $2780 "dat_2780"

dat_2780:
        .byte $cf,$dd,$c0,$dd,$dd,$c0,$dc,$1d,$c0,$df,$8f,$80,$dc,$07,$00,$dd // ................
        .byte $c7,$00,$cf,$c7                       // ....

dat_2794:
        // === Fill data (1 bytes, $2794-$2794) ===
        .byte $00                                   // .

// --- Region $2a98-$2a99 ---
.pc = $2a98 "dat_2a98"

dat_2a98:
        .byte $03                                   // .

dat_2a99:
        // === Fill data (1 bytes, $2a99-$2a99) ===
        .byte $00                                   // .

// --- Region $2b00-$2b90 ---
.pc = $2b00 "dat_2b00"

dat_2b00:
        // === Sine/lookup table (90 bytes, range $00-$e0) ===
        .byte $dd,$da,$d7,$d4,$d1,$ce,$cb,$c8,$c5,$c2,$bf,$bd,$ba,$b8,$b6,$b3 // ................
        .byte $b1,$af,$ad,$ab,$a9,$a8,$a7,$a5,$a4,$a3,$a2,$a2,$a1,$a1,$a1,$a1 // ................
        .byte $a1,$a1,$a1,$a2,$a2,$a3,$a4,$a5,$a7,$a8,$a9,$ab,$ad,$af,$b1,$b3 // ................
        .byte $b6,$b8,$ba,$bd,$bf,$c2,$c5,$c8,$cb,$ce,$d1,$d4,$d7,$da,$dd,$e0 // ................
        .fill 17, $00
        .byte $09,$0b,$08,$0c,$0f,$0f,$07,$07,$07   // .........

dat_2b5a:
        // === Fill data (45 bytes, $2b5a-$2b86) ===
        .fill 45, $01
        .byte $07,$07,$07,$0f,$0f,$0c,$08,$0b,$09   // .........

dat_2b90:
        // === Fill data (1 bytes, $2b90-$2b90) ===
        .byte $00                                   // .

// --- Region $2bf4-$2bff ---
.pc = $2bf4 "dat_2bf4"

dat_2bf4:
        .byte $0d,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ............

// --- Region $2c39-$2d17 ---
.pc = $2c39 "Segment $2c39"
        .byte $0f,$04,$05,$20,$01,$0e,$04,$20,$07,$06,$18,$20,$02,$19,$20,$0d // ... ... ... .. .
        .byte $01,$0a,$0f,$12,$2d,$18,$00,$a9,$00,$85,$fa,$a9,$30,$85,$fb,$a9 // ....-.......0...
        .byte $01,$85,$fc,$a9,$08,$85,$fd,$a0,$00,$b1,$fa,$91,$fc,$c8,$d0,$f9 // ................
        .byte $e6,$fd,$e6,$fb,$d0,$f3,$c6,$01       // ........

txt_2c71:
        .text "X Y"
        .byte $a6                                   // '&' | $80 (end-of-string marker)
        .byte $4c,$e2,$fc,$00,$00,$00,$00,$00,$00,$00,$00 // L..........

txt_2c80:
        .text "          "

txt_2c8a:
        .encoding "screencode_mixed"
        .text "once again they had to suffer.. once again they had to pay.. and once again we in success forced them down on their knees"
        .encoding "petscii_upper"

txt_2d03:
        .text " ... "
        .byte $06,$31,$20,$14,$0f,$12,$0e,$01,$04,$0f // .1 .......

txt_2d12:
        .text "+2 ..."

// --- Region $2d48-$2e25 ---
.pc = $2d48 "txt_2d48"

txt_2d48:
        .encoding "screencode_mixed"
        .text "ogance! we in success welcome back 'rap' in our motherhood! success is now: the arrogance, major-x, raze, tyree, nightshade, darklord, manx, falcon, burglar, rap, gordon and ist! greetinx to"
        .encoding "petscii_upper"

txt_2e06:
        .text "... "

txt_2e0a:
        .encoding "screencode_mixed"
        .text "empire, excalibur, tsm, nei,"
        .encoding "petscii_upper"

// --- Region $2e6b-$2fff ---
.pc = $2e6b "Segment $2e6b"
        .byte $20,$0c,$05,$07,$05,$0e,$04,$2c,$20,$05,$0e,$09,$07,$0d,$01,$2c //  ......, ......,
        .byte $20,$05,$0c,$09,$14,$05,$2c,$20,$03,$08,$12,$0f,$0d,$01,$0e,$03 //  ....., ........
        .byte $05,$2c,$20,$06,$34,$03,$07,$2c,$20,$10,$01,$12,$01,$04,$09,$1a // ., .4.., .......
        .byte $05,$2c,$20,$03,$12,$05,$13,$14,$2c,$20,$14,$12,$03,$2c,$20,$04 // ., ....., ..., .
        .byte $05,$10,$12,$05,$04,$01,$14,$0f,$12,$13,$2c,$20,$14,$12,$09,$01 // .........., ....
        .byte $04,$2b,$06,$01,$09,$12,$0c,$09,$07,$08,$14,$2c,$20,$02,$12,$15 // .+........., ...
        .byte $14,$01,$0c,$20,$01,$0e,$04,$20,$14,$08,$05,$20,$12,$05,$13,$14 // ... ... ... ....

txt_2edb:
        .text "... (/) "
        .byte $14,$08,$05,$20,$01,$12,$12,$0f,$07,$01,$0e,$03,$05 // ... .........

txt_2ef0:
        .text "'91"

dat_2ef3:
        // === Fill data (36 bytes, $2ef3-$2f16) ===
        .fill 36, $20
        .byte $00,$00,$00                           // ...

dat_2f1a:
        // === Fill data (230 bytes, $2f1a-$2fff) ===
        .fill 230, $bd
