// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:51
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $d030  (51249 bytes)
// Crunched with PuCrunch — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $2f00 (12032)
// IRQ handler:  $2054 (irq_2054)
// IRQ handler:  $9ddf (irq_9ddf)
//
// Code: 2626 bytes, Data: 48623 bytes
// Labels: 259, Subroutines: 21
//
// Cross-references: all OK
// ============================================


// --- Region $1009-$14cb ---
.pc = $1009 "sub_1009"
// Referenced by: jsr from $2040; jmp from $1ddc

sub_1009:
        jmp loc_1d88

dat_100c:
        .byte $4c,$be                               // L.

loc_100e:
.label sub_100f = * + 1
        ora $9e2c,x
        asl $30,x
        rol
        bvc loc_1056
        ldx $169c

loc_1019:
        lda #$00
        ldy dat_158e,x
        sta $d404,y
        sta $1592,x
        sta $1595,x
        sta $1598,x
        sta $159e,x
        sta $d406,y
        lda #$1b
        sta $15b8,x
        dex
        bpl loc_1019
        sta $169e
        jmp loc_14c1

loc_103e:
        bvc loc_1053
        lda #$00
        ldx $169c

loc_1045:
        ldy dat_158e,x
        sta $d404,y
        dex
        bpl loc_1045
        lda #$80
        sta $169e

loc_1053:
        jmp loc_14c1

loc_1056:
        ldx $169c
        dec $169b
        bpl loc_1066
        lda #$70
        sta $169b
        jmp loc_1071

loc_1066:
        dec $1688
        bpl loc_1071
        lda $169a
        sta $1688

loc_1071:
        lda dat_158e,x
        sta $1591
        tay
        lda $169b
        beq loc_1097
        lda $1688
        cmp $169a
        bne loc_1097
        lda $1aa8,x
        sta $f8
        lda $1aab,x
        sta $f9
        dec $1598,x
        bmi loc_109a
        jmp loc_11b5

loc_1097:
        jmp loc_11d9

loc_109a:
        ldy $1592,x
        lda ($f8),y
        bpl loc_10be
        cmp #$ff
        beq loc_10b0
        and #$7f
        sta $177d,x
        inc $1592,x
        jmp loc_109a

loc_10b0:
        lda #$00
        sta $1598,x
        sta $1592,x
        sta $1595,x
        jmp loc_109a

loc_10be:
        tay
        lda $1ab4,y
        sta $fa
        lda $1ad8,y
        sta $fb
        lda #$00
        sta $16a8,x
        sta $1728,x
        sta $1779,x
        lda #$40
        sta $173b,x
        ldy $1595,x
        lda #$ff
        sta $15e6,x
        lda ($fa),y
        sta $159b,x
        sta $1615
        and #$1f
        sta $1598,x
        bit $1615
        bvs loc_1135
        inc $1595,x
        lda $1615
        bpl loc_1115
        iny
        lda ($fa),y
        bpl loc_110f
        sta $16a8,x
        iny
        lda ($fa),y
        sta $16a5,x
        inc $1595,x
        jmp loc_1112

loc_110f:
        sta $15b8,x

loc_1112:
        inc $1595,x

loc_1115:
        iny
        lda ($fa),y
        sta $16ad
        and #$7f
        clc
        adc $177d,x
        sta $15a1,x
        asl
        tay
        lda dat_14cc,y
        sta $16a2,x
        lda $14cd,y
        sta $169f,x
        jmp loc_1148

loc_1135:
        dec $15e6,x
        ldy $1591
        lda #$00
        sta $d406,y
        sta $d405,y
        lda #$08
        jmp loc_119b

loc_1148:
        ldy $1591
        lda $15b8,x
        stx $167e
        asl
        asl
        asl
        tax
        lda $18da,x
        sta $167f
        lda $16ad
        bmi loc_1195
        lda $18d8,x
        sta $d402,y
        pha
        lda $18d9,x
        sta $d403,y
        pha
        lda $19c3,x
        pha
        lda $18db,x
        sta $d405,y
        lda $18dc,x
        sta $d406,y
        ldx $167e
        lda #$00
        sta $1685,x
        sta $1682,x
        pla
        sta $1715,x
        pla
        sta $1701,x
        pla
        sta $16d5,x

loc_1195:
        lda $167f
        ldx $167e

loc_119b:
        sta $159e,x
        inc $1595,x
        ldy $1595,x
        lda ($fa),y
        cmp #$ff
        bne loc_11b2
        lda #$00
        sta $1595,x
        inc $1592,x

loc_11b2:
        jmp loc_14a0

loc_11b5:
        ldy $1591
        lda $159b,x
        and #$20
        bne loc_11d9
        lda $1598,x
        bne loc_11d9
        lda #$fe
        sta $15e6,x
        lda $1688
        bne loc_11d9
        lda #$00
        sta $d405,y
        sta $d406,y
        inc $d020

loc_11d9:
        lda $15b8,x
        asl
        asl
        asl
        tay
        sty $169d
        lda $18df,y
        sta $16ab
        lda $18de,y
        sta $1681
        lda $18dd,y
        bne loc_11f7
        jmp loc_129b

loc_11f7:
        pha
        and #$78
        lsr
        lsr
        lsr
        sta $1003,x
        pla
        and #$07
        sta $1680
        lda $1006,x
        bpl loc_1215
        dec dat_1000,x
        bne loc_1229
        inc $1006,x
        bpl loc_1229

loc_1215:
        inc dat_1000,x
        lda $1003,x
        cmp dat_1000,x
        bcs loc_1229
        sta dat_1000,x
        dec $1006,x
        dec dat_1000,x

loc_1229:
        lda $16a8,x
        beq loc_1231
        jmp loc_129b

loc_1231:
        lda $15a1,x
        asl
        tay
        sec
        lda dat_14cc,y
        sbc $14ca,y
        sta $fd
        lda $14cd,y
        sbc loc_14cb,y

loc_1245:
        dec $1680
        bmi loc_1250
        lsr
        ror $fd
        jmp loc_1245

loc_1250:
        sta $fc
        lda dat_14cc,y
        sta $fe
        lda $14cd,y
        sta $ff
        lda $1003,x
        lsr
        tay

loc_1261:
        dey
        bmi loc_1274
        sec
        lda $fe
        sbc $fd
        sta $fe
        lda $ff
        sbc $fc
        sta $ff
        jmp loc_1261

loc_1274:
        lda $1728,x
        cmp #$04
        bcc loc_129b
        ldy dat_1000,x

loc_127e:
        dey
        bmi loc_1291
        clc
        lda $fe
        adc $fd
        sta $fe
        lda $ff
        adc $fc
        sta $ff
        jmp loc_127e

loc_1291:
        lda $fe
        sta $16a2,x
        lda $ff
        sta $169f,x

loc_129b:
        lda $1681
        beq loc_12fc
        ldy $169d
        lda $19c5,y
        and #$0f
        sta smc_12e5                                // SMC: modifies $12e5
        lda $19c5,y
        lsr
        lsr
        lsr
        lsr
        sta smc_12cb                                // SMC: modifies $12cb
        lda $1685,x
        bne loc_12d4
        lda $1681
        clc
        adc $16d5,x
        pha
        lda $1701,x
        adc #$00
        and #$0f
        pha
.label smc_12cb = * + 1
        cmp #$0f                                    // !SMC: modified by $12b2
        bne loc_12eb
        inc $1685,x
        jmp loc_12eb

loc_12d4:
        sec
        lda $16d5,x
        sbc $1681
        pha
        lda $1701,x
        sbc #$00
        and #$0f
        pha
.label smc_12e5 = * + 1
        cmp #$0e                                    // !SMC: modified by $12a8
        bne loc_12eb
        dec $1685,x

loc_12eb:
        ldy $1591
        pla
        sta $1701,x
        sta $d403,y
        pla
        sta $16d5,x
        sta $d402,y

loc_12fc:
        lda $16a8,x
        beq loc_1336
        cmp #$bf
        bcc loc_131f
        and #$3f
        sta smc_1318                                // SMC: modifies $1318
        sec
        lda $16a2,x
        sbc $16a5,x
        sta $16a2,x
        lda $169f,x
.label smc_1318 = * + 1
        sbc #$01                                    // !SMC: modified by $1307
        sta $169f,x
        jmp loc_1336

loc_131f:
        and #$3f
        sta smc_1332                                // SMC: modifies $1332
        clc
        lda $16a2,x
        adc $16a5,x
        sta $16a2,x
        lda $169f,x
.label smc_1332 = * + 1
        adc #$00                                    // !SMC: modified by $1321
        sta $169f,x

loc_1336:
        ldy $169d
        lda $159b,x
        and #$40
        bne loc_1398
        lda $16ab
        and #$01
        beq loc_1398
        stx $167e
        lda $19c0,y
        sta $f8
        lda $19c1,y
        sta $f9
        lda $1779,x
        tay
        lda ($f8),y
        bpl loc_137a
        cmp #$85
        bne loc_1363
        jmp loc_14a0

loc_1363:
        ldx $1591
        sta $d404,x
        iny
        lda ($f8),y
        sta $d401,x
        ldx $167e
        iny
        tya
        sta $1779,x
        jmp loc_14b8

loc_137a:
        sta $159e,x
        iny
        sec
        lda $16a2,x
        sbc ($f8),y
        sta $16a2,x
        iny
        lda $169f,x
        sbc ($f8),y
        sta $169f,x
        iny
        tya
        sta $1779,x
        jmp loc_14a0

loc_1398:
        lda $16ab
        and #$02
        beq loc_13b5
        ldy $169d
        lda $1728,x
        and #$01
        beq loc_13af
        lda $18da,y
        jmp loc_13b2

loc_13af:
        lda $19c2,y

loc_13b2:
        sta $159e,x

loc_13b5:
        lda $16ab
        and #$04
        beq loc_13d0
        lda $1715,x
        beq loc_13ca
        dec $1715,x
        lda $19c1,y
        jmp loc_13cd

loc_13ca:
        lda $18da,y

loc_13cd:
        sta $159e,x

loc_13d0:
        lda $16ab
        and #$08
        beq loc_13f8
        lda $1728,x
        and #$01
        beq loc_13e4
        lda $15a1,x
        jmp loc_13e7

loc_13e4:
        lda $19c4,y

loc_13e7:
        asl
        tay
        lda dat_14cc,y
        sta $16a2,x
        lda $14cd,y
        sta $169f,x
        ldy $169d

loc_13f8:
        lda $16ab
        and #$10
        beq loc_142b
        lda $19c0,y
        asl
        tay
        lda $1783,y
        sta $1781
        lda $1784,y
        sta $1782
        ldy $177c
        clc
        lda $15a1,x
        adc $1780,y
        asl
        tay
        lda dat_14cc,y
        sta $16a2,x
        lda $14cd,y
        sta $169f,x
        ldy $169d

loc_142b:
        lda $16ab
        and #$20
        beq loc_1445
        lda $173b,x
        clc
        adc $19c7,y
        sta $173b,x
        sta $d416
        lda $19c6,y
        sta $d417

loc_1445:
        bit $16ab
        bvc loc_146e
        lda $1715,x
        beq loc_1458
        dec $1715,x
        lda $19c0,y
        jmp loc_1460

loc_1458:
        lda $18dd,y
        bne loc_146e
        lda $15a1,x

loc_1460:
        asl
        tay
        lda dat_14cc,y
        sta $16a2,x
        lda $14cd,y
        sta $169f,x

loc_146e:
        lda $16ab
        bpl loc_14a0
        lda $172a
        cmp #$01
        beq loc_148a
        ldy #$1f
        sty $d418
        cmp #$06
        bcc loc_14a0
        lda #$00
        sta $172a
        beq loc_14a0

loc_148a:
        lda #$48
        sta $d40f
        lda #$81
        sta $d412
        lda #$60
        sta $d416
        lda #$2f
        sta $d418
        bne loc_14b8

loc_14a0:
        ldy $1591
        lda $159e,x
        and $15e6,x
        sta $d404,y
        lda $169f,x
        sta $d401,y
        lda $16a2,x
        sta $d400,y

loc_14b8:
        inc $1728,x
        dex
        bmi loc_14c1
        jmp loc_1071

loc_14c1:
        dec $177c
        bpl loc_14cb
        lda #$02
        sta $177c

loc_14cb:
        rts

// --- Region $158d-$158d ---
.pc = $158d "Segment $158d"
        brk

// --- Region $18f0-$18f5 ---
.pc = $18f0 "Segment $18f0"
        .byte $80,$0c                               // nop #$0c // ILLEGAL
        eor ($09,x)
        txa
        brk

// --- Region $1ad0-$1adb ---
.pc = $1ad0 "Segment $1ad0"
        sbc #$fe
        asl $40,x
        .byte $1b,$07,$3e                           // slo $3e07,y // ILLEGAL
        .byte $5f,$1b,$1c                           // sre $1c1b,x // ILLEGAL

dat_1ada:
        .byte $1b,$1c                               // ..

// --- Region $1d88-$1df3 ---
.pc = $1d88 "loc_1d88"

loc_1d88:
        ldy #$00
        tax
        lda #$02
        sta $169c
        lda $1689,x
        sta $169a
        lda $1692,x
        sta $105f
        txa
        asl
        sta $167e
        asl
        clc
        adc $167e
        tax

loc_1da7:
        lda $1aae,x
        sta $1aa8,y
        inx
        iny
        cpy #$06
        bne loc_1da7
        lda #$1f
        sta $d418
        lda #$40
        sta $169e
        rts

dat_1dbe:
        .byte $a9,$c0,$8d,$9e                       // ....

loc_1dc2:
        asl $60,x
        sei
        lda #$df
        sta $0314
        lda #$9d
        sta $0315
        lda #$00
        sta $dc0e
        lda #$f1
        sta $d01a
        cli
        lda #$00
        jmp sub_1009

loc_1ddf:
        lda #$01
        sta $d019
        lda #$80
        sta $d012
        lda #$1b
        sta $d011
        jsr sub_100f
        jmp $ea31

// --- Region $1e1f-$1e1f ---
.pc = $1e1f "Segment $1e1f"
        .byte $02                                   // jam // ILLEGAL

// --- Region $1fa7-$1fd7 ---
.pc = $1fa7 "loc_1fa7"

loc_1fa7:
        ldy #$00
        asl
        sta $13eb
        asl
        clc
        adc $13eb
        tax

loc_1fb3:
        lda $1632,x
        sta $162c,y
        inx
        iny
        cpy #$06
        bne loc_1fb3
        lda #$00
        sta $d417
        sta $d404
        sta $d40b
        sta $d412
        lda #$0f
        sta $d418
        lda #$40
        sta $13fd
        rts

// --- Region $2000-$2076 ---
.pc = $2000 "sub_2000"

// Referenced by: jsr from $2f03
sub_2000: {
        sei
        lda #$01
        sta $d01a
        sta $0340
        lda #$7f
        sta $dc0d
        lda #$1b
        sta $d011
        lda #$54
        sta $0314
        lda #$20
        sta $0315
        lda #$00
        sta $02
        jsr sub_2723
        lda #$12
        sta $d018
        lda #$00
        sta $d020
        sta $d021
        lda #$18
        sta $d016
        lda #$67
        sta $14
        lda #$28
        sta $15
        lda #$00
        jsr sub_1009
        jsr sub_24ac
        cli
loop:
        jsr sub_2180
        lda $dc01
        and #$10
        cmp #$10
        beq loop
        rts
}

irq_2054:
        lda $d019
        sta $d019
        lda $02
        cmp #$04
        bne loc_2064
        lda #$00
        sta $02

loc_2064:
        clc
        asl
        tax
        lda dat_2077,x
        sta $03
        inx
        lda dat_2077,x
        sta $04
        inc $02
        jmp ($0003)

// --- Region $208e-$2238 ---
.pc = $208e "loc_208e"

loc_208e:
        rol $4c
        sta ($ea,x)
        lda $21c8
        beq loc_20af
        jsr sub_2152
        inc $20c8
        lda $20c8
        cmp #$a0
        bne loc_20ae
        lda #$00
        sta dat_20c7
        lda #$00
        sta $20c8

loc_20ae:
        rts

loc_20af:
        jsr sub_2169
        inc $20c8
        lda $20c8
        cmp #$a0
        bne loc_20c6
        lda #$01
        sta dat_20c7
        lda #$00
        sta $20c8

loc_20c6:
        rts

dat_20c7:
        .byte $00,$5f                               // ._

loc_20c9:
        lda dat_20fe
        beq loc_20e6
        jsr sub_2100
        inc $20ff
        lda $20ff
        cmp #$60
        bne loc_20e5
        lda #$00
        sta dat_20fe
        lda #$00
        sta $20ff

loc_20e5:
        rts

loc_20e6:
        jsr sub_212b
        inc $20ff
        lda $20ff
        cmp #$60
        bne loc_20fd
        lda #$01
        sta dat_20fe
        lda #$00
        sta $20ff

loc_20fd:
        rts

dat_20fe:
        .byte $00,$15                               // ..

// Referenced by: jsr from $20ce
sub_2100: {
        ldx #$00
        lda $08d8
        pha
loop1:
        lda $08d9,x
        sta $08d8,x
        inx
        cpx #$0f
        bne loop1
        pla
        sta $08d8,x
        ldx #$00
        lda $08e8,x
        pha
loop2:
        lda $08e9,x
        sta $08e8,x
        inx
        cpx #$0f
        bne loop2
        pla
        sta $08e8,x
        rts
}

// Referenced by: jsr from $20e6
sub_212b: {
        ldx #$0f
        lda $08d8,x
        pha
loop1:
        lda $08d7,x
        sta $08d8,x
        dex
        bne loop1
        pla
        sta $08d8,x
        ldx #$0f
        lda $08e8,x
        pha
loop2:
        lda $08e7,x
        sta $08e8,x
        dex
        bne loop2
        pla
        sta $08e8,x
        rts
}
// Referenced by: jsr from $2097

sub_2152:
        ldy #$02

loc_2154:
        ldx #$00

loc_2156:
        lda $08e8,x
        ror
        ror $08d8,x
        ror $08e8,x
        inx
        cpx #$10
        bne loc_2156
        dey
        bne loc_2154
        rts
// Referenced by: jsr from $20af

sub_2169:
        ldy #$02

loc_216b:
        ldx #$00

loc_216d:
        lda $08d8,x
        rol
        rol $08e8,x
        rol $08d8,x
        inx
        cpx #$10
        bne loc_216d
        dey
        bne loc_216b
        rts
// Referenced by: jsr from $2047

sub_2180:
        ldx #$25

loc_2182:
        inc $231f,x
        lda $231f,x
        cmp $2285,x
        beq loc_2191

loc_218d:
        dex
        bne loc_2182
        rts

loc_2191:
        lda #$00
        sta $231f,x
        inc txt_22f4,x
        lda txt_22f4,x
        cmp #$2c
        beq loc_21b5

loc_21a0:
        lda dat_22aa,x
        sta $2345
        lda $22cf,x
        sta $2346
        lda txt_22f4,x
        jsr sub_21e0
        jmp loc_218d

loc_21b5:
        lda #$23
        sta txt_22f4,x
        lda dat_22aa,x
        sta $2345
        lda $22cf,x
        sta $2346
        lda #$20
        jsr sub_21e0
        lda dat_22aa,x
        sec
        sbc #$01
        cmp #$ff
        beq loc_21db

loc_21d5:
        sta dat_22aa,x
        jmp loc_21a0

loc_21db:
        lda #$27
        jmp loc_21d5
// Referenced by: jsr from $21af, $21c8

sub_21e0:
        pha
        sty $2344
        stx $2343
        ldy $2346
        ldx $2345
        lda dat_2239,y
        sta smc_2204                                // SMC: modifies $2204
        sta smc_2231                                // SMC: modifies $2231
        lda $2260,y
        sta smc_2203                                // SMC: modifies $2203
        sta smc_2230                                // SMC: modifies $2230

loc_21ff:
        pla
        sta $05
.label smc_2203 = * + 1
.label smc_2204 = * + 2
        lda $0730,x                                 // !SMC: modified by $21f0, $21f9
        cmp #$23
        beq loc_222d
        cmp #$24
        beq loc_222d
        cmp #$25
.label loc_2210 = * + 1
        beq loc_222d
        cmp #$26
        beq loc_222d
        cmp #$27
        beq loc_222d
        cmp #$28
        beq loc_222d
        cmp #$29
        beq loc_222d
        cmp #$2a
        beq loc_222d
        cmp #$2b
        beq loc_222d
        cmp #$20
        bne loc_2232

loc_222d:
        lda $05
.label smc_2230 = * + 1
.label smc_2231 = * + 2
        sta $0730,x                                 // !SMC: modified by $21f3, $21fc

loc_2232:
        ldy $2344
        ldx $2343
        rts

// --- Region $2263-$2268 ---
.pc = $2263 "loc_2263"

loc_2263:
        bmi loc_22a9
        clv
        beq loc_2280
        rti

// --- Region $2275-$2280 ---
.pc = $2275 "loc_2275"

loc_2275:
        pha
        bvs loc_2210
        cpy #$e8
        sed
        beq loc_21ff
        bmi loc_229f
        rti

loc_2280:
        brk

// --- Region $229f-$22a0 ---
.pc = $229f "loc_229f"

loc_229f:
        php
        .byte $02                                   // jam // ILLEGAL

// --- Region $22a9-$22a9 ---
.pc = $22a9 "loc_22a9"

loc_22a9:
        .byte $12                                   // jam // ILLEGAL

// --- Region $2341-$2395 ---
.pc = $2341 "loc_2341"

loc_2341:
        ora ($0c,x)
        ora #$07
        ora $0e
        lda #$94
        sta $d012
        lda #$18
        sta $d016
        jsr sub_100f
        jsr sub_24ac
        jmp $ea81

loc_235a:
        lda #$c0
        sta $d012
        jsr sub_25ec
        lda #$c8
        sta $d016
        jsr loc_20c9
        jsr sub_2370
        jmp $ea81
// Referenced by: jsr from $236a

sub_2370:
        ldx #$00

loc_2372:
        lda dat_2395,x
        inc dat_2395,x
        tay
        lda $23a1,y
        clc
        adc #$33
        sta $d001,x
        lda dat_2395,x
        cmp #$68
        bne loc_238e
        lda #$00
        sta dat_2395,x

loc_238e:
        inx
        inx
        cpx #$0c
        bne loc_2372
        rts

dat_2395:
        .byte $33                                   // 3

// --- Region $2447-$249c ---
.pc = $2447 "loc_2447"

loc_2447:
        nop
        nop
        lda #$00
        sta $d020
        sta $d021
        jsr sub_2458
        jmp $ea81

dat_2457:
        .byte $01                                   // .
// Referenced by: jsr from $2451

sub_2458:
        ldx #$00

loc_245a:
        lda $da09,x
        sta $da08,x
        sta $da30,x
        sta $da58,x
        sta $da80,x
        sta $daa8,x
        sta $dad0,x
        sta $daf8,x
        sta $db20,x
        sta $db48,x
        sta $db70,x
        sta $db98,x
        inx
        cpx #$27
        bne loc_245a
        ldx dat_249c

loc_2486:
        lda $249d,x
        cmp #$ff
        beq loc_2494
        sta $da2f
        inc dat_249c
        rts

loc_2494:
        ldx #$00
        stx dat_249c
        jmp loc_2486

dat_249c:
        .byte $0e                                   // .

// --- Region $24ac-$24ea ---
.pc = $24ac "sub_24ac"
// Referenced by: jsr from $2043, $2354

sub_24ac:
        ldx #$00

loc_24ae:
        lda #$00
        sta $0100,x
        inx
        cpx #$80
        bne loc_24ae
        inc dat_2517

loc_24bb:
        ldx dat_2517
        lda dat_251f,x
        beq loc_24ce
        cmp #$ff
        beq loc_24d5
        jsr sub_2501
        jsr sub_24dd
        rts

loc_24ce:
        jsr sub_24dd
        jsr sub_2501
        rts

loc_24d5:
        lda #$00
        sta dat_2517
        jmp loc_24bb
// Referenced by: jsr from $24ca, $24ce

sub_24dd:
        ldx #$00

loc_24df:
        lda dat_24eb,x
        sta $0110,x
        inx
        cpx #$16
        bne loc_24df
        rts

// --- Region $2501-$2516 ---
.pc = $2501 "sub_2501"
// Referenced by: jsr from $24c7, $24d1

sub_2501:
        ldx dat_2517
        lda $2586,x
        tax
        ldy #$00

loc_250a:
        lda $2518,y
        sta $0101,x
        inx
        iny
        cpy #$07
        bne loc_250a
        rts

// --- Region $25c9-$25d6 ---
.pc = $25c9 "Segment $25c9"
        and $24
        .byte $23,$22                               // rla ($22,x) // ILLEGAL
        and ($20,x)
        .byte $1f,$1e,$1c                           // slo $1c1e,x // ILLEGAL
        .byte $1a                                   // nop // ILLEGAL
        clc
        ora $14,x
        .byte $12                                   // jam // ILLEGAL

// --- Region $25ec-$260d ---
.pc = $25ec "sub_25ec"
// Referenced by: jsr from $235f

sub_25ec:
        ldx $2642
        lda txt_2d00,x
        cmp #$41
        beq loc_2607
        cmp #$ff
        beq loc_2601
        sta dat_2457
        inc $2642
        rts

loc_2601:
        lda #$00
        sta $2642
        rts

loc_2607:
        inc $2642
        dec $0340
        rts

// --- Region $2723-$27b2 ---
.pc = $2723 "sub_2723"
// Referenced by: jsr from $2021

sub_2723:
        lda #$0f
        sta $0286
        lda #$93
        jsr $ffd2
        ldx #$00

loc_272f:
        lda #$1b
        sta $0400,x
        sta $0450,x
        sta $04a0,x
        sta $04f0,x
        sta $0540,x
        sta $0590,x
        lda #$1c
        sta $0428,x
        sta $0478,x
        sta $04c8,x
        sta $0518,x
        sta $0568,x
        sta $05b8,x
        lda #$1d
        sta $0401,x
        sta $0451,x
        sta $04a1,x
        sta $04f1,x
        sta $0541,x
        sta $0591,x
        lda #$1e
        sta $0429,x
        sta $0479,x
        sta $04c9,x
        sta $0519,x
        sta $0569,x
        sta $05b9,x
        inx
        inx
        cpx #$28
        bne loc_272f
        ldx #$00

loc_2787:
        lda #$00
        sta $d9e1,x
        sta $db00,x
        inx
        bne loc_2787
        ldx #$00

loc_2794:
        lda dat_27b2,x
        clc
        adc #$18
        sta $d000,y
        lda #$40
        sta $d001,y
        lda txt_27b8,x
        sta $07f8,x
        iny
        iny
        inx
        cpx #$06
        bne loc_2794
        jmp loc_27be

dat_27b2:
        .byte $10                                   // .

// --- Region $27be-$2810 ---
.pc = $27be "loc_27be"

loc_27be:
        lda #$3f
        sta $d015
        lda #$3f
        sta $d01c
        lda #$00
        sta $d017
        lda #$3f
        sta $d01d
        lda #$20
        sta $d010
        lda #$0f
        sta $d026
        lda #$0b
        sta $d025
        lda #$01
        ldx #$00

loc_27e5:
        sta $d027,x
        inx
        cpx #$08
        bne loc_27e5
        lda #$11
        ldy #$28
        jsr sub_ab1e
        lda #$0b
        sta $d022
        lda #$01
        sta $d023
        ldx #$00

loc_2800:
        lda txt_283e,x
        sta $0680,x
        lda #$00
        sta $db48,x
        inx
        cpx #$28
        bne loc_2800
        rts

// --- Region $2f00-$2f60 ---
.pc = $2f00 "main_2f00"

main_2f00:
        jsr sub_2f70
        jsr sub_2000
        nop
        jsr sub_2f80
        jsr sub_2fa1
        ldx #$00

loc_2f0f:
        lda loc_2f1b,x
        sta $0400,x
        inx
        bne loc_2f0f
        jmp $0400

loc_2f1b:
        sei
        lda #$34
        sta $01
        lda #$00
        sta $02
        lda #$30
        sta $03
        lda #$01
        sta $04
        lda #$08
        sta $05

loc_2f30:
        ldy #$00

loc_2f32:
        lda ($02),y
        sta ($04),y
        iny
        bne loc_2f32
        inc $03
        inc $05
        lda $05
        cmp #$ff
        bne loc_2f30
        lda #$37
        sta $01
        ldx #$27
        ldy #$b5
        stx $2d
        sty $2e
        stx $2f
        sty $30
        stx $31
        sty $32
        stx $ae
        sty $af
        cli
        jmp $fce2

dat_2f5f:
        .byte $00,$00                               // ..

// --- Region $2f70-$2f86 ---
.pc = $2f70 "sub_2f70"
// Referenced by: jsr from $2f00

sub_2f70:
        lda $3fff
        sta $2f6f
        lda #$00
        sta $3fff
        rts

dat_2f7c:
        .byte $00,$00,$00,$00                       // ....
// Referenced by: jsr from $2f07

sub_2f80:
        lda $2f6f
        sta $3fff
        rts

// --- Region $2fa1-$2fc1 ---
.pc = $2fa1 "sub_2fa1"
// Referenced by: jsr from $2f0a

sub_2fa1:
        sei
        jsr $fda3
        jsr $ff5b
        ldx #$30
        ldy #$fd
        clc
        stx $c3
        sty $c4
        ldy #$1f

loc_2fb3:
        lda ($c3),y
        bcc loc_2fba

dat_2fb7:
        .byte $b9,$14,$03                           // ...

loc_2fba:
        sta $0314,y
        dey
        bpl loc_2fb3
        cli
        rts

// --- Region $60c9-$60c9 ---
.pc = $60c9 "Segment $60c9"
        brk

// --- Region $8dd0-$8dd0 ---
.pc = $8dd0 "Segment $8dd0"
        brk

// --- Region $ab1e-$ab1e ---
.pc = $ab1e "sub_ab1e"
// Referenced by: jsr from $27f1

sub_ab1e:
        brk

// --- Region $bdd0-$bdd0 ---
.pc = $bdd0 "Segment $bdd0"
        brk

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

// --- Region $0800-$0b7f ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Screen RAM (896 bytes, $0800-$0b7f) ===
        .encoding "screencode_mixed"
        .text "@@@"
        .byte $a1,$a1,$bd,$42                       // scrcode: ....
        .text "<"
        .byte $7c,$82,$c6,$fe,$82,$c6,$82           // scrcode: .......
        .text "@"
        .byte $7c,$86,$c2,$fc,$c2,$86,$7c           // scrcode: .......
        .text "@"
        .byte $7c,$86,$c0,$e0,$c0,$86,$7c           // scrcode: .......
        .text "@"
        .byte $78,$8c,$c6,$e6,$c6,$8c,$78           // scrcode: .......
        .text "@"
        .byte $7e,$80,$c0,$f8,$c0,$80,$7e           // scrcode: .......
        .text "@"
        .byte $7e,$80,$c0,$f8,$c0,$c0,$80           // scrcode: .......
        .text "@"
        .byte $7c,$86,$c0,$e0,$de,$86,$7c           // scrcode: .......
        .text "@"
        .byte $82,$c6,$c6,$fe,$c6,$c6,$82           // scrcode: .......
        .text "@<xxxxx<@"
        .byte $1e                                   // scrcode: .
        .text "bfn"
        .byte $c6,$82,$7c                           // scrcode: ...
        .text "@"
        .byte $c6,$8c,$c8,$f0,$c8,$8c,$c6           // scrcode: .......
        .text "@"
        .byte $80,$c0,$c0,$c0,$c0,$98,$7e           // scrcode: .......
        .text "@"
        .byte $82,$ee,$fe,$92,$c6,$c6,$82           // scrcode: .......
        .text "@"
        .byte $c6,$e6,$f2,$9a,$8e,$c6,$82           // scrcode: .......
        .text "@"
        .byte $7c,$82,$c6,$ee,$c6,$82,$7c           // scrcode: .......
        .text "@"
        .byte $fc,$86,$c2,$fc,$c0,$c0,$80           // scrcode: .......
        .text "@"
        .byte $7c,$82,$c6,$c6,$da,$86,$7c           // scrcode: .......
        .text "@"
        .byte $7c,$c6,$c6,$fc,$c8,$cc,$86           // scrcode: .......
        .text "@"
        .byte $7c,$c2,$c0,$7c                       // scrcode: ....
        .text "f"
        .byte $86,$7c                               // scrcode: ..
        .text "@"
        .byte $fe                                   // scrcode: .
        .text "p88888@"
        .byte $82,$c6,$c6,$c6,$c6,$82,$7c           // scrcode: .......
        .text "@"
        .byte $82,$c6,$ee,$c6,$44                   // scrcode: .....
        .text "(8@"
        .byte $82,$c6,$ee,$c6,$d6,$ba,$ee           // scrcode: .......
        .text "@"
        .byte $c6,$c6,$6c                           // scrcode: ...
        .text "p"
        .byte $6c,$c6,$c6                           // scrcode: ...
        .text "@"
        .byte $82,$c6,$6c                           // scrcode: ...
        .text "888p@"
        .byte $fe,$82                               // scrcode: ..
        .text "lx0"
        .byte $42,$fe                               // scrcode: ..
        .text "@"
        .byte $aa,$55                               // scrcode: ..
        .text "@@@@@@@@@@@@@@"
        .byte $aa,$55,$60,$60,$60,$60,$60,$60       // scrcode: ........
        .fill 8, $60
        .byte $ff                                   // scrcode: .
        .text "@?@o@c@@@@@@@@@xxxx@@x@"
        .byte $66,$66,$66                           // scrcode: ...
        .text "@@@@@@@@a@@@@"
        .text "@@@b@@@@@@@d@@@@@@@h@@@@@@@p@@@@@@@ @@@@"
        .text "@@@"
        .byte $40                                   // scrcode: .
        .text "@@@@@@@"
        .byte $80                                   // scrcode: .
        .text "@@@@@@p8p@@@@@@@@xx0@@@"
        .byte $7e                                   // scrcode: .
        .text "@@@@"
        .text "@@@@@00@@cflx0"
        .byte $60                                   // scrcode: .
        .text "@"
        .byte $7c,$c6,$c6,$d6,$c6,$c6,$7c           // scrcode: .......
        .text "@x8xxxx<@"
        .byte $7c,$c6                               // scrcode: ..
        .text "fl0"
        .byte $60,$fe                               // scrcode: ..
        .text "@"
        .byte $7c,$c6                               // scrcode: ..
        .text "f"
        .byte $1c                                   // scrcode: .
        .text "f"
        .byte $c6,$7c                               // scrcode: ..
        .text "@"
        .byte $1c                                   // scrcode: .
        .text "<"
        .byte $6c,$cc,$fe                           // scrcode: ...
        .text "ll@"
        .byte $fe,$c0,$fc                           // scrcode: ...
        .text "ff"
        .byte $c6,$7c                               // scrcode: ..
        .text "@"
        .byte $7c,$c6,$c0,$fc,$c6,$c6,$7c           // scrcode: .......
        .text "@"
        .byte $fe,$c6                               // scrcode: ..
        .text "l"
        .byte $78                                   // scrcode: .
        .text "000@"
        .byte $7c,$c6,$c6,$7c,$c6,$c6,$7c           // scrcode: .......
        .text "@"
        .byte $7c,$c6,$c6,$7e                       // scrcode: ....
        .text "f"
        .byte $c6,$7c                               // scrcode: ..
        .text "@@xx@@xx@"
        .byte $ff                                   // scrcode: .
        .text "@"
        .byte $ff                                   // scrcode: .
        .text "@"
        .byte $ff                                   // scrcode: .
        .text "@"
        .byte $ff                                   // scrcode: .
        .text "@lx0000xl"
        .byte $ff                                   // scrcode: .
        .text "@"
        .byte $fc                                   // scrcode: .
        .text "@"
        .byte $f0                                   // scrcode: .
        .text "@"
        .byte $c0                                   // scrcode: .
        .text "@0xllllx0<"
        .byte $66                                   // scrcode: .
        .text "flx@x@f"
        .byte $aa,$aa                               // scrcode: ..
        .text "g"
        .byte $ff,$fe                               // scrcode: ..
        .text "g"
        .byte $ff,$fe                               // scrcode: ..
        .text "g"
        .byte $ff,$fe                               // scrcode: ..
        .text "g"
        .byte $ff,$fe                               // scrcode: ..
        .text "e"
        .byte $5f,$d6                               // scrcode: ..
        .text "@"
        .byte $1f,$e0                               // scrcode: ..
        .text "@"
        .byte $1f,$e0                               // scrcode: ..
        .text "@"
        .byte $1f,$e0                               // scrcode: ..
        .text "@"
        .byte $1f,$e0                               // scrcode: ..
        .text "@"
        .byte $1f,$e0                               // scrcode: ..
        .text "@"
        .byte $1f,$e0,$6a,$1f,$e0,$7e,$1f,$e0,$7e,$5f,$e0,$7f,$ff,$e0,$7f,$ff // scrcode: ................
        .byte $e0,$7f,$ff,$e0,$7f,$ff               // scrcode: ......
        .byte $e0,$1f,$ff,$80                       // scrcode: ....
        .text "e"
        .byte $55                                   // scrcode: .
        .text "@@"
        .byte $6a,$aa,$aa,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f // scrcode: ................
        .byte $55,$55,$7f,$80                       // scrcode: ....
        .text "@"
        .byte $7f,$aa,$a8,$7f,$ff,$f8,$7f,$ff,$f8,$7f,$ff // scrcode: ...........
        .byte $f8,$7f,$ff,$f8,$7f,$ff,$f8,$7f,$55,$54,$7f,$80 // scrcode: ............
        .text "@"
        .byte $7f,$aa,$aa,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$55 // scrcode: ................
        .byte $55,$55                               // scrcode: ..
        .text "@"
        .byte $6a,$81,$aa,$7f,$81,$fe,$7f,$81       // scrcode: ........
        .byte $fe,$7f,$81,$fe,$7f,$81,$fe,$7f,$81,$fe,$7f,$81,$fe,$7f,$81,$fe // scrcode: ................
        .byte $7f,$db,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f // scrcode: ................
        .byte $e7,$fe,$7f,$e7,$fe,$7f,$e7,$fe       // scrcode: ........
        .byte $7f,$81,$fe,$7f,$81,$fe,$7f,$81,$fe,$7e // scrcode: ..........
        .text "@"
        .byte $7e,$56                               // scrcode: ..
        .text "@"
        .byte $56                                   // scrcode: .
        .text "@"
        .byte $6a,$aa,$aa,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f // scrcode: ................
        .byte $55,$55,$7f,$80                       // scrcode: ....
        .text "@"
        .byte $7f,$aa,$a8                           // scrcode: ...
        .byte $7f,$ff,$f8,$7f,$ff,$f8,$7f,$ff,$f8,$7f,$ff,$f8,$7f,$ff,$f8,$7f // scrcode: ................
        .byte $55,$54,$7f,$80                       // scrcode: ....
        .text "@"
        .byte $7f,$aa,$aa,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$55 // scrcode: ................
        .byte $55,$55                               // scrcode: ..
        .text "@"
        .byte $6a,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f,$80                               // scrcode: ..
        .text "@"
        .byte $7f                                   // scrcode: .
        .byte $aa,$aa,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff // scrcode: ................
        .byte $fe,$7f,$ff,$fe,$55,$55,$56           // scrcode: .......
        .text "@j"
        .byte $aa,$a0,$1f,$ff,$f8,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f // scrcode: ...............
        .byte $55,$7e,$7f,$80,$56,$7f,$80           // scrcode: .......
        .text "@"
        .byte $7f,$aa,$a8,$7f,$ff,$fa,$7f,$ff,$fe,$5f,$ff,$fe // scrcode: ............
        .text "u"
        .byte $55,$fe                               // scrcode: ..
        .text "@a"
        .byte $fe,$6a,$81,$fe,$7f,$aa,$fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f,$ff // scrcode: ...............
        .byte $fe,$1f,$ff,$f4                       // scrcode: ....
        .text "e"
        .byte $55,$50                               // scrcode: ..
        .encoding "petscii_upper"

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

// --- Region $1000-$1008 ---
.pc = $1000 "dat_1000"

dat_1000:
        .byte $03,$00,$01,$04,$00,$02,$ff,$00,$00   // .........

// --- Region $14cc-$158c ---
.pc = $14cc "dat_14cc"

dat_14cc:
        .byte $16,$01,$27,$01,$38,$01,$4b,$01,$5f,$01,$73,$01,$8a,$01,$a1,$01 // ..'.8.K._.s.....
        .byte $ba,$01,$d4,$01,$f0,$01,$0e,$02,$2d,$02,$4e,$02,$71,$02,$96,$02 // ........-.N.q...
        .byte $bd,$02,$e7,$02,$13,$03,$42,$03,$74,$03,$a9,$03,$e0,$03,$1b,$04 // ......B.t.......
        .byte $5a,$04,$9b,$04,$e2,$04,$2c,$05,$7b,$05,$ce,$05,$27,$06,$85,$06 // Z.....,.{...'...
        .byte $e8,$06,$51,$07,$c1,$07,$37,$08,$b4,$08,$37,$09,$c4,$09,$57,$0a // ..Q...7...7...W.
        .byte $f5,$0a,$9c,$0b,$4e,$0c,$09,$0d,$d0,$0d,$a3,$0e,$82,$0f,$6e,$10 // ....N.........n.
        .byte $68,$11,$6e,$12,$88,$13,$af,$14,$eb,$15,$39,$17,$9c,$18,$13,$1a // h.n.......9.....
        .byte $a1,$1b,$46,$1d,$04,$1f,$dc,$20,$d0,$22,$dc,$24,$10,$27,$5e,$29 // ..F.... .".$.'^)
        .byte $d6,$2b,$72                           // .+r

txt_154f:
        .text ".81&4B7"
        .byte $8c,$3a,$08,$3e,$b8,$41,$a0,$45,$b8   // .:.>.A.E.

txt_155f:
        .text "I N"
        .byte $bc                                   // '<' | $80 (end-of-string marker)
        .byte $52,$ac,$57,$e4,$5c,$70,$62,$4c,$68,$84,$6e,$18,$75,$10,$7c,$70 // R.W.\pbLh.n.u.|p
        .byte $83,$40,$8b,$70,$93,$40,$9c,$78,$a5,$58,$af,$c8,$b9,$e0,$c4,$98 // .@.p.@.x.X......
        .byte $d0,$08,$dd,$30,$ea,$20,$f8,$2e,$fd,$00 // ...0. ....

// --- Region $158e-$18ef ---
.pc = $158e "dat_158e"

dat_158e:
        .byte $00,$07,$0e,$00,$0d,$07,$0d,$0b,$22,$27,$04,$02,$02,$07,$85,$83 // ........"'......
        .text "A"
        .byte $40                                   // @ character
        .text "A>0"
        .byte $1d,$a7,$08
        .byte $44,$00,$c1
        .byte $26,$c3,$00,$bf
        .byte $26
        .byte $c1                                   // .

txt_15af:
        .text "'?!A!"
        .byte $bf                                   // '?' | $80 (end-of-string marker)
        .byte $1b,$c1,$ff,$03,$02,$00,$43,$81,$10,$29,$01,$29,$01,$29,$01,$29 // ......C..).).).)
        .byte $01,$29,$01,$29,$01,$29,$43,$01,$29,$43,$01,$29,$41,$43,$01,$29 // .).).)C.)C.)AC.)
        .byte $01,$29,$01,$29,$01,$29,$01,$29,$01,$29,$01,$29,$41,$03,$29,$47 // .).).).).).)A.)G
        .byte $ff,$ff,$ff,$ff,$87,$0f,$48,$07,$48,$43,$05,$48,$05,$48,$03,$48 // ......H.HC.H.H.H
        .byte $03,$48,$41,$05,$48,$07,$48,$47,$ff,$87,$0e,$31,$07,$31,$43,$05 // .HA.H.HG...1.1C.
        .byte $31,$05,$31,$03,$31,$03,$31,$41,$05,$31,$07,$31,$87,$1b,$00,$ff // 1.1.1.1A.1.1....
        .byte $83,$81,$10,$30,$01,$30,$01,$30,$01,$30,$03,$30,$03,$29,$43,$03 // ...0.0.0.0.0.)C.
        .byte $30,$03,$29,$43,$01,$30,$01,$30,$01,$30,$01,$30,$01,$30,$01,$30 // 0.)C.0.0.0.0.0.0
        .byte $01,$30,$01,$30,$43,$03,$30,$03,$29,$43,$ff,$83,$03,$35,$01,$3a // .0.0C.0.)C...5.:
        .byte $03,$3c,$01,$3a,$03,$3c,$07,$35,$47,$4d,$00,$35,$00,$3a,$03,$3f // .<.:.<.5GM.5.:.?
        .byte $01,$3f,$09,$3e,$03,$35,$01,$3a,$03,$3c,$01,$3a,$03,$3c,$07,$35 // .?.>.5.:.<.:.<.5
        .byte $47,$81,$10,$30,$01,$30,$01,$30,$01,$30,$01,$30,$01,$30,$01,$30 // G..0.0.0.0.0.0.0
        .byte $01,$30,$03,$30,$07,$29,$43,$ff,$00,$01,$41,$ff,$15,$00,$00,$00 // .0.0.)C...A.....
        .byte $00,$00,$00,$00,$02,$01,$01,$04,$01,$02,$01,$02,$01,$70,$08,$08 // .............p..
        .byte $7e,$03,$02,$01,$08,$02,$6b,$02,$18,$1b,$9c,$0b,$05,$40,$a8,$ce // ~.....k......@..
        .byte $30,$00,$00,$00,$00,$00,$10,$00,$11,$00,$87,$00,$11,$87,$04,$00 // 0...............
        .byte $07,$00,$07,$00,$07,$00,$07,$00,$83,$0e,$31,$83,$04,$00,$07,$00 // ..........1.....
        .byte $ff,$9f,$0d,$24,$80,$07,$41,$8e,$c0,$87,$45,$85,$0f,$48,$49,$ff // ...$..A...E..HI.
        .byte $7c,$00,$14,$83,$00,$11,$81,$04,$00,$83,$00,$11,$83,$04,$00,$83 // |...............
        .byte $00,$16,$81,$04,$00,$83,$00,$18,$83,$04,$00,$81,$00,$16,$01,$18 // ................
        .byte $03,$11,$81,$04,$00,$83,$00,$11,$83,$04,$00,$ff,$0d,$08,$05,$83 // ................
        .byte $00,$16,$81,$04,$00,$83,$00,$18,$01,$1b,$03,$1d,$81,$04,$00,$ff // ................
        .byte $04,$01,$02,$83,$00,$16,$81,$04,$00,$83,$00,$18,$83,$04,$00,$83 // ................
        .byte $00,$0f,$ff,$0d,$0d,$06,$83,$00,$16,$81,$04,$00,$83,$00,$18,$87 // ................
        .byte $04,$00,$ff,$00,$00,$00,$40,$40,$2c,$81,$10,$29,$01,$29,$01,$29 // ......@@,..).).)
        .byte $01,$29,$01,$29,$01,$29,$01,$29,$01,$29,$01,$29,$03,$29,$03,$29 // .).).).).).).).)
        .byte $01,$29,$03,$29,$03,$29,$03,$29,$47,$ff,$01,$29,$01,$29,$01,$29 // .).).).)G..).).)
        .byte $01,$29,$03,$29,$07,$29,$43,$80,$00,$35,$84,$c1,$30,$30,$80,$03 // .).).)C..5..00..
        .byte $35,$00,$3a,$ff,$00,$18,$00,$00,$00,$00,$0c,$00,$18,$00,$18,$00 // 5.:.............
        .byte $07,$0c,$04,$09,$05,$08,$05,$00,$00,$fa,$87,$00,$11,$87,$04,$00 // ................
        .byte $07,$00,$01,$00,$81,$0b,$27,$01,$2c,$01,$30,$03,$33,$01,$33,$03 // ......'.,.0.3.3.
        .byte $30,$03,$30,$01,$30,$01,$2c,$01,$30,$01,$2c,$01,$27,$87,$04,$00 // 0.0.0.,.0.,.'...
        .byte $ff,$81,$30,$10,$00,$02,$40,$c0,$03,$80,$30,$80,$15,$80,$20,$80 // ..0...@...0... .
        .byte $10,$80,$20,$80,$20,$80,$10,$80,$20,$85,$83,$00,$11,$81,$04,$00 // .. . ... .......
        .byte $83,$00,$11,$85,$04,$00,$83,$00,$11,$81,$04,$00,$83,$00,$12,$81 // ................
        .byte $04,$00,$83,$00,$11,$81,$04,$00,$81,$00,$11,$03,$11,$01,$11,$01 // ................
        .byte $11,$83,$04,$00,$83,$00,$11,$03,$11,$81,$04,$00,$81,$00,$12,$03 // ................
        .byte $12,$ff,$bf,$11,$3b,$bf,$c0,$0e,$bb,$2f,$b8,$8f,$80,$1c,$b8,$ff // ....;..../......
        .byte $81,$30,$11,$00,$04,$40,$40,$0e,$80,$30,$80,$15,$80,$20,$80,$10 // .0...@@..0... ..
        .byte $80,$20,$85,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$83,$01,$35 // . .............5
        .byte $a1,$05,$35,$b9,$80,$06,$b5,$97,$80,$09,$b6,$80,$07,$4d,$86,$c9 // ..5..........M..
        .byte $87,$59,$ff,$47,$a7,$08               // .Y.G..

txt_184b:
        .text "D'"
        .byte $c3                                   // 'C' | $80 (end-of-string marker)
        .byte $03                                   // .

txt_184f:
        .text "A#"
        .byte $bf                                   // '?' | $80 (end-of-string marker)
        .byte $23,$c1,$23,$bf,$23,$bc,$27,$bf,$0b,$c1,$43,$03,$44,$03,$44,$03 // #.#.#.'...C.D.D.

txt_1862:
        .text "D%C$"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $24,$bf,$17,$c1,$43,$83,$09,$38,$83,$0a,$3c,$03 // $...C..8..<.

txt_1873:
        .text "<S"
        .byte $a3                                   // '#' | $80 (end-of-string marker)
        .byte $08                                   // .

txt_1877:
        .text "?#"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $23,$bf,$23,$bc,$27,$bf,$0b,$c1,$43,$03,$48,$03,$48,$03 // #.#.'...C.H.H.

txt_1888:
        .text "H%F$"
        .byte $c4                                   // 'D' | $80 (end-of-string marker)
        .byte $24,$c3,$17,$c4,$47,$ff,$81,$09,$38,$01,$38,$01,$38,$01,$38,$01 // $...G...8.8.8.8.
        .byte $38,$41,$01,$38,$01,$38,$41,$01,$38,$01,$38,$41,$83,$0a,$3c,$03 // 8A.8.8A.8.8A..<.
        .byte $3c,$5f,$ff,$57,$81,$0c,$3c,$01,$30,$01,$36,$01,$45,$87,$c2,$00 // <_.W..<.0.6.E...
        .byte $41,$4f,$80,$07,$4d,$86,$ca,$07,$5d,$ff,$81,$2c,$81,$20,$11,$80 // AO..M...]..,. ..
        .byte $01,$11,$00,$01,$11,$55,$02,$10,$00,$02,$85,$80,$02,$41,$0b,$06 // .....U.......A..
        .byte $00,$84,$a0,$80,$00,$41,$0a,$f0,$00,$20,$10,$00,$08,$11,$09,$f8 // .....A... ......
        .byte $00,$00,$01                           // ...

// --- Region $18f6-$1acf ---
.pc = $18f6 "dat_18f6"

dat_18f6:
        .byte $15,$10,$80,$04,$01,$0b,$06,$00,$84,$a0,$80,$08,$43,$08,$68,$00 // ............C.h.
        .byte $10,$00,$00,$06,$11,$07,$97,$00,$00,$01,$80,$00,$15,$09,$99,$00 // ................
        .byte $00,$00,$00,$00,$41,$09,$79,$22,$40,$00,$00,$01,$41,$09,$99,$00 // ....A.y"@...A...
        .byte $48,$10,$00,$01,$41,$09,$99,$00,$48,$10,$00,$00,$41,$39,$60,$12 // H...A...H...A9`.
        .byte $c0,$24,$00,$03,$17,$09,$00,$20,$00,$04,$00,$00,$41,$00,$89,$2a // .$..... ....A..*
        .byte $04,$00,$40,$00,$41,$0b,$09,$00,$40,$b4,$40,$00,$41,$0b,$09,$00 // ..@.A...@.@.A...
        .byte $40,$14,$80,$00,$41,$09,$00,$00       // @...A...

txt_195e:
        .byte $40                                   // @ character
        .text "D"
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $02,$41,$00,$69,$13,$50,$00,$80,$08,$41,$38,$49,$1b,$03,$00,$80 // .A.i.P...A8I....
        .byte $08,$11,$28,$48,$00,$00,$0a,$80,$08,$15,$63,$00,$00,$00,$0a,$00 // ..(H......c.....
        .byte $08,$41,$ba,$00,$1a,$30,$00,$a0,$01,$51,$b8,$ff,$00,$30,$04,$a0 // .A...0...Q...0..
        .byte $00,$41,$cc,$da,$33,$0c,$00,$80,$01,$15,$09,$08,$00,$00,$0a,$80 // .A..3...........
        .byte $08,$41,$0f,$0a,$00,$00,$03,$80,$08,$41,$7e,$08,$00,$30,$0a,$00 // .A.......A~..0..
        .byte $00,$00,$00,$00,$00,$00,$00,$80,$08,$11,$48,$6b,$13,$00,$00,$48 // ..........Hk...H
        .byte $81,$81,$02,$40,$f0,$f4,$fc,$01,$11,$41,$02,$3c,$fd,$00,$00,$b6 // ...@.....A.<....
        .byte $17,$41,$01,$40,$fd,$00,$00,$00,$00,$81,$04,$3c,$fe,$00,$00,$48 // .A.@.......<...H
        .byte $81,$81,$02,$40,$f0,$f4,$fd,$48,$81,$81,$02,$40,$f0,$00,$00,$15 // ...@...H...@....
        .byte $18,$41,$01,$40,$fd,$00,$00,$00,$41,$11,$04,$00,$f8,$00,$00,$03 // .A.@....A.......
        .byte $21,$11,$03,$00,$f7,$00,$00,$02,$21,$11,$03,$00,$fc,$00,$00,$03 // !.......!.......
        .byte $21,$11,$03,$00,$fc,$00,$00,$00,$11,$81,$01,$40,$90,$f4,$fd,$00 // !..........@....
        .byte $81,$00,$01,$00,$31,$00,$00,$00,$43,$00,$0c,$00,$31,$f4,$ff,$04 // ....1...C...1...
        .byte $11,$41,$02,$3c,$fd,$00,$00,$05,$11,$41,$02,$3c,$fd,$00,$00,$33 // .A.<.....A.<...3
        .byte $15,$00,$02,$00,$81,$00,$00,$00,$21,$00,$01,$00,$80,$00,$00,$00 // ........!.......
        .byte $81,$81,$01,$5b,$00,$00,$00,$00,$81,$81,$01,$40,$00,$00,$00,$00 // ...[.......@....
        .byte $81,$81,$01,$38,$00,$00,$00,$00,$43,$00,$03,$00,$f8,$00,$00,$00 // ...8....C.......
        .byte $41,$81,$05,$3e,$fa,$00,$00,$00,$41,$81,$05,$3e,$fe,$00,$00,$00 // A..>....A..>....
        .byte $81,$81,$05,$42,$97,$00,$00,$00,$81,$81,$05,$42,$97,$00,$00,$00 // ...B.......B....
        .byte $81,$81,$05,$63,$fd,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ...c............
        .byte $81,$81,$01,$38,$00,$00,$00,$fc,$4d,$8f,$1a,$1b,$1b,$fc,$4d,$8f // ...8....M.....M.
        .byte $1a,$1b,$1b,$ec,$92,$ee,$43,$aa,$9e,$dd,$eb,$fb,$02,$09,$0c,$72 // ......C........r
        .byte $7e,$cf,$32,$48,$93,$8f,$b0,$af,$c6,$d8,$04,$18,$2b,$a4,$bb // ~.2H........+..

// --- Region $1adc-$1d87 ---
.pc = $1adc "Segment $1adc"
        .byte $1c,$1c,$1c,$1c,$1c,$1d,$1d,$1d,$1d,$1d,$17,$18,$18,$18,$17,$18 // ................
        .byte $16,$16,$16,$17,$17,$17,$15,$15,$15,$15,$16,$16,$1c,$18,$17,$17 // ................
        .byte $80,$00,$00,$00,$00,$00,$00,$22,$22,$23,$07,$08,$09,$07,$0a,$09 // .......""#......
        .byte $07,$08,$00,$00,$00,$00,$09,$07,$08,$09,$07,$0a,$00,$0f,$21,$21 // ..............!!
        .byte $88,$13,$80,$10,$11,$11,$00,$00,$00,$00,$00,$00,$00,$00,$00,$09 // ................
        .byte $07,$08,$09,$07,$0a,$00,$15,$1a,$1e,$1a,$1b,$1a,$1b,$1c,$1c,$1f // ................
        .byte $1f,$1c,$1c,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $ff,$02,$02,$02,$02,$02,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04 // ................
        .fill 13, $04
        .byte $02,$02,$02,$02,$02,$04,$04,$04,$04,$02,$02,$02,$02,$02,$02,$02 // ................
        .byte $02,$02,$02,$02,$02,$02,$02,$20,$00,$00,$00,$00,$00,$00,$00,$00 // ....... ........
        .byte $00,$00,$00,$00,$00,$ff,$8c,$00,$00,$00,$00,$00,$00,$0d,$0d,$0d // ................
        .byte $0d,$03,$01,$03,$05,$03,$06,$0b,$03,$01,$03,$0c,$0b,$0b,$0e,$03 // ................
        .byte $06,$03,$0c,$03,$0c,$12,$0d,$0d,$0d,$0d,$0d,$0d,$0d,$0d,$03,$0c // ................
        .byte $03,$06,$14,$8c,$16,$17,$16,$18,$16,$17,$16,$19,$16,$17,$16,$18 // ................
        .byte $1d,$1d,$16,$17,$16,$18,$16,$17,$16,$18,$1d,$1d,$00,$00,$00,$00 // ................
        .fill 9, $00
        .byte $ff,$0f,$21,$21,$ff,$04,$ff,$8c,$0b,$ff,$5f,$ff,$81,$06,$38,$03 // ..!!......_...8.
        .byte $38,$01,$38,$85,$02,$30,$85,$06,$38,$01,$38,$01,$38,$87,$02,$30 // 8.8..0..8.8.8..0
        .byte $81,$06,$38,$01,$38,$01,$38,$01,$38,$85,$02,$30,$85,$06,$38,$03 // ..8.8.8.8..0..8.
        .byte $38,$83,$02,$30,$01,$30,$01,$30,$ff,$81,$06,$38,$03,$38,$01,$38 // 8..0.0.0...8.8.8
        .byte $85,$02,$30,$85,$06,$38,$01,$38,$01,$38,$87,$02,$30,$81,$06,$38 // ..0..8.8.8..0..8
        .byte $01,$38,$01,$38,$01,$38,$85,$02,$30,$81,$06,$38,$87,$02,$30,$47 // .8.8.8..0..8..0G
        .byte $ff,$83,$00,$11,$81,$04,$00,$83,$00,$11,$85,$04,$00,$83,$00,$16 // ................
        .byte $81,$04,$00,$83,$00,$18,$81,$04,$00,$83,$00,$11,$83,$04,$00,$83 // ................
        .byte $00,$11,$81,$04,$00,$83,$00,$11,$81,$04,$00,$83,$00,$16,$03,$18 // ................
        .byte $01,$1b,$05,$1d,$83,$00,$11,$81,$04,$00,$83,$00,$11,$85,$04,$00 // ................
        .byte $83,$00,$16,$81,$04,$00,$83,$00,$18,$81,$04,$00,$83,$00,$11,$ff // ................
        .byte $43,$05,$11,$05,$16,$07,$18,$01,$0f,$05,$0f,$ff,$43,$05,$11,$05 // C...........C...
        .byte $11,$05,$16,$05,$1b,$03,$1b,$ff,$81,$06,$38,$01,$38,$01,$38,$01 // ..........8.8.8.
        .byte $38,$85,$02,$30,$81,$06,$38,$03,$38,$03,$38,$87,$02,$30,$81,$06 // 8..0..8.8.8..0..
        .byte $38,$01,$38,$01,$38,$01,$38,$85,$02,$30,$81,$06,$38,$03,$38,$01 // 8.8.8.8..0..8.8.
        .byte $38,$01,$38,$83,$02,$30,$01,$30,$01,$30,$ff,$43,$05,$11,$05,$11 // 8.8..0.0.0.C....
        .byte $03,$16,$03,$16,$01,$0f,$05,$0f,$ff,$9d,$03,$3c,$00,$35,$00,$3a // ...........<.5.:
        .byte $07,$3f,$07,$3e,$07,$3a,$07,$35,$ff,$07,$3a,$03,$3c,$13,$35,$ff // .?.>.:.5..:.<.5.
        .byte $5d,$80,$03,$35,$00,$3a,$ff,$1f,$3c,$ff,$83,$00,$11,$81,$04,$00 // ]..5.:..<.......
        .byte $83,$00,$11,$85,$04,$00,$83,$00,$12,$81,$04,$00,$83,$00,$0f,$81 // ................
        .byte $04,$00,$83,$00,$11,$83,$04,$00,$83,$00,$11,$81,$04,$00,$83,$00 // ................
        .byte $11,$81,$04,$00,$83,$00,$12,$03,$12,$03,$0f,$03,$0f,$83,$00,$11 // ................
        .byte $81,$04,$00,$83,$00,$11,$85,$04,$00,$83,$00,$12,$81,$04,$00,$83 // ................
        .byte $00,$0f,$81,$04,$00,$83,$00,$11,$83,$04,$00,$83,$00,$11,$81,$04 // ................
        .byte $00,$83,$00,$11,$01,$11,$83,$00,$12,$03,$12,$03,$0f,$03,$0f,$ff // ................
        .byte $43,$05,$11,$05,$11,$03,$18,$05,$0f,$05,$0f,$ff,$87,$04,$00,$07 // C...............
        .byte $00,$07,$00,$07,$00,$ff               // ......

// --- Region $1df4-$1e1e ---
.pc = $1df4 "dat_1df4"

dat_1df4:
        .byte $bd,$28,$17,$9d,$00,$c0,$60,$00,$00,$00,$00,$00,$2f,$03,$2f,$01 // .(....`....././.
        .byte $2f,$01,$2f,$01,$2f,$ff,$81,$02,$1a,$01,$1a,$01,$1a,$01,$1a,$03 // /././...........
        .byte $1d,$01,$1f,$01,$1d,$47,$87,$03,$32,$ff,$81 // .....G..2..

// --- Region $1e20-$1fa6 ---
.pc = $1e20 "dat_1e20"

dat_1e20:
        .byte $15,$01,$15,$01,$15,$01,$15,$03,$18,$01,$1a,$01,$18,$47,$87,$03 // .............G..
        .byte $32,$ff,$81,$02,$1a,$01,$1a,$03,$26,$01,$1c,$01,$1c,$03,$28,$01 // 2.......&.....(.
        .byte $1d,$01,$1d,$03,$29,$01,$1e,$01,$1e,$03,$2a,$ff,$83,$07,$32,$07 // ....).....*...2.
        .byte $32,$07,$2f,$07,$2c,$03,$2c,$ff,$85,$02,$13,$01,$1f,$81,$03,$2f // 2./.,.,......../
        .byte $81,$02,$16,$03,$18,$01,$13,$01,$1f,$03,$13,$81,$03,$2f,$81,$02 // ............./..
        .byte $22,$01,$15,$01,$21,$ff,$85,$02,$18,$01,$24,$81,$03,$2f,$81,$02 // "...!.....$../..
        .byte $1b,$03,$1d,$01,$18,$01,$24,$03,$18,$81,$03,$22,$81,$02,$2e,$01 // ......$...."....
        .byte $21,$01,$2d,$ff,$83,$08,$2b,$03,$2b,$03,$29,$01,$2b,$03,$28,$03 // !.-...+.+.).+.(.
        .byte $28,$03,$26,$01,$26,$01,$22,$01,$23,$03,$24,$03,$24,$03,$22,$01 // (.&.&.".#.$.$.".
        .byte $24,$03,$21,$03,$21,$03,$1f,$01,$1f,$01,$13,$01,$14,$27,$15,$97 // $.!.!........'..
        .byte $90,$15,$43,$03,$21,$41,$03,$21,$41,$07,$15,$87,$01,$38,$ff,$9f // ..C.!A.!A....8..
        .byte $08,$1d,$1f,$1b,$1f,$18,$1f,$15,$1f,$1a,$1f,$18,$1f,$13,$0f,$15 // ................
        .byte $0f,$16,$1f,$1d,$1f,$1b,$1f,$18,$1f,$15,$1f,$1a,$1f,$18,$1f,$13 // ................
        .byte $1f,$15,$ff,$83,$10,$11,$81,$11,$41,$01,$48,$83,$03,$32,$83,$10 // ........A.H..2..
        .byte $11,$03,$11,$81,$11,$41,$01,$48,$83,$03,$32,$81,$11,$41,$01,$48 // .....A.H..2..A.H
        .byte $ff,$83,$10,$16,$81,$11,$41,$01,$48,$83,$03,$32,$83,$10,$16,$03 // ......A.H..2....
        .byte $16,$81,$11,$41,$01,$48,$83,$03,$32,$81,$11,$41,$01,$48,$ff,$83 // ...A.H..2..A.H..
        .byte $10,$18,$81,$11,$43,$01,$48,$83,$03,$32,$83,$10,$18,$03,$18,$81 // ....C.H..2......
        .byte $11,$43,$01,$48,$83,$03,$32,$81,$11,$43,$01,$48,$ff,$83,$10,$15 // .C.H..2..C.H....
        .byte $81,$11,$40,$01,$43,$83,$03,$32,$83,$10,$15,$03,$15,$81,$11,$40 // ..@.C..2.......@
        .byte $01,$43,$83,$03,$32,$81,$11,$40,$01,$43,$ff,$83,$10,$1a,$81,$11 // .C..2..@.C......
        .byte $40,$01,$45,$83,$03,$32,$83,$10,$1a,$03,$1a,$81,$11,$40,$01,$45 // @.E..2.......@.E
        .byte $83,$03,$32,$81,$11,$40,$01,$45,$ff,$83,$10,$17,$81,$11,$41,$01 // ..2..@.E......A.
        .byte $47,$83,$03,$32,$83,$10,$17,$03,$17,$81,$11,$41,$01,$47,$83,$03 // G..2.......A.G..
        .byte $32,$81,$11,$41,$01,$47,$ff           // 2..A.G.

// --- Region $1fd8-$1fff ---
.pc = $1fd8 "dat_1fd8"

dat_1fd8:
        .byte $a9,$c0,$8d,$fd,$13,$60,$09,$40,$8d,$0a,$14,$a9,$0f,$8d,$18,$d4 // .....`.@........
        .byte $60,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // `...............
        .byte $00,$00,$00,$00,$10,$0f,$10,$09       // ........

// --- Region $2077-$208d ---
.pc = $2077 "dat_2077"

dat_2077:
        .byte $7f                                   // .

txt_2078:
        .text " G#Z#"
        .byte $09,$24,$a9,$00,$8d,$12,$d0,$a9,$1b,$8d,$11,$d0,$20,$92,$20,$20 // .$.......... .  
        .byte $0e                                   // .

// --- Region $2239-$2262 ---
.pc = $2239 "dat_2239"

dat_2239:
        .byte $07,$07,$07,$07,$07,$06,$06,$07,$06,$06,$06,$06,$06,$06,$07,$06 // ................
        .byte $06,$06,$06,$06,$07,$06,$06,$06,$06,$06,$06,$06,$06,$07,$07,$07 // ................
        .byte $07,$07,$07,$07,$07,$06,$06,$00,$28,$00 // ........(.

// --- Region $2269-$2274 ---
.pc = $2269 "dat_2269"

dat_2269:
        .byte $68,$90,$b8,$e0,$48,$30,$58,$80,$a8,$d0,$f8,$20 // h...H0X.... 

// --- Region $2281-$229e ---
.pc = $2281 "dat_2281"

dat_2281:
        .byte $11,$50,$28,$00,$01,$02,$03,$01,$02,$03,$01,$02,$03,$01,$02,$03 // .P(.............
        .byte $01,$02,$01,$03,$05,$01,$02,$03,$01,$02,$03,$01,$06,$07 // ..............

// --- Region $22a1-$22a8 ---
.pc = $22a1 "dat_22a1"

dat_22a1:
        .byte $03,$0a,$0b,$0c,$0d,$0e,$0f,$11       // ........

// --- Region $22aa-$2340 ---
.pc = $22aa "dat_22aa"

dat_22aa:
        .byte $25,$08,$20,$1a,$0d,$07,$20,$1e,$26,$05,$0a,$13,$26,$27,$04,$1f // %. ... .&...&'..
        .byte $18,$23,$20,$0c,$1d,$1b,$24,$17,$12,$17,$25,$12,$1c,$16,$17,$03 // .# ...$...%.....
        .byte $21,$19,$03,$1e,$0e,$0c,$07,$05,$08,$11,$0c,$0d,$06,$0b,$0e,$11 // !...............
        .byte $0d,$10,$09,$0a,$0e,$12,$10,$08,$0b,$0c,$06,$09,$0d,$0a,$11,$10 // ................
        .byte $06,$07,$12,$10,$08,$0b,$0c,$06,$09,$0d // ..........

txt_22f4:
        .text "'(+%'%$*%(%#(+*'#%+**$%#%*%)*($((#)')*#$$%&"
        .byte $01,$01,$02,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$01,$00,$01 // ................
        .byte $03,$00,$00,$02,$00,$00,$00,$00,$03,$02,$01,$01,$00,$05,$03,$09 // ................
        .byte $00,$09                               // ..

// --- Region $2396-$2446 ---
.pc = $2396 "Segment $2396"
        .byte $00,$32,$00,$31,$00,$30,$00,$2f,$00,$2e,$00,$00,$00,$00,$01,$01 // .2.1.0./........
        .byte $01,$02,$02,$02,$02,$03,$03,$03,$04,$04,$04,$05,$05,$05,$06,$06 // ................
        .byte $07,$07,$08,$08,$09,$0a,$0b,$0c,$0d,$0e,$0f,$10,$11,$12,$13,$14 // ................
        .byte $16,$18,$1a,$1d                       // ....

txt_23ca:
        .text " $).4:AGGA:4.)$ "
        .byte $1d,$1a,$18,$16,$14,$13,$12,$11,$10,$0f,$0e,$0d,$0c,$0b,$0a,$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,$00,$00,$00,$00,$00,$00,$00,$00,$00,$a9 // ................
        .byte $f5,$8d,$12,$d0,$a0,$00,$ae,$57,$24,$f0,$28,$ad,$12,$d0,$38,$e9 // .......W$.(...8.
        .byte $01,$29,$07,$49,$10,$8d,$11,$d0,$b9,$00,$01,$8d,$21,$d0,$8d,$20 // .).I........!.. 
        .byte $d0,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$c8 // ................
        .byte $ca,$d0,$d8,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea // .............

// --- Region $249d-$24ab ---
.pc = $249d "Segment $249d"
        .byte $02,$02,$08,$0a,$07,$07,$01,$01,$07,$07,$0a,$08,$02,$02,$ff // ...............

// --- Region $24eb-$2500 ---
.pc = $24eb "dat_24eb"

dat_24eb:
        .byte $0b,$0b,$0c,$0b,$0c,$0c,$0f,$0c,$01,$0c,$01,$01,$0c,$01,$0c,$0f // ................
        .byte $0c,$0c,$0b,$0c,$0b,$0b               // ......

// --- Region $2517-$251f ---
.pc = $2517 "dat_2517"

dat_2517:
        .byte $47,$0b,$0c,$0f,$01,$0f,$0c,$0b       // G.......

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

// --- Region $2557-$25c8 ---
.pc = $2557 "dat_2557"

dat_2557:
        // === Fill data (46 bytes, $2557-$2584) ===
        .fill 46, $01
        // === Sine/lookup table (68 bytes, range $00-$ff) ===
        .byte $ff,$00,$00,$00,$01,$01,$01,$02,$02,$03,$03,$04,$04,$05,$06,$07 // ................
        .byte $08,$09,$0a,$0b,$0c,$0d,$0e,$0f,$10,$12,$14,$16,$18,$1a,$1c,$1e // ................
        .byte $1f                                   // .

txt_25a6:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$%&'()*++,,--....///.--,,++)('&"

// --- Region $25d7-$25eb ---
.pc = $25d7 "dat_25d7"

dat_25d7:
        .byte $10,$0f,$0e,$0d,$0c,$0b,$0a,$09,$08,$07,$06,$05,$04,$04,$03,$03 // ................
        .byte $02,$02,$01,$01,$01                   // .....

// --- Region $260e-$2643 ---
.pc = $260e "dat_260e"

dat_260e:
        .byte $ad,$40,$03,$f0,$01,$60,$ee,$40,$03,$a0,$00,$b1,$14,$f0,$1c,$99 // .@...`.@........
        .byte $d0,$06,$c8,$c0,$c8,$d0,$f4,$a5,$14,$18,$69,$c8,$85,$14,$a5,$15 // ..........i.....
        .byte $69,$00,$85,$15,$a0,$00,$b1,$06,$f0,$01,$60,$a9,$67,$85,$14,$a9 // i.........`.g...
        .byte $28,$85,$15,$60,$66                   // (..`f

dat_2643:
        // === Fill data (1 bytes, $2643-$2643) ===
        .byte $00                                   // .

// --- Region $27b3-$27bd ---
.pc = $27b3 "Segment $27b3"
        .byte $40,$70,$a0,$d0,$00                   // @p...

txt_27b8:
        .text "()*+,-"

// --- Region $2811-$2c50 ---
.pc = $2811 "dat_2811"

dat_2811:
        .byte $13,$90,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11 // ...............

txt_2820:
        .text "            PROUDLY PRESENTS"
        .byte $08,$00                               // ..

txt_283e:
        .text "               "
        .byte $12,$19,$07,$01,$12,$20,$10,$0c,$15,$13 // ..... ....

txt_2857:
        .text "                  "

txt_2869:
        .encoding "screencode_mixed"
        .text "this game was cracked and trained by"
        .encoding "petscii_upper"

dat_288d:
        .text "                                                          "
        .byte $0a,$05,$17,$05,$0c,$13               // ......

dat_28cd:
        .text "                                                                     "
        .byte $04,$01,$14,$05                       // ....

txt_2916:
        .text " : 25-11-1987             "

txt_2930:
        .encoding "screencode_mixed"
        .text "this is the final and trained version"
        .encoding "petscii_upper"

dat_2955:
        .text "                                            "

txt_2981:
        .encoding "screencode_mixed"
        .text "and ofcourse it is from the leading"
        .encoding "petscii_upper"

dat_29a4:
        .text "                                                      "

txt_29da:
        .encoding "screencode_mixed"
        .text "group in denmark"
        .encoding "petscii_upper"

txt_29ea:
        .text "                "

txt_29fa:
        .encoding "screencode_mixed"
        .text "some heavy and quick greetings to"
        .encoding "petscii_upper"

dat_2a1b:
        .text "                                              "

txt_2a49:
        .encoding "screencode_mixed"
        .text "ikari - decibel - goonies - hotline"
        .encoding "petscii_upper"

dat_2a6c:
        .text "                                              "

txt_2a9a:
        .encoding "screencode_mixed"
        .text "dominators - wizax - beastie boys"
        .encoding "petscii_upper"

txt_2abb:
        .text "     "

txt_2ac0:
        .encoding "screencode_mixed"
        .text "the shadows - vortex"
        .encoding "petscii_upper"

txt_2ad4:
        .text " 42 - "
        .byte $13,$08,$09,$05,$0c,$04,$20,$2d,$20,$09,$02,$02 // ...... - ...

dat_2ae6:
        .text "                                             "

txt_2b13:
        .encoding "screencode_mixed"
        .text "digital crackers - cleveland c.c"
        .encoding "petscii_upper"

dat_2b33:
        .text "                                             "
        .byte $03,$36,$34,$03,$07,$20,$2d,$20,$14,$12,$09,$01,$0e,$07,$0c,$05 // .64.. - ........

txt_2b70:
        .text " - 2000 "

txt_2b78:
        .encoding "screencode_mixed"
        .text "ad - triton t"
        .encoding "petscii_upper"

txt_2b85:
        .text ".   "

txt_2b89:
        .encoding "screencode_mixed"
        .text "look out for more cracks from us in"
        .encoding "petscii_upper"

dat_2bac:
        .text "                                                         "
        .byte $14,$08,$05,$20,$06,$15,$14,$15,$12,$05 // ... ......

dat_2bef:
        .text "                                                             "

txt_2c2c:
        .encoding "screencode_mixed"
        .text "press fire in port"
        .encoding "petscii_upper"

txt_2c3e:
        .text " 01 "

txt_2c42:
        .encoding "screencode_mixed"
        .text "to go on"
        .encoding "petscii_upper"

txt_2c4a:
        .text "    "
        .byte $00                                   // string terminator
        .byte $20                                   //  

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

// --- Region $2d00-$2e00 ---
.pc = $2d00 "txt_2d00"

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

dat_2d3f:
        // === Fill data (82 bytes, $2d3f-$2d90) ===
        .fill 82, $01
        .byte $02,$03,$04,$05,$06,$07,$08,$09,$0a,$0b,$0c,$0d,$0e,$0f,$10,$11 // ................
        .byte $12,$13,$14,$15,$16,$17,$18,$19,$1a,$1b,$1c,$1d,$1e,$1f // ..............

txt_2daf:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$%&'()*+,-./0123456789:;<=>?"

dat_2dcf:
        // === Fill data (36 bytes, $2dcf-$2df2) ===
        .fill 36, $40
        .text "A"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $ff

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

// --- Region $2f61-$2f6f ---
.pc = $2f61 "Segment $2f61"
        .fill 15, $00

// --- Region $2fc2-$300b ---
.pc = $2fc2 "dat_2fc2"

dat_2fc2:
        // === Fill data (62 bytes, $2fc2-$2fff) ===
        .fill 62, $ff
        .byte $00,$6a,$d8,$60,$df,$dd,$f2,$00,$73,$ff,$f0 // .j.`....s..

dat_300b:
        // === Fill data (1 bytes, $300b-$300b) ===
        .byte $00                                   // .

// --- Region $60ca-$60ca ---
.pc = $60ca "dat_60ca"

dat_60ca:
        // === Fill data (1 bytes, $60ca-$60ca) ===
        .byte $00                                   // .

// --- Region $8dd1-$8dd1 ---
.pc = $8dd1 "dat_8dd1"

dat_8dd1:
        // === Fill data (1 bytes, $8dd1-$8dd1) ===
        .byte $00                                   // .

// --- Region $9ddf-$9ddf ---
.pc = $9ddf "irq_9ddf"

irq_9ddf:
        .byte $00                                   // .

// --- Region $ab1f-$ab1f ---
.pc = $ab1f "dat_ab1f"

dat_ab1f:
        // === Fill data (1 bytes, $ab1f-$ab1f) ===
        .byte $00                                   // .

// --- Region $bdd1-$bdd1 ---
.pc = $bdd1 "dat_bdd1"

dat_bdd1:
        // === Fill data (1 bytes, $bdd1-$bdd1) ===
        .byte $00                                   // .

// --- Region $d030-$d030 ---
.pc = $d030 "dat_d030"

dat_d030:
        .byte $01                                   // .
