// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:37:03
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $261f  (7968 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0f00 (3840)
// IRQ handler:  $0c20 (irq_0c20)
//
// Code: 2537 bytes, Data: 5431 bytes
// Labels: 186, Subroutines: 9
//
// Cross-references: all OK
// ============================================


// --- Region $0c00-$0cc9 ---
.pc = $0c00 "loc_0c00"

loc_0c00:
        sei
        lda #$01
        sta $d012
        sta $d01a
        sta $dc0d
        lda #$1b
        sta $d011
        lda #$20
        ldx #$0c
        sta $0314
        stx $0315
        cli

loc_0c1c:
        jmp loc_0c1c

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

irq_0c20:
        jsr sub_0e50
        lda #$18
        sta $d018
        lda $a7
        and #$07
        eor #$17
        sta $d016
        lda #$0f
        sta $d021
        lda #$0a
        sta $d022
        lda #$04
        sta $d023
        jsr sub_1003

loc_0c43:
        lda $d012
        cmp #$78
        bne loc_0c43
        lda #$12
        sta $d018
        lda #$00
        sta $d016
        lda #$0f
        sta $d021

loc_0c59:
        lda $d012
        cmp #$8b
        bne loc_0c59
        lda $50
        sta $d016
.label smc_0c66 = * + 1
        lda #$0a                                    // !SMC: modified by $0dda
        sta $d021

loc_0c6a:
        lda $d012
        cmp #$a5
        bne loc_0c6a
        lda #$00
        sta $d016
        lda #$0f
        sta $d021

loc_0c7b:
        lda $d012
        cmp #$bb
        bne loc_0c7b
        lda #$18
        sta $d018
        lda $a8
        and #$07
        eor #$17
        sta $d016
        lda #$0f
        sta $d021
        lda #$0e
        sta $d022
        lda #$06
        sta $d023
        jsr sub_0dc0

loc_0ca2:
        lda $d012
        cmp #$ff
        bne loc_0ca2
        jsr sub_0e00
        jsr sub_0cb5
        jmp $ea31

chr_0cb2:
        // === Charset data (3 bytes, $0cb2-$0cb4) ===
        .byte $00,$00,$00                           // char 0 (partial)
// Referenced by: jsr from $0cac

sub_0cb5:
        lda $dc01
        cmp #$ef
        beq loc_0cbd
        rts

loc_0cbd:
        sei
        jsr $fda3
        jsr $fd15
        jsr $ff5b
        jmp loc_0f30

// --- Region $0d00-$0d5a ---
.pc = $0d00 "loc_0d00"

loc_0d00:
        lda #$00
        sta $d020
        sta $d021
        lda #$08
        sta $0286
        jsr $e544
        lda #$00
        jsr sub_1000
        ldx #$28

loc_0d17:
        lda txt_2450,x
        sta $0568,x
        sta $0658,x
        clc
        adc #$40
        sta $0590,x
        sta $0680,x
        dex
        bne loc_0d17
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        ldx #$00

loc_0d37:
        lda #$00
        sta $d918,x
        sta $d9d0,x
        inx
        bne loc_0d37
        ldx #$00
        ldy #$25
        stx $3a
        sty $3b
        lda #$20
        sta $06a8
        lda #$00
        sta smc_0dc1                                // SMC: modifies $0dc1
        lda #$04
        sta $37
        jmp loc_0c00

// --- Region $0dc0-$0dde ---
.pc = $0dc0 "sub_0dc0"
// Referenced by: jsr from $0c9f

sub_0dc0:
.label smc_0dc1 = * + 1
        ldx #$08                                    // !SMC: modified by $0d51, $0dce
        inc smc_0dc1
        lda smc_0dc1
        cmp #$20
        bne loc_0dd1
        lda #$00
        sta smc_0dc1                                // SMC: modifies $0dc1

loc_0dd1:
        lda $0f80,x
        sta smc_0e04                                // SMC: modifies $0e04
        lda $0fa0,x
        sta smc_0c66                                // SMC: modifies $0c66
        rts

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

// --- Region $0e00-$0e8f ---
.pc = $0e00 "sub_0e00"
// Referenced by: jsr from $0ca9

sub_0e00:
        lda $50
        sec
.label smc_0e04 = * + 1
        sbc #$03                                    // !SMC: modified by $0dd4
        php
        and #$07
        sta $50
        plp
        bpl loc_0e10
        jsr sub_0e16

loc_0e10:
        lda $50
        rts

chr_0e13:
        // === Charset data (3 bytes, $0e13-$0e15) ===
        .byte $00,$00,$00                           // char 0 (partial)
// Referenced by: jsr from $0e0d

sub_0e16:
        ldx #$00

loc_0e18:
        lda $05e1,x
        sta $05e0,x
        lda $0609,x
        sta $0608,x
        inx
        cpx #$27
        bne loc_0e18

loc_0e29:
        ldy #$00
        lda ($3a),y
        beq loc_0e42
        cmp #$00
        nop
        nop
        sta $0607
        ora #$40
        sta $062f
        inc $3a
        bne loc_0e41
        inc $3b

loc_0e41:
        rts

loc_0e42:
        lda #$00
        sta $3a
        lda #$25
        sta $3b
        jmp loc_0e29

chr_0e4d:
        // === Charset data (3 bytes, $0e4d-$0e4f) ===
        .byte $00,$00,$00                           // char 0 (partial)
// Referenced by: jsr from $0c20

sub_0e50:
        tax
        ldy #$00

loc_0e53:
        lda $2308,x
        sta $0427,y
        sta $06d0,y
        lda $2330,x
        sta $044f,y
        sta $06f8,y
        lda $235b,x
        sta $047a,y
        sta $0723,y
        lda $2380,x
        sta $049f,y
        sta $0748,y
        lda $23a8,x
        sta $04c7,y
        sta $0770,y
        lda $23d0,x
        sta $04ef,y
        sta $0798,y
        inx
        iny
        cpy #$28
        bne loc_0e53
        rts

// --- Region $0f00-$0f07 ---
.pc = $0f00 "main_0f00"

main_0f00:
        jsr $e544
        jmp loc_0f10

chr_0f06:
        // === Charset data (2 bytes, $0f06-$0f07) ===
        .byte $00,$00                               // char 0 (partial)

// --- Region $0f10-$0f25 ---
.pc = $0f10 "loc_0f10"

loc_0f10:
        ldy #$10

loc_0f12:
        jsr sub_0f51
        lda $0f65,y
        sta $d021
        sta $d020
        dey
        bne loc_0f12
        jmp loc_0d00

chr_0f24:
        // === Charset data (2 bytes, $0f24-$0f25) ===
        .byte $00,$00                               // char 0 (partial)

// --- Region $0f30-$0f47 ---
.pc = $0f30 "loc_0f30"

loc_0f30:
        ldy #$00

loc_0f32:
        jsr sub_0f51
        lda $0f66,y
        sta $d021
        sta $d020
        iny
        cpy #$10
        bcc loc_0f32
        jmp $fce2

chr_0f46:
        // === Charset data (2 bytes, $0f46-$0f47) ===
        .byte $00,$00                               // char 0 (partial)

// --- Region $0f51-$0f60 ---
.pc = $0f51 "sub_0f51"
// Referenced by: jsr from $0f12, $0f32

sub_0f51:
        ldx #$03

loc_0f53:
        lda $d011
        bmi loc_0f53

loc_0f58:
        lda $d011
        bpl loc_0f58
        dex
        bne loc_0f53
        rts

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

sub_1000:
        jmp loc_18ea
// Referenced by: jsr from $0c40

sub_1003:
        jmp loc_14ea

txt_1006:
        .text "-"

// --- Region $1185-$194c ---
.pc = $1185 "loc_1185"

loc_1185:
        lda $1065,x
        sta $1062,x
        tay
        lda $10c5,y
        sta $1026,x
        lda $1125,y
        sta $1029,x
        lda $1086,x
        sta $1056,x
        ldy $101d,x
        clc
        asl
        asl
        asl
        asl
        sta $fc
        lda $1014
        adc #$00
        sta $fd
        ldy #$00
        lda ($fc),y
        pha
        iny
        lda ($fc),y
        ldy $101d,x
        sta $d406,y
        pla
        sta $d405,y
        lda #$ff
        sta $1074,x
        sta $1077,x
        ldy #$0f
        lda ($fc),y
        sta $10b6
        ldy #$02
        lda ($fc),y
        sta $1053,x
        lda #$00
        sta $1089,x
        ldy $101d,x
        lda $10b6
        and #$01
        beq loc_11f1
        lda #$ff
        sta $d401,y
        lda #$81
        sta $d404,y
        rts

loc_11f1:
        lda $1053,x
        sta $d404,y
        lda $1026,x
        sta $d400,y
        lda $1029,x
        sta $d401,y
        rts
// Referenced by: jsr from $14fd, $1501, $1505

sub_1204:
        ldy $101d,x
        lda $1056,x
        clc
        asl
        asl
        asl
        asl
        sta $fc
        lda $1014
        adc #$00
        sta $fd
        ldy #$0f
        lda ($fc),y
        sta $10b6
        lda $1089,x
        beq loc_123c
        jmp loc_1185

loc_1227:
        lda #$81
        sta $d404,y
        ldx #$00
        ldy $101d,x
        lda #$09
        sta $d404,y
        dec $1089,x
        jmp loc_189c

loc_123c:
        lda $103b,x
        beq loc_124e
        lda $101c
        cmp $10b3
        bne loc_124e
        dec $107d,x
        bmi loc_1254

loc_124e:
        jmp loc_1400

dat_1251:
        .byte $4c,$65,$18                           // Le.

loc_1254:
        lda $1015,x
        sta $fa
        lda $1018,x
        sta $fb

loc_125e:
        ldy $1041,x
        lda ($fa),y
        bpl loc_1293
        cmp #$ff
        bne loc_1272
        lda #$00
        sta $1041,x
        tay
        jmp loc_125e

loc_1272:
        cmp #$fe
        bne loc_127e
        lda #$00
        sta $103b,x
        jmp loc_189c

loc_127e:
        sec
        sbc #$a0
        sta $105c,x
        bpl loc_128d
        eor #$1f
        adc #$01
        sta $105c,x

loc_128d:
        inc $1041,x
        iny
        lda ($fa),y

loc_1293:
        tay
        lda $1980,y
        sta $fa
        lda dat_19c0,y
        sta $fb

loc_129e:
        ldy $1044,x
        lda ($fa),y
        bmi loc_12b7
        cmp #$60
        bcc loc_12b4
        and #$1f
        sta $107a,x
        inc $1044,x
        jmp loc_129e

loc_12b4:
        jmp loc_1365

loc_12b7:
        cmp #$fe
        bne loc_12db
        lda $107a,x
        sta $107d,x
        inc $1044,x
        ldy $1044,x
        lda ($fa),y
        cmp #$ff
        beq loc_12d0
        jmp loc_1400

loc_12d0:
        lda #$00
        sta $1044,x
        inc $1041,x
        jmp loc_1400

loc_12db:
        pha
        lda #$00
        sta $105f,x
        sta $104a,x
        pla
        cmp #$e0
        bcc loc_1307
        and #$1f
        beq loc_12f9
        clc
        adc #$01
        sta $1083,x
        inc $1044,x
        jmp loc_129e

loc_12f9:
        sta $1083,x
        lda #$fe
        sta $1074,x
        inc $1044,x
        jmp loc_129e

loc_1307:
        cmp #$c0
        bcc loc_1316
        and #$1f
        sta $105f,x
        inc $1044,x
        jmp loc_129e

loc_1316:
        cmp #$a0
        bcc loc_1342
        and #$1f
        asl
        asl
        asl
        sta $104a,x
        iny
        lda ($fa),y
        clc
        adc $105c,x
        sta $104d,x
        iny
        lda ($fa),y
        clc
        adc $105c,x
        sta $1050,x
        inc $1044,x
        inc $1044,x
        lda $104d,x
        jmp loc_1369

loc_1342:
        and #$1f
        sta $1056,x
        ldy $101d,x
        clc
        asl
        asl
        asl
        asl
        sta $fc
        lda $1014
        adc #$00
        sta $fd
        ldy #$0f
        lda ($fc),y
        sta $10b6
        inc $1044,x
        jmp loc_129e

loc_1365:
        clc
        adc $105c,x

loc_1369:
        sta $1062,x
        tay
        lda $10c5,y
        sta $1026,x
        lda $1125,y
        sta $1029,x
        lda $10b6
        and #$08
        beq loc_139f
        lda $1059,x
        cmp $1056,x
        bne loc_139f
        lda $107a,x
        sta $107d,x
        lda $1056,x
        sta $1059,x
        lda $1083,x
        beq loc_139c
        dec $1083,x

loc_139c:
        jmp loc_13e6

loc_139f:
        ldy #$00
        lda ($fc),y
        pha
        iny
        lda ($fc),y
        ldy $101d,x
        sta $d406,y
        pla
        sta $d405,y
        lda #$ff
        sta $1074,x
        sta $1077,x
        lda $107a,x
        sta $107d,x
        lda $1056,x
        sta $1059,x
        lda $1083,x
        beq loc_13cd
        dec $1083,x

loc_13cd:
        lda $10b6
        and #$01
        beq loc_13e1
        lda #$ff
        sta $d401,y
        lda #$81
        sta $d404,y
        jmp loc_13e6

loc_13e1:
        lda #$09
        sta $d404,y

loc_13e6:
        inc $1044,x
        ldy $1044,x
        lda ($fa),y
        cmp #$ff
        beq loc_13f5
        jmp loc_189c

loc_13f5:
        lda #$00
        sta $1044,x
        inc $1041,x
        jmp loc_189c

loc_1400:
        lda $1077,x
        bne loc_1408
        jmp loc_1509

loc_1408:
        lda #$00
        sta $1077,x
        sta $1092,x
        sta $1095,x
        sta $1098,x
        sta $109b,x
        sta $109e,x
        sta $10a1,x
        sta $10a4,x
        sta $1068,x
        sta $102c,x
        sta $102f,x
        ldy $10bd
        lda $10be,x
        ldy #$02
        lda ($fc),y
        sta $1053,x
        iny
        lda ($fc),y
        sta $106b,x
        iny
        lda ($fc),y
        pha
        and #$f0
        sta $106e,x
        pla
        and #$0f
        sta $1071,x
        iny
        lda ($fc),y
        pha
        lsr
        lsr
        lsr
        lsr
        sta $108c,x
        pla
        and #$0f
        sta $108f,x
        lda $10b6
        and #$80
        beq loc_1482
        ldy #$06
        lda ($fc),y
        pha
        and #$f0
        lsr
        lsr
        sta $1047,x
        pla
        and #$0f
        sta $1080,x
        iny
        lda ($fc),y
        sta $10aa,x
        lda #$00
        sta $10a7,x

loc_1482:
        ldy #$08
        lda ($fc),y
        sta $10ad,x
        iny
        lda ($fc),y
        sta $10b0,x
        ldy #$0e
        lda ($fc),y
        beq loc_14d9
        pha
        and #$f0
        lsr
        sta $10bb
        pla
        and #$0f
        sta $10bc
        ldy #$0a
        lda ($fc),y
        sta $10b8
        iny
        lda ($fc),y
        sta $10bf
        pha
        lsr
        lsr
        lsr
        lsr
        sta $10b9
        pla
        and #$0f
        asl
        asl
        asl
        asl
        sta $10ba
        iny
        lda ($fc),y
        sta $10c0
        iny
        lda ($fc),y
        sta $10c1
        lda $10b7
        ora $1020,x
        sta $10b7
        jmp loc_1970

loc_14d9:
        lda $10b7
        and $1023,x
        sta $10b7

loc_14e2:
        ora #$f0
        sta $d417
        jmp loc_17b2

loc_14ea:
        lda $101b
        sta $d418
        dec $10b3
        bpl loc_14fb
        lda $101c
        sta $10b3

loc_14fb:
        ldx #$00
        jsr sub_1204
        inx
        jsr sub_1204
        inx
        jsr sub_1204
        rts

loc_1509:
        lda $103e,x
        bne loc_1521
        lda $10b6
        and #$04
        bne loc_1526
        lda $1083,x
        beq loc_1521
        lda #$ff
        sta $1074,x
        bne loc_1526

loc_1521:
        lda #$fe
        sta $1074,x

loc_1526:
        lda $1092,x
        bne loc_1550
        lda $1068,x
        clc
        adc $106e,x
        sta $1068,x
        bcc loc_1572
        inc $106b,x
        inc $1095,x
        lda $1095,x
        cmp $1071,x
        bne loc_1572
        inc $1092,x
        lda #$00
        sta $1095,x
        jmp loc_1572

loc_1550:
        lda $1068,x
        sec
        sbc $106e,x
        sta $1068,x
        bcs loc_1572
        dec $106b,x
        inc $1095,x
        lda $1095,x
        cmp $1071,x
        bne loc_1572
        lda #$00
        sta $1092,x
        sta $1095,x

loc_1572:
        lda $10bc
        bne loc_157a
        jmp loc_1640

loc_157a:
        lda $10bb
        beq loc_1585
        dec $10bb
        jmp loc_1640

loc_1585:
        lda $10bc
        cmp #$01
        beq loc_15eb
        cmp #$02
        beq loc_15ce
        cmp #$03
        beq loc_1597
        jmp loc_1640

loc_1597:
        inc $10bd
        lda $10bd
        cmp $10c1
        beq loc_15a5
        jmp loc_1640

loc_15a5:
        lda #$00
        sta $10bd
        lda $10b8
        clc
        adc $10bf
        sta $10b8
        inc $10be
        lda $10be
        cmp $10c0
        bne loc_15cb
        ldy #$0a
        lda ($fc),y
        sta $10b8
        lda #$00
        sta $10be

loc_15cb:
        jmp loc_1640

loc_15ce:
        lda $10b8
        cmp $10c0
        bcs loc_15de
        cmp $10c1
        bcs loc_15de
        jmp loc_1640

loc_15de:
        lda $10b8
        sec
        sbc $10bf
        sta $10b8
        jmp loc_1640

loc_15eb:
        lda $10bd
        bne loc_160b
        lda $10b8
        clc
        adc $10b9
        sta $10b8
        inc $10be
        lda $10be
        cmp $10ba
        bne loc_1640
        inc $10bd
        jmp loc_1623

loc_160b:
        lda $10b8
        sec
        sbc $10b9
        sta $10b8
        inc $10be
        lda $10be
        cmp $10ba
        bne loc_1640
        dec $10bd

loc_1623:
        lda #$00
        sta $10be
        lda $10b9
        clc
        adc $10c0
        beq loc_1634
        sta $10b9

loc_1634:
        lda $10ba
        clc
        adc $10c1
        beq loc_1640
        sta $10ba

loc_1640:
        lda $104a,x
        beq loc_16b0
        lda $104d,x
        cmp $1050,x
        bcs loc_1662
        lda $102c,x
        clc
        adc $104a,x
        sta $102c,x
        lda $102f,x
        adc #$00
        sta $102f,x
        jmp loc_1674

loc_1662:
        lda $102c,x
        sec
        sbc $104a,x
        sta $102c,x
        lda $102f,x
        sbc #$00
        sta $102f,x

loc_1674:
        lda $1026,x
        clc
        adc $102c,x
        lda $1029,x
        adc $102f,x
        sta $1032,x
        ldy $1050,x
        lda $1125,y
        cmp $1032,x
        bne loc_16ad
        lda #$00
        sta $104a,x
        sta $102c,x
        sta $102f,x
        lda $1050,x
        sta $1062,x
        tay
        lda $10c5,y
        sta $1026,x
        lda $1125,y
        sta $1029,x

loc_16ad:
        jmp loc_1798

loc_16b0:
        lda $105f,x
        beq loc_16ff
        asl
        asl
        asl
        asl
        sta $10b4
        lda $105f,x
        and #$10
        bne loc_16ea
        lda $1026,x
        clc
        adc $102c,x
        lda $1029,x
        adc $102f,x
        sta $1032,x
        beq loc_16fc
        lda $102c,x
        sec
        sbc $10b4
        sta $102c,x
        lda $102f,x
        sbc #$00
        sta $102f,x
        jmp loc_16fc

loc_16ea:
        lda $102c,x
        clc
        adc $10b4
        sta $102c,x
        lda $102f,x
        adc #$00
        sta $102f,x

loc_16fc:
        jmp loc_1798

loc_16ff:
        lda $10b6
        and #$80
        bne loc_1709
        jmp loc_1798

loc_1709:
        lda $1047,x
        beq loc_1714
        dec $1047,x
        jmp loc_1798

loc_1714:
        lda $1098,x
        bne loc_173d
        lda $102c,x
        clc
        adc $10aa,x
        sta $102c,x
        lda $102f,x
        adc $10a7,x
        sta $102f,x
        inc $109b,x
        lda $109b,x
        cmp $1080,x
        bne loc_1798
        inc $1098,x
        jmp loc_175e

loc_173d:
        lda $102c,x
        sec
        sbc $10aa,x
        sta $102c,x
        lda $102f,x
        sbc $10a7,x
        sta $102f,x
        inc $109b,x
        lda $109b,x
        cmp $1080,x
        bne loc_1798
        dec $1098,x

loc_175e:
        lda #$00
        sta $109b,x
        lda $10ad,x
        bmi loc_1789
        lda $10aa,x
        clc
        adc $10ad,x
        sta $10aa,x
        lda $10a7,x
        adc #$00
        sta $10a7,x

loc_177a:
        lda $1080,x
        beq loc_1798
        clc
        adc $10b0,x
        sta $1080,x
        jmp loc_1798

loc_1789:
        lda $10aa,x
        clc
        adc $10ad,x
        beq loc_177a
        sta $10aa,x
        jmp loc_177a

loc_1798:
        lda $10b6
        and #$02
        beq loc_17b2
        lda $102c,x
        clc
        adc $10ad,x
        sta $102c,x
        lda $102f,x
        adc $10b0,x
        sta $102f,x

loc_17b2:
        lda $10b6
        and #$40
        beq loc_1800
        lda $10a1,x
        bne loc_1800
        lda $108f,x
        asl
        asl
        asl
        clc
        adc $109e,x
        tay
        lda $1ab0,y
        cmp #$80
        beq loc_17f3
        cmp #$81
        beq loc_17f8
        clc
        adc $1062,x
        tay
        lda $10c5,y
        sta $1026,x
        lda $1125,y
        sta $1029,x
        inc $109e,x
        lda $109e,x
        and #$07
        sta $109e,x
        jmp loc_1800

loc_17f3:
        lda #$01
        sta $10a1,x

loc_17f8:
        lda #$00
        sta $109e,x
        jmp loc_1800

loc_1800:
        lda $10b6
        and #$10
        bne loc_1811
        lda $10b6
        and #$20
        bne loc_181a
        jmp loc_1865

loc_1811:
        lda $1029,x
        sta $1962,x
        jmp loc_1825

loc_181a:
        lda $10b0,x
        sta $1962,x
        lda #$00
        sta $1026,x

loc_1825:
        lda $10a4,x
        cmp #$08
        beq loc_189d

loc_182c:
        lda $108c,x
        asl
        asl
        asl
        clc
        adc $10a4,x
        tay
        lda $1ad0,y
        sta $10b5
        lda $1af0,y
        cmp #$ff
        beq loc_1851
        cmp #$fe
        beq loc_1859
        sta $1053,x
        inc $10a4,x
        jmp loc_189d

loc_1851:
        lda #$00
        sta $10a4,x
        jmp loc_182c

loc_1859:
        lda $10a4,x
        sec
        sbc #$05
        sta $10a4,x
        jmp loc_182c

loc_1865:
        ldy $101d,x
        lda $1026,x
        clc
        adc $102c,x
        sta $1035,x
        sta $d400,y
        lda $1029,x
        adc $102f,x
        sta $1038,x
        sta $d401,y

loc_1881:
        lda $1068,x
        sta $d402,y
        lda $106b,x
        sta $d403,y
        lda $10b8
        sta $d416
        lda $1053,x
        and $1074,x
        sta $d404,y

loc_189c:
        rts

loc_189d:
        lda $10b6
        and #$10
        bne loc_18c7
        ldy $101d,x
        lda $1026,x
        clc
        adc $102c,x
        sta $1035,x
        sta $d400,y
        lda $10b5
        adc $1962,x
        clc
        adc $102f,x
        sta $1038,x
        sta $d401,y
        jmp loc_1881

loc_18c7:
        ldy $101d,x
        lda $1026,x
        clc
        adc $102c,x
        sta $1035,x
        sta $d400,y
        lda $10b5
        adc $102f,x
        clc
        adc $1029,x
        sta $1038,x
        sta $d401,y
        jmp loc_1881

loc_18ea:
        asl
        asl
        asl
        tay
        ldx #$00

loc_18f0:
        lda $1d83,y
        sta $1015,x
        lda $1d84,y
        sta $1018,x
        iny
        iny
        inx
        cpx #$03
        bne loc_18f0
        lda $1d83,y
        sta $101c
        lda $1d84,y
        sta $101b
        ldx #$00
        txa

loc_1912:
        sta $1026,x
        inx
        cpx #$9f
        bne loc_1912
        ldx #$00
        lda #$ff

loc_191e:
        sta $103b,x
        inx
        cpx #$03
        bne loc_191e
        ldx #$00
        txa

loc_1929:
        sta $d400,x
        inx
        cpx #$19
        bne loc_1929
        rts

loc_1932:
        ldx #$00
        txa

loc_1935:
        ldy $101d,x
        sta $d404,y
        sta $1053,x
        sta $103b,x
        sta $105f,x
        sta $104a,x
        inx
        cpx #$03
        bne loc_1935
        rts

// --- Region $1970-$197e ---
.pc = $1970 "loc_1970"

loc_1970:
        lda #$00
        sta $10bd
        sta $10be
        lda $10b7
        jmp loc_14e2

dat_197e:
        .byte $00                                   // .

// --- Region $2046-$204c ---
.pc = $2046 "loc_2046"

loc_2046:
        sbc $fffc,x
        sbc $d0f4,x
        rti

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

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

chr_0800:
        // === Charset data (1024 bytes, $0800-$0bff) ===
        .byte $00,$00,$00,$ff,$ff,$ff,$ff,$ff       // char 0 @+0
        .byte $ff,$ff,$ff,$ff,$83,$11,$f1,$81       // char 1 @+1
        .byte $3f,$1f,$1f,$1f,$03,$11,$11,$11       // char 2 @+2
        .byte $ff,$ff,$ff,$ff,$83,$11,$13,$1f       // char 3 @+3
        .byte $f9,$f1,$f1,$f1,$81,$11,$11,$11       // char 4 @+4
        .byte $ff,$ff,$ff,$ff,$83,$11,$11,$01       // char 5 @+5
        .byte $e1,$c7,$c7,$c7,$c7,$01,$c7,$c7       // char 6 @+6
        .byte $ff,$ff,$ff,$ff,$89,$11,$11,$11       // char 7 @+7
        .byte $3f,$1f,$1f,$1f,$03,$11,$11,$11       // char 8 @+8
        .byte $e7,$c7,$cf,$ff,$e7,$c7,$c7,$c7       // char 9 @+9
        .byte $e7,$c7,$cf,$ff,$e7,$c7,$c7,$c7       // char 10 @+10
        .byte $3f,$1f,$1f,$1f,$13,$11,$13,$07       // char 11 @+11
        .byte $cf,$c7,$c7,$c7,$c7,$c7,$c7,$c7       // char 12 @+12
        .byte $ff,$ff,$ff,$ff,$39,$11,$01,$11       // char 13 @+13
        .byte $ff,$ff,$ff,$ff,$23,$11,$11,$11       // char 14 @+14
        .byte $ff,$ff,$ff,$ff,$83,$11,$11,$11       // char 15 @+15
        .byte $ff,$ff,$ff,$ff,$23,$11,$11,$11       // char 16 @+16
        .byte $ff,$ff,$ff,$ff,$89,$11,$11,$11       // char 17 @+17
        .byte $ff,$ff,$ff,$ff,$23,$11,$11,$1f       // char 18 @+18
        .byte $ff,$ff,$ff,$ff,$83,$11,$1f,$83       // char 19 @+19
        .byte $e7,$c7,$c7,$01,$c7,$c7,$c7,$c7       // char 20 @+20
        .byte $ff,$ff,$ff,$ff,$33,$11,$11,$11       // char 21 @+21
        .byte $ff,$ff,$ff,$ff,$33,$11,$11,$11       // char 22 @+22
        .byte $ff,$ff,$ff,$ff,$33,$11,$11,$11       // char 23 @+23
        .byte $ff,$ff,$ff,$ff,$33,$11,$93,$c7       // char 24 @+24
        .byte $ff,$ff,$ff,$ff,$33,$11,$11,$11       // char 25 @+25
        .byte $ff,$ff,$ff,$ff,$03,$f1,$e3,$c7       // char 26 @+26

dat_08d8:
        // === Fill data (48 bytes, $08d8-$0907) ===
        .fill 48, $ff
        .byte $e7,$c7,$c7,$c7,$c7,$c7,$c7,$cf       // char 33 '!'
        .byte $99,$11,$33,$ff,$ff,$ff,$ff,$ff       // char 34 '"'
        .byte $ff,$ff,$ff,$ff,$ff,$93,$01,$93       // char 35 '#'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 36 '$'
        .byte $ff,$ff,$ff,$ff,$9d,$19,$33,$e7       // char 37 '%'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 38 '&'
        .byte $e7,$c7,$cf,$ff,$ff,$ff,$ff,$ff       // char 39 '''
        .byte $ff,$ff,$ff,$f1,$e3,$e7,$c7,$c7       // char 40 '('
        .byte $ff,$ff,$ff,$8f,$c7,$e7,$e3,$e3       // char 41 ')'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 42 '*'
        .byte $ff,$ff,$ff,$ff,$cf,$cf,$cf,$03       // char 43 '+'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 44 ','
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$03       // char 45 '-'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 46 '.'
        .byte $ff,$ff,$ff,$ff,$fd,$f9,$f1,$e3       // char 47 '/'
        .byte $ff,$ff,$ff,$ff,$83,$11,$11,$01       // char 48 '0'
        .byte $ff,$ff,$ff,$ff,$e7,$c7,$87,$c7       // char 49 '1'
        .byte $ff,$ff,$ff,$ff,$83,$11,$f1,$83       // char 50 '2'
        .byte $ff,$ff,$ff,$ff,$83,$11,$f1,$c3       // char 51 '3'
        .byte $ff,$ff,$ff,$ff,$33,$11,$11,$81       // char 52 '4'
        .byte $ff,$ff,$ff,$ff,$01,$11,$1f,$03       // char 53 '5'
        .byte $ff,$ff,$ff,$ff,$83,$11,$1f,$03       // char 54 '6'
        .byte $ff,$ff,$ff,$ff,$01,$11,$f1,$e3       // char 55 '7'
        .byte $ff,$ff,$ff,$ff,$83,$11,$11,$83       // char 56 '8'
        .byte $ff,$ff,$ff,$ff,$83,$11,$11,$81       // char 57 '9'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$e7,$ff       // char 58 ':'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$e7,$ff       // char 59 ';'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 60 '<'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$83,$ff       // char 61 '='
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 62 '>'
        .byte $ff,$ff,$83,$11,$f1,$e3,$c7,$c7       // char 63 '?'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 64 '@'
        .byte $11,$11,$11,$89,$ff,$ff,$ff,$ff       // char 65 'A'
        .byte $11,$11,$11,$23,$ff,$ff,$ff,$ff       // char 66 'B'
        .byte $1f,$13,$11,$83,$ff,$ff,$ff,$ff       // char 67 'C'
        .byte $11,$11,$11,$89,$ff,$ff,$ff,$ff       // char 68 'D'
        .byte $1f,$13,$11,$83,$ff,$ff,$ff,$ff       // char 69 'E'
        .byte $c7,$c7,$c7,$c7,$c7,$c7,$c7,$0f       // char 70 'F'
        .byte $11,$11,$11,$81,$f1,$91,$11,$83       // char 71 'G'
        .byte $11,$11,$11,$99,$ff,$ff,$ff,$ff       // char 72 'H'
        .byte $c7,$c7,$c7,$cf,$ff,$ff,$ff,$ff       // char 73 'I'
        .byte $c7,$c7,$c7,$c7,$c7,$c7,$c7,$0f       // char 74 'J'
        .byte $13,$11,$11,$99,$ff,$ff,$ff,$ff       // char 75 'K'
        .byte $c7,$c7,$c7,$e1,$ff,$ff,$ff,$ff       // char 76 'L'
        .byte $11,$11,$11,$99,$ff,$ff,$ff,$ff       // char 77 'M'
        .byte $11,$11,$11,$99,$ff,$ff,$ff,$ff       // char 78 'N'
        .byte $11,$11,$11,$83,$ff,$ff,$ff,$ff       // char 79 'O'
        .byte $11,$11,$11,$03,$1f,$1f,$1f,$9f       // char 80 'P'
        .byte $11,$11,$11,$81,$f1,$c1,$f1,$f3       // char 81 'Q'
        .byte $1f,$1f,$1f,$9f,$ff,$ff,$ff,$ff       // char 82 'R'
        .byte $f1,$91,$11,$83,$ff,$ff,$ff,$ff       // char 83 'S'
        .byte $c7,$c7,$c7,$e1,$ff,$ff,$ff,$ff       // char 84 'T'
        .byte $11,$11,$11,$89,$ff,$ff,$ff,$ff       // char 85 'U'
        .byte $11,$11,$93,$c7,$ff,$ff,$ff,$ff       // char 86 'V'
        .byte $11,$01,$11,$39,$ff,$ff,$ff,$ff       // char 87 'W'
        .byte $93,$11,$11,$99,$ff,$ff,$ff,$ff       // char 88 'X'
        .byte $11,$11,$11,$81,$f1,$91,$11,$83       // char 89 'Y'
        .byte $8f,$1f,$1f,$81                       // char 90 (partial)

dat_0ad4:
        // === Fill data (53 bytes, $0ad4-$0b08) ===
        .fill 53, $ff
        .byte $e7,$c7,$cf,$ff,$ff,$ff,$ff           // char 97 (partial)
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 98 'b'
        .byte $93,$01,$93,$ff,$ff,$ff,$ff,$ff       // char 99 'c'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 100 'd'
        .byte $cf,$99,$31,$73,$ff,$ff,$ff,$ff       // char 101 'e'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 102 'f'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 103 'g'
        .byte $c7,$c7,$e7,$e3,$f1,$ff,$ff,$ff       // char 104 'h'
        .byte $e3,$e3,$e7,$c7,$8f,$ff,$ff,$ff       // char 105 'i'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 106 'j'
        .byte $cf,$cf,$cf,$ff,$ff,$ff,$ff,$ff       // char 107 'k'
        .byte $ff,$ff,$e7,$c7,$8f,$ff,$ff,$ff       // char 108 'l'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 109 'm'
        .byte $ff,$ff,$c7,$c7,$ff,$ff,$ff,$ff       // char 110 'n'
        .byte $c7,$8f,$1f,$3f,$ff,$ff,$ff,$ff       // char 111 'o'
        .byte $11,$11,$11,$83,$ff,$ff,$ff,$ff       // char 112 'p'
        .byte $c7,$c7,$c7,$01,$ff,$ff,$ff,$ff       // char 113 'q'
        .byte $1f,$11,$11,$01,$ff,$ff,$ff,$ff       // char 114 'r'
        .byte $f1,$11,$11,$83,$ff,$ff,$ff,$ff       // char 115 's'
        .byte $f1,$f1,$f1,$f9,$ff,$ff,$ff,$ff       // char 116 't'
        .byte $f1,$91,$11,$83,$ff,$ff,$ff,$ff       // char 117 'u'
        .byte $11,$11,$11,$83,$ff,$ff,$ff,$ff       // char 118 'v'
        .byte $c7,$c7,$c7,$e7,$ff,$ff,$ff,$ff       // char 119 'w'
        .byte $11,$11,$11,$83,$ff,$ff,$ff,$ff       // char 120 'x'
        .byte $f1,$91,$11,$83,$ff,$ff,$ff,$ff       // char 121 'y'
        .byte $ff,$e7,$ff,$ff,$ff,$ff,$ff,$ff       // char 122 'z'
        .byte $ff,$e7,$cf,$ff,$ff,$ff,$ff,$ff       // char 123 '{'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 124 '|'
        .byte $ff,$83,$ff,$ff,$ff,$ff,$ff,$ff       // char 125 '}'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 126 '~'
        .byte $df,$e7,$c7,$cf,$ff,$ff,$ff,$ff       // char 127

// --- Region $0cca-$0cca ---
.pc = $0cca "chr_0cca"

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

// --- Region $0d5b-$0d5b ---
.pc = $0d5b "chr_0d5b"

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

// --- Region $0e90-$0e90 ---
.pc = $0e90 "chr_0e90"

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

// --- Region $0f08-$0f0f ---
.pc = $0f08 "Program $0f08"
        .byte $00,$00,$00,$00,$00,$00               // char 0 (partial)
        .byte $00,$00                               // char 1 (partial)

// --- Region $0f26-$0f2f ---
.pc = $0f26 "Program $0f26"
        .byte $00,$00,$00,$00,$00,$00               // char 0 (partial)
        .byte $00,$00,$00,$00                       // char 1 (partial)

// --- Region $0f48-$0f50 ---
.pc = $0f48 "Program $0f48"
        .byte $00,$00,$00,$00,$00,$00               // char 0 (partial)
        .byte $00,$00,$00                           // char 1 (partial)

// --- Region $0f61-$0fc1 ---
.pc = $0f61 "chr_0f61"

chr_0f61:
        // === Charset data (97 bytes, $0f61-$0fc1) ===
        .byte $00,$00,$00,$00,$60,$00,$07,$0d       // char 0 @+0
        .byte $03,$0f,$05,$0a,$0c,$0e,$08,$04       // char 1 @+1
        .byte $0b,$02,$06,$09,$44,$59,$00,$00       // char 2 @+2
        .byte $00,$00,$00,$10,$f5,$60,$00,$01       // char 3 @+3
        .byte $01,$01,$01,$02,$02,$03,$03,$04       // char 4 @+4
        .byte $04,$05,$05,$06,$06,$06,$06,$06       // char 5 @+5
        .byte $06,$05,$05,$04,$04,$03,$03,$02       // char 6 @+6
        .byte $02,$01,$01,$01,$01,$01,$01,$01       // char 7 @+7
        .byte $01,$07,$07,$0f,$0f,$0a,$0a,$08       // char 8 @+8
        .byte $08,$02,$02,$09,$09,$00,$00,$00       // char 9 @+9
        .byte $00,$09,$09,$02,$02,$08,$08,$0a       // char 10 @+10
        .byte $0a,$0f,$0f,$07,$07,$01,$01,$06       // char 11 @+11

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

// --- Region $1007-$1184 ---
.pc = $1007 "Segment $1007"
        .text "PERNET "
        .byte $5b
        .byte $53,$5d
        .byte $21,$2d,$00,$1a
        .byte $41,$54
        .byte $75,$1d,$1d,$1d,$1f,$01,$00,$07,$0e,$01,$02,$04,$fe,$fd,$fb,$a5 // u...............
        .byte $00,$00,$1f,$00,$54,$00,$00,$00,$00,$00,$00,$00,$00,$00,$a5,$00 // ....T...........
        .byte $00,$1f,$00,$50,$ff,$ff,$ff,$00,$00,$00,$02,$01,$00,$2a,$00,$52 // ...P.........*.R
        .fill 12, $00
        .byte $11,$00,$80,$07,$00,$02,$07,$00,$02,$0c,$00,$00,$00,$00,$00,$37 // ...............7
        .byte $00,$4c,$00,$00,$00,$a0,$00,$00,$07,$00,$04,$20,$00,$00,$02,$00 // .L......... ....
        .byte $00,$fe,$fe,$fe,$00,$00,$00,$03,$1f,$03,$01,$05,$01,$00,$00,$00 // ................
        .fill 11, $00
        .byte $01,$03,$00,$02,$00,$00,$00,$01,$00,$00,$00,$01,$00,$43,$f5,$00 // .............C..
        .byte $04,$00,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$01,$00,$50,$20,$00,$00,$00,$00,$00,$00,$00 // .......P .......
        .byte $00,$00,$00,$00,$00,$00,$00,$0c,$1c,$2d,$3e,$47,$66,$7b,$91,$a9 // .........->Gf{..
        .byte $c3,$dd,$fa,$18,$38,$5a,$7d,$a3,$cc,$f6,$23,$53,$86,$bb,$f4,$30 // ....8Z}...#S...0
        .byte $70,$b4,$fb,$47,$98,$ed,$47,$a7,$0c,$77,$e9,$61,$e1,$68,$f7,$8f // p..G..G..w.a.h..
        .byte $30,$da,$8f,$4e,$18,$ef,$d2,$c3,$c3,$d1,$ef,$1f,$60,$b5,$1e,$9c // 0..N........`...
        .byte $31,$df,$a5,$87,$86,$a2,$df,$3e,$c1,$6b,$3c,$39,$63,$be,$4b,$0f // 1......>.k<9c.K.
        .byte $0c,$45,$bf,$7d,$83,$d6,$79,$73,$c7,$7c,$97,$1e,$18,$8b,$7e,$fa // .E.}..ys.|....~.
        .byte $06,$ac,$f3,$e6,$8f,$f8,$fc,$01,$01,$01,$01,$01,$01,$01,$01,$01 // ................
        .byte $01,$01,$01,$02,$02,$02,$02,$02,$02,$02,$03,$03,$03,$03,$03,$04 // ................
        .byte $04,$04,$04,$05,$05,$05,$06,$06,$07,$07,$07,$08,$08,$09,$09,$0a // ................
        .byte $0b,$0b,$0c,$0d,$0e,$0e,$0f,$10,$11,$12,$13,$15,$16,$17,$19,$1a // ................
        .byte $1c,$1d,$1f                           // ...

txt_1161:
        .text "!#%'*,/258;?CGKOTY"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // ^djpw~..........
        .byte $ee,$fd                               // ..

// --- Region $194d-$196f ---
.pc = $194d "dat_194d"

dat_194d:
        .byte $9d,$86,$10,$98,$9d,$65,$10,$a9,$02,$9d,$89,$10,$a9,$00,$9d,$5f // .....e........._
        .byte $10,$9d,$4a,$10,$60,$00,$00,$00,$00,$00,$00,$0b,$01,$04,$04,$0f // ..J.`...........
        .byte $00,$20,$00                           // . .

// --- Region $197f-$198f ---
.pc = $197f "Segment $197f"
        .byte $00,$10,$1a,$44,$99,$c2,$07,$18,$41,$6d,$9f,$d1,$ec,$fc,$23,$3e // ...D....Am....#>

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

// --- Region $19c0-$19cf ---
.pc = $19c0 "dat_19c0"

dat_19c0:
        .byte $1b,$1b,$1b,$1b,$1b,$1c,$1c,$1c,$1c,$1c,$1c,$1c,$1c,$1d,$1d // ...............

dat_19cf:
        // === Fill data (1 bytes, $19cf-$19cf) ===
        .byte $00                                   // .

// --- Region $1a01-$1d8b ---
.pc = $1a01 "dat_1a01"

dat_1a01:
        .byte $fc,$41,$06,$22,$00,$00,$00,$00,$00,$08,$0a,$00,$00,$01,$80,$00 // .A."............
        .byte $fb,$41,$06,$22,$00,$11,$02,$01,$00,$08,$0a,$00,$00,$01,$80,$00 // .A."............
        .byte $48,$81,$04,$00,$12,$00,$00,$00,$00,$20,$0a,$00,$00,$00,$20,$00 // H........ .... .
        .byte $f8,$41,$08,$11,$00,$00,$00,$00,$00,$06,$10,$00,$00,$02,$00,$00 // .A..............
        .byte $f9,$11,$06,$22,$00,$00,$00,$00,$00,$61,$0a,$00,$00,$00,$c0,$00 // ...".....a......
        .byte $f9,$11,$06,$22,$01,$00,$00,$00,$00,$61,$0a,$00,$00,$00,$c0,$00 // ...".....a......
        .byte $f9,$11,$06,$22,$02,$00,$00,$00,$00,$61,$0a,$00,$00,$00,$c0,$00 // ...".....a......
        .byte $f9,$11,$06,$22,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$00 // ..."............
        .byte $f7,$09,$08,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$20,$00 // .............. .
        .byte $f8,$41,$08,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$20,$00 // .A.. ......... .
        .byte $8a,$11,$08,$20,$00,$13,$01,$01,$00,$10,$06,$00,$00,$00,$80,$00 // ... ............
        .byte $00,$04,$04,$00,$00,$04,$04,$00,$00,$03,$03,$00,$00,$03,$03,$00 // ................
        .byte $00,$05,$05,$00,$00,$05,$05,$00,$04,$04,$04,$00,$04,$04,$04,$ff // ................
        .byte $80,$ff,$01,$01,$00,$00,$00,$80,$30,$60,$50,$68,$60,$00,$00,$f0 // ........0`Ph`...
        .byte $0a,$0b,$0a,$08,$06,$05,$00,$00       // ........

txt_1ae9:
        .text ",,,,,,"
        .byte $00                                   // string terminator
        .byte $81,$81,$80,$ff,$00,$00,$00,$00,$81,$80,$80,$80,$80,$ff,$00,$00 // ................
        .byte $81,$11,$10,$10,$10,$10,$10,$00       // ........

txt_1b08:
        .text "A"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .byte $7f,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$ff,$81,$63,$a1,$1f,$20,$7f // ...........c.. .
        .byte $fe,$fe,$fe,$6f,$fe,$63,$a1,$1a,$1b,$a1,$1d,$1e,$a1,$1f,$20,$7f // ...o.c........ .
        .byte $fe,$fe,$fe,$81,$63,$a1,$1d,$1e,$fe,$fe,$a1,$18,$19,$fe,$fe,$a1 // ....c...........
        .byte $11,$12,$fe,$ff,$82,$63,$4c,$fe,$4c,$4c,$4c,$fe,$4c,$4c,$4c,$fe // .....cL.LLL.LLL.
        .byte $4c,$4c,$4c,$88,$4c,$82,$4c,$88,$4c,$82,$63,$4c,$fe,$4c,$4c,$4c // LLL.L.L.L.cL.LLL
        .byte $fe,$4c,$4c,$4c,$fe,$4c,$4c,$4c,$88,$4c,$82,$4c,$88,$4c,$82,$63 // .LLL.LLL.L.L.L.c
        .byte $4c,$fe,$4c,$4c,$4c,$fe,$4c,$4c,$4c,$fe,$4c,$4c,$4c,$88,$4c,$82 // L.LLL.LLL.LLL.L.
        .byte $4c,$88,$4c,$82,$63,$4c,$fe,$4c,$4c,$4c,$fe,$4c,$4c,$4c,$fe,$4c // L.L.cL.LLL.LLL.L
        .byte $4c,$4c,$88,$4c,$82,$4c,$88,$4c,$ff,$81,$63,$a1,$13,$14,$7f,$fe // LL.L.L.L..c.....
        .byte $fe,$fe,$6f,$fe,$63,$a1,$1a,$1b,$a1,$1d,$1e,$a1,$13,$14,$7f,$fe // ..o.c...........
        .byte $fe,$fe,$81,$63,$fe,$1b,$a1,$1d,$1e,$fe,$a1,$1a,$1b,$fe,$a1,$1d // ...c............
        .byte $1e,$ff,$8a,$63,$3c,$fe,$38,$3c,$fe,$38,$fe,$a7,$38,$3a,$fe,$fe // ...c<.8<.8..8:..
        .byte $a0,$3c,$fe,$fe,$3d,$fe,$3c,$fe,$8a,$63,$3c,$fe,$38,$3c,$fe,$38 // .<..=.<..c<.8<.8
        .byte $fe,$a7,$38,$3a,$fe,$fe,$a0,$3c,$fe,$fe,$3d,$fe,$3c,$fe,$8a,$63 // ..8:...<..=.<..c
        .byte $3c,$fe,$38,$3c,$fe,$38,$fe,$a7,$38,$3a,$fe,$fe,$a0,$38,$fe,$fe // <.8<.8..8:...8..
        .byte $37,$fe,$35,$7f,$fe,$fe,$ff,$80,$63,$a1,$13,$14,$7f,$fe,$73,$fe // 7.5.....c.....s.
        .byte $63,$a1,$1a,$1b,$a1,$1d,$1e,$ff,$81,$63,$a1,$1f,$20,$fe,$a1,$13 // c........c.. ...
        .byte $14,$fe,$a1,$13,$14,$a1,$13,$14,$fe,$a1,$1d,$1e,$a1,$1a,$1b,$a1 // ................
        .byte $1d,$1e,$fe,$a1,$1a,$1b,$a1,$1d,$1e,$fe,$a1,$1a,$1b,$a1,$1d,$1e // ................
        .byte $ff,$63,$fe,$84,$63,$30,$fe,$85,$2d,$84,$30,$30,$85,$2d,$fe,$fe // .c..c0..-.00.-..
        .fill 8, $fe
        .byte $86,$63,$2f,$fe,$87,$2b,$86,$2f,$2f,$87,$2b,$fe,$fe,$fe,$fe,$fe // .c/..+.//.+.....
        .byte $fe,$fe,$fe,$fe,$ff,$63,$fe,$84,$63,$30,$fe,$85,$2d,$84,$30,$30 // .....c..c0..-.00
        .byte $85,$2d,$fe,$84,$30,$30,$85,$2d,$84,$30,$fe,$30,$fe,$fe,$fe,$86 // .-..00.-.0.0....
        .byte $63,$2f,$fe,$87,$2b,$86,$2f,$2f,$87,$2b,$fe,$86,$2f,$2f,$87,$2b // c/..+.//.+..//.+
        .byte $86,$2f,$fe,$2f,$fe,$fe,$ff,$89,$63,$4c,$82,$fe,$4a,$4a,$89,$4c // ././....cL..JJ.L
        .byte $82,$fe,$4a,$4a,$89,$4c,$82,$fe,$4a,$4a,$89,$4c,$82,$fe,$4a,$4a // ..JJ.L..JJ.L..JJ
        .byte $89,$4c,$82,$fe,$4a,$4a,$89,$4c,$82,$fe,$4a,$4a,$89,$4c,$82,$fe // .L..JJ.L..JJ.L..
        .byte $4a,$4a,$89,$4c,$82,$fe,$4a,$4a,$ff,$86,$63,$fe,$2f,$fe,$87,$2b // JJ.L..JJ..c./..+
        .byte $86,$2f,$2f,$87,$2b,$fe,$86,$2f,$2f,$87,$2b,$86,$2f,$fe,$2f,$87 // .//.+..//.+././.
        .byte $2b,$fe,$fe,$ff,$81,$63,$a1,$1d,$1e,$fe,$fe,$a1,$18,$19,$fe,$fe // +....c..........
        .byte $a1,$11,$12,$ff,$81,$63,$fe,$fe,$a1,$13,$14,$fe,$a1,$13,$14,$a1 // .....c..........
        .byte $13,$14,$fe,$a1,$1d,$1e,$a1,$1a,$1b,$a1,$1d,$1e,$fe,$a1,$1a,$1b // ................
        .byte $a1,$1d,$1e,$fe,$a1,$1a,$1b,$a1,$1d,$1e,$ff,$89,$63,$4c,$82,$fe // ............cL..
        .byte $4a,$4a,$89,$4c,$82,$fe,$4a,$4a,$89,$63,$4c,$82,$fe,$4a,$4a,$89 // JJ.L..JJ.cL..JJ.
        .byte $4c,$82,$fe,$4a,$4a,$ff,$63,$fe       // L..JJ.c.

spr_1d40:
        // === Sprite data (64 bytes, $1d40-$1d7f) ===
        .byte $ff,$ac,$07                           // #########.#.##.......###
        .byte $07,$08,$08                           // .....###....#.......#...
        .byte $08,$08,$0e                           // ....#.......#.......###.
        .byte $a4,$04,$0e                           // #.#..#.......#......###.
        .byte $04,$ac,$0a                           // .....#..#.#.##......#.#.
        .byte $a6,$04,$0e                           // #.#..##......#......###.
        .byte $04,$ff,$00                           // .....#..########........
        .byte $a1,$01,$03                           // #.#....#.......#......##
        .byte $06,$06,$06                           // .....##......##......##.
        .byte $05,$06,$06                           // .....#.#.....##......##.
        .byte $06,$05,$0e                           // .....##......#.#....###.
        .byte $0e,$0e,$0e                           // ....###.....###.....###.
        .byte $0e,$0e,$0e                           // ....###.....###.....###.
        .byte $0e,$0e,$0b                           // ....###.....###.....#.##
        .byte $a3,$0c,$06                           // #.#...##....##.......##.
        .byte $06,$05,$06                           // .....##......#.#.....##.
        .byte $06,$06,$05                           // .....##......##......#.#
        .byte $0e,$ff,$02                           // ....###.########......#.
        .byte $02,$09,$09                           // ......#.....#..#....#..#
        .byte $09,$09,$09                           // ....#..#....#..#....#..#
        .byte $09,$09,$09                           // ....#..#....#..#....#..#
        .byte $09                                   // sprite 0 padding
        .byte $09,$0d,$ff,$41,$1d,$54,$1d,$75,$1d,$01,$1f // ...A.T.u...

dat_1d8b:
        // === Fill data (1 bytes, $1d8b-$1d8b) ===
        .byte $00                                   // .

// --- Region $2008-$2045 ---
.pc = $2008 "dat_2008"

dat_2008:
        .fill 8, $ff
        .byte $d4,$e4,$d0,$e4,$e5,$d0,$e4,$d0,$41,$00,$00,$50,$95,$66,$99,$6a // ........A..P.f.j
        .byte $16,$05,$1a,$5a,$69,$6a,$a9,$69,$da,$e5,$d0,$d0,$c1,$d0,$c0,$c0 // ...Zij.i........
        .byte $65,$10,$00,$50,$55,$66,$99,$aa,$10,$05,$14,$69,$69,$6a,$a9,$6a // e..PUf.....iij.j
        .byte $ff,$ff,$ff,$ff,$ff,$ff               // ......

// --- Region $204d-$22cf ---
.pc = $204d "dat_204d"

dat_204d:
        .byte $96,$49,$1a,$d6,$91,$40,$00,$44,$51,$95,$66,$69,$15,$04,$00,$15 // .I...@.DQ.fi....
        .byte $56,$99,$6a,$ff,$1f,$1b,$05,$40,$65,$99,$aa,$ff,$ff,$ff,$ff,$7f // V.j....@e.......
        .byte $7f,$af,$9f,$69,$19,$04,$00,$15,$56,$99,$6a,$d0,$e4,$e4,$d0,$e4 // ...i....V.j.....
        .byte $d0,$d0,$c0,$a6,$6a,$a6,$99,$a6,$99,$65,$94,$a4,$69,$a4,$a4,$69 // ....j....e..i..i
        .byte $64,$24,$69,$d0,$c0,$d0,$d0,$e4,$d0,$e4,$e4,$66,$99,$56,$46,$15 // d$i........f.VF.
        .byte $46,$15,$05,$aa,$a9,$aa,$69,$a9,$69,$a4,$a9,$99,$6a,$aa,$aa,$69 // F.....i.i...j..i
        .byte $64,$24,$69,$a6,$99,$a9,$64,$11,$c1,$d6,$d9,$66,$99 // d$i...d....f.

txt_20ba:
        .text "VF"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $aa,$a9,$94,$ab,$ab,$a7,$6a,$a9,$a9,$94,$41,$f4,$f0,$f0,$d0,$e4 // ......j...A.....
        .byte $d0,$d0,$c0,$26,$2a,$66,$99,$a6,$99,$65,$94,$99,$6a,$aa,$9a,$69 // ...&*f...e..j..i
        .byte $64,$24,$69,$a6,$a9,$a9,$60,$11,$d0,$e4,$e4,$ab,$ab,$a7,$6a,$a9 // d$i...`.......j.
        .byte $69,$a4,$a9,$d0,$f0,$f0,$f4,$fc,$fd,$ff,$fe,$51,$54,$10,$14,$11 // i..........QT...
        .byte $04,$45,$45,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$40,$05,$14,$55 // .EE.........@..U
        .byte $66,$99,$6a,$11,$45,$11,$55,$66,$9a,$aa,$aa,$6a,$a7,$ab,$a7,$af // f.j.E.Uf...j....
        .byte $9f,$7f,$4f,$d0,$c0,$c0,$d0,$c0,$d0,$d0,$e4,$51,$94,$50,$94,$51 // ..O........Q.P.Q
        .byte $94,$51,$95,$24,$19,$24,$14,$10,$11,$05,$2a,$ff,$66,$11,$01,$06 // .Q.$.$....*.f...
        .byte $6a,$99,$aa,$ff,$bf,$7f,$bf,$7f,$7f,$3f,$7f // j........?.

txt_2148:
        .text "$))*)**)"
        .byte $d0                                   // 'P' | $80 (end-of-string marker)
        .byte $c0,$d0,$c0,$c0,$d0,$c0,$d0,$11,$45,$11,$55,$66,$99,$a6,$a9,$64 // ........E.Uf...d
        .byte $a4,$69,$a4,$69,$a9,$aa,$a9,$fd,$f9,$f9,$f4,$e4,$d0,$d0,$c0,$14 // .i.i............
        .byte $25,$19,$69,$a5,$99,$a6,$69,$45,$16,$4a,$5a,$29,$6a,$69,$a9,$9a // %.i...iE.JZ)ji..
        .byte $a9,$a6,$a5,$94,$d1,$e4,$d0,$a6,$9a,$a6,$9a,$a6,$a9,$66,$6a,$9f // .............fj.
        .byte $93,$93,$a7,$a4,$a9,$a9,$6a,$64,$a5,$99,$a9,$a5,$99,$a6,$69,$6a // ......jd......ij
        .byte $2a,$69,$64,$29,$64,$64,$99,$a9,$a9,$94,$ff,$da,$e5,$d0,$d0,$3f // *id)dd.........?
        .byte $3f,$7f,$ff,$65,$10,$00,$50,$ff,$ff,$ff,$ff,$10,$05,$04,$59,$6a // ?..e..P.......Yj
        .byte $29,$69,$64,$29,$64,$64,$a9,$d0,$e4,$d0,$e4,$e4,$d1,$e4,$d0,$aa // )id)dd..........
        .byte $6a,$a9,$6a,$a9,$a9,$a4,$69,$6a,$29,$69,$64,$29,$64,$64,$99,$d0 // j.j...ij)id)dd..
        .byte $e4,$d0,$e4,$e4,$d0,$e4,$c0,$9a,$66,$99,$66,$55,$65 // ........f.fUe

txt_21ee:
        .text "UD"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $69,$a4,$64,$a4,$64,$69,$64,$d0,$c0,$d0,$c0,$d0,$c0,$c0,$d0,$a6 // i.d.did.........
        .byte $6a,$99,$66,$55,$44,$11,$40,$a4,$64,$a9,$64,$69,$69 // j.fUD.@.d.dii

txt_220e:
        .text "*)"
        .byte $d0                                   // 'P' | $80 (end-of-string marker)
        .byte $c0,$c0,$d0,$f0,$f4,$f5,$fe,$9a,$66,$99,$66,$55,$25,$15,$54,$a5 // ........f.fU%.T.
        .byte $64,$a4,$69,$99,$5a,$66,$59,$00,$00,$00,$01,$99,$95,$65,$99,$a9 // d.i.ZfY......e..
        .byte $6a,$a9,$6a,$6a,$69,$2a,$29,$11,$02,$05,$16,$99,$95,$65,$99,$a6 // j.jji*)......e..
        .byte $6a,$99,$66,$55,$44,$11,$42,$a4,$64,$a9,$64,$a7,$a7,$97,$4f,$d0 // j.fUD.B.d.d...O.
        .byte $e4,$e4,$d1,$e6,$d6,$d1,$ff,$11,$40,$04,$aa,$aa,$59,$04,$ff,$29 // ........@...Y..)
        .byte $69,$2a,$a9,$aa,$aa,$59,$ff,$c4,$d4,$d0,$e4,$d2,$ea,$e6,$ff,$10 // i*...Y..........
        .byte $41,$04,$aa,$aa,$a6,$51,$ff,$6a,$2a,$69,$aa,$a9,$59,$04,$ff,$fd // A....Q.j*i..Y...
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$01,$98,$6a,$da,$f5,$fc,$ff,$ff,$15 // .........j......
        .byte $44,$91,$aa,$aa,$56,$c1,$ff,$65,$54,$11,$aa,$aa,$6a,$16,$ff,$10 // D...V..eT...j...
        .byte $41,$04,$aa,$aa,$aa,$69,$ff,$69,$24,$69,$a4,$a4,$a5,$94,$ff,$65 // A....i.i$i.....e
        .byte $54,$11,$aa,$aa,$aa,$a6,$ff,$12,$49,$a9,$a5,$93,$5f,$ff,$ff,$5f // T.......I..._.._
        .byte $3f,$3f,$ff,$ff,$ff,$ff,$ff
        .text "$RG"
        .byte $22                                   // double quote
        .byte $98
        .byte $33,$c6

dat_22cf:
        // === Fill data (1 bytes, $22cf-$22cf) ===
        .byte $00                                   // .

// --- Region $2300-$2400 ---
.pc = $2300 "dat_2300"

dat_2300:
        // === Sine/lookup table (256 bytes, range $01-$58) ===
        .fill 13, $01
        .byte $02,$03,$04,$05,$06,$07,$08,$09,$0a,$0b,$0c,$0d,$08,$09,$0a,$0e // ................
        .byte $0c,$0d,$08,$09,$0a,$0e,$0c,$0d,$08,$09,$0a,$0e,$0c,$0d,$01,$01 // ................
        .fill 8, $01
        .byte $0f,$10,$11,$12,$13,$14,$0f,$10,$15,$16,$17,$18,$19,$1a,$1b,$1c // ................
        .byte $13,$1d,$19,$1a,$1b,$1c,$13,$1d,$19,$1a,$1b,$1c,$13,$1d,$01,$01 // ................
        .fill 8, $01
        .byte $1e,$1f                               // ..

txt_235f:
        .text ";!"
        .byte $22                                   // double quote character
        .text "#$%&'("
        .byte $01                                   // .

txt_2369:
        .text "$%)*+,$%)*+,$%)*+,"
        .fill 10, $01

txt_2385:
        .text "-./012"
        .byte $0f
        .text "34567"
        .byte $0f
        .text "3891:"
        .byte $0f
        .byte $33,$3b,$3c
        .byte $31,$3a,$0f
        .text "3891:"
        .byte $01,$01,$01,$01,$01,$01,$01,$01
        .byte $01,$01                               // ..

txt_23ad:
        .text "$=>?"
        .byte $40                                   // @ character
        .text "ABCDE"
        .byte $40                                   // @ character
        .text "F$=>?"
        .byte $40                                   // @ character
        .text "ABCDGHI$=>?"
        .byte $40                                   // @ character
        .text "A"
        .fill 10, $01

txt_23d5:
        .text "JKLMNOPQRSTUJKLMNOPQRVWXJKLMNO"
        .fill 13, $01

dat_2400:
        // === Fill data (1 bytes, $2400-$2400) ===
        .byte $00                                   // .

// --- Region $2450-$247b ---
.pc = $2450 "txt_2450"

txt_2450:
        .text "                "
        .byte $0d                                   // string terminator
        .byte $01,$04,$12,$01,$18                   // .....

txt_2466:
        .text " +3                  "
        .byte $00                                   // string terminator

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

txt_2500:
        .text "       "

txt_2507:
        .encoding "screencode_mixed"
        .text "an other crack of crazy bird/tsr/xenon"
        .encoding "petscii_upper"

txt_252d:
        .text "... "

txt_2531:
        .encoding "screencode_mixed"
        .text "i'm getting tired and need some coffee soon.. so this text shall not be very long"
        .encoding "petscii_upper"

txt_2582:
        .text "... "

txt_2586:
        .encoding "screencode_mixed"
        .text "thanx to splatterhead/afl for this original"
        .encoding "petscii_upper"

txt_25b1:
        .text "..  "

txt_25b5:
        .encoding "screencode_mixed"
        .text "the crazy bird 's gonna crunch this, so i'm off see ya soon"
        .encoding "petscii_upper"

txt_25f0:
        .text "..!                       "
