// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:05
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $d011  (51474 bytes)
// Crunched with Exomizer — depacked by emulation
// Packer entry: $082a (via BASIC SYS 2090)
// Entry point:  $1000 (4096)
// IRQ handler:  $11c8 (irq_11c8)
// IRQ handler:  $121d (irq_121d)
// IRQ handler:  $10d8 (irq_10d8)
//
// Code: 2130 bytes, Data: 49344 bytes
// Labels: 197, Subroutines: 18
//
// Cross-references: all OK
// ============================================


// --- Region $0812-$08e1 ---
.pc = $0812 "loc_0812"

loc_0812:
        sed
        cpy $fece
        inc $7cfc,x
        inc $c0
        cpy #$e6
        inc $7cfe,x
        sei
        cpx $e6e6
        inc $fefe
.label loc_0828 = * + 1
        .byte $fc,$78,$e0                           // nop $e078,x // ILLEGAL
        .byte $fc,$e0,$e0                           // nop $e0e0,x // ILLEGAL
        inc $fefe,x
        ror $f0f0,x
        .byte $fc,$f0,$f0                           // nop $f0f0,x // ILLEGAL
        beq loc_0828
        .byte $7c,$e0,$e0                           // nop $e0e0,x // ILLEGAL
        cpx $fee6
        inc $667c,x
        inc $e6
        inc $e6e6,x
        inc $e6
        inc $3838,x
        sec
        sec
        inc $fefe,x
        asl $06
        asl $e6
        inc $fe
        inc $647c,x
        cpx $f8f8
        .byte $fc,$ee,$ee                           // nop $eeee,x // ILLEGAL
        inc $c0c0
        cpy #$c0
        cpy #$fe
        inc $c6fe,x
        inc $fefe
        inc $e6e6,x
        inc $66
        inc $f6
        inc $eefe,x
        inc $e6
        .byte $7c,$e6,$e6                           // nop $e6e6,x // ILLEGAL
        inc $e6
        inc $7cfe,x
        .byte $7c,$e6,$e6                           // nop $e6e6,x // ILLEGAL
        inc $fe
        .byte $fc,$f0,$f0                           // nop $f0f0,x // ILLEGAL
        .byte $7c,$e6,$e6                           // nop $e6e6,x // ILLEGAL
        inc $ee
        .byte $fc,$fe,$7e                           // nop $7efe,x // ILLEGAL
        .byte $7c,$e6,$e6                           // nop $e6e6,x // ILLEGAL
        inc $fe
        .byte $fc,$ee,$ee                           // nop $eeee,x // ILLEGAL
        .byte $7c,$e0,$7c                           // nop $7ce0,x // ILLEGAL
        asl $fe0e
        inc $fefc,x
        inc $3838,x
        sec
        sec
        sec
        sec
        ror $e6
        inc $e6
        inc $fe
        inc $66fe,x
        inc $e6
        inc $e6
        .byte $7c,$7c,$38                           // nop $387c,x // ILLEGAL
        ror $e6
        inc $e6
        inc $eefe,x
        dec $66
        inc $7c
        sec
        .byte $7c,$e6,$e6                           // nop $e6e6,x // ILLEGAL
        inc $66
        inc $e6
        inc $387c,x
        sec
        sec
        ror $1c0e,x
        sec

loc_08d4:
        bvs loc_08d4
        inc $07fe,x
        ora $3319
        .byte $67,$cd                               // rra $cd // ILLEGAL
        sta.abs $00ff,y
        brk

// --- Region $09d8-$09f0 ---
.pc = $09d8 "sub_09d8"
// Referenced by: jsr from $1009, $10c7

sub_09d8:
        sty $fb
        sta $fc
        sty $fd
        stx $fe
        ldx #$10

loc_09e2:
        lda ($fb),y
        sta ($fd),y
        iny
        bne loc_09e2
        inc $fc
        inc $fe
        dex
        bne loc_09e2
        rts

// --- Region $0b80-$0bf4 ---
.pc = $0b80 "sub_0b80"
// Referenced by: jsr from $0d19

sub_0b80:
        lda $40
        ldx $43
        sta $43
        stx $40
        lda $41
        ldx $42
        sta $42
        stx $41
        lda $03
        beq loc_0bad
        lda $07f8
        ldx $07fb
        sta $07fb
        stx $07f8
        lda $07f9
        ldx $07fa
        sta $07fa
        stx $07f9
        rts

loc_0bad:
        lda $07fc
        ldx $07ff
        sta $07ff
        stx $07fc
        lda $07fd
        ldx $07fe
        sta $07fe
        stx $07fd
        rts

dat_0bc6:
        .byte $00,$00                               // ..
// Referenced by: jsr from $0d41

sub_0bc8:
        ldy #$03

loc_0bca:
        lda $07f8,y
        pha
        lda $07fc,y
        sta $07f8,y
        pla
        sta $07fc,y
        dey
        bpl loc_0bca
        lda $03
        bne loc_0bea
        lda $d010
        asl
        asl
        asl
        asl
        sta $d010
        rts

loc_0bea:
        lda $d010
        lsr
        lsr
        lsr
        lsr
        sta $d010
        rts

// --- Region $0c00-$0e38 ---
.pc = $0c00 "sub_0c00"

// Referenced by: jsr from $1067
sub_0c00: {
        ldx #$08
loop1:
        lda $1290,x
        sta $f7,x
        dex
        bpl loop1
        jsr sub_0c24
        ldx #$08
loop2:
        lda $12a0,x
        sta $f7,x
        dex
        bpl loop2
        jsr sub_0c24
        ldx #$08
loop3:
        lda $12b0,x
        sta $f7,x
        dex
        bpl loop3
}
// Referenced by: jsr from $0c0a, $0c17

sub_0c24:
        ldy #$00
        lda #$a2
        sta ($fe),y
        inc $fe
        lda #$07
        sta ($fe),y
        inc $fe
        ldy #$00

loc_0c34:
        lda #$08
        sta $fd
        lda $f8
        sta ($fe),y
        iny
        lda $f9
        sta ($fe),y
        iny
        lda #$26
        sta ($fe),y
        iny
        lda #$ca
        sta ($fe),y
        sec
        nop
        nop
        nop
        nop
        lda #$03
        adc $fe
        sta $fe
        bcc loc_0c5a
        inc $ff

loc_0c5a:
        nop
        nop
        nop
        nop
        nop
        nop

loc_0c60:
        ldx #$03

loc_0c62:
        ldy #$00
        sec
        lda $f8
        sbc #$10
        sta ($fe),y
        iny
        lda $fb
        sta ($fe),y
        iny
        lda $fc
        sta ($fe),y
        clc
        lda #$03
        adc $fe
        sta $fe
        bcc loc_0c80
        inc $ff

loc_0c80:
        lda $f7
        bne loc_0c8f
        lda $fb
        bne loc_0c8a
        dec $fc

loc_0c8a:
        dec $fb
        jmp loc_0c97

loc_0c8f:
        lda $fb
        bne loc_0c95
        inc $fc

loc_0c95:
        inc $fb

loc_0c97:
        dex
        bne loc_0c62
        ldy #$00
        lda $f7
        bne loc_0cc1
        sec
        lda $fb
        sbc #$3d
        sta $fb
        lda $fc
        sbc #$00
        sta $fc
        dec $fd
        bne loc_0c60
        clc
        lda $fb
        adc #$fa
        sta $fb
        lda $fc
        adc #$01
        sta $fc
        jmp loc_0cdf

loc_0cc1:
        clc
        lda $fb
        adc #$3d
        sta $fb
        lda $fc
        adc #$00
        sta $fc
        dec $fd
        bne loc_0c60
        sec
        lda $fb
        sbc #$06
        sta $fb
        lda $fc
        sbc #$02
        sta $fc

loc_0cdf:
        dec $fa
        beq loc_0ce6
        jmp loc_0c34

loc_0ce6:
        lda #$60
        sta ($fe),y
        rts

dat_0ceb:
        .byte $00,$00,$00,$00,$00                   // .....
// Referenced by: jsr from $1011, $1087; branch from $0cf3

sub_0cf0:
        lda $d011
        bpl sub_0cf0

loc_0cf5:
        lda $d011
        bmi loc_0cf5
        rts

dat_0cfb:
        .byte $00,$00,$00,$00,$00                   // .....
// Referenced by: jsr from $117b

sub_0d00:
        lda $4f
        beq loc_0d0f
        dec $3e
        beq loc_0d0b
        jmp loc_0e27

loc_0d0b:
        lda #$00
        sta $4f

loc_0d0f:
        lda $44
        cmp #$b8
        beq loc_0d19
        cmp #$40
        bne loc_0d1c

loc_0d19:
        jsr sub_0b80

loc_0d1c:
        ldy $44
        lda ($4d),y
        bne loc_0d24
        sta $44

loc_0d24:
        cmp #$01
        bne loc_0d2a
        inc $44

loc_0d2a:
        inc $44
        lda $44
        cmp #$80
        bne loc_0d39
        lda #$00
        sta $03
        jmp loc_0d41

loc_0d39:
        cmp #$f8
        bne loc_0d44
        lda #$ff
        sta $03

loc_0d41:
        jsr sub_0bc8

loc_0d44:
        nop
        nop
        nop
        nop
        ldy $40
        lda ($45),y
        bne loc_0d50
        sta $40

loc_0d50:
        cmp #$01
        bne loc_0d5c
        lda $d010
        eor #$01
        jmp loc_0d65

loc_0d5c:
        cmp #$03
        bne loc_0d6a
        lda $d010
        eor #$10

loc_0d65:
        sta $d010
        inc $40

loc_0d6a:
        ldy $40
        lda ($45),y
        ldx $03
        beq loc_0d78
        sta $d000
        jmp loc_0d7b

loc_0d78:
        sta $d008

loc_0d7b:
        inc $40
        nop
        nop
        nop
        ldy $41
        lda ($47),y
        bne loc_0d88
        sta $41

loc_0d88:
        cmp #$01
        bne loc_0d94
        lda $d010
        eor #$02
        jmp loc_0d9d

loc_0d94:
        cmp #$03
        bne loc_0da2
        lda $d010
        eor #$20

loc_0d9d:
        sta $d010
        inc $41

loc_0da2:
        ldy $41
        lda ($47),y
        ldx $03
        beq loc_0db0
        sta $d002
        jmp loc_0db3

loc_0db0:
        sta $d00a

loc_0db3:
        inc $41
        nop
        nop
        nop
        ldy $42
        lda ($49),y
        bne loc_0dc0
        sta $42

loc_0dc0:
        cmp #$01
        bne loc_0dcc
        lda $d010
        eor #$04
        jmp loc_0dd5

loc_0dcc:
        cmp #$03
        bne loc_0dda
        lda $d010
        eor #$40

loc_0dd5:
        sta $d010
        inc $42

loc_0dda:
        ldy $42
        lda ($49),y
        ldx $03
        beq loc_0de8
        sta $d004
        jmp loc_0deb

loc_0de8:
        sta $d00c

loc_0deb:
        inc $42
        nop
        nop
        nop
        ldy $43
        lda ($4b),y
        bne loc_0df8
        sta $43

loc_0df8:
        cmp #$01
        bne loc_0e04
        lda $d010
        eor #$08
        jmp loc_0e0d

loc_0e04:
        cmp #$03
        bne loc_0e12
        lda $d010
        eor #$80

loc_0e0d:
        sta $d010
        inc $43

loc_0e12:
        ldy $43
        lda ($4b),y
        ldx $03
        beq loc_0e20
        sta $d006
        jmp loc_0e23

loc_0e20:
        sta $d00e

loc_0e23:
        inc $43
        nop
        nop

loc_0e27:
        ldx #$07

loc_0e29:
        lda $07f8,x
        sta $12d8,x
        dex
        bpl loc_0e29
        lda $d010
        sta $3f
        rts

dat_0e38:
        // === Sine/lookup table (72 bytes, range $00-$ff) ===
        .byte $f0                                   // .

// --- Region $0e80-$0fef ---
.pc = $0e80 "sub_0e80"
// Referenced by: jsr from $119a

sub_0e80:
        dec $b5
        beq loc_0e85
        rts

loc_0e85:
        sei
        lda #$31
        sta $01
        lda #$01
        sta $f8
        ldy $b6
        lda $2680,y
        beq $0ee8
        jsr sub_0ed8

loc_0e98:
        lda ($f7),y
        sta $2600,y
        dey
        bpl loc_0e98
        lda #$01
        sta $f8
        ldy $b6
        lda $26a0,y
        jsr sub_0ed8

loc_0eac:
        lda ($f7),y
        sta $2608,y
        dey
        bpl loc_0eac
        lda #$01
        sta $f8
        ldy $b6
        lda $26c0,y
        jsr sub_0ed8

loc_0ec0:
        lda ($f7),y
        sta $2610,y
        dey
        bpl loc_0ec0
        lda #$08
        sta $b5
        lda #$36
        sta $01
        inc $b6
        rts

dat_0ed3:
        .byte $00,$00,$00,$00,$00                   // .....
// Referenced by: jsr from $0e95, $0ea9, $0ebd

sub_0ed8:
        asl
        rol $f8
        asl
        rol $f8
        asl
        rol $f8
        sta $f7
        ldy #$07
        rts

dat_0ee6:
        .byte $00,$00                               // ..

// Referenced by: jsr from $1076; branch from $0e93
sub_0ee8: {
        lda #$01
        sta $b5
        lda #$c8
        sta $b7
        lda #$00
        sta $b6
        sta $b2
        lda #$36
        sta $01
        ldy #$17
loop1:
        lda #$20
        sta $2680,y
        sta $26a0,y
        sta $26c0,y
        lda #$00
        sta $2600,y
        dey
        bpl loop1
        nop
        nop
        jsr sub_0f68
loop2:
        ldy #$00
        lda ($b0),y
        beq skip1
        sta $2680,x
        inx
        inc $b0
        bne loop2
        inc $b1
        bne loop2
skip1:
        inc $b0
        bne skip2
        inc $b1
skip2:
        jsr sub_0f68
        txa
        adc $ba
        tax
        dex
loop3:
        ldy #$00
        lda ($b0),y
        beq skip3
        sta $26a0,x
        dex
        inc $b0
        bne loop3
        inc $b1
        bne loop3
skip3:
        inc $b0
        bne skip4
        inc $b1
skip4:
        jsr sub_0f68
loop4:
        ldy #$00
        lda ($b0),y
        beq done1
        sta $26c0,x
        inx
        inc $b0
        bne loop4
        inc $b1
        bne loop4
done1:
        inc $b0
        bne done2
        inc $b1
done2:
        rts
}
// Referenced by: jsr from $0f11, $0f2c, $0f4c

sub_0f68:
        ldy #$00

loc_0f6a:
        lda ($b0),y
        beq loc_0f7b
        cmp #$fe
        beq loc_0f79
        cmp #$ff
        beq loc_0f85
        iny
        bne loc_0f6a

loc_0f79:
        sta $b2

loc_0f7b:
        sty $ba
        sec
        lda #$18
        sbc $ba
        lsr
        tax
        rts

loc_0f85:
        sta $3c
        inc $3d
        rts

dat_0f8a:
        .byte $00,$00,$00,$00,$00,$00               // ......
// Referenced by: jsr from $1178

sub_0f90:
        ldx #$07

loc_0f92:
        lda $12d8,x
        sta $07f8,x
        dex
        bpl loc_0f92
        ldx #$0f

loc_0f9d:
        lda $12e0,x
        sta $d000,x
        lda $12f0,x
        sta $d025,x
        dex
        bpl loc_0f9d
        stx $d01c
        lda #$00
        sta $d017
        sta $d01d
        lda $3f
        sta $d010
        ldy $3d
        beq loc_0fe1
        lda dat_0e38,y
        sta $d001
        sta $d003
        sta $d005
        sta $d007
        sta $d009
        sta $d00b
        sta $d00d
        sta $d00f
        lda $3c
        bne loc_0fe2
        dec $3d

loc_0fe1:
        rts

loc_0fe2:
        inc $3d
        lda $3d
        cmp #$3c
        bne loc_0fee
        lda #$00
        sta $3b

loc_0fee:
        rts

dat_0fef:
        .byte $00                                   // .

// --- Region $1000-$124e ---
.pc = $1000 "main_1000"

main_1000:
        jsr sub_1600
        ldy #$00
        lda #$20
        ldx #$e0
        jsr sub_09d8
        lda $3fff
        sta $02
        jsr sub_0cf0
        lda #$00
        sta $d020
        sta $d021
.label loc_101d = * + 1
        sta $3fff
        lda $02a6
        bne loc_1027
        jsr sub_1400

loc_1027:
        lda #$18
        sta $d018
        lda #$93
        sta $dd00
        sei
        lda #$1b
        sta $d011
        lda #$11
        sta $0315
        lda #$c8
        sta $0314
        lda #$7f
        sta $dc0d
        lda #$2e
        sta $d012
        ldy #$ff
        sty $d015
        iny
        sty $d017
        sty $fb
        lda #$20
        sta $fc
        ldx #$07
        tya

loc_105d:
        sta ($fb),y
        iny
        bne loc_105d
        inc $fc
        dex
        bne loc_105d
        jsr sub_0c00
        lda #$00
        sta $b2
        lda #$42
        sta $b0
        lda #$14
        sta $b1
        jsr sub_0ee8
        lda #$d0
        sta $b7
        ldx #$14

loc_107f:
        lda $12ba,x
        sta $3a,x
        dex
        bpl loc_107f
        jsr sub_0cf0
        lda #$01
        sta $d01a
        sta $d019
        cli

loc_1093:
        jsr $ff9f
        lda $c5
        cmp #$3c
        bne loc_10a8
        lda $3a
        bne loc_10a8
        lda #$ff
        sta $3a
        sta $3c
        inc $3d

loc_10a8:
        lda $3b
        bne loc_1093
        sei
        jsr $ff84
        jsr $ff81
        jsr $ff8a
        lda $02
        sta $3fff
        lda #$37
        sta $01
        ldy #$00
        sty $c6
        lda #$e0
        ldx #$20
        jsr sub_09d8
        ldx #$30

loc_10cc:
        lda loc_1418,x
        sta $02a7,x
        dex
        bpl loc_10cc
        jmp $fce2

irq_10d8:
        pha
        pla
        pha
        pla
        pha
        pla
        lda $d012
        cmp #$42
        beq loc_10e5

loc_10e5:
        ldx #$16
        ldy #$15

loc_10e9:
        dey
        bne loc_10e9

smc_10ec:
        dec $d016                                   // !SMC: modified by $1402

smc_10ef:
        inc $d016                                   // !SMC: modified by $1405
        ldy #$05
        bit $ea
        dex
        bne loc_10e9
        ldx #$07

loc_10fb:
        lda $1258,x
        sta $07f8,x
        dex
        bpl loc_10fb
        ldx #$0f

loc_1106:
        lda $1260,x
        sta $d000,x
        dex
        bpl loc_1106
        ldy #$ca
        lda $b7
        bne loc_1122
        lda $b2
        bne loc_1125
        jsr sub_2700
        ldy #$3f
        bit $ea
        nop
        nop

loc_1122:
.label loc_1123 = * + 1
        bit $ea
        nop

loc_1125:
        dey
        bne loc_1123
        ldx #$16
        ldy #$02

loc_112c:
        dey
        bne loc_112c

smc_112f:
        dec $d016                                   // !SMC: modified by $1408

smc_1132:
        inc $d016                                   // !SMC: modified by $140b
        ldy #$05
        bit $ea
        dex
        bne loc_112c
        ldx #$07

loc_113e:
        lda $1270,x
        sta $07f8,x
        dex
        bpl loc_113e
        ldx #$0f

loc_1149:
        lda $1278,x
        sta $d000,x
        dex
        bpl loc_1149
        ldy #$e4
        lda $b7
        bne loc_115e
        jsr sub_2a00
        ldy #$49
.label loc_115e = * + 1
        bit $ea

loc_115f:
        bit $ea
        dey
        bne loc_115f
        ldx #$16
        ldy #$02

loc_1168:
        dey
        bne loc_1168

smc_116b:
        dec $d016                                   // !SMC: modified by $140e

smc_116e:
        inc $d016                                   // !SMC: modified by $1411
        ldy #$05
        bit $ea
        dex
        bne loc_1168
        jsr sub_0f90
        jsr sub_0d00
        lda $b7
        bne loc_1185
        jsr sub_2d00

loc_1185:
        lda #$f9

loc_1187:
        cmp $d012
        bne loc_1187
        lda #$13
        sta $d011
        lda $b7
        beq loc_119a
        inc $b7
        jmp loc_119d

loc_119a:
        jsr sub_0e80

loc_119d:
        lda #$37

loc_119f:
        cmp $d012
        bne loc_119f
        lda #$00
        sta $d015
        pla
        pla
        pla
        pla
        pla
        pla
        lda #$2e
        sta $d012
        lda #$11
        sta $0315
        lda #$c8
        sta $0314
        lda $d019
        sta $d019
        jmp $ea81

dat_11c7:
        .byte $00                                   // .

irq_11c8:
        lda $d019
        sta $d019
        lda #$0b
        sta $d011
        lda #$12
        sta $0315
        lda #$1d
        sta $0314
        lda #$40
        sta $d012

loc_11e2:
        ldx $d012
        cpx #$31
        bne loc_11e2
        lda #$1b
        sta $d011
        lda #$c1
        sta $d010
        ldx #$00
        stx $d01c
        dex
        stx $d01d
        ldx #$07

loc_11fe:
        lda $1240,x
        sta $07f8,x
        lda #$0f
        sta $d027,x
        dex
        bpl loc_11fe
        ldx #$0f

loc_120e:
        lda $1248,x
        sta $d000,x
        dex
        bpl loc_120e
        stx $d015
        jmp loc_1620

irq_121d:
        lda #$01
        sta $d019
        lda $d019
        lda #$42
        sta $d012
        lda #$10
        sta $0315
        lda #$d8
        sta $0314
        lda $dc0d
        cli
        ldx #$0a

loc_123a:
        dex
        bne loc_123a
        nop
        nop
        nop
        .byte $80,$81                               // nop #$81 // ILLEGAL
        .byte $82,$83                               // nop #$83 // ILLEGAL
        sty $85
        stx $87
        beq $128e
        plp
        .byte $44,$58                               // nop $58 // ILLEGAL
        .byte $44,$88                               // nop $88 // ILLEGAL

// --- Region $1400-$1441 ---
.pc = $1400 "sub_1400"
// Referenced by: jsr from $1024

sub_1400:
        lda #$2c
        sta smc_10ec                                // SMC: modifies $10ec
        sta smc_10ef                                // SMC: modifies $10ef
        sta smc_112f                                // SMC: modifies $112f
        sta smc_1132                                // SMC: modifies $1132
        sta smc_116b                                // SMC: modifies $116b
        sta smc_116e                                // SMC: modifies $116e
        inc $1172
        rts

loc_1418:
        ldy #$70
        sty $fb
        lda #$18
        sta $fc
        lda #$01
        sta $fd
        lda #$08
        sta $fe
        ldx #$8e
        ldy #$00

loc_142c:
        lda ($fb),y
        sta ($fd),y
        iny
        bne loc_142c
        inc $fc
        inc $fe
        dex
        bne loc_142c
        lda #$37
        sta $01
        cli
        jmp loc_0812

// --- Region $1600-$1613 ---
.pc = $1600 "sub_1600"
// Referenced by: jsr from $1000

sub_1600:
        ldx #$24

loc_1602:
        lda #$00
        sta $d400,x
        lda dat_16dc,x
        sta $d400,x
        dex
        bpl loc_1602
        jsr sub_16a4
        rts

// --- Region $1620-$16db ---
.pc = $1620 "loc_1620"

loc_1620:
        dec $70
        bne loc_169b
        lda $71
        sta $70
        dec $75
        bne loc_1651
        ldy $72
        lda ($7a),y
        cmp #$ff
        beq loc_169e
        sta $d401
        iny
        bne loc_163c
        inc $7b

loc_163c:
        lda ($7a),y
        sta $d400
        iny
        bne loc_1646
        inc $7b

loc_1646:
        lda ($7a),y
        sta $75
        iny
        bne loc_164f
        inc $7b

loc_164f:
        sty $72

loc_1651:
        dec $76
        bne loc_1676
        ldy $73
        lda ($7c),y
        sta $d408
        iny
        bne loc_1661
        inc $7d

loc_1661:
        lda ($7c),y
        sta $d407
        iny
        bne loc_166b
        inc $7d

loc_166b:
        lda ($7c),y
        sta $76
        iny
        bne loc_1674
        inc $7d

loc_1674:
        sty $73

loc_1676:
        dec $77
        bne loc_169b
        ldy $74
        lda ($7e),y
        sta $d40f
        iny
        bne loc_1686
        inc $7f

loc_1686:
        lda ($7e),y
        sta $d40e
        iny
        bne loc_1690
        inc $7f

loc_1690:
        lda ($7e),y
        sta $77
        iny
        bne loc_1699
        inc $7f

loc_1699:
        sty $74

loc_169b:
        jmp $ea81

loc_169e:
        jsr sub_16a4
        jmp $ea81
// Referenced by: jsr from $1610, $169e

sub_16a4:
        lda #$00
        sta $72
        sta $73
        sta $74
        lda #$01
        sta $75
        sta $76
        sta $77
        sta $70
        ldx $78
        lda $16f5
        sta $7a
        lda $16f6
        sta $7b
        lda $16f7
        sta $7c
        lda $16f8
        sta $7d
        lda $16f9
        sta $7e
        lda $16fa
        sta $7f
        lda $16fb
        sta $71
        rts

// --- Region $2700-$2700 ---
.pc = $2700 "sub_2700"
// Referenced by: jsr from $1119

sub_2700:
        brk

// --- Region $2a00-$2a00 ---
.pc = $2a00 "sub_2a00"
// Referenced by: jsr from $1158

sub_2a00:
        brk

// --- Region $2d00-$2d00 ---
.pc = $2d00 "sub_2d00"
// Referenced by: jsr from $1182

sub_2d00:
        brk

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

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

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

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

// --- Region $0808-$0811 ---
.pc = $0808 "dat_0808"

dat_0808:
        .byte $38,$7c,$6c,$c6,$c6,$de,$de,$de,$78,$cc // 8|l.....x.

// --- Region $08e2-$08ef ---
.pc = $08e2 "dat_08e2"

dat_08e2:
        .byte $00,$00,$00,$00,$00,$00,$e0,$b0,$98,$cc,$e6,$b3,$99,$ff // ..............

// --- Region $0908-$0913 ---
.pc = $0908 "dat_0908"

dat_0908:
        .byte $18,$3c,$3c,$3c,$18,$00,$18,$18,$66,$66,$66 // .<<<....fff

dat_0913:
        // === Fill data (1 bytes, $0913-$0913) ===
        .byte $00                                   // .

// --- Region $0938-$09d7 ---
.pc = $0938 "dat_0938"

dat_0938:
        .byte $38,$38,$18
        .byte $30,$00,$00,$00,$00,$0c,$18
        .text "0000"
        .byte $18,$0c
        .byte $30,$18,$0c,$0c,$0c,$0c,$18,$30,$00,$00,$00,$00,$00,$00,$00,$00 // 0......0........
        .fill 12, $00
        .byte $38,$38,$18,$30,$00,$00,$00,$3e,$7c,$00,$00,$00,$00,$00,$00,$00 // 88.0...>|.......
        .byte $00,$38,$38,$38,$02,$06,$0e,$1c,$38,$70,$e0,$c0,$7c,$e6,$ee,$f6 // .888....8p..|...
        .byte $e6,$fe,$fe,$7c,$38,$78,$38,$38,$38,$fe,$fe,$fe,$7c,$ce,$1e,$3c // ...|8x888...|..<
        .byte $78,$fe,$fe,$fe,$7e,$06,$1c,$06,$c6,$fe,$fe,$7c,$1c,$3c,$7c,$dc // x...~......|.<|.
        .byte $fe,$fe,$1c,$1c,$fe,$e0,$fc,$06,$e6,$fe,$fe,$7c,$7c,$e0,$fc,$e6 // ...........||...
        .byte $e6,$fe,$fe,$7c,$fe,$0e,$1c,$3c,$78,$f8,$f0,$f0,$7c,$e6,$7c,$e6 // ...|...<x...|.|.
        .byte $e6,$fe,$fe,$7c,$7c,$e6,$e6,$7e,$0e,$fe,$fe,$7c,$00,$18,$18,$00 // ...||..~...|....
        .byte $00,$18,$18,$00                       // ....

// --- Region $09f1-$0b7f ---
.pc = $09f1 "dat_09f1"

dat_09f1:
        .fill 15, $00
        .byte $aa,$aa,$aa
        .byte $55,$fd
        .text "UWWU"
        .byte $5d,$67
        .byte $55,$75,$a7
        .byte $55,$76
        .byte $a7,$55,$75,$67,$55,$5f,$67,$55,$57,$67,$55,$57,$67,$55,$57,$67 // .UugU_gUWgUWgUWg
        .byte $55,$57,$67,$55,$57,$67,$55,$57,$67,$55,$57,$67,$55,$7f,$67,$f5 // UWgUWgUWgUWgU.g.
        .byte $d5,$65,$5d,$da,$aa,$9d,$d5,$55,$5d,$7f,$ff,$f5,$aa,$aa,$aa,$7f // .e]....U].......
        .byte $aa,$aa,$aa,$7f,$ff,$f5,$d5,$55,$5d,$da,$aa,$9d,$d9,$55,$9d,$d9 // .......U]....U..
        .byte $fd,$9d,$d9,$dd,$9d,$d9,$dd,$9d,$d9,$f6,$9d,$d9,$da,$9d,$d9,$69 // ...............i
        .byte $9d,$d9,$a5,$9d,$da,$9d,$9d,$da,$7d,$9d,$d9,$dd,$9d,$d9,$fd,$9d // ........}.......
        .byte $d9,$55,$9d,$da,$aa,$9d,$d5,$55,$5d,$7f,$ff,$f5,$aa,$aa,$aa,$00 // .U.....U].......
        .byte $aa,$aa,$aa,$5f,$ff,$f5,$75,$55,$5d,$d6,$aa,$9d,$d9,$55,$9d,$d9 // ..._..uU]....U..
        .byte $fd,$5d,$d9,$d7,$f5,$d9,$d5,$55,$d9,$d5,$55,$d9,$d5,$55,$d9,$d5 // .].....U..U..U..
        .byte $55,$d9,$d5,$55,$d9,$d5,$55,$d9,$d5,$55,$d9,$d7,$f5,$d9,$fd,$5d // U..U..U..U.....]
        .byte $d9,$55,$9d,$d6,$aa,$9d,$75,$55,$5d,$5f,$ff,$f5,$aa,$aa,$aa,$00 // .U....uU]_......
        .byte $aa,$aa,$aa,$7f,$ff,$d5,$d5,$55,$75,$da,$aa,$5d,$d9,$55,$9d,$d9 // .......Uu..].U..
        .byte $fd,$9d,$d9,$dd,$9d,$d9,$dd,$9d,$d9,$fd,$9d,$d9,$56,$75,$da,$a9 // ............Vu..
        .byte $d5,$d9,$56,$75,$d9,$f5,$9d,$d9,$dd,$9d,$d9,$dd,$9d,$d9,$dd,$9d // ..Vu............
        .byte $d9,$dd,$9d,$d9,$dd,$9d,$d5,$dd,$5d,$7f,$57,$f5,$aa,$aa,$aa,$00 // ........].W.....
        .byte $aa,$aa,$aa,$7f,$ff,$f5,$d5,$55,$5d,$da,$aa,$9d,$d9,$55,$5d,$d9 // .......U]....U].
        .byte $ff,$f5,$d9,$d5,$55,$d9,$d5,$55,$d9,$fd,$55,$d9 // ....U..U..U.

txt_0b1c:
        .text "WU"
        .byte $da                                   // 'Z' | $80 (end-of-string marker)
        .byte $a7,$55,$d9                           // .U.

txt_0b22:
        .text "WU"
        .byte $d9                                   // 'Y' | $80 (end-of-string marker)
        .byte $fd,$55,$d9,$d5,$55,$d9,$d5,$55,$d9,$ff,$f5,$d9,$55,$5d,$da,$aa // .U..U..U....U]..
        .byte $9d,$d5,$55,$5d,$7f,$ff,$f5,$aa,$aa,$aa,$00,$aa,$aa,$aa,$7f,$57 // ..U]...........W
        .byte $f5,$d5,$dd,$5d,$d9,$dd,$9d,$d9,$dd,$9d,$d9,$dd,$9d,$d9,$dd,$9d // ...]............
        .byte $d9,$dd,$9d,$d9,$dd,$9d,$d9,$dd,$9d,$d9,$75,$9d,$d9,$55,$9d,$d9 // ..........u..U..
        .byte $65,$9d,$d9,$65,$9d,$d9,$65,$9d,$d9,$99,$9d,$d9,$99,$9d,$d6,$76 // e..e..e........v
        .byte $9d,$75,$dd,$75,$5f,$57,$d5,$aa,$aa,$aa,$00 // .u.u_W.....

// --- Region $0bf5-$0bff ---
.pc = $0bf5 "dat_0bf5"

dat_0bf5:
        .fill 11, $00

// --- Region $0e39-$0e7f ---
.pc = $0e39 "Program $0e39"
        .byte $f1,$f1,$f1,$f2,$f2,$f2,$f3,$f3,$f4,$f4,$f5,$f5,$f6,$f7,$f7,$f8 // ................
        .byte $f9,$fa,$fa,$fb,$fc,$fd,$fe,$ff,$00,$01,$02,$03,$04,$05,$06,$07 // ................
        .byte $09,$0a,$0b,$0c,$0e,$0f,$10,$11,$13,$14,$16,$17,$18,$1a,$1b,$1d // ................
        .byte $1e                                   // .

txt_0e6a:
        .text " !#$&')*,-/024578:<=?"
        .byte $40                                   // @ character

// --- Region $0ff0-$0fff ---
.pc = $0ff0 "Program $0ff0"
        .byte $a9,$2c,$8d,$ec,$10,$8d,$ef,$10,$8d,$2f,$11,$00,$00,$00,$00,$00 // .,......./......

// --- Region $124f-$13ff ---
.pc = $124f "dat_124f"

dat_124f:
        .byte $44,$b8,$44,$e8,$44,$18,$44,$48,$44,$88,$89,$8a,$8b,$8c,$8d,$8e // D.D.D.DHD.......
        .byte $8f,$f0,$7c,$28,$7c,$58,$7c,$88,$7c,$b8,$7c,$e8,$7c,$18,$7c,$48 // ..|(|X|.|.|.|.|H
        .byte $7c,$90,$91,$92,$93,$94,$95,$96,$97,$f0,$b4,$28,$b4,$58,$b4,$88 // |..........(.X..
        .byte $b4,$b8,$b4,$e8,$b4,$18,$b4,$48,$b4,$00,$00,$00,$00,$00,$00,$00 // .......H........
        .byte $00,$00,$3e,$00,$08,$f5,$21,$00,$00,$27,$00,$00,$00,$00,$00,$00 // ..>...!..'......
        .byte $00,$ff,$7e,$08,$08,$33,$22,$00,$00,$2a,$00,$00,$00,$00,$00,$00 // ..~..3"..*......
        .byte $00,$00,$3e,$10,$08,$f5,$25,$00,$00,$2d,$00,$00,$ff,$00,$3c,$01 // ..>...%..-....<.
        .byte $00
        .text "MF?8?"
        .byte $00,$13,$00,$13,$00,$13,$00,$13,$00,$13
        .byte $ff                                   // .

txt_12d0:
        .text "())(*+,-())(*+,-"
        .byte $84,$f0,$9c,$f0,$b4,$f0,$cc,$f0,$84,$f0,$9c,$f0,$b4,$f0,$cc,$f0 // ................
        .byte $fe,$f6,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$00,$00,$00,$00,$00 // ................

txt_1300:
        .byte $40                                   // @ character
        .text "????>>==<;:9875421/-,*(&$!"
        .byte $1f,$1d,$1a,$18,$15,$13,$10,$0d,$0b,$08,$05,$02,$01,$ff,$fc,$f9 // ................
        .byte $f5,$f2,$ef,$ec,$e8,$e5,$e2,$de,$db,$d7,$d4,$d0,$cc,$c9,$c5,$c2 // ................
        .byte $be,$ba,$b7,$b3,$af,$ac,$a8,$a4,$a0,$9d,$99,$95,$92,$8e,$8b,$87 // ................
        .byte $83,$80,$7c,$79,$75,$72,$6f,$6b,$68,$65,$62,$5e,$5b // ..|yurokheb^[

txt_1358:
        .text "XUROLJGDB?=:8631/-+*(&%#"
        .byte $22                                   // double quote character
        .text " "
        .byte $1f,$1e,$1d,$1c,$1b,$1a,$1a,$19,$19,$18,$18,$18,$18,$18 // ..............

spr_1380:
        // === Sprite data (64 bytes, $1380-$13bf) ===
        .byte $18,$18,$18                           // ...##......##......##...
        .byte $18,$19,$19                           // ...##......##..#...##..#
        .byte $1a,$1a,$1b                           // ...##.#....##.#....##.##
        .byte $1c,$1d,$1e                           // ...###.....###.#...####.
        .byte $1f

txt_138d:
        .byte $20,$22
        .byte $23,$25,$26                           // ..#...##..#..#.#..#..##.
        .byte $28,$2a,$2b                           // ..#.#.....#.#.#...#.#.##
        .byte $2d,$2f,$31                           // ..#.##.#..#.####..##...#
        .byte $33,$36,$38                           // ..##..##..##.##...###...
        .byte $3a,$3d,$3f                           // ..###.#...####.#..######
        .byte $42,$44,$47                           // .#....#..#...#...#...###
        .byte $4a,$4c,$4f                           // .#..#.#..#..##...#..####
        .byte $52,$55,$58                           // .#.#..#..#.#.#.#.#.##...
        .byte $5b,$5e,$62                           // .#.##.##.#.####..##...#.
        .byte $65,$68,$6b                           // .##..#.#.##.#....##.#.##
        .byte $6f,$72,$75                           // .##.####.###..#..###.#.#
        .byte $79,$7c,$80                           // .####..#.#####..#.......
        .byte $83,$87,$8b                           // #.....###....####...#.##
        .byte $8e,$92,$95                           // #...###.#..#..#.#..#.#.#
        .byte $99,$9d,$a0                           // #..##..##..###.##.#.....
        .byte $a4,$a8,$ac                           // #.#..#..#.#.#...#.#.##..
        .byte $af                                   // sprite 0 padding
        .byte $b3,$b7,$ba                           // #.##..###.##.####.###.#.
        .byte $be,$c2,$c5                           // #.#####.##....#.##...#.#
        .byte $c9,$cc,$d0                           // ##..#..###..##..##.#....
        .byte $d4,$d7,$db                           // ##.#.#..##.#.#####.##.##
        .byte $de,$e2,$e5                           // ##.####.###...#.###..#.#
        .byte $e8,$ec,$ef                           // ###.#...###.##..###.####
        .byte $f2,$f6,$f9                           // ####..#.####.##.#####..#
        .byte $fc,$ff,$03                           // ######..########......##
        .byte $02,$05,$08                           // ......#......#.#....#...
        .byte $0b,$0d,$10                           // ....#.##....##.#...#....
        .byte $13,$15,$18                           // ...#..##...#.#.#...##...
        .byte $1a,$1d,$1f                           // ...##.#....###.#...#####

txt_13e4:
        .text "!$&(*,-/1245789:;<==>>????"
        .byte $40                                   // @ character
        .byte $00                                   // string terminator

// --- Region $1442-$15a3 ---
.pc = $1442 "txt_1442"

txt_1442:
        .text "1001 "

txt_1447:
        .encoding "screencode_mixed"
        .text "presents"
        .text "@"
        .text "return of"
        .text "@"
        .text "mutant camels 2"
        .text "@"
        .text "special hello"
        .text "@"
        .text "to barry.col-b-"
        .text "@"
        .text "and falcon"
        .text "@"
        .text "cracked"
        .text "@"
        .text "16 june"
        .text "@"
        .text "by honey"
        .text "@"
        .text "fuck tmr"
        .text "@"
        .text "decibel and"
        .text "@"
        .text "pimpke vezziez"
        .text "@"
        .text "greetings to"
        .text "@"
        .text "triad"
        .text "@"
        .text "tcs"
        .text "@"
        .encoding "petscii_upper"
        .byte $fe,$00,$19,$05,$14,$09,$00,$14,$0c,$03,$2f,$14,$0d,$03,$00,$fe // ........../.....
        .byte $00,$04,$2d,$15,$13,$01,$20,$14,$05,$01,$0d,$00,$06,$01,$09,$12 // ..-... .........
        .byte $0c,$09,$07,$08,$14,$00,$fe,$00,$04,$09,$07,$09,$14,$2e,$01,$12 // ................
        .byte $14,$13,$00,$08,$14,$0c,$00,$fe,$00,$12,$04,$09,$00,$06,$10,$00 // ................
        .byte $fe,$00,$02,$03,$13,$20,$01,$0e,$04,$00,$04,$09,$16,$2e,$04,$20 // ..... ......... 
        .byte $00,$fe,$00,$02,$17,$02,$00,$0e,$05,$10,$01,$00,$fe,$00,$04,$2d // ...............-
        .byte $07,$0f,$0c,$04,$00,$03,$15,$0c,$14,$00,$fe,$00,$17,$01,$12,$0c // ................
        .byte $0f,$03,$0b,$00,$14,$12,$09,$01,$0e,$0f,$0e,$00,$fe,$00,$06,$01 // ................
        .byte $03,$00,$01,$06,$0c,$00,$fe,$00,$0d,$0f,$16,$05,$12,$13,$00,$14 // ................
        .byte $15,$03,$00,$fe,$00,$05,$13,$09,$00,$13,$03,$07,$00,$fe,$00,$04 // ................
        .byte $13,$03,$00,$0d,$0d,$18,$00,$13,$05,$05,$00,$19,$0f,$15,$00,$0c // ................
        .byte $01,$14,$05,$12,$00,$20,$00,$20,$00,$20,$00,$ff // ..... . . ..

dat_15a3:
        // === Fill data (1 bytes, $15a3-$15a3) ===
        .byte $00                                   // .

// --- Region $1614-$161f ---
.pc = $1614 "dat_1614"

dat_1614:
        .fill 12, $00

// --- Region $16dc-$1870 ---
.pc = $16dc "dat_16dc"

dat_16dc:
        .byte $00,$00,$03,$0b,$21,$88,$ce,$00,$00,$00,$00,$21,$88,$c0,$00,$00 // ....!......!....
        .byte $83,$00,$00,$00,$f0,$03,$98,$10,$5f,$00,$17,$70,$17,$70,$18,$06 // ........_..p.p..
        .byte $00,$00,$00,$00,$03,$86,$04,$05,$47,$03,$03,$86,$01,$03,$bb,$04 // ........G.......
        .byte $06,$47,$03,$03,$53,$01,$03,$86,$04,$05,$47,$03,$03,$86,$01,$03 // .G..S.....G.....
        .byte $bb,$04,$06,$47,$03,$17,$b5,$01,$19,$1e,$18,$16,$60,$03,$15,$1f // ...G........`...
        .byte $03,$12,$d1,$02,$15,$1f,$20,$19,$1e,$18,$16,$60,$03,$15,$1f,$03 // ...... ....`....
        .byte $12,$d1,$02,$15,$1f,$20,$16,$60,$03,$15,$1f,$04,$10,$c3,$01,$15 // ..... .`........
        .byte $1f,$03,$12,$d1,$04,$0e,$ef,$01,$12,$d1,$03,$10,$c3,$04,$0e,$18 // ................
        .byte $01,$10,$c3,$03,$0e,$ef,$04,$0c,$8f,$01,$0e,$18,$02,$00,$00,$1e // ................
        .byte $ff,$ff,$ff,$ff,$03,$84,$04,$05,$45,$03,$03,$84,$01,$03,$b9,$04 // ........E.......
        .byte $06,$45,$03,$03,$51,$01,$03,$84,$04,$05,$45,$03,$03,$84,$01,$03 // .E..Q.....E.....
        .byte $b9,$04,$06,$45,$03,$03,$51,$01,$03,$84,$04,$05,$45,$03,$03,$84 // ...E..Q.....E...
        .byte $01,$03,$b9,$04,$06,$45,$03,$03,$51,$01,$03,$84,$04,$05,$45,$03 // .....E..Q.....E.
        .byte $03,$84,$01,$03,$b9,$04,$06,$45,$03,$03,$51,$01,$03,$84,$04,$05 // .......E..Q.....
        .byte $45,$03,$03,$84,$01,$03,$b9,$04,$06,$45,$03,$03,$51,$01,$03,$84 // E........E..Q...
        .byte $04,$05,$45,$03,$03,$84,$01,$03,$b9,$04,$06,$45,$03,$03,$51,$01 // ..E........E..Q.
        .byte $03,$84,$04,$05,$45,$03,$03,$84,$01,$03,$b9,$04,$06,$45,$03,$03 // ....E........E..
        .byte $51,$01,$03,$84,$04,$05,$45,$03,$03,$84,$01,$03,$b9,$04,$06,$45 // Q.....E........E
        .byte $03,$03,$51,$01,$03,$84,$04,$05,$45,$03,$03,$84,$01,$03,$b9,$04 // ..Q.....E.......
        .byte $06,$45,$03,$03,$51,$01,$03,$84,$04,$05,$45,$03,$03,$84,$01,$03 // .E..Q.....E.....
        .byte $b9,$04,$06,$45,$03,$03,$51,$01,$03,$84,$04,$05,$45,$03,$03,$84 // ...E..Q.....E...
        .byte $01,$03,$b9,$04,$06,$45,$03,$03,$51,$01,$03,$84,$04,$05,$45,$03 // .....E..Q.....E.
        .byte $03,$84,$01,$03,$b9,$04,$06,$45,$03,$03,$51,$01,$03,$84,$04,$05 // .......E..Q.....
        .byte $45,$03,$03,$84,$01,$03,$b9,$04,$06,$45,$03,$03,$51,$01,$03,$84 // E........E..Q...
        .byte $04,$05,$45,$03,$03,$84,$01,$03,$b9,$04,$06,$45,$03,$03,$51,$01 // ..E........E..Q.
        .byte $ff,$ff,$ff,$ff                       // ....

dat_1870:
        // === Fill data (1 bytes, $1870-$1870) ===
        .byte $00                                   // .

// --- Region $2000-$2000 ---
.pc = $2000 "chr_2000"

chr_2000:
        .byte $00                                   // .

// --- Region $2701-$2701 ---
.pc = $2701 "bmp_2701"

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

// --- Region $2a01-$2a01 ---
.pc = $2a01 "bmp_2a01"

bmp_2a01:
        // === Bitmap data (1 bytes, $2a01-$2a01) ===
        .byte $00                                   // .

// --- Region $2d01-$2d01 ---
.pc = $2d01 "dat_2d01"

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

// --- Region $809a-$809a ---
.pc = $809a "dat_809a"

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

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

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

// --- Region $a917-$a917 ---
.pc = $a917 "dat_a917"

dat_a917:
        // === Fill data (1 bytes, $a917-$a917) ===
        .byte $00                                   // .
