// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:18
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $34bf  (11456 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $2730 (10032)
// IRQ handler:  $1f18 (irq_1f18)
//
// Code: 2881 bytes, Data: 8575 bytes
// Labels: 298, Subroutines: 20
//
// Cross-references: all OK
// ============================================


// --- Region $0ab0-$0ab0 ---
.pc = $0ab0 "Program $0ab0"
        brk

// --- Region $0b00-$0b06 ---
.pc = $0b00 "sub_0b00"
// Referenced by: jsr from $2201

sub_0b00:
        jmp loc_0bd8
// Referenced by: jsr from $2056

sub_0b03:
        jmp loc_0be6

dat_0b06:
        .byte $01                                   // .

// --- Region $0bd8-$1223 ---
.pc = $0bd8 "loc_0bd8"

loc_0bd8:
        lda dat_0b06
        cmp #$01
        beq loc_0c53
        cmp #$02
        bne loc_0c1f
        jmp loc_0c48

loc_0be6:
        tax
        lda $1587,x
        sta $0b46
        txa
        sta $0b7c
        ldx #$00
        asl
        asl
        clc
        adc $0b7c
        adc $0b7c
        tay

loc_0bfd:
        lda $1355,y
        sta $134f,x
        iny
        inx
        cpx #$06
        bne loc_0bfd
        ldy #$00
        lda $0b7c
        asl
        adc $0b7c
        tax

loc_0c13:
        lda $0b07,y
        sta $0b07,y
        inx
        iny
        cpy #$03
        bne loc_0c13

loc_0c1f:
        ldx #$02
        lda #$00

loc_0c23:
        sta $0b30,x
        sta $0b2a,x
        sta $0b27,x
        sta $0b1e,x
        sta $0b80,x
        sta $0b21,x
        sta $0b83,x
        sta $0b24,x
        dex
        bpl loc_0c23
        lda #$1f
        sta smc_0c54                                // SMC: modifies $0c54
        lda #$01
        sta dat_0b06

loc_0c48:
        ldx #$18
        lda #$00

loc_0c4c:
        sta $d400,x
        dex
        bpl loc_0c4c
        rts

loc_0c53:
.label smc_0c54 = * + 1
        lda #$1f                                    // !SMC: modified by $0c40, $1066, $10a2
        sta $d418
        ldx #$02
        stx $0b0c
        dec $0b42
        bpl loc_0c68
        lda $0b46
        sta $0b42

loc_0c68:
        lda $0b1a,x
        sta $0b1d
        lda $0b42
        cmp $0b46
        bne loc_0c95
        txa
        asl
        tay
        lda $134f,y
        sta $14
        lda $1350,y
        sta $15
        dec $0b24,x
        bpl loc_0c8b
        jmp loc_104f

loc_0c8b:
        lda $0b64,x
        beq loc_0c95
        lda #$fe
        sta $0b33,x

loc_0c95:
        lda $0b30,x
        asl
        asl
        asl
        tay
        sty $0b49
        lda $13b3,y
        and #$f0
        sta $0b3b
        lda $13b6,y
        and #$0f
        sta $0b57
        cmp #$04
        bcs loc_0cb8
        lda $13b4,y
        bne loc_0cbb

loc_0cb8:
        jmp loc_0d49

loc_0cbb:
        lda $0b64,x
        cmp #$02
        bcs loc_0cde
        ldy $0b49
        lda $13b4,y
        pha
        and #$0f
        sta $0b14,x
        pla
        and #$f0
        sta $0b11,x
        lda $13b2,y
        lsr
        lsr
        lsr
        lsr
        sta $0b17,x

loc_0cde:
        lda $0b17,x
        cmp #$ff
        beq loc_0d03
        dec $0b17,x
        lda $0b17,x
        cmp #$ff
        bne loc_0d49
        lda $0b14,x
        and #$fe
        sta $0b14,x
        lda $0b14,x
        and #$7f
        lsr
        sta $0b0e,x
        jmp loc_0d49

loc_0d03:
        lda $0b0e,x
        bpl loc_0d2a
        clc
        lda $0b7d,x
        adc $0b11,x
        sta $0b7d,x
        lda $0b3f,x
        adc #$00
        sta $0b3f,x
        dec $0b0e,x
        bmi loc_0d49
        lda $0b14,x
        and #$7f
        sta $0b0e,x
        jmp loc_0d49

loc_0d2a:
        sec
        lda $0b7d,x
        sbc $0b11,x
        sta $0b7d,x
        lda $0b3f,x
        sbc #$00
        sta $0b3f,x
        dec $0b0e,x
        bpl loc_0d49
        lda $0b14,x
        ora #$80
        sta $0b0e,x

loc_0d49:
        lda $0b3b
        beq loc_0da3
        ldy $0b49
        lda $13b2,y
        and #$0f
        sta smc_0d71                                // SMC: modifies $0d71
        lda $0b54,x
        bne loc_0d7b
        lda $0b5b,x
        clc
        adc $0b3b
        sta $0b5b,x
        lda $0b5e,x
        adc #$00
        sta $0b5e,x
.label smc_0d71 = * + 1
        cmp #$0f                                    // !SMC: modified by $0d56
        bne loc_0d94
        lda #$01
        sta $0b54,x
        bne loc_0d94

loc_0d7b:
        lda $0b5b,x
        sec
        sbc $0b3b
        sta $0b5b,x
        lda $0b5e,x
        sbc #$00
        sta $0b5e,x
        bne loc_0d94
        lda #$00
        sta $0b54,x

loc_0d94:
        ldy $0b1d
        lda $0b5e,x
        sta $d403,y
        lda $0b5b,x
        sta $d402,y

loc_0da3:
        lda $0b83,x
        beq loc_0e0c
        lda $0b78,x
        beq loc_0de7
        clc
        lda $0b7d,x
        adc $0b77
        sta $0b7d,x
        lda $0b3f,x
        adc #$00
        sta $0b3f,x
        cmp $0b73,x
        beq loc_0dc8
        bcs loc_0dd4
        bcc loc_0e0c

loc_0dc8:
        lda $0b7d,x
        cmp $0b70,x
        beq loc_0dd4
        bcs loc_0dd4
        bcc loc_0e0c

loc_0dd4:
        lda $0b70,x
        sta $0b7d,x
        lda $0b73,x
        sta $0b3f,x
        lda #$00
        sta $0b83,x
        beq loc_0e0c

loc_0de7:
        sec
        lda $0b7d,x
        sbc $0b77
        sta $0b7d,x
        lda $0b3f,x
        sbc #$00
        sta $0b3f,x
        cmp $0b73,x
        beq loc_0e02
        bcc loc_0dd4
        bcs loc_0e0c

loc_0e02:
        lda $0b7d,x
        cmp $0b70,x
        beq loc_0dd4
        bcc loc_0dd4

loc_0e0c:
        ldy $0b49
        lda $0b64,x
        cmp #$02
        bcc loc_0e24
        lda $13af,y
        pha

loc_0e1a:
        lda $0b3f,x
        pha
        lda $0b7d,x
        jmp loc_0e36

loc_0e24:
        lda $13b6,y
        and #$f0
        clc
        adc #$01
        pha
        cmp #$81
        bne loc_0e1a
        lda #$c0
        pha
        lda #$00

loc_0e36:
        sta $0b4e,x
        pla
        sta $0b4b,x
        pla
        sta $0b2a,x
        lda $0b57
        cmp #$0f
        bne loc_0e87
        lda $0b51,x
        sec
        sbc $0b24,x
        cmp #$01
        bcc loc_0e6a
        lda $13b4,y
        cmp #$80
        bcs loc_0e6d
        sta $0b76
        lda $0b3f,x
        clc
        adc $0b76
        sta $0b4b,x
        sta $0b3f,x

loc_0e6a:
        jmp loc_0fa6

loc_0e6d:
        sec
        sbc #$80
        sta $0b76
        lda $0b3f,x
        sec
        sbc $0b76
        cmp #$0a
        bcc loc_0e6a
        sta $0b4b,x
        sta $0b3f,x
        jmp loc_0fa6

loc_0e87:
        lda $0b57
        and #$02
        beq loc_0ef4
        lda $0b64,x
        cmp #$02
        bcs loc_0eb6
        ldy $0b49
        lda $0bd3
        sta $0b0b
        lda $13b5,y
        pha
        and #$0f
        sta $0bd2
        sta $0b0a
        pla
        and #$f0
        clc
        adc #$0f
        sta $0bd4
        sta $0b0d

loc_0eb6:
        lda $0bd5,x
        sta $d417
        lda $0b0a
        bne loc_0ec9
        lda $0b0b
        bne loc_0edb
        jmp loc_0efe

loc_0ec9:
        dec $0b0a
        lda $0b0d
        clc
        adc #$08
        sta $0b0d
        sta $d416
        jmp loc_0efe

loc_0edb:
        dec $0b0b
        lda #$00
        cmp $0b0d
        bcs loc_0efe
        lda $0b0d
        sec
        sbc #$08
        sta $0b0d
        sta $d416
        jmp loc_0efe

loc_0ef4:
        dec $0b0c
        bpl loc_0efe
        lda #$f0
        sta $d417

loc_0efe:
        lda $0b57
        and #$04
        beq loc_0f5e
        lda $13b4,y
        cmp #$20
        bcs loc_0f16
        lda #$00
        sta smc_0f4d                                // SMC: modifies $0f4d
        sta smc_0f55                                // SMC: modifies $0f55
        beq loc_0f2a

loc_0f16:
        lda $0b2d,x
        asl
        tay
        lda $120b,y
        sta smc_0f55                                // SMC: modifies $0f55
        lda $120c,y
        sta smc_0f4d                                // SMC: modifies $0f4d
        ldy $0b49

loc_0f2a:
        lda $13b4,y
        asl
        asl
        asl
        sta $0b86
        tya
        pha
        lda $0b64,x
        cmp #$09
        bcs loc_0f59
        clc
        adc $0b86
        tay
        dey
        lda $0baf,y
        sta $0b2a,x
        lda $0b8f,y
        clc
.label smc_0f4d = * + 1
        adc #$00                                    // !SMC: modified by $0f0e, $0f24
        sta $0b4b,x
        lda #$00
        clc
.label smc_0f55 = * + 1
        adc #$00                                    // !SMC: modified by $0f11, $0f1e
        sta $0b4e,x

loc_0f59:
        pla
        tay
        jmp loc_0fa6

loc_0f5e:
        lda $0b57
        and #$08
        beq loc_0fa6
        lda $13b4,y
        beq loc_0f7b
        pha
        lsr
        lsr
        lsr
        lsr
        sta $0b6e
        pla
        and #$0f
        sta $0b6f
        jmp loc_0f84

loc_0f7b:
        lda #$0c
        sta $0b6e
        asl
        sta $0b6f

loc_0f84:
        dec $0b67
        bpl loc_0f8e
        lda #$02
        sta $0b67

loc_0f8e:
        ldy $0b67
        lda $0b2d,x
        clc
        adc $0b6d,y
        asl
        tay
        lda $120b,y
        sta $0b4e,x
        lda $120c,y
        sta $0b4b,x

loc_0fa6:
        ldy $0b1d
        lda $0b4b,x
        sta $d401,y
        lda $0b4e,x
        sta $d400,y
        lda $0b2a,x
        and $0b33,x
        sta $d404,y
        inc $0b64,x
        dex
        bmi loc_1005
        jmp loc_0c68
// Referenced by: jsr from $11a2

sub_0fc7:
        lda $13b0,x
        and #$10
        bne loc_1018
        lda $13b0,x
        and #$0f
        asl
        asl
        asl
        asl
        sta smc_0ff1                                // SMC: modifies $0ff1
        txa
        tay
        ldx $0b38
        lda $0b8c,x
        beq loc_1006
        cmp #$01
        beq loc_0ff8
        lda $0b89,x
        cmp #$10
        bcc loc_1005
        sec
.label smc_0ff1 = * + 1
        sbc #$00                                    // !SMC: modified by $0fd7
        sta $0b89,x
        jmp loc_1002

loc_0ff8:
        lda $0b89,x
        sec
        sbc $13b5,y
        sta $0b89,x

loc_1002:
        inc $0b8c,x

loc_1005:
        rts

loc_1006:
        lda $13b1,y
        sta $0b89,x
        jmp loc_1002
// Referenced by: jsr from $1080, $108c, $1098, $10a5

sub_100f:
        inc $0b1e,x
// Referenced by: jsr from $104f, $1069

sub_1012:
        ldy $0b1e,x
        lda ($14),y
        rts

loc_1018:
        lda $13b0,x
        and #$0f
        asl
        asl
        asl
        asl
        sta smc_103b                                // SMC: modifies $103b
        txa
        tay
        ldx $0b38
        lda $0b8c,x
        beq loc_1006
        cmp #$01
        beq loc_1042
        lda $0b89,x
        cmp #$fe
        bcs loc_1005
        clc
.label smc_103b = * + 1
        adc #$80                                    // !SMC: modified by $1021
        sta $0b89,x
        jmp loc_1002

loc_1042:
        lda $0b89,x
        clc
        adc $13b5,y
        sta $0b89,x
        jmp loc_1002

loc_104f:
        jsr sub_1012
        cmp #$ff
        bne loc_106c
        lda #$00
        sta $0b24,x
        sta $0b21,x
        sta $0b1e,x
        sta $0b27,x
        lda #$1f
        sta smc_0c54                                // SMC: modifies $0c54
        jsr sub_1012

loc_106c:
        cmp #$fe
        bne loc_1076
        lda #$02
        sta dat_0b06
        rts

loc_1076:
        cmp #$74
        bcc loc_1083
        sec
        sbc #$80
        sta $0bcf,x
        jsr sub_100f

loc_1083:
        cmp #$60
        bcc loc_108f
        and #$0f
        sta $0b80,x
        jsr sub_100f

loc_108f:
        cmp #$50
        bcc loc_109b
        and #$0f
        sta $0b27,x
        jsr sub_100f

loc_109b:
        cmp #$40
        bcc loc_10a8
        sec
        sbc #$30
        sta smc_0c54                                // SMC: modifies $0c54
        jsr sub_100f

loc_10a8:
        tay
        lda $0b07,x
        beq loc_10b6
        lda #$ff
        sta $0b24,x
        jmp loc_0fa6

loc_10b6:
        tya
        asl
        tay
        lda $12cf,y
        sta $38
        lda $12d0,y
        sta $39
        lda #$00
        sta $0b64,x
        sta $0b83,x
        lda #$ff
        sta $0b33,x
        ldy $0b21,x
        lda ($38),y
        cmp #$ff
        bne loc_10e4
        lda #$00
        sta $0b21,x
        inc $0b1e,x
        jmp loc_0fa6

loc_10e4:
        cmp #$e0
        bcc loc_1132
        and #$0f
        asl
        asl
        asl
        asl
        sta $0b77
        lda #$01
        sta $0b83,x
        lda $0b2d,x
        sta smc_1109                                // SMC: modifies $1109
        jsr sub_114a
        lda ($38),y
        clc
        adc $0bcf,x
        sta $0b3a
.label smc_1109 = * + 1
        cmp #$41                                    // !SMC: modified by $10f9
        bcc loc_1113
        lda #$01
        sta $0b78,x
        bne loc_1118

loc_1113:
        lda #$00
        sta $0b78,x

loc_1118:
        lda $0b51,x
        sta $0b24,x
        lda $0b3a
        asl
        tay
        lda $120b,y
        sta $0b70,x
        lda $120c,y
        sta $0b73,x
        jmp loc_11dc

loc_1132:
        jsr sub_1138
        jmp loc_115e
// Referenced by: jsr from $1132

sub_1138:
        cmp #$c0
        bcc loc_1150
        and #$1f
        clc
        adc $0b80,x
        sta $0b30,x
        lda #$00
        sta $0b8c,x
// Referenced by: jsr from $10fc

sub_114a:
        inc $0b21,x
        iny
        lda ($38),y

loc_1150:
        cmp #$80
        bcc loc_115d
        and #$3f
        sta $0b51,x
        inc $0b21,x
        iny

loc_115d:
        rts

loc_115e:
        lda ($38),y
        and #$7f
        clc
        adc $0bcf,x
        sta $0b2d,x
        asl
        tay
        lda $120b,y
        sta $0b7d,x
        lda $120c,y
        sta $0b3f,x
        lda $0b51,x
        sta $0b24,x
        txa
        sta $0b38
        tay
        lda $0b30,x
        asl
        asl
        asl
        tax
        lda $13af,x
        sta $0b39
        ldy $0b1d
        lda $13b3,x
        and #$0f
        sta $d403,y
        pha
        lda $13b6,x
        and #$01
        beq loc_11b5
        jsr sub_0fc7
        ldy $0b1d
        lda $0b89,x
        sta $d406,y
        lda #$00
        sta $d405,y
        beq loc_11c4

loc_11b5:
        lda $13b1,x
        sta $d406,y
        lda $13b0,x
        sta $d405,y
        ldx $0b38

loc_11c4:
        lda #$00
        sta $d402,y
        sta $0b5b,x
        sta $0b54,x
        sta $0b3c,x
        pla
        sta $0b5e,x
        lda $0b39
        sta $0b2a,x

loc_11dc:
        inc $0b21,x
        ldy $0b21,x
        lda ($38),y
        cmp #$ff
        bne loc_1200

loc_11e8:
        lda #$00
        sta $0b21,x
        sta $0b80,x
        lda $0b27,x
        beq loc_11fa
        dec $0b27,x
        bne loc_11fd

loc_11fa:
        inc $0b1e,x

loc_11fd:
        jmp loc_0fa6

loc_1200:
        cmp #$fe
        bne loc_11fd
        lda #$01
        sta $3d07,x
        bne loc_11e8
        asl $01,x
        .byte $27,$01                               // rla $01 // ILLEGAL
        and $4b01,y
        ora ($5f,x)
        ora ($74,x)
        ora ($8a,x)
        ora ($a1,x)
        ora ($ba,x)
        ora ($d4,x)
        ora ($f0,x)
        ora ($0e,x)
        .byte $02                                   // jam // ILLEGAL

dat_1223:
        .byte $2d                                   // -

// --- Region $1790-$17dd ---
.pc = $1790 "sub_1790"
// Referenced by: jsr from $2066

sub_1790:
        ldx #$00
        ldy #$00
        lda #$00

loc_1796:
        lda dat_1771,y
        sta $d000,y
        iny
        cpy #$10
        bne loc_1796
        lda #$ff
        sta $d015
        sta $d01c
        lda #$00
        ldy #$00

loc_17ad:
        lda $17e0,y
        sta $07f8,y
        iny
        cpy #$08
        bne loc_17ad
        lda #$ff
        sta $d01d
        lda #$00
        sta $0963
        sta $096e
        lda #$00
        sta $0980
        sta dat_09b0
        lda #$00
        sta $09b5
        sta $09c0
        lda #$00
        sta $09ce
        sta $09d3
        rts

// --- Region $1f00-$20b3 ---
.pc = $1f00 "sub_1f00"
// Referenced by: jsr from $20a1

sub_1f00:
        sei
        ldy #$18
        ldx #$1f
        lda #$01
        sty $0314
        stx $0315
        sta $d01a
        sta $d012
        sta $dc0d
        cli
        rts

irq_1f18:
        lda #$1c
        sta $d018
.label smc_1f1e = * + 1
        lda #$16                                    // !SMC: modified by $21bf
        sta $d016
        sec
        lda #$08
        sta $d012
.label smc_1f29 = * + 1
        ldx #$34                                    // !SMC: modified by $1f64

loc_1f2a:
.label smc_1f2b = * + 1
        ldy $2646,x                                 // !SMC: modified by $1f6c
        lda $d012

loc_1f30:
        cmp $d012
        beq loc_1f30
        sty $d020
        sty $d021
        and #$07
        ora #$10
        sta $d011
        dex
        bne loc_1f2a
        ldy #$00

loc_1f47:
.label smc_1f48 = * + 1
        lda $2612,y                                 // !SMC: modified by $1f74
        sta $d020
        sta $d021
        ldx chr_20b2,y

loc_1f53:
        dex
        bne loc_1f53
        iny
        cpy #$51
        bne loc_1f47
        inc $02c0
        ldx $02c0
        lda chr_2261,x
        sta smc_1f29                                // SMC: modifies $1f29
        lda #$7a
        sbc smc_1f29
        sta smc_1f2b                                // SMC: modifies $1f2b
        lda #$58
        sbc smc_1f2b
        sta smc_1f48                                // SMC: modifies $1f48
        lda #$1c
        sta $d018
        nop
.label smc_1f7e = * + 1
        ldx #$12                                    // !SMC: modified by $1f96

loc_1f7f:
        lda $d012

loc_1f82:
        cmp $d012
        beq loc_1f82
        and #$07
        ora #$18
        sta $d011
        dex
        bne loc_1f7f
        lda #$25
        sbc smc_1f48
        sta smc_1f7e                                // SMC: modifies $1f7e
        lda dat_27d0
        sta $d022
        lda #$1a
        sta $d018
        lda $40
        sta $d016
        lda $d012
        clc
        adc #$15

loc_1faf:
        cmp $d012
        bne loc_1faf
.label smc_1fb5 = * + 1
        jsr sub_2f87                                // !SMC: modified by $345e, $3478
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        lda $d012
        clc
        adc #$09

loc_1fc4:
        cmp $d012
        bne loc_1fc4
        lda #$1a
        sta $d018
        lda $24e0
        sta $d022
        lda $02
        sta $d016
        lda $d012
        clc
        adc #$0a

loc_1fdf:
        cmp $d012
        bne loc_1fdf
        lda #$1c
        sta $d018
        lda #$0c
        sta $d023
        lda #$18
        sta $d016
        lda #$02
        sta $d022
        nop
        dec $d019
        jmp loc_2250

dat_1fff:
        .byte $00                                   // .

loc_2000:
        nop
        jsr sub_3490
        nop
        nop
        nop
        nop
        nop
        ldy #$00
        lda #$00

loc_200d:
        sta $0400,y
        iny
        cpy #$c8
        bne loc_200d
        jsr sub_2217
        lda #$0b
        sta $d022
        lda #$0c
        sta $d023
        lda #$1c
        sta $d018
        lda #$1c
        sta $d018
        ldy #$00

loc_202e:
        lda #$00
        sta $0490,y
        sta $0490,y
        sta $0490,y
        sta $0490,y
        iny
        bne loc_202e
        ldx #$00
        lda #$0e

loc_2043:
        sta $da07,x
        inx
        cpx #$28
        bne loc_2043
        lda #$00
        sta $02ca
        nop
        nop
        nop
        nop
        ldx #$35
        jsr sub_0b03
        nop
        ldx #$00
        lda #$0a

loc_205e:
        sta $d98f,x
        inx
        cpx #$29
        bne loc_205e
        jsr sub_1790
        jsr sub_2f9e
        jsr sub_2500
        sei
        jsr sub_2089
        cli

loc_2074:
        lda $02fe
        cmp #$01
        beq loc_207e
        jmp loc_20a5

loc_207e:
        jsr sub_2f40
        lda #$00
        sta $02fe
        jmp loc_20a5
// Referenced by: jsr from $2070

sub_2089:
        lda #$01
        sta $c3
        lda #$18
        sta $c4
        lda #$00
        sta $02cf
        lda $3fff
        sta $02ee
        lda #$00
        sta $3fff
        jsr sub_1f00
        rts

loc_20a5:
        lda $dc01
        cmp #$ef
        beq loc_20af
        jmp loc_2074

loc_20af:
        jmp loc_2c00

chr_20b2:
        // === Charset data (2 bytes, $20b2-$20b3) ===
        .byte $03,$08                               // char 0 (partial)

// --- Region $21b2-$21e9 ---
.pc = $21b2 "sub_21b2"
// Referenced by: jsr from $2209

sub_21b2:
        inc $02c0
        ldx $02c0
        lda $2361,x
        and #$07
        eor #$17
        sta smc_1f1e                                // SMC: modifies $1f1e
        lda $2361,x
        lsr
        lsr
        lsr
        tay
        ldx #$00

loc_21cb:
        lda $0950,y
        sta $0428,x
        lda $09a0,y
        sta $0450,x
        lda $0a00,y
        sta $0478,x
        lda $0a50,y
        sta $04a0,x
        inx
        iny
        cpx #$27
        bne loc_21cb
        rts

// --- Region $2200-$2225 ---
.pc = $2200 "loc_2200"

loc_2200:
        nop
        jsr sub_0b00
        nop
        nop
        jsr sub_2590
        jsr sub_21b2
        jsr sub_24a0
        lda #$01
        sta $02fe
        jmp loc_26a0
// Referenced by: jsr from $2015

sub_2217:
        lda #$00
        ldy #$00
        ldx #$00
        sta $02
        stx $0366
        sty $0367
        rts

// --- Region $2250-$2260 ---
.pc = $2250 "loc_2250"

loc_2250:
        jsr sub_2fb7
        lda $d012
        clc
        adc #$02

loc_2259:
        cmp $d012
        bne loc_2259
        jmp loc_2200

// --- Region $24a0-$24da ---
.pc = $24a0 "sub_24a0"
// Referenced by: jsr from $220c

sub_24a0:
        ldx $0366
        inc $0366
        lda $2461,x
        and #$07
        sta $0367
        lda #$07
        clc
        sbc $0367
        clc
        adc #$11
        sta $02
        lda $2461,x
        lsr
        lsr
        lsr
        sta smc_24c8                                // SMC: modifies $24c8
        nop
        nop
        nop
        ldy #$28

loc_24c7:
.label smc_24c8 = * + 1
        lda $0902,y                                 // !SMC: modified by $24bf
        sta $0607,y
        dey
        bne loc_24c7
        cpx #$3e
        beq loc_24d5
        rts

loc_24d5:
        lda #$00
        sta $0366
        rts

// --- Region $2500-$254c ---
.pc = $2500 "sub_2500"
// Referenced by: jsr from $206c

sub_2500:
        ldx #$00
        ldy #$00

loc_2504:
        lda $095e,y
        sta $0658,x
        lda $09ae,y
        sta $0680,x
        lda $0a0e,y
        sta $06a8,x
        lda $0a5e,y
        sta $06d0,x
        iny
        inx
        cpx #$28
        bne loc_2504
        ldx #$00
        lda #$0b

loc_2526:
        sta $da30,x
        inx
        bne loc_2526
        ldx #$00
        lda #$00

loc_2530:
        sta $da30,x
        inx
        cpx #$28
        bne loc_2530
        ldx #$00
        lda #$00

loc_253c:
        sta $daf0,x
        inx
        cpx #$60
        bne loc_253c
        lda #$01
        sta $41
        lda #$d1
        sta $40
        rts

// --- Region $2590-$25dd ---
.pc = $2590 "sub_2590"
// Referenced by: jsr from $2206

sub_2590:
        lda $41
        sec
.label smc_2594 = * + 1
        sbc #$03                                    // !SMC: modified by $2f89
        and #$07
        sta $41
        bcc loc_259c
        rts

loc_259c:
        ldx #$00

loc_259e:
        lda $0591,x
        sta $0590,x
        inx
        cpx #$28
        bne loc_259e
        lda $42
        cmp #$01
        beq loc_25d0
        ldy #$00

loc_25b1:
        lda ($c3),y
        bne loc_25c0
        lda #$18
        sta $c4
        lda #$01
        sta $c3
        jmp loc_25b1

loc_25c0:
        eor #$40
        sta $05b7
        inc $c3
        bne loc_25cb
        inc $c4

loc_25cb:
        lda #$01
        sta $42
        rts

loc_25d0:
        ldy #$00
        lda ($c3),y
        eor #$00
        sta $05b7
        lda #$00
        sta $42
        rts

// --- Region $26a0-$2700 ---
.pc = $26a0 "loc_26a0"

loc_26a0:
        lda #$06
        sta $d022
        lda #$0c
        sta $d023
        lda $41
        ora #$d0
        sta $40
        ldy $2700
        ldx #$00

loc_26b5:
        lda $2701,x
        sta $2700,x
        inx
        cpx #$20
        bne loc_26b5
        sty $2720
        lda $2700
        sta $0963
        sta $09ce
        sta $0a62
        lda $2703
        sta dat_09b0
        sta dat_0a10
        sta $0a83
        lda $2706
        sta $09b5
        sta $09d3
        sta $0a7d
        lda $270a
        sta $096e
        sta $0a15
        sta $09c0
        lda $2710
        sta $0980
        sta $0a30
        jmp (chr_2f8d)

chr_26ff:
        // === Charset data (2 bytes, $26ff-$2700) ===
        .byte $8d,$00                               // char 0 (partial)

// --- Region $2730-$276d ---
.pc = $2730 "main_2730"

main_2730:
        jsr $fda3
        jsr $ff5b
        lda #$0c
        sta $0286

loc_273b:
        lda $d012
        bne loc_273b
        nop
        nop
        nop
        lda $d019
        and #$01
        beq loc_274d
        jmp loc_2776

loc_274d:
        ldx #$00
        lda #$01

loc_2751:
        sta $d800,x
        inx
        bne loc_2751

loc_2757:
        lda $2230,x
        beq loc_2762
        sta $0400,x
        inx
        bne loc_2757

loc_2762:
        lda $dc01
        cmp #$ef
        bne loc_2762
        jmp loc_2c00

chr_276c:
        // === Charset data (2 bytes, $276c-$276d) ===
        .byte $00,$00                               // char 0 (partial)

// --- Region $2776-$2793 ---
.pc = $2776 "loc_2776"

loc_2776:
        ldy #$00
        ldx #$00

loc_277a:
        lda chr_2792,x
        sta $0908,y
        clc
        adc #$40
        sta $0909,y
        iny
        iny
        inx
        cpx #$14
        bne loc_277a
        ldx #$00
        jmp loc_2000

chr_2792:
        // === Charset data (2 bytes, $2792-$2793) ===
        .byte $20,$20                               // char 0 (partial)

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

loc_2c00:
        sei
        jmp loc_34a6

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

// --- Region $2f40-$2f66 ---
.pc = $2f40 "sub_2f40"
// Referenced by: jsr from $207e

sub_2f40:
        ldy dat_27d0
        ldx #$00

loc_2f45:
        lda $27d1,x
        sta dat_27d0,x
        inx
        cpx #$10
        bne loc_2f45
        sty $27e0
        ldy $24e0
        ldx #$00

loc_2f58:
        lda $24e1,x
        sta $24e0,x
        inx
        cpx #$10
        bne loc_2f58
        sty $24f0
        rts

// --- Region $2f87-$2f8c ---
.pc = $2f87 "sub_2f87"
// Referenced by: jsr from $1fb4

sub_2f87:
        lda #$03
        sta smc_2594                                // SMC: modifies $2594
        rts

// --- Region $2f9e-$2ff2 ---
.pc = $2f9e "sub_2f9e"
// Referenced by: jsr from $2069

sub_2f9e:
        lda #$00
        sta dat_0a10
        sta $0a15
        lda #$00
        sta $0a30
        sta $0a62
        lda #$00
        sta $0a7d
        sta $0a83
        rts
// Referenced by: jsr from $2250

sub_2fb7:
.label smc_2fb8 = * + 1
        lda $2550                                   // !SMC: modified by $3463, $347d
        sta $07f8
        sta $07fc
.label smc_2fc1 = * + 1
        lda $2555                                   // !SMC: modified by $3468, $3482
        sta $07f9
        sta $07fd
.label smc_2fca = * + 1
        lda $255a                                   // !SMC: modified by $346d, $3487
        sta $07fa
        sta $07fe
.label smc_2fd3 = * + 1
        lda $2560                                   // !SMC: modified by $3472, $348c
        sta $07fb
        sta $07ff
        nop
        ldy $2550
        ldx #$00

loc_2fe1:
        lda $2551,x
        sta $2550,x
        inx
        cpx #$37
        bne loc_2fe1
        sty $2587
        jmp loc_3450

chr_2ff2:
        // === Charset data (1 bytes, $2ff2-$2ff2) ===
        .byte $00                                   // char 0 (partial)

// --- Region $3450-$34be ---
.pc = $3450 "loc_3450"

loc_3450:
        lda $05b7
        cmp #$1f
        beq loc_345c
        cmp #$1e
        beq loc_3476
        rts

loc_345c:
        lda #$87
        sta smc_1fb5                                // SMC: modifies $1fb5
        lda #$50
        sta smc_2fb8                                // SMC: modifies $2fb8
        lda #$55
        sta smc_2fc1                                // SMC: modifies $2fc1
        lda #$5a
        sta smc_2fca                                // SMC: modifies $2fca
        lda #$60
        sta smc_2fd3                                // SMC: modifies $2fd3
        rts

loc_3476:
        lda #$7c
        sta smc_1fb5                                // SMC: modifies $1fb5
        lda #$50
        sta smc_2fb8                                // SMC: modifies $2fb8
        lda #$60
        sta smc_2fc1                                // SMC: modifies $2fc1
        lda #$70
        sta smc_2fca                                // SMC: modifies $2fca
        lda #$80
        sta smc_2fd3                                // SMC: modifies $2fd3
        rts
// Referenced by: jsr from $2001

sub_3490:
        ldx #$00
        lda #$0b

loc_3494:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_3494
        ldx #$00
        rts

loc_34a6:
        lda #$04
        sta $0288
        jsr $e5a0
        jsr $e453
        jsr $fd15
        lda #$93
        jsr $ffd2
        jsr $fda3
        jmp $fce2

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

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

chr_0800:
        // === Charset data (33 bytes, $0800-$0820) ===
        .byte $00,$00,$00                           // char 0 (partial)

txt_0803:
        .byte $20,$20,$20,$20,$20                   // char 0 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 1 @+1
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 2 @+2
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 3 @+3

dat_0820:
        // === Fill data (1 bytes, $0820-$0820) ===
        .byte $00                                   // .

// --- Region $0900-$0938 ---
.pc = $0900 "txt_0900"

txt_0900:
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 32 ' '
        .byte $20,$60,$20,$60,$01,$41,$03,$43       // char 33 '!'
        .byte $14,$54,$09,$49,$0f,$4f,$0e,$4e       // char 34 '"'
        .byte $20,$60,$13,$53,$05,$45,$12,$52       // char 35 '#'
        .byte $16,$56,$09,$49,$03,$43,$05,$45       // char 36 '$'
        .byte $21,$61,$20,$60,$20,$60,$00           // char 37 (partial)

txt_092f:
        .byte $40                                   // char 37 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 38 '&'

dat_0938:
        // === Fill data (1 bytes, $0938-$0938) ===
        .byte $00                                   // .

// --- Region $0967-$0981 ---
.pc = $0967 "dat_0967"

dat_0967:
        .byte $01                                   // char 44 (partial)
        .byte $02,$03,$09,$0a,$01,$35,$83,$00       // char 45 '-'
        .byte $00,$01,$62,$01,$02,$03,$09,$0a       // char 46 '.'
        .byte $01,$02,$03,$09,$0a,$00,$00,$00       // char 47 '/'
        .byte $84                                   // char 48 (partial)

dat_0981:
        // === Fill data (1 bytes, $0981-$0981) ===
        .byte $00                                   // .

// --- Region $09b0-$09d4 ---
.pc = $09b0 "dat_09b0"

dat_09b0:
        .byte $81,$00,$00,$00,$00,$82,$00,$1e       // char 54 '6'
        .byte $0b,$0c,$0d,$0e,$43,$38,$00,$00       // char 55 '7'
        .byte $83,$1e,$63,$1e,$1f,$00,$67,$68       // char 56 '8'
        .byte $1e,$0b,$0c,$0d,$0e,$00,$00,$00       // char 57 '9'
        .byte $00,$00,$00,$82                       // char 58 (partial)

dat_09d4:
        // === Fill data (1 bytes, $09d4-$09d4) ===
        .byte $00                                   // .

// --- Region $0a10-$0a31 ---
.pc = $0a10 "dat_0a10"

dat_0a10:
        .byte $81,$00,$00,$00,$00,$83,$00,$39       // char 66 'B'
        .byte $0f,$10,$11,$12                       // char 67 (partial)

txt_0a1c:
        .byte $39,$3a,$26,$27                       // char 67 (partial)
        .byte $28,$39,$64                           // char 68 (partial)

txt_0a23:
        .byte $39,$3a,$26,$27,$28                   // char 68 (partial)
        .byte $39,$0f,$10,$11,$12,$00,$00,$00       // char 69 'E'
        .byte $84                                   // char 70 (partial)

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

// --- Region $0a67-$0a84 ---
.pc = $0a67 "dat_0a67"

dat_0a67:
        .byte $52                                   // char 76 (partial)
        .byte $13,$14,$15,$16,$52,$13,$14,$15       // char 77 'M'
        .byte $16,$52,$65,$29,$13,$14,$15,$16       // char 78 'N'
        .byte $52,$13,$14,$15,$16,$82,$00,$00       // char 79 'O'
        .byte $00,$00,$00,$81                       // char 80 (partial)

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

// --- Region $0ab1-$0ab1 ---
.pc = $0ab1 "dat_0ab1"

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

// --- Region $0b07-$0bd7 ---
.pc = $0b07 "Program $0b07"
        .byte $00,$00,$00,$00,$0d,$ff,$ff,$81,$00,$02,$40,$00,$00,$04,$02,$02 // ..........@.....
        .byte $ff,$ff,$ff,$00,$07,$0e,$00,$02,$06,$06,$00,$05,$03,$1c,$00,$00 // ................
        .byte $01,$00,$00,$00,$00,$41,$00,$00,$18,$00,$00,$01,$fe,$fe,$fe,$00 // .....A..........
        .byte $00,$01,$00,$43,$00,$00,$00,$00,$01,$01,$04,$00,$00,$00,$00,$02 // ...C............
        .byte $00,$02,$00,$00,$01,$01,$04,$16,$16,$5a,$1f,$01,$03,$00,$00,$00 // .........Z......
        .byte $00,$00,$00,$00,$00,$00,$70,$00,$00,$08,$00,$00,$00,$0c,$06,$0c // ......p.........
        .byte $01,$00,$00,$00,$00,$00,$00,$05,$08,$27,$00,$d0,$34,$00,$0d,$59 // .........'..4..Y
        .byte $f0,$01,$01,$01,$00,$00,$16,$16,$5a,$00,$00,$00,$00,$00,$00,$00 // ........Z.......
        .byte $00,$00,$ae,$f5,$e8,$00,$00,$00,$30,$0a,$08,$06,$04,$03,$02,$03 // ........0.......
        .byte $30,$0e,$0c,$24,$24,$0e,$0c,$3d,$30,$0e,$0c,$3c,$0e,$48,$0c,$3c // 0..$$..=0..<.H.<
        .byte $30,$0e                               // 0.

txt_0ba9:
        .text "H$$HH$"
        .byte $81                                   // .

txt_0bb0:
        .text "AAAAAAA"
        .byte $81,$41,$41,$81,$81,$41,$41,$81,$81,$41,$41,$81,$11,$81,$11,$81 // .AA..AA..AA.....
        .byte $81,$41,$15,$81,$81,$81,$15,$81,$00,$00,$00,$00,$0f,$0f,$f1,$f2 // .A..............
        .byte $f4                                   // .

// --- Region $1224-$1600 ---
.pc = $1224 "Segment $1224"
        .byte $02,$4e,$02,$71,$02,$96,$02,$be,$02,$e7,$02,$14,$03,$42,$03,$74 // .N.q.........B.t
        .byte $03,$a9,$03,$e0,$03,$1b,$04,$5a,$04,$9c,$04,$e2,$04,$2d,$05,$7b // .......Z.....-.{
        .byte $05,$cf,$05,$27,$06,$85,$06,$e8,$06,$51,$07,$c1,$07,$37,$08,$b4 // ...'.....Q...7..
        .byte $08,$38,$09,$c4,$09,$59,$0a,$f7,$0a,$9e,$0b,$4e,$0c,$0a,$0d,$d0 // .8...Y.....N....
        .byte $0d,$a2,$0e,$81,$0f,$6d,$10,$67,$11,$70,$12,$89,$13,$b2,$14,$ed // .....m.g.p......
        .byte $15,$3b,$17,$9d,$18,$14,$1a,$a0,$1b,$45,$1d,$03,$1f,$db,$20,$cf // .;.......E.... .
        .byte $22,$e1,$24,$12,$27,$65,$29,$db,$2b,$76 // ".$.'e).+v

txt_128e:
        .text ".:1'4A7"
        .byte $8a,$3a,$05,$3e,$b5,$41,$9d,$45,$c1   // .:.>.A.E.

txt_129e:
        .text "I$N"
        .byte $c9                                   // 'I' | $80 (end-of-string marker)
        .byte $52,$b6,$57,$ed,$5c,$73,$62,$4e,$68,$82,$6e,$14,$75,$0a,$7c,$6a // R.W.\sbNh.n.u.|j
        .byte $83,$3b,$8b,$82,$93,$48,$9c,$93,$a5,$6b,$af,$da,$b9,$e7,$c3,$9c // .;...H...k......
        .byte $d0,$04,$dd,$28,$ea,$14,$f8,$00,$00,$00,$00,$00,$00,$2e,$14,$32 // ...(...........2
        .byte $14,$58,$14,$90,$14,$e5               // .X....

txt_12d8:
        .encoding "screencode_mixed"
        .text "t#u$u"
        .text "@"
        .text "music made by markus schneider  for md"
        .encoding "petscii_upper"

txt_1304:
        .text " 64 "
        .byte $09,$0e                               // ..

txt_130a:
        .text " 1988..("

txt_1312:
        .encoding "screencode_mixed"
        .text "c) by los!!!"
        .encoding "petscii_upper"
        .byte $87,$00,$88,$00,$89,$00,$8a,$00,$8b,$00,$8c,$00,$8d,$00,$8e,$00 // ................
        .byte $8f,$00,$90,$00,$91,$00,$92,$00,$93,$00,$94,$00,$95,$00,$96,$00 // ................
        .byte $97,$00,$98,$00,$99,$00,$9a,$00,$9b,$00,$9c,$00,$9d,$00,$9e,$00 // ................
        .byte $9f,$17,$14,$1e,$14,$26,$14,$17,$14,$1e,$14,$26,$14,$00,$5d,$00 // .....&.....&..].
        .byte $5e,$00,$5f,$00,$5d,$00,$5e,$00,$5f,$00,$5d,$00,$5e,$00,$5f,$00 // ^._.].^._.].^._.
        .byte $5d,$00,$5e,$00,$5f,$00,$5d,$00,$5e,$00,$5f,$00,$5d,$00,$5e,$00 // ].^._.].^._.].^.
        .byte $5f,$00,$5d,$00,$5e,$00,$5f,$00,$5d,$00,$5e,$00,$5f,$00,$5d,$00 // _.].^._.].^._.].
        .byte $5e,$00,$5f,$00,$5d,$00,$5e,$00,$5f,$00,$5d,$00,$5e,$00,$5f,$00 // ^._.].^._.].^._.
        .byte $5d,$00,$5e,$00,$5f,$00,$5d,$00,$5e,$00,$5f,$00,$5d,$00,$5e,$00 // ].^._.].^._.].^.
        .byte $5f,$00,$00,$00,$00,$00,$00,$00,$00,$41,$00,$fd,$0f,$55,$00,$00 // _........A...U..
        .byte $80,$01,$00,$c8,$0f,$48,$00,$00,$04,$01,$00,$c8,$0f,$48,$03,$00 // .....H.......H..
        .byte $04,$41,$00,$c7,$0f,$48,$58,$00,$48,$41,$00,$ae,$0f,$48,$58,$00 // .A...HX.HA...HX.
        .byte $48,$41,$00,$ae,$0f,$48,$59,$00,$48,$41,$00,$ae,$0f,$48,$47,$00 // HA...HY.HA...HG.
        .byte $48,$41,$00,$ae,$0f,$48,$5a,$00,$48,$01,$00,$c8,$0f,$48,$20,$00 // HA...HZ.H....H .
        .byte $04,$41                               // .A

scr_1400:
        // === Screen RAM (513 bytes, $1400-$1600) ===
        .encoding "screencode_mixed"
        .text "@"
        .byte $ce,$ff,$42                           // scrcode: ...
        .text "@@"
        .byte $40                                   // scrcode: .
        .text "w@"
        .byte $e4,$ff,$88                           // scrcode: ...
        .text "@@"
        .byte $80,$41                               // scrcode: ..
        .text "@"
        .byte $ae,$af,$78,$44                       // scrcode: ....
        .text "@"
        .byte $40,$80,$58                           // scrcode: ...
        .text "@dcf"
        .byte $ff,$80                               // scrcode: ..
        .text "bb"
        .byte $85                                   // scrcode: .
        .text "b"
        .byte $80                                   // scrcode: .
        .text "b"
        .byte $ff,$80                               // scrcode: ..
        .text "a"
        .text "a"
        .byte $85                                   // scrcode: .
        .text "a"
        .byte $80                                   // scrcode: .
        .text "a"
        .byte $ff,$c0,$9f                           // scrcode: ...
        .text "@"
        .byte $ff,$c1,$83                           // scrcode: ...
        .text "x"
        .byte $81                                   // scrcode: .
        .text "x"
        .byte $83                                   // scrcode: .
        .text "$"
        .byte $81                                   // scrcode: .
        .text "x"
        .byte $1f                                   // scrcode: .
        .text "x"
        .byte $22                                   // scrcode: "
        .text "x"
        .byte $83                                   // scrcode: .
        .text "$x"
        .byte $81                                   // scrcode: .
        .text "vw"
        .byte $83                                   // scrcode: .
        .text "x"
        .byte $81                                   // scrcode: .
        .text "x"
        .byte $83                                   // scrcode: .
        .text "$"
        .byte $81                                   // scrcode: .
        .text "x'x"
        .byte $22                                   // scrcode: "
        .text "x"
        .byte $83                                   // scrcode: .
        .text "$x"
        .byte $81                                   // scrcode: .
        .text "z"
        .byte $1b,$ff,$c2,$81                       // scrcode: ....
        .text "@"
        .byte $c0                                   // scrcode: .
        .text "@"
        .byte $c2                                   // scrcode: .
        .text "@@"
        .byte $c3                                   // scrcode: .
        .text "@"
        .byte $c0                                   // scrcode: .
        .text "@"
        .byte $c2                                   // scrcode: .
        .text "@"
        .byte $c4                                   // scrcode: .
        .text "7"
        .byte $c2                                   // scrcode: .
        .text "@@"
        .byte $c4                                   // scrcode: .
        .text "7"
        .byte $c2                                   // scrcode: .
        .text "@"
        .byte $c3                                   // scrcode: .
        .text "@"
        .byte $c0                                   // scrcode: .
        .text "@"
        .byte $c2                                   // scrcode: .
        .text "@@@@"
        .text "@@"
        .byte $c3                                   // scrcode: .
        .text "@"
        .byte $c0                                   // scrcode: .
        .text "@"
        .byte $c2                                   // scrcode: .
        .text "@"
        .byte $c4                                   // scrcode: .
        .text "7"
        .byte $c2                                   // scrcode: .
        .text "@"
        .byte $c4                                   // scrcode: .
        .text "7"
        .byte $c4                                   // scrcode: .
        .text "7"
        .byte $c2                                   // scrcode: .
        .text "@"
        .byte $c3                                   // scrcode: .
        .text "@@@@"
        .byte $ff,$cc,$8f                           // scrcode: ...
        .text "0"
        .byte $80                                   // scrcode: .
        .text "5"
        .byte $ef,$84                               // scrcode: ..
        .text "7"
        .byte $85                                   // scrcode: .
        .text "5"
        .byte $83                                   // scrcode: .
        .text "3"
        .byte $80                                   // scrcode: .
        .text "5"
        .byte $ef,$8e                               // scrcode: ..
        .text "7"
        .byte $ef,$85                               // scrcode: ..
        .text "8:"
        .byte $80                                   // scrcode: .
        .text "="
        .byte $ef,$82                               // scrcode: ..
        .text "?"
        .byte $9b                                   // scrcode: .
        .text "<"
        .byte $80                                   // scrcode: .
        .text "="
        .byte $ef,$82                               // scrcode: ..
        .text "?"
        .byte $8f                                   // scrcode: .
        .text "<"
        .byte $85                                   // scrcode: .
        .text "75"
        .byte $80                                   // scrcode: .
        .text "8"
        .byte $ef,$82                               // scrcode: ..
        .text ":"
        .byte $ef,$85                               // scrcode: ..
        .text "<:"
        .byte $ef,$83                               // scrcode: ..
        .text "<"
        .byte $80                                   // scrcode: .
        .text "="
        .byte $ef,$84                               // scrcode: ..
        .text "?"
        .byte $85                                   // scrcode: .
        .text ">"
        .byte $83                                   // scrcode: .
        .text "<"
        .byte $ef,$85                               // scrcode: ..
        .text "?"
        .byte $43,$83,$41,$ef,$85,$43,$46,$83,$44,$81,$43,$44,$43,$41,$ef,$93 // scrcode: ................
        .byte $43,$81,$41                           // scrcode: ...
        .text "?"
        .byte $9f                                   // scrcode: .
        .text "<"
        .byte $ff,$c5,$93                           // scrcode: ...
        .text "7"
        .byte $c6,$87                               // scrcode: ..
        .text "5"
        .byte $c5,$93                               // scrcode: ..
        .text "7"
        .byte $c7,$8f                               // scrcode: ..
        .text "8"
        .byte $c5,$93                               // scrcode: ..
        .text "7"
        .byte $c7,$87                               // scrcode: ..
        .text "8"
        .byte $c7,$93                               // scrcode: ..
        .text ":"
        .byte $c6,$8f                               // scrcode: ..
        .text ":"
        .byte $c5,$93                               // scrcode: ..
        .text "<"
        .byte $c6,$83                               // scrcode: ..
        .text ":"
        .byte $c5                                   // scrcode: .
        .text "<"
        .byte $c8,$8b                               // scrcode: ..
        .text "<"
        .byte $c5,$87                               // scrcode: ..
        .text "<"
        .byte $c6,$87                               // scrcode: ..
        .text ":"
        .byte $c7                                   // scrcode: .
        .text ":"
        .byte $c5,$93                               // scrcode: ..
        .text "7"
        .byte $c6,$87                               // scrcode: ..
        .text ":"
        .byte $c7,$8b                               // scrcode: ..
        .text ":"
        .byte $c5,$83                               // scrcode: ..
        .text "7"
        .byte $c6,$87                               // scrcode: ..
        .text "8"
        .byte $c7,$8b                               // scrcode: ..
        .text "8"
        .byte $ff,$ff,$cc,$83                       // scrcode: ....
        .text "023"
        .byte $87                                   // scrcode: .
        .text "7"
        .byte $83                                   // scrcode: .
        .text "578"
        .byte $81                                   // scrcode: .
        .text ":8"
        .byte $83                                   // scrcode: .
        .text "7?"
        .byte $93                                   // scrcode: .
        .text "<"
        .byte $83                                   // scrcode: .
        .text "?"
        .byte $41                                   // scrcode: .
        .text "<"
        .byte $87                                   // scrcode: .
        .text "?"
        .byte $83,$43,$41                           // scrcode: ...
        .text "?"
        .byte $81                                   // scrcode: .
        .text "<?"
        .byte $83,$41,$44,$87,$43,$83,$41           // scrcode: .......
        .text "?>"
        .byte $81                                   // scrcode: .
        .encoding "petscii_upper"

txt_154e:
        .text "<>?<>?<>?>?A?A"
        .byte $83,$43,$81                           // scrcode: ...

txt_155f:
        .text "A?>?><?>"
        .encoding "screencode_mixed"
        .byte $85                                   // scrcode: .
        .text "<>"
        .byte $83                                   // scrcode: .
        .text "?"
        .byte $81                                   // scrcode: .
        .encoding "petscii_upper"

txt_156d:
        .text "CA?><>?ACDCA?><>"
        .encoding "screencode_mixed"
        .byte $83                                   // scrcode: .
        .text "?"
        .byte $41,$43,$81                           // scrcode: ...
        .text "?>"
        .byte $8f                                   // scrcode: .
        .text "<"
        .byte $ff                                   // scrcode: .
        .text "b"
        .encoding "petscii_upper"

dat_1588:
        // === Fill data (120 bytes, $1588-$15ff) ===
        .fill 120, $ea

dat_1600:
        // === Fill data (1 bytes, $1600-$1600) ===
        .byte $00                                   // .

// --- Region $1771-$178f ---
.pc = $1771 "dat_1771"

dat_1771:
        .encoding "screencode_mixed"
        .byte $57,$ca,$87,$ca,$b7,$ca,$e7,$ca,$57,$df,$87,$df,$b7,$df,$e7,$df // scrcode: ................
        .text "@@@@@@@@@@@@@@@"
        .encoding "petscii_upper"

// --- Region $17de-$17df ---
.pc = $17de "scr_17de"

scr_17de:
        // === Screen RAM (2 bytes, $17de-$17df) ===
        .byte $60                                   // scrcode: .

dat_17df:
        // === Fill data (1 bytes, $17df-$17df) ===
        .byte $00                                   // .

// --- Region $1800-$1ac0 ---
.pc = $1800 "txt_1800"

txt_1800:
        .text "     "
        .byte $1f                                   // .

txt_1806:
        .encoding "screencode_mixed"
        .text " aerzte her"
        .encoding "petscii_upper"

txt_1811:
        .text " !!!  "

txt_1817:
        .encoding "screencode_mixed"
        .text "that means we want doctors"
        .encoding "petscii_upper"

txt_1831:
        .text " !!!  ("

txt_1838:
        .encoding "screencode_mixed"
        .text "a german wave-band"
        .encoding "petscii_upper"

txt_184a:
        .text " !) "
        .byte $0d                                   // string terminator
        .byte $01,$12,$16,$05,$0c,$0c,$0f,$15,$13   // .........

txt_1858:
        .text " !!        "

txt_1863:
        .encoding "screencode_mixed"
        .text "this game was cracked in germmany by the only elite"
        .encoding "petscii_upper"

txt_1896:
        .text "....         "

txt_18a3:
        .encoding "screencode_mixed"
        .text "this game is maybe a flop"
        .encoding "petscii_upper"

txt_18bc:
        .text "... "

txt_18c0:
        .encoding "screencode_mixed"
        .text "but we've cracked it"
        .encoding "petscii_upper"

txt_18d4:
        .text " !!    "

txt_18db:
        .encoding "screencode_mixed"
        .text "coming soon  hostages, jungle-book, peter pan (yuppi"
        .encoding "petscii_upper"

txt_190f:
        .text ") !!     "

txt_1918:
        .encoding "screencode_mixed"
        .text "these games (and much more) are available next time at you local dealer (lamer"
        .encoding "petscii_upper"

txt_1966:
        .text "!)...   "

txt_196e:
        .encoding "screencode_mixed"
        .text "some huijuis to:"
        .encoding "petscii_upper"
        .byte $1e                                   // .

txt_197f:
        .encoding "screencode_mixed"
        .text " mayhem - ikari - dcs - sf - flt - fire eagle - bros - scg - modern art - the animals - twg - rwe - hotline"
        .encoding "petscii_upper"

txt_19ea:
        .text " !!      "
        .byte $1f                                   // .

txt_19f4:
        .encoding "screencode_mixed"
        .text "  we love all satans on earth"
        .encoding "petscii_upper"

txt_1a11:
        .text " !! ("

txt_1a16:
        .encoding "screencode_mixed"
        .text "a story in a german newspaper"
        .encoding "petscii_upper"

txt_1a33:
        .text " !) !!            "
        .byte $0d                                   // string terminator

txt_1a46:
        .encoding "screencode_mixed"
        .text "embers are: no one, coz the group is only one computer"
        .encoding "petscii_upper"

txt_1a7c:
        .text " !!    "

txt_1a83:
        .encoding "screencode_mixed"
        .text "now dial our hotline in germany: "
        .encoding "petscii_upper"
        .byte $1e                                   // .

txt_1aa5:
        .text "0221/551739 !              "
        .byte $00                                   // string terminator

// --- Region $20b4-$21b1 ---
.pc = $20b4 "Segment $20b4"
        .byte $08,$08,$08,$08,$08,$01               // char 0 (partial)
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 1 @+1
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 2 @+2
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 3 @+3
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 4 @+4
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 5 @+5
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 6 @+6
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 7 @+7
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 8 @+8
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 9 @+9
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 10 @+10
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 11 @+11
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 12 @+12
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 13 @+13
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 14 @+14
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 15 @+15
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 16 @+16
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 17 @+17
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 18 @+18
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 19 @+19
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 20 @+20
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 21 @+21
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 22 @+22
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 23 @+23
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 24 @+24
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 25 @+25
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 26 @+26
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 27 @+27
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 28 @+28
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 29 @+29
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 30 @+30
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 31 @+31

// --- Region $21ea-$21ff ---
.pc = $21ea "chr_21ea"

chr_21ea:
        // === Charset data (22 bytes, $21ea-$21ff) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 1 @+1
        .byte $00,$00,$00,$00,$00,$00               // char 2 (partial)

// --- Region $2226-$224f ---
.pc = $2226 "chr_2226"

chr_2226:
        // === Charset data (42 bytes, $2226-$224f) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $00,$00,$0e,$14,$13,$03,$2c,$20       // char 1 @+1
        .byte $13,$0f,$12,$12,$19,$20,$2d,$20       // char 2 @+2
        .byte $0e,$0f,$20,$09,$0e,$14,$12,$0f       // char 3 @+3
        .byte $20,$28,$05,$0c,$09,$14,$05,$29       // char 4 @+4
        .byte $00,$00                               // char 5 (partial)

// --- Region $2261-$249f ---
.pc = $2261 "chr_2261"

chr_2261:
        // === Charset data (575 bytes, $2261-$249f) ===
        .byte $3c,$3b,$3b,$3a,$39,$37,$36,$34       // char 0 @+0
        .byte $32,$30,$2e,$2c,$2a,$28,$27,$25       // char 1 @+1
        .byte $24,$24,$24,$24,$24,$25,$26,$27       // char 2 @+2
        .byte $29,$2b,$2d,$2f,$31,$33,$35,$36       // char 3 @+3
        .byte $38,$39,$3a,$3b,$3b,$3b,$3b,$3a       // char 4 @+4
        .byte $39,$38,$37,$35,$33,$31,$2f,$2d       // char 5 @+5
        .byte $2b,$29,$27,$26,$25,$24,$24,$24       // char 6 @+6
        .byte $24,$24,$25,$26,$28,$2a,$2b,$2d       // char 7 @+7
        .byte $30,$32,$34,$35,$37,$39,$3a,$3b       // char 8 @+8
        .byte $3b,$3b,$3b,$3b,$3a,$39,$38,$36       // char 9 @+9
        .byte $34,$32,$30,$2e,$2c,$2a,$28,$27       // char 10 @+10
        .byte $26,$25,$24,$24,$24,$24,$25,$26       // char 11 @+11
        .byte $27,$29,$2a,$2c,$2e,$30,$32,$34       // char 12 @+12
        .byte $36,$38,$39,$3a,$3b,$3b,$3b,$3b       // char 13 @+13
        .byte $3b,$3a,$38,$37,$35,$33,$31,$2f       // char 14 @+14
        .byte $2d,$2b,$29,$28,$26,$25,$24,$24       // char 15 @+15
        .byte $24,$24,$24,$25,$26,$28,$29,$2b       // char 16 @+16
        .byte $2d,$2f,$31,$33,$35,$37,$38,$3a       // char 17 @+17
        .byte $3b,$3b,$3b,$3b,$3b,$3a,$39,$38       // char 18 @+18
        .byte $36,$34,$32,$30,$2e,$2c,$2a,$29       // char 19 @+19
        .byte $27,$26,$25,$24,$24,$24,$24,$25       // char 20 @+20
        .byte $26,$27,$28,$2a,$2c,$2e,$30,$32       // char 21 @+21
        .byte $34,$36,$38,$39,$3a,$3b,$3b,$3b       // char 22 @+22
        .byte $3b,$3b,$3a,$39,$37,$35,$34,$32       // char 23 @+23
        .byte $2f,$2d,$2b,$2a,$28,$26,$25,$24       // char 24 @+24
        .byte $24,$24,$24,$24,$25,$26,$27,$29       // char 25 @+25
        .byte $2b,$2d,$2f,$31,$33,$35,$37,$38       // char 26 @+26
        .byte $39,$3a,$3b,$3b,$3b,$3b,$3a,$39       // char 27 @+27
        .byte $38,$36,$35,$33,$31,$2f,$2d,$2b       // char 28 @+28
        .byte $29,$27,$26,$25,$24,$24,$24,$24       // char 29 @+29
        .byte $24,$25,$27,$28,$2a,$2c,$2e,$30       // char 30 @+30
        .byte $32,$34,$36,$37,$39,$3a,$3b,$3b       // char 31 @+31
        .byte $80,$86,$8c,$92,$98,$9e,$a4,$aa       // char 32 ' '
        .byte $b0,$b6,$bb,$c1,$c6,$cb,$d0,$d5       // char 33 '!'
        .byte $d9,$de,$e2,$e5,$e9,$ec,$ef,$f2       // char 34 '"'
        .byte $f5,$f7,$f9,$fb,$fc,$fd,$fd,$fd       // char 35 '#'
        .byte $fd,$fd,$fd,$fd,$fc,$fb,$f9,$f7       // char 36 '$'
        .byte $f5,$f2,$f0,$ec,$e9,$e6,$e2,$de       // char 37 '%'
        .byte $d9,$d5,$d0,$cb,$c6,$c1,$bb,$b6       // char 38 '&'
        .byte $b0,$aa,$a4,$9e,$98,$92,$8c,$86       // char 39 '''
        .byte $80,$79,$73,$6d,$67,$61,$5b           // char 40 (partial)

txt_23a8:
        .byte $55                                   // char 40 (partial)
        .byte $4f,$49,$44,$3e,$39,$34,$2f,$2a       // char 41 ')'
        .byte $26,$21,$1d,$1a,$16,$13,$10,$0d       // char 42 '*'
        .byte $0a,$08,$06,$04,$03,$02,$01,$01       // char 43 '+'
        .byte $01,$01,$01,$02,$03,$04,$06,$08       // char 44 ','
        .byte $0a,$0d,$0f,$13,$16,$19,$1d           // char 45 (partial)

txt_23d0:
        .byte $21                                   // char 45 (partial)
        .byte $26,$2a,$2f,$34,$39,$3e,$44,$49       // char 46 '.'
        .byte $4f,$55,$5b,$61,$67,$6d,$73,$79       // char 47 '/'
        .byte $7f,$86,$8c,$92,$98,$9e,$a4,$aa       // char 48 '0'
        .byte $b0,$b6,$bb,$c1,$c6,$cb,$d0,$d5       // char 49 '1'
        .byte $d9,$de,$e2,$e5,$e9,$ec,$ef,$f2       // char 50 '2'
        .byte $f5,$f7,$f9,$fb,$fc,$fd,$fd,$fd       // char 51 '3'
        .byte $fd,$fd,$fd,$fd,$fc,$fb,$f9,$f7       // char 52 '4'
        .byte $f5,$f2,$f0,$ed,$e9,$e6,$e2,$de       // char 53 '5'
        .byte $d9,$d5,$d0,$cb,$c6,$c1,$bc,$b6       // char 54 '6'
        .byte $b0,$aa,$a5,$9f,$98,$92,$8c,$86       // char 55 '7'
        .byte $80,$79,$73,$6d,$67,$61,$5b           // char 56 (partial)

txt_2428:
        .byte $55                                   // char 56 (partial)
        .byte $4f,$49,$44,$3e,$39,$34,$2f,$2a       // char 57 '9'
        .byte $26,$22,$1d,$1a,$16,$13,$10,$0d       // char 58 ':'
        .byte $0a,$08,$06,$04,$03,$02,$01,$01       // char 59 ';'
        .byte $01,$01,$01,$02,$03,$04,$06,$08       // char 60 '<'
        .byte $0a,$0d,$0f,$12,$16,$19,$1d           // char 61 (partial)

txt_2450:
        .byte $21                                   // char 61 (partial)
        .byte $26,$2a,$2f,$34,$39,$3e,$43,$49       // char 62 '>'
        .byte $4f,$54,$5a,$60,$66,$6d,$73,$79       // char 63 '?'
        .byte $41,$47,$4d,$53,$58,$5d,$62,$67       // char 64 '@'
        .byte $6a,$6e,$71,$73,$75,$77,$77,$77       // char 65 'A'
        .byte $77,$76,$74,$72,$6f,$6c,$68,$64       // char 66 'B'
        .byte $5f                                   // char 67 (partial)

txt_247a:
        .byte $5a,$55,$50,$4a,$44,$3e,$38           // char 67 (partial)
        .byte $32,$2c,$26,$21,$1c,$17,$12,$0e       // char 68 'D'
        .byte $0a,$07,$05,$02,$01,$00,$00,$00       // char 69 'E'
        .byte $01,$02,$04,$06,$0a,$0d,$11,$16       // char 70 'F'
        .byte $1a                                   // char 71 (partial)

txt_249a:
        .byte $20,$25,$2b,$31,$37,$3d               // char 71 (partial)

// --- Region $24db-$24ff ---
.pc = $24db "chr_24db"

chr_24db:
        // === Charset data (37 bytes, $24db-$24ff) ===
        .byte $00,$00,$00,$00,$00,$03,$01,$01       // char 0 @+0
        .byte $01,$03,$03,$0e,$0e,$06,$06,$00       // char 1 @+1
        .byte $00,$06,$06,$06,$0e,$03,$00,$00       // char 2 @+2
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 3 @+3
        .byte $00,$00,$00,$00,$00                   // char 4 (partial)

// --- Region $254d-$258f ---
.pc = $254d "chr_254d"

chr_254d:
        // === Charset data (67 bytes, $254d-$258f) ===
        .byte $00,$00,$00,$bc,$bc,$bc,$bc,$bc       // char 0 @+0
        .byte $bc,$bc,$bc,$bc,$bc,$bc,$bc,$bc       // char 1 @+1
        .byte $bc,$bc,$bc,$bc,$bb,$ba,$b9,$b8       // char 2 @+2
        .byte $b7,$b6,$b5,$b4,$b3,$b2,$b1,$b1       // char 3 @+3
        .byte $b1,$b1,$b1,$b1,$b1,$b1,$b1,$b1       // char 4 @+4
        .byte $b1,$b1,$b1,$b1,$b1,$b1,$b1,$b1       // char 5 @+5
        .byte $b1,$b1,$b2,$b2,$b3,$b4,$b6,$b7       // char 6 @+6
        .byte $b8,$b9,$ba,$a5,$41,$18,$69,$10       // char 7 @+7
        .byte $85,$40,$ea                           // char 8 (partial)

// --- Region $25de-$25de ---
.pc = $25de "dat_25de"

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

// --- Region $2608-$2611 ---
.pc = $2608 "dat_2608"

dat_2608:
        .byte $06,$0e,$06,$00,$0b,$0c               // char 5 (partial)
        .byte $0f,$0c,$0b                           // char 6 (partial)

dat_2611:
        // === Fill data (1 bytes, $2611-$2611) ===
        .byte $00                                   // .

// --- Region $2649-$2652 ---
.pc = $2649 "dat_2649"

dat_2649:
        .byte $0b,$0c,$0f,$0c,$0b                   // char 13 (partial)
        .byte $00,$06,$0e,$06                       // char 14 (partial)

dat_2652:
        // === Fill data (1 bytes, $2652-$2652) ===
        .byte $00                                   // .

// --- Region $2701-$272f ---
.pc = $2701 "Segment $2701"
        .byte $80,$80,$81,$82,$82,$82               // char 0 (partial)
        .byte $82,$83,$83,$83,$84,$84,$84,$85       // char 1 @+1
        .byte $84,$84,$84,$83,$83,$82,$82,$81       // char 2 @+2
        .byte $81,$80,$00,$00,$00,$00,$00,$00       // char 3 @+3
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 4 @+4
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 5 @+5
        .byte $00                                   // char 6 (partial)

// --- Region $276e-$2775 ---
.pc = $276e "Segment $276e"
        .byte $00,$00,$00,$00,$00,$00               // char 0 (partial)
        .byte $00,$00                               // char 1 (partial)

// --- Region $2794-$27a5 ---
.pc = $2794 "Segment $2794"
        .byte $01,$03,$14,$09,$0f,$0e               // char 0 (partial)
        .byte $20,$13,$05,$12,$16,$09,$03,$05       // char 1 @+1
        .byte $21,$20,$20                           // char 2 (partial)

dat_27a5:
        // === Fill data (1 bytes, $27a5-$27a5) ===
        .byte $00                                   // .

// --- Region $27d0-$27e1 ---
.pc = $27d0 "dat_27d0"

dat_27d0:
        .byte $07,$0a                               // char 7 (partial)
        .byte $0a,$02,$02,$00,$02,$02,$02,$0a       // char 8 @+8
        .byte $0a,$07,$07,$01,$01,$01,$07           // char 9 (partial)

dat_27e1:
        // === Fill data (1 bytes, $27e1-$27e1) ===
        .byte $00                                   // .

// --- Region $2800-$28ef ---
.pc = $2800 "chr_2800"

chr_2800:
        .fill 8, $00
        .byte $3f,$ea,$e5,$ec,$ef,$ea,$e5,$54,$ff,$ea,$e5,$ef,$e5,$ef,$ea,$55 // ?......T.......U
        .byte $3f,$ea,$e5,$e4,$e4,$e7,$ea,$15,$ff,$ea,$e5,$e4,$e4,$e7,$ea,$55 // ?..............U
        .byte $3f,$ea,$e5,$ef,$e5,$ef,$ea,$15,$3f,$ea,$e5,$ef,$e5,$e4,$e4,$54 // ?.......?......T
        .byte $3f,$ea,$e5,$e4,$e4,$e7,$ea,$15,$fc,$e4,$e7,$ea,$e5,$e4,$e4,$54 // ?..............T
        .byte $ff,$ea,$56,$0e,$0e,$fe,$ea,$55,$ff,$ea,$56,$0e,$0e,$fe,$ea,$55 // ..V....U..V....U
        .byte $fc,$e4,$e4,$e7,$ea,$e5,$e4,$54,$fc,$e4,$e4,$e4,$e4,$e7,$ea,$55 // .......T.......U
        .byte $fc,$e7,$ea,$e5,$e4,$e4,$e4,$54,$f0,$ec,$eb,$ea,$e6,$e5,$e4,$54 // .......T.......T
        .byte $3f,$ea,$e5,$e4,$e4,$e7,$ea,$15,$ff,$ea,$e5,$ef,$ea,$e5,$e4,$54 // ?..............T
        .byte $3f,$ea,$e5,$e7,$e7,$ef,$ea,$15,$ff,$ea,$e5,$ef,$ea,$e5,$e4,$54 // ?..............T
        .byte $3f,$ea,$e5,$ef,$2a,$ff,$ea,$55,$ff,$ea,$56,$0e,$0e,$0e,$0e,$05 // ?...*..U..V.....
        .byte $fc,$e4,$e4,$e4,$e4,$e7,$ea,$15,$fc,$e4,$e4,$e4,$e4,$e7,$3a,$05 // ..............:.
        .byte $fc,$e4,$e4,$e4,$e7,$e6,$e9,$54,$f0,$ec,$eb,$3a,$3a,$e9,$e4,$50 // .......T...::..P
        .byte $f0,$ec,$6b,$1a,$0e,$0e,$0e,$05,$ff,$ea,$55,$fe,$e9,$ef,$ea,$55 // ..k.......U....U
        .byte $3f,$e5,$e4,$e4,$e4,$e4,$e4,$15,$00,$00,$00,$00,$00,$00,$00,$00 // ?...............
        .byte $fc,$5b,$1b,$1b,$1b,$1b,$1b,$54       // .[.....T

// --- Region $2908-$2910 ---
.pc = $2908 "dat_2908"

dat_2908:
        .byte $f4,$e4,$e4,$e4,$d4,$00,$f4,$d4       // char 33 '!'

dat_2910:
        // === Fill data (1 bytes, $2910-$2910) ===
        .byte $00                                   // .

// --- Region $2938-$29d0 ---
.pc = $2938 "dat_2938"

dat_2938:
        .byte $35,$39,$01,$04,$00,$00,$00,$00       // char 39 '''
        .byte $3c,$e4,$d0,$d0,$d0,$d0,$e4,$14       // char 40 '('
        .byte $f0,$6c,$1c,$1c,$1c,$1c,$6c,$50       // char 41 ')'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 42 '*'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 43 '+'
        .byte $00,$00,$00,$f4,$e4,$d4,$04,$10       // char 44 ','
        .byte $00,$00,$00,$ff,$e9,$55,$00,$00       // char 45 '-'
        .byte $00,$00,$00,$00,$00,$f4,$e4,$d4       // char 46 '.'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 47 '/'
        .byte $3f,$ea,$ea,$e5,$e7,$ea,$ea,$15       // char 48 '0'
        .byte $0f,$3a,$16,$0e,$0e,$fe,$ea,$55       // char 49 '1'
        .byte $3f,$ea,$d7,$4e,$3a,$ea,$ea,$55       // char 50 '2'
        .byte $ff,$ea,$55,$0f,$05,$ff,$ea,$55       // char 51 '3'
        .byte $00,$03,$0e,$39,$e5,$ea,$55,$00       // char 52 '4'
        .byte $ff,$e5,$ef,$55,$00,$ff,$ea,$55       // char 53 '5'
        .byte $3f,$e5,$ef,$ea,$e5,$e7,$ea,$15       // char 54 '6'
        .byte $ff,$ea,$55,$03,$03,$03,$03,$01       // char 55 '7'
        .byte $3f,$ea,$e5,$1f,$35,$ef,$ea,$15       // char 56 '8'
        .byte $3f,$ea,$e5,$e7,$ea,$15,$ff,$55       // char 57 '9'

dat_29d0:
        // === Fill data (1 bytes, $29d0-$29d0) ===
        .byte $00                                   // .

// --- Region $2a08-$2ad8 ---
.pc = $2a08 "dat_2a08"

dat_2a08:
        .byte $f0,$a4,$64,$e4,$e4,$a4,$e4,$54       // char 65 'A'
        .byte $f0,$a4,$64,$d0,$64,$e4,$a4,$50       // char 66 'B'
        .byte $fc,$a4,$54,$00,$00,$fc,$a4,$54       // char 67 'C'
        .byte $f0,$a4,$64,$e4,$e4,$e4,$a4,$50       // char 68 'D'
        .byte $fc,$a4,$54,$00,$00,$fc,$a4,$54       // char 69 'E'
        .byte $fc,$a4,$54,$00,$00,$00,$00,$00       // char 70 'F'
        .byte $fc,$a4,$54,$00,$34,$f4,$a4,$54       // char 71 'G'
        .byte $fc,$e4,$e4,$a4,$64,$64,$e4,$54       // char 72 'H'
        .byte $fc,$a4,$54,$40,$40,$7c,$a4,$54       // char 73 'I'
        .byte $fc,$a4,$54,$40,$40,$40,$40,$00       // char 74 'J'
        .byte $fc,$e4,$e4,$e4,$90,$64,$e4,$54       // char 75 'K'
        .byte $00,$00,$00,$00,$00,$fc,$a4,$54       // char 76 'L'
        .byte $fc,$e4,$a4,$e4,$e4,$e4,$e4,$54       // char 77 'M'
        .byte $fc,$e4,$e4,$e4,$a4,$a4,$64,$54       // char 78 'N'
        .byte $f0,$a4,$64,$e4,$e4,$e4,$a4,$50       // char 79 'O'
        .byte $f0,$a4,$64,$e4,$a4,$50,$00,$00       // char 80 'P'
        .byte $c0,$90,$90,$90,$90,$90,$d0,$74       // char 81 'Q'
        .byte $f0,$a4,$64,$e4,$90,$a4,$e4,$54       // char 82 'R'
        .byte $f4,$a4,$54,$f0,$a4,$e4,$a4,$50       // char 83 'S'
        .byte $fc,$a4                               // char 84 (partial)

txt_2aa2:
        .byte $54,$40,$40,$40,$40,$40               // char 84 (partial)
        .byte $fc,$e4,$e4,$e4,$e4,$e4,$a4,$50       // char 85 'U'
        .byte $fc,$e4,$e4,$e4,$e4,$e4,$90,$40       // char 86 'V'
        .byte $fc,$e4,$e4,$e4,$e4,$e4,$a4,$54       // char 87 'W'
        .byte $3c,$e4,$a4,$90,$90,$a4,$64,$14       // char 88 'X'
        .byte $3c,$e4,$a4,$90,$40,$40,$40,$40       // char 89 'Y'
        .byte $f0,$a4,$64,$a4,$50,$f4,$a4,$54       // char 90 'Z'

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

// --- Region $2b80-$2bd0 ---
.pc = $2b80 "dat_2b80"

dat_2b80:
        .byte $f0,$a4,$a4,$e4,$e4,$a4,$a4,$50       // char 112 'p'
        .byte $c0                                   // char 113 (partial)

txt_2b89:
        .byte $40,$40,$40,$40,$bc,$a4,$54           // char 113 (partial)
        .byte $c0,$b0,$a4,$a4,$90,$fc,$a4,$54       // char 114 'r'
        .byte $f0,$a4,$64,$e4,$64,$e4,$a4,$50       // char 115 's'
        .byte $f0,$90,$90,$90,$ac,$a4,$a4,$d0       // char 116 't'
        .byte $fc,$54,$f0,$64,$64,$e4,$a4,$50       // char 117 'u'
        .byte $fc,$54,$f0,$a4,$e4,$e4,$a4,$50       // char 118 'v'
        .byte $f0,$90,$90,$90,$90,$90,$90,$50       // char 119 'w'
        .byte $f0,$a4,$64,$d0,$70,$e4,$a4,$50       // char 120 'x'
        .byte $f0,$a4,$e4,$e4,$a4,$64,$e4,$50       // char 121 'y'

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

// --- Region $2c40-$2d91 ---
.pc = $2c40 "dat_2c40"

dat_2c40:
        // === Fill data (63 bytes, $2c40-$2c7e) ===
        .fill 63, $ff
        .byte $00,$ff,$ff,$ff,$ff                   // char 15 (partial)
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 16 @+16
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 17 @+17
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 18 @+18
        .byte $ff,$ff,$00,$00,$00,$ff,$ff,$ff       // char 19 @+19
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 20 @+20
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 21 @+21
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 22 @+22
        .byte $ff,$ff,$ff,$00,$ff,$ff,$ff,$ff       // char 23 @+23
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 24 @+24
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 25 @+25
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$00       // char 26 @+26
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 27 @+27
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 28 @+28
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 29 @+29
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 30 @+30
        .byte $ff,$ff,$ff,$00,$ff,$ff,$ff,$ff       // char 31 @+31
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 32 ' '
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 33 '!'
        .byte $ff,$ff,$ff,$ff,$00,$00,$00,$00       // char 34 '"'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 35 '#'
        .byte $00,$00,$00,$ff,$ff,$ff,$ff,$ff       // char 36 '$'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 37 '%'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 38 '&'
        .byte $ff,$ff,$ff,$00,$ff,$ff,$ff,$ff       // char 39 '''
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 40 '('
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 41 ')'
        .byte $ff,$00,$00,$00,$00,$00,$00,$00       // char 42 '*'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 43 '+'
        .byte $00,$00,$00,$00,$00,$00,$ff,$ff       // char 44 ','
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 45 '-'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 46 '.'
        .byte $ff,$ff,$ff,$00,$ff,$ff,$ff,$ff       // char 47 '/'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 48 '0'
        .byte $ff,$ff,$ff,$ff,$ff,$ff               // char 49 (partial)

// --- Region $2dad-$2dcf ---
.pc = $2dad "dat_2dad"

dat_2dad:
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff           // char 53 (partial)
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 54 '6'
        .byte $ff,$ff,$ff,$00,$ff,$ff,$ff,$ff       // char 55 '7'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 56 '8'
        .byte $ff,$ff,$ff                           // char 57 (partial)

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

// --- Region $2df0-$2e0c ---
.pc = $2df0 "dat_2df0"

dat_2df0:
        .byte $ff,$ff,$ff,$ff                       // char 61 (partial)
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 62 '>'
        .byte $ff,$ff,$ff,$00,$ff,$ff,$ff,$ff       // char 63 '?'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 64 '@'

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

// --- Region $2e33-$2e49 ---
.pc = $2e33 "dat_2e33"

dat_2e33:
        .byte $ff                                   // char 69 (partial)
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 70 'F'
        .byte $ff,$ff,$ff,$00,$ff,$ff,$ff,$ff       // char 71 'G'
        .byte $ff,$ff,$ff,$ff,$ff                   // char 72 (partial)

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

// --- Region $2e76-$2e86 ---
.pc = $2e76 "dat_2e76"

dat_2e76:
        .byte $ff,$ff,$ff,$ff,$ff,$ff               // char 78 (partial)
        .byte $ff,$ff,$ff,$00,$ff,$ff,$ff,$ff       // char 79 'O'
        .byte $ff,$ff                               // char 80 (partial)

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

// --- Region $2eb9-$2ec3 ---
.pc = $2eb9 "dat_2eb9"

dat_2eb9:
        .byte $ff,$ff,$ff                           // char 86 (partial)
        .byte $ff,$ff,$ff,$00,$ff,$ff,$ff           // char 87 (partial)

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

// --- Region $2efc-$2eff ---
.pc = $2efc "dat_2efc"

dat_2efc:
        .byte $ff,$ff,$ff                           // char 95 (partial)

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

// --- Region $2f67-$2f86 ---
.pc = $2f67 "chr_2f67"

chr_2f67:
        // === Charset data (32 bytes, $2f67-$2f86) ===
        .byte $b7,$2f,$a2,$00,$bd,$51,$25,$9d       // char 0 @+0
        .byte $50,$25,$e8,$e0,$37,$d0,$f5,$8c       // char 1 @+1
        .byte $87                                   // char 2 (partial)

txt_2f78:
        .byte $25,$4c,$b7,$2f,$ad,$b7,$05           // char 2 (partial)
        .byte $c9,$20,$f0,$0c,$c9,$60,$f0,$08       // char 3 @+3

// --- Region $2f8d-$2f9d ---
.pc = $2f8d "chr_2f8d"

chr_2f8d:
        // === Charset data (17 bytes, $2f8d-$2f9d) ===
        .byte $bc,$fe,$a9,$01,$8d,$94,$25,$60       // char 0 @+0
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 1 @+1
        .byte $00                                   // char 2 (partial)

// --- Region $2ff3-$31d8 ---
.pc = $2ff3 "Segment $2ff3"
        .byte $00,$00,$00,$00,$00,$00,$00           // char 0 (partial)
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 1 @+1
        .byte $00,$00,$00,$00,$00,$00,$bb,$6f       // char 2 @+2
        .byte $ab,$9e,$6a,$99,$56,$49,$ff,$fe       // char 3 @+3
        .byte $a6,$99,$65,$94                       // char 4 (partial)

txt_3016:
        .text "QD"
        .byte $ba                                   // ':' | $80 (end-of-string marker)
        .byte $e9,$51,$44,$10,$41,$04,$11,$64,$96,$09,$12,$45,$16,$59,$66,$00 // .QD.A..d...E.Yf.
        .byte $00,$80,$b0,$e0,$bc,$bc,$bc,$00,$01,$00,$01,$01,$02,$01,$02,$5a // ...............Z
        .byte $2b,$6e,$7b,$af,$7e,$a6,$99,$fc,$bc,$fc,$fc,$b8,$ec,$68,$58,$65 // +n{.~........hXe
        .byte $96,$04,$11,$45,$16,$59,$66,$98,$68,$6c,$78,$ac,$7c,$bc,$bc,$00 // ...E.Yf.hlx.|...
        .byte $00,$00,$66,$9a,$16,$59,$66,$00,$01,$00,$bb,$ef,$6b,$ae,$bb,$45 // ..f..Yf.....k..E
        .byte $16,$00,$ff,$ff,$be,$fb,$ee,$9c,$68,$00,$fc,$fc,$fc,$b8,$ac,$9a // ........h.......
        .byte $6b,$ae,$bf,$ef,$bf,$ff,$ee,$ef,$be,$fb,$99,$65,$00,$fb,$ee,$ba // k..........e....
        .byte $e9,$a6,$44,$10,$00,$a6,$99,$78,$a8,$64,$18,$04,$00,$58,$64,$ba // ..D....x.d...Xd.
        .byte $e9,$a6,$99,$65,$94,$00,$00,$65,$94,$51,$44,$10,$41,$00,$00,$10 // ...e...e.QD.A...
        .byte $41,$04,$11,$45,$16,$04,$11,$58,$28,$6c,$78,$ac,$7c,$bc,$6c,$5a // A..E...X(lx.|.lZ
        .byte $2b,$6e,$fb,$ef,$be,$fb,$ee,$9a,$6b,$ae,$bb,$ef,$bf,$ff,$ef,$ef // +n......k.......
        .byte $be,$fb,$99,$65,$00,$00,$00,$ba,$e9,$66,$59,$25,$54,$11,$04,$fc // ...e.....fY%T...
        .byte $bc,$fc,$fc,$bc,$f0,$b0,$80,$ba,$e9,$66,$59,$25,$54,$91,$44,$70 // .........fY%T.Dp
        .byte $a0,$64,$58,$24,$54,$18,$24,$10,$40,$00,$99,$25,$01,$04,$01,$00 // .dX$T.$.@..%....
        .byte $00,$00,$66,$9a,$1b,$5e,$6b,$5a,$2b,$6e,$7b,$af,$7e,$bb,$ae,$fc // ..f..^kZ+n{.~...
        .byte $bc,$fc,$fc,$bc,$fc,$b8,$ac,$10,$41,$04,$11,$45,$17,$05,$10,$58 // ........A..E...X
        .byte $28,$6c,$b0,$e0,$80,$00,$00,$5a,$2b,$6e,$7b,$9a,$69,$00,$00,$fc // (l.....Z+n{.i...
        .byte $bc,$fc,$fc,$7c,$9c,$00,$00,$00,$00,$00,$00,$00,$c0,$fb,$ee,$00 // ...|............
        .byte $00,$00,$00,$00,$00,$a6,$99,$00,$00,$00,$00,$00,$00,$58,$64,$9f // .............Xd.
        .byte $2e,$27,$1e,$06,$00,$01,$00,$02,$01,$02,$01,$01,$00,$f8,$ec,$ba // .'..............
        .byte $e9,$a6,$44,$10,$00,$00,$00,$78,$a8,$64,$18,$04,$00,$00,$00,$9f // ..D....x.d......
        .byte $2e,$27,$1e,$06,$00,$01,$9a,$ba,$e9,$a6,$99,$65,$94,$00,$99,$65 // .'.........e...e
        .byte $94,$51,$44,$10,$41,$03,$65,$10,$41,$04,$11,$45,$16,$59,$66,$15 // .QD.A.e.A..E.Yf.
        .byte $44,$01,$04,$00,$01,$00,$00,$45,$16,$59,$66,$9a,$6b,$59,$66,$9a // D......E.Yf.kYf.
        .byte $6b,$ae,$bb,$ef,$be,$a6,$98,$fc,$bc,$fc,$b0,$e0,$80,$00,$00,$ff // k...............
        .byte $fe,$ab,$9e,$6a,$99,$56,$49,$02,$01,$01,$00,$00,$00,$00,$00,$65 // ...j.VI........e
        .byte $96,$04,$11,$05,$16,$19,$26,$15,$46,$09,$16,$4a,$1b,$5e,$6b,$05 // ......&.F..J.^k.
        .byte $06,$09,$16,$4a,$1b,$5e,$6b,$9f,$6f,$af,$bf,$ef,$bf,$ff,$ef // ...J.^k.o......

dat_31d8:
        // === Fill data (1 bytes, $31d8-$31d8) ===
        .byte $00                                   // .

// --- Region $3218-$3220 ---
.pc = $3218 "dat_3218"

dat_3218:
        .byte $15,$44,$01,$04,$00,$01,$04,$01       // .D......

dat_3220:
        // === Fill data (1 bytes, $3220-$3220) ===
        .byte $00                                   // .

// --- Region $3290-$3298 ---
.pc = $3290 "dat_3290"

dat_3290:
        .byte $9f,$6e,$ab,$9e,$6a,$99,$51,$44       // .n..j.QD

dat_3298:
        // === Fill data (1 bytes, $3298-$3298) ===
        .byte $00                                   // .

// --- Region $3310-$334a ---
.pc = $3310 "dat_3310"

dat_3310:
        .byte $fc,$fc,$a8,$9c,$68,$98,$54,$48,$00,$00,$00,$64,$98,$18,$5c,$68 // ....h.TH...d..\h
        .byte $9c,$6c,$ac,$bc,$ec,$bc,$fc,$ec,$bc,$ec,$a8,$9c,$68,$98,$04,$00 // .l..........h...
        .byte $00,$01,$00,$00,$00,$00,$00,$00,$45,$16,$00,$00,$00,$00,$00,$00 // ........E.......
        .byte $98,$6c,$00,$00,$00,$00,$00,$00,$01,$01 // .l........

dat_334a:
        // === Fill data (1 bytes, $334a-$334a) ===
        .byte $00                                   // .

// --- Region $3403-$344f ---
.pc = $3403 "dat_3403"

dat_3403:
        .byte $04,$00,$00,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $0c,$00,$00,$00,$00,$00,$00,$08,$2e,$08,$00,$00,$00,$00,$04,$08 // ................
        .byte $2e,$08,$04,$00,$00,$00,$04,$08,$2e,$08,$04,$00,$00,$00,$00,$08 // ................
        .byte $2e,$08,$00,$00,$00,$00,$00,$00,$0c,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $08,$00,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00 // .............
