// ============================================
// output - Disassembled Source
// ============================================
// 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: $20ce  (6607 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0810 (2064)
// IRQ handler:  $08d7 (irq_08d7)
//
// Code: 2666 bytes, Data: 3941 bytes
// Labels: 239, Subroutines: 9
//
// Cross-references: all OK
// ============================================


// --- Region $0810-$089b ---
.pc = $0810 "main_0810"

main_0810:
        jsr sub_102a
        sei
        lda #$01
        sta $d01a
        sta $dc0d
        lda #$d7
        sta $0314
        lda #$08
        sta $0315
        lda #$1b
        sta $d011
        cli

loc_082c:
        lda $dc01
        cmp #$ef
        bne loc_082c
        lda #$a0
        sta $096d
        sta $096e
        sta dat_1041
        ldx #$00
        txa

loc_0841:
        sta $09e7,x
        jsr sub_08c9
        inx
        cpx #$10
        bne loc_0841
        lda #$0b
        sta $d011
        sei
        lda #$35
        sta $01
        ldx #$00

loc_0858:
        lda $f800,x
        sta $3800,x
        lda $f900,x
        sta $3900,x
        lda $fa00,x
        sta $3a00,x
        lda $fb00,x
        sta $3b00,x
        inx
        bne loc_0858
        lda #$37
        sta $01
        jsr $ff81
        jsr $ff84
        jsr $ff8a
        lda #$00
        sta $d011
        sta $d020
        sta $d418
        cli
        ldx #$00

loc_088e:
        lda dat_089c,x
        sta $02a7,x
        inx
        cpx #$30
        bne loc_088e
        jmp $02a7

// --- Region $08bb-$090c ---
.pc = $08bb "loc_08bb"

loc_08bb:
        sta $01
        cli
        jmp $fce2

dat_08c1:
        .fill 8, $fc

// Referenced by: jsr from $0844
sub_08c9: {
        lda #$00
loop1:
        ldy #$00
loop2:
        iny
        bne loop2
        adc #$01
        cmp #$20
        bne loop1
        rts
}

irq_08d7:
        asl $d019
        lda #$72
        sta $d012
        lda $1044
        sta $d016
        lda #$13
        sta $d018
        jsr sub_0f8b
        lda #$f5
        sta $0314
        jmp loc_1e18

loc_08f5:
        asl $d019
        lda #$e0
        sta $d012
        lda #$c8
        sta $d016
        lda #$0d
        sta $0314
        jsr sub_0fc8
        jmp $ea81

// --- Region $0941-$098f ---
.pc = $0941 "$0941"
        lda $1043
        cmp #$40
        beq loc_094b
        jmp $ea81

loc_094b:
        sta $0fcc
        lda #$a2
        sta $0fcb
        lda #$ea
        sta $0fcd
        jmp $ea81

loc_095b:
        inc $1042
        ldx $1042
        cpx #$1f
        bne loc_096a
        ldx #$00
        stx $1042

loc_096a:
        lda txt_09c6,x
        tay
        nop
        ldx #$00

loc_0971:
        lda $d9b9,x
        sta $d9b8,x
        sta $dad1,x
        inx
        cpx #$27
        bne loc_0971

loc_097f:
        lda $da30,x
        sta $da31,x
        dex
        bpl loc_097f
        sty $da30
        sty $d9df
        rts

txt_098f:
        .text "P"

// --- Region $0ed0-$0f41 ---
.pc = $0ed0 "sub_0ed0"
// Referenced by: jsr from $102a

sub_0ed0:
        lda #$00
        sta $d020
        sta $d021
        sta $0286
        sta $1043
        jsr $e544
        sei
        lda #$35
        sta $01
        ldx #$00
        stx $1042
        stx dat_1041

loc_0eee:
        lda $3800,x
        sta $f800,x
        lda $3900,x
        sta $f900,x
        lda $3a00,x
        sta $fa00,x
        lda $3b00,x
        sta $fb00,x
        lda #$be
        sta $d800,x
        sta $d880,x
        inx
        bne loc_0eee
        lda #$33
        sta $01
        ldx #$00
        ldy #$00

loc_0f19:
        lda $d400,x
        sta $3800,y
        sta $3801,y
        lda $d480,x
        sta $3900,y
        sta $3901,y
        lda $d500,x
        sta $3a00,y
        sta $3a01,y
        lda $d580,x
        sta $3b00,y
        sta $3b01,y
        lda #$40
.label spr_0f40 = * + 1
        sta $0740,x

// --- Region $0f67-$1041 ---
.pc = $0f67 "sub_0f67"
// Referenced by: jsr from $103d; branch from $0f70

sub_0f67:
        lda txt_098f,x
        sta $05bf,x
        inx
        cpx #$19
        bne sub_0f67
        ldx #$00

loc_0f74:
        lda $09a8,x
        sta $063c,x
        lda $09b7,x
        sta $06dc,x
        inx
        cpx #$0f
        bne loc_0f74
        lda #$00
        jmp loc_10ed

dat_0f8a:
        .byte $00                                   // .

// Referenced by: jsr from $08ea
sub_0f8b: {
        lda $fc
        sec
        sbc #$02
        sta $fc
        cmp #$bf
        beq skip1
        rts
skip1:
        lda #$c7
        sta $fc
        ldx #$00
loop:
        lda $0771,x
        sta $0770,x
        inx
        cpx #$50
        bne loop
        ldy #$00
        inc $fa
        bne skip2
        inc $fb
skip2:
        lda ($fa),y
        bne skip3
        lda #$20
        sta $fa
        lda #$1e
        sta $fb
        bne skip2
skip3:
        rol
        tax
        stx $07bf
        dex
        stx $0797
        rts
}
// Referenced by: jsr from $0907

sub_0fc8:
        inc $1043
        ldx $1043
        cpx #$80
        bne loc_0fd7
        ldx #$00
        stx $1043

loc_0fd7:
        lda $0e50,x
        tax
        and #$07
        eor #$d0
        sta $1044
        txa
        lsr
        lsr
        lsr
        tay
        ldx #$00

loc_0fe9:
        lda $0d10,x
        sta $0400,y
        lda $0d38,x
        sta $0428,y
        lda $0d60,x
        sta $0450,y
        lda $0d88,x
        sta $0478,y
        lda $0db0,x
        sta $04a0,y
        lda $0dd8,x
        sta $04c8,y
        lda $0e00,x
        sta $04f0,y
        lda $0e28,x
        sta $0518,y
        inx
        iny
        cpy #$28
        bne loc_0fe9
        inc $0315
        rts

loc_1023:
        sta $d018
        dec $0315
        rts
// Referenced by: jsr from $0810

sub_102a:
        jsr sub_0ed0
        ldx #$00
        lda #$a0

loc_1031:
        sta $0400,x
        sta $0500,x
        sta $0600,x
        inx
        bne loc_1031
        jsr sub_0f67
        rts

dat_1041:
        .byte $00                                   // .

// --- Region $10be-$18be ---
.pc = $10be "sub_10be"
// Referenced by: jsr from $110c

sub_10be:
        lda #$00
        ldx #$74

loc_10c2:
        sta $1049,x
        dex
        bpl loc_10c2

loc_10c8:
        lda #$ff
        sta $1077
        sta $1078
        sta $1079
        lda #$00
        sta $dc0e
        ldx #$02

loc_10da:
        sta $1049,x
        sta $104c,x
        sta $104f,x
        sta $105b,x
        dex
        bpl loc_10da
        sta $109a
        rts

loc_10ed:
        pha
        lda #$01
        sta $109a
        pla
        tax
        lda $19b0,x
        sta smc_1104                                // SMC: modifies $1104
        lda $19b3,x
        sta smc_1105                                // SMC: modifies $1105
        ldy #$07

loc_1103:
.label smc_1104 = * + 1
.label smc_1105 = * + 2
        lda $19b6,y                                 // !SMC: modified by $10f8, $10fe
        sta $19ce,y
        dey
        bpl loc_1103
        jsr sub_10be

loc_110f:
        ldx #$00
        txa

loc_1112:
        sta $d400,x
        inx
        cpx #$18
        bne loc_1112
        lda #$0f
        sta $d418
        rts

dat_1120:
        .byte $a9,$02,$8d,$9a,$10,$60               // .....`
// Referenced by: jsr from $1e18

sub_1126:
        lda $109a
        cmp #$02
        beq loc_1134
        cmp #$01
        bne loc_1135
        jmp loc_10c8

loc_1134:
        rts

loc_1135:
        inc $1077
        inc $1078
        inc $1079
        ldx #$02
        dec $1099
        bpl loc_114b
        lda $1045
        sta $1099

loc_114b:
        nop
        nop
        nop
        stx $bf
        lda $1046,x
        sta $107e
        tay
        lda $1099
        cmp $1045
        bne loc_1173
        lda $19ce,x
        sta smc_117a                                // SMC: modifies $117a
        lda $19d2,x
        sta smc_117b                                // SMC: modifies $117b
        dec $104f,x
        bmi loc_1176
        jmp loc_1345

loc_1173:
        jmp loc_1374

loc_1176:
        ldy $1049,x
.label smc_117a = * + 1
.label smc_117b = * + 2
        lda $1d4a,y                                 // !SMC: modified by $1162, $1168
        cmp #$fe
        beq loc_1192
        cmp #$ff
        bne loc_119a
        lda #$00
        sta $104f,x
        sta $1049,x
        sta $104c,x
        jmp loc_1176

loc_1192:
        lda #$02
        sta $109a
        jmp loc_110f

loc_119a:
        sta $108d
        and #$80
        beq loc_11af
        lda $108d
        and #$1f
        sta $107a,x
        inc $1049,x
        jmp loc_1176

loc_11af:
        lda $108d
        and #$40
        beq loc_11c4
        lda $108d
        and #$3f
        sta $109c,x
        inc $1049,x
        jmp loc_1176

loc_11c4:
        lda $108d
        asl
        tay
        lda $19d6,y
        sta $bd
        lda $19d7,y
        sta $be
        lda #$00
        sta $106a,x
        ldy $104c,x
        sta $1077,x
        lda ($bd),y
        sta $b8

loc_11e2:
        and #$f0
        cmp #$f0
        bne loc_1207
        lda $b8
        and #$01
        bne loc_11fe
        lda #$01
        sta $10ab,x
        inc $104c,x
        iny
        lda ($bd),y
        sta $b8
        jmp loc_129c

loc_11fe:
        jsr sub_1338
        sta $d417
        jsr sub_1338

loc_1207:
        lda #$00
        sta $10ab,x
        lda $b8
        and #$f0
        cmp #$e0
        bne loc_1238
        lda #$01
        sta $106a,x
        inc $104c,x
        iny
        lda ($bd),y
        sta $10b2,x
        inc $104c,x
        inc $104c,x
        iny
        iny
        lda ($bd),y
        clc
        adc $107a,x
        sta $10af,x
        dey
        lda ($bd),y
        sta $b8

loc_1238:
        lda $b8
        and #$e0
        cmp #$c0
        bne loc_124a
        lda $b8
        and #$1f
        sta $105e,x
        jsr sub_1338

loc_124a:
        lda $b8
        and #$f0
        cmp #$70
        bne loc_126e
        lda $b8
        and #$0f
        tax
        lda $1a9b,x
        sta smc_13a3                                // SMC: modifies $13a3
        sta smc_13af                                // SMC: modifies $13af
        lda $1aa1,x
        sta smc_13a4                                // SMC: modifies $13a4
        sta smc_13b0                                // SMC: modifies $13b0
        ldx $bf
        jsr sub_1338

loc_126e:
        lda $b8
        and #$c0
        cmp #$80
        bne loc_129c
        lda $b8
        and #$3f
        sec
        sbc #$01
        sta $1052,x
        jsr sub_1338
        and #$c0
        cmp #$80
        bne loc_1297
        lda $b8
        and #$3f
        clc
        adc $1052,x
        sta $1052,x
        jsr sub_1338

loc_1297:
        lda $b8
        jmp loc_11e2

loc_129c:
        lda $1052,x
        sta $104f,x
        lda $b8
        clc
        adc $107a,x
        sta $105b,x
        tay
        lda dat_18be,y
        sta $10b7,x
        pha
        sta $1067,x
        lda $191e,y
        sta $10ba,x
        sta $1061,x
        sta $1064,x
        ldy $107e
        sta $d401,y
        pla
        sta $d400,y
        lda $10ab,x
        bne loc_1317
        lda $105e,x
        asl
        asl
        asl
        tax
        stx $107d
        lda $1b06,x
        sta $d405,y
        lda $1b07,x
        sta $d406,y
        lda $1b08,x
        pha
        lda $1b04,x
        pha
        lda $1b05,x
        ldx $bf
        sta $1055,x
        sta $109f,x
        lda #$00
        sta $d402,y
        sta $106d,x
        pla
        sta $1073,x
        and #$0f
        sta $d403,y
        sta $1070,x
        lda #$01
        sta $1095,x
        pla
        sta $1092,x

loc_1317:
        inc $104c,x
        ldy $104c,x
        lda ($bd),y
        cmp #$ff
        bne loc_1335

loc_1323:
        lda #$00
        sta $104c,x
        lda $109c,x
        beq loc_1332
        dec $109c,x
        bpl loc_1335

loc_1332:
        inc $1049,x

loc_1335:
        jmp loc_188e
// Referenced by: jsr from $11fe, $1204, $1247, $126b, $1280, $1294

sub_1338:
        inc $104c,x
        iny
        lda ($bd),y
        cmp #$ff
        beq loc_1323
        sta $b8
        rts

loc_1345:
        lda $104f,x
        beq loc_136c
        lda $105e,x
        asl
        asl
        asl
        tay
        lda $1b08,y
        and #$f0
        lsr
        lsr
        lsr
        sta smc_1364                                // SMC: modifies $1364
        lda $1052,x
        sec
        sbc $104f,x
.label smc_1364 = * + 1
        cmp #$02                                    // !SMC: modified by $1359
        bcs loc_136c
        lda $1055,x
        bne loc_1371

loc_136c:
        lda $1055,x
        and #$fe

loc_1371:
        sta $109f,x

loc_1374:
        lda $105e,x
        asl
        asl
        asl
        tay
        lda $1b09,y
        sta $b2
        lda $1b0a,y
        sta $b3
        lda $105b,x
        sta $1058,x
        lda $1b0b,y
        sta $b4
        and #$10
        beq loc_1397
        jmp loc_14ac

loc_1397:
        lda $b4
        and #$04
        beq loc_13c5
        dec $1089,x
        bpl loc_13a8
.label smc_13a3 = * + 1
.label smc_13a4 = * + 2
        lda $1aa7                                   // !SMC: modified by $125a, $1263
        sta $1089,x

loc_13a8:
        ldx $bf
        ldy $1089,x
        iny
.label smc_13af = * + 1
.label smc_13b0 = * + 2
        lda $1aa7,y                                 // !SMC: modified by $125d, $1266
        clc
        adc $105b,x
        sta $1058,x
        tay
        lda dat_18be,y
        sta $10b7,x
        lda $191e,y
        sta $10ba,x

loc_13c5:
        lda $b2
        beq loc_1422
        lda $106a,x
        bne loc_1422
        ldy $105e,x
        ldx $1b84,y
        stx smc_1463                                // SMC: modifies $1463
        lda $b2
        and #$0f
        sta $107f
        lda $b2
        and #$70
        lsr
        lsr
        lsr
        lsr
        ldx $bf
        sta $1080,x
        ldy #$bc
        lda $b2
        bpl loc_13f3
        ldy #$7d

loc_13f3:
        sty smc_140e                                // SMC: modifies $140e
        lda $106a,x
        bne loc_1422
        ldy $1058,x
        lda $18bf,y
        sec
        sbc dat_18be,y
        sta $10a5
        lda $191f,y
        sbc $191e,y

smc_140e:
        ldy $1077,x                                 // !SMC: modified by $13f3
        sta $10a4

loc_1414:
        dec $107f
        bmi loc_1425
        lsr $10a4
        ror $10a5
        jmp loc_1414

loc_1422:
        jmp loc_14ac

loc_1425:
        lda $1083,x
        bpl loc_1434
        dec $1086,x
        bne loc_1448
        inc $1083,x
        bpl loc_1448

loc_1434:
        inc $1086,x
        lda $1080,x
        cmp $1086,x
        bcs loc_1448
        sta $1086,x
        dec $1083,x
        dec $1086,x

loc_1448:
        ldy $1058,x
        lda dat_18be,y
        sta $10a2
        lda $191e,y
        sta $10a3
        lda $1080,x
        lsr
        tay

loc_145c:
        dey
        bmi loc_147c
        lda $1077,x
.label smc_1463 = * + 1
        cmp #$18                                    // !SMC: modified by $13d4
        bcc loc_1498
        lda $10a2
        sec
        sbc $10a5
        sta $10a2
        lda $10a3
        sbc $10a4
        sta $10a3
        jmp loc_145c

loc_147c:
        ldy $1086,x

loc_147f:
        dey
        bmi loc_1498
        lda $10a2
        clc
        adc $10a5
        sta $10a2
        lda $10a3
        adc $10a4
        sta $10a3
        jmp loc_147f

loc_1498:
        ldx $bf
        lda $10a2
        sta $10b7,x
        sta $1067,x
        lda $10a3
        sta $10ba,x
        sta $1061,x

loc_14ac:
        ldx $bf
        lda $106a,x
        bne loc_14b9

loc_14b3:
        jmp loc_1599

loc_14b6:
        jmp loc_157b

loc_14b9:
        lda $10b2,x
        lsr
        lsr
        lsr
        lsr
        sta smc_14d8                                // SMC: modifies $14d8
        sta smc_1527                                // SMC: modifies $1527
        lda $10b2,x
        and #$0f
        sec
        sbc #$01
        clc
        adc $104f,x
        cmp $1052,x
        bcs loc_14b3
.label smc_14d8 = * + 1
        adc #$07                                    // !SMC: modified by $14c0
        cmp $1052,x
        bcc loc_14b6
        ldy $105b,x
        lda $10af,x
        tax
        sec
        lda dat_18be,y
        sbc dat_18be,x
        sta smc_1563                                // SMC: modifies $1563
        lda $191e,y
        sbc $191e,x
        sta smc_156e                                // SMC: modifies $156e
        ldx #$38
        ldy #$e9
        bcs loc_1517
        ldx #$18
        ldy #$69
        eor #$ff
        sta smc_156e                                // SMC: modifies $156e
        lda smc_1563
        eor #$ff
        sta smc_1563                                // SMC: modifies $1563
        inc smc_1563
        bne loc_1517
        inc smc_156e

loc_1517:
        sty smc_1562                                // SMC: modifies $1562
        sty smc_156d                                // SMC: modifies $156d
        stx smc_1561                                // SMC: modifies $1561
        ldy $1045
        lda #$00
        clc

loc_1526:
.label smc_1527 = * + 1
        adc #$07                                    // !SMC: modified by $14c3
        dey
        bpl loc_1526
        sta $10b5
        clc
        ldx #$10
        lda #$00

loc_1533:
        rol smc_1563
        rol smc_156e
        rol
        bcs loc_1541
        cmp $10b5
        bcc loc_1545

loc_1541:
        sbc $10b5
        sec

loc_1545:
        dex
        bne loc_1533
        rol smc_1563
        rol smc_156e
        asl
        cmp $10b5
        bcc loc_155c
        inc smc_1563
        bne loc_155c
        inc smc_156e

loc_155c:
        ldx $bf
        lda $1067,x

smc_1561:
        clc                                         // !SMC: modified by $151d

smc_1562:
.label smc_1563 = * + 1
        adc #$a3                                    // !SMC: modified by $14ec, $150c, $1517
        sta $1067,x
        sta $10b7,x
        lda $1061,x

smc_156d:
.label smc_156e = * + 1
        adc #$00                                    // !SMC: modified by $14f5, $1504, $151a
        sta $1061,x
        sta $10ba,x
        jmp loc_1599

loc_1578:
        jmp loc_1632

loc_157b:
        lda $10af,x
        sta $105b,x
        tay
.label loc_1583 = * + 1
        lda dat_18be,y
        sta $1067,x
        sta $10b7,x
        lda $191e,y
        sta $1061,x
        sta $10ba,x
        lda #$00
        sta $106a,x

loc_1599:
        lda $b3
        beq loc_1578
        and #$07
        asl
        asl
        asl
        sbc #$07
        tay
        lda $1ae4,y
        sta smc_1610                                // SMC: modifies $1610
        iny
        lda $1ae4,y
        sta smc_162a                                // SMC: modifies $162a
        iny
        lda $1ae4,y
        and #$7f
        cmp $1077,x
        bcc loc_15c0
        jmp loc_15db

loc_15c0:
        iny
        iny
        lda $1ae4,y
        and #$7f
        cmp $1077,x
        bcc loc_15cf
        jmp loc_15db

loc_15cf:
        iny
        iny
        lda $1ae4,y
        and #$7f
        cmp $1077,x
        bcc loc_15f1

loc_15db:
        lda $1ae4,y
        and #$80
        beq loc_15e7
        lda #$00
        sta $1095,x

loc_15e7:
        iny
        lda $1ae4,y
        sta $1076
        jmp loc_15f8

loc_15f1:
        lda $b3
        and #$f0
        sta $1076

loc_15f8:
        lda $1095,x
        bne loc_1617
        lda $106d,x
        sec
        sbc $1076
        sta $106d,x
        lda $1070,x
        sbc #$00
        sta $1070,x
.label smc_1610 = * + 1
        cmp #$08                                    // !SMC: modified by $15a8
        bcs loc_1632
        lda #$01
        bne loc_162f

loc_1617:
        lda $106d,x
        clc
        adc $1076
        sta $106d,x
        lda $1070,x
        adc #$00
        sta $1070,x
.label smc_162a = * + 1
        cmp #$0e                                    // !SMC: modified by $15af
        bcc loc_1632
        lda #$00

loc_162f:
        sta $1095,x

loc_1632:
        ldx $bf
        ldy $107e
        lda $106d,x
        sta $d402,y
        lda $1070,x
        sta $d403,y
        lda $b4
        and #$40
        beq loc_165d
        ldx $bf
        lda $1077,x
        cmp #$00
        bcc loc_165d
        and #$03
        tax
        lda $1a59,x
        ldx $bf
        sta $109f,x

loc_165d:
        lda $b4
        and #$08
        beq loc_167b
        ldx $bf
        lda $1077,x
        cmp #$01
        bcc loc_167b
        lda $1077,x
        and #$07
        tax
        lda $1a5d,x
        ldy $107e
        sta $d403,y

loc_167b:
        lda $b4
        and #$20
        beq loc_1696
        ldx $bf
        lda $104f,x
        cmp #$03
        bcs loc_1696
        lda $1061,x
        sec
        sbc #$01
        sta $1061,x
        sta $10ba,x

loc_1696:
        lda $b4
        and #$01
        beq loc_16f6
        ldx $bf
        stx $109b
        lda $1092,x
        and #$03
        asl
        tax
        lda $1abb,x
        sta smc_16b5                                // SMC: modifies $16b5
        lda $1abc,x
        sta smc_16b9                                // SMC: modifies $16b9
.label smc_16b5 = * + 1
        lda #$c1                                    // !SMC: modified by $16ab
        sta $b9
.label smc_16b9 = * + 1
        lda #$1a                                    // !SMC: modified by $16b1
        sta $ba
        ldy #$05
        lda ($b9),y
        sta $d418
        ldx $bf
        lda $1077,x
        ldy #$09
        cmp ($b9),y
        bcc loc_16d5
        ldy #$04
        lda ($b9),y
        jmp loc_16ff

loc_16d5:
        dey
        cmp ($b9),y
        bcs loc_16e8
        cpy #$06
        bne loc_16d5
        ldy #$00
        lda ($b9),y
        jmp loc_16ff

dat_16e5:
        .byte $4c,$05,$17                           // L..

loc_16e8:
        dey
        dey
        dey
        dey
        dey
        lda $108f,x
        clc
        adc ($b9),y
        jmp loc_16ff

loc_16f6:
        ldx $bf
        cpx $109b
        bne loc_1705
        lda #$ff

loc_16ff:
        sta $108f,x
        sta $d416

loc_1705:
        lda $b3
        and #$08
        beq loc_176a
        lda $1077
        and #$01
        beq loc_1741
        lda $10ae
        beq loc_172d
        lda txt_1adf
        sec
        sbc $1ae2
        sta txt_1adf
        cmp $1ae0
        bcs loc_1741
        lda #$00
        sta $10ae
        beq loc_1741

loc_172d:
        lda txt_1adf
        clc
        adc $1ae2
        sta txt_1adf
        cmp $1ae1
        bcc loc_1741
        lda #$01
        sta $10ae

loc_1741:
        ldx $bf
        lda $1077
        cmp #$02
        bcs loc_174f
        lda #$40
        sta $10b6

loc_174f:
        lda txt_1adf
        clc
        adc $10b6
        sta $d416
        lda $10b6
        cmp #$02
        bcc loc_176a
        lda $10b6
        sec
        sbc $1ae3
        sta $10b6

loc_176a:
        lda $b4
        and #$02
        beq loc_179b
        ldx $bf
        lda $1077,x
        cmp #$07
        bcs loc_179b
        lda $1077,x
        tax
        dex
        lda tbl_lo_1a44,x
        pha
        lda tbl_hi_1a52,x
        ldy $107e
        sta $d403,y
        ldy $bf
        pla
        sta $109f,y
        lda $1a4b,x
        clc
        adc $1058,y
        jmp loc_18ac

loc_179b:
        ldx $bf
        lda $1092,x
        and #$08
        beq loc_17b5
        lda $1067,x
        clc
        adc #$38
        sta $10b7,x
        lda $1061,x
        adc #$00
        sta $10ba,x

loc_17b5:
        ldx $bf
        lda $1092,x
        and #$04
        beq loc_17e0
        lda $1052,x
        and #$7f
        cmp #$00
        bcc loc_17e0
        lda $104f,x
        cmp #$10
        bcs loc_17e0
        lda $1077,x
        and #$01
        beq loc_17e0
        lda $1064,x
        beq loc_17e0
        dec $1064,x
        sta $10ba,x

loc_17e0:
        lda $b4
        and #$10
        beq loc_1850
        lda $b2
        and #$0f
        asl
        asl
        tax
        lda $1a65,x
        sta smc_181c                                // SMC: modifies $181c
        sta smc_180c                                // SMC: modifies $180c
        lda $1a66,x
        sta smc_181d                                // SMC: modifies $181d
        sta smc_180d                                // SMC: modifies $180d
        lda $1a67,x
        sta smc_1823                                // SMC: modifies $1823
        lda $1a68,x
        sta smc_1824                                // SMC: modifies $1824
.label smc_180c = * + 1
.label smc_180d = * + 2
        lda $ffff                                   // !SMC: modified by $17f3, $17fc
        sta smc_1817                                // !SMC: modified by $1840 // SMC: modifies $1817
        ldx $bf
        lda $1077,x
.label smc_1817 = * + 1
        cmp #$0f                                    // !SMC: modified by $180e
        bcs loc_184d
        tay
.label smc_181c = * + 1
.label smc_181d = * + 2
        lda $1a7a,y                                 // !SMC: modified by $17f0, $17f9
        sta $109f,x
        dey
.label smc_1823 = * + 1
.label smc_1824 = * + 2
        lda $1a8b,y                                 // !SMC: modified by $1802, $1808
        sta $108e
        ldy $107e
        lda $b2
        and #$10
        beq loc_183d
        ldx $bf
        lda $1058,x
        clc
        adc $108e
        jmp loc_18ac

loc_183d:
        ldx $bf
        lda $108e
        clc
        adc #$0d
        sta $10ba,x
        lda #$00
        sta $10b7,x

loc_184d:
        jmp loc_188e

loc_1850:
        lda $b4
        and #$80
        beq loc_188e
        ldx $bf
        lda $1077,x
        cmp #$02
        bcs loc_1873
        lda #$48
        sta $10ba,x
        lda #$00
        sta $10b7,x
        ldx $bf
        lda #$81
        sta $109f,x
        jmp loc_188e

loc_1873:
        lda $1077,x
        cmp #$04
        bcs loc_188e
        lda $1067,x
        sta $10b7,x
        lda $1061,x
        sta $10ba,x
        lda $1055,x
        and #$fe
        sta $109f,x

loc_188e:
        ldx $bf
        ldy $107e
        lda $109f,x
        sta $d404,y
        lda $10b7,x
        sta $d400,y
        lda $10ba,x
        sta $d401,y
        dex
        bmi loc_18ab
        jmp loc_114b

loc_18ab:
        rts

loc_18ac:
        tay
        ldx $bf
        lda dat_18be,y
        sta $10b7,x
        lda $191e,y
        sta $10ba,x
        jmp loc_188e

dat_18be:
        .byte $0c                                   // .

// --- Region $1e18-$1e1d ---
.pc = $1e18 "loc_1e18"

loc_1e18:
        jsr sub_1126
        jmp $ea81

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

// --- Region $0800-$080f ---
.pc = $0800 "spr_0800"

spr_0800:
        // === Sprite data (16 bytes, $0800-$080f) ===
        .byte $00,$08,$0c                           // ............#.......##..
        .byte $c4,$07,$9e                           // ##...#.......####..####.

txt_0806:
        .byte $32,$30,$36                           // ..##..#...##......##.##.
        .byte $34,$20,$00                           // ..##.#....#.............
        .byte $00,$00,$00                           // ........................
        .byte $00

// --- Region $089c-$08ba ---
.pc = $089c "dat_089c"

dat_089c:
        .byte $78,$a9,$34,$85,$01,$a2,$00,$bd,$cf,$20,$9d,$01,$08,$e8,$d0,$f7 // x.4...... ......
        .byte $ee,$b0,$02,$ee,$b3,$02,$ad,$b0,$02,$c9,$e0,$d0,$e8,$a9,$37 // ..............7

// --- Region $090d-$0940 ---
.pc = $090d "dat_090d"

dat_090d:
        .byte $0e,$19,$d0,$a9,$32,$8d,$12,$d0,$a9,$1e,$20,$23,$10,$a5,$fc,$8d // ....2..... #....
        .byte $16,$d0,$a2,$00,$bd,$e9,$09,$ac,$12,$d0,$cc,$12,$d0,$f0,$fb,$8d // ................
        .byte $21,$d0,$e8,$e0,$10,$d0,$ed,$a9,$d7,$8d,$14,$03,$20,$5b,$09,$ad // !........... [..
        .byte $41,$10,$f0,$07                       // A...

// --- Region $0990-$0ecf ---
.pc = $0990 "Program $0990"
        .text "RESENTS"
        .byte $7a,$60,$60
        .byte $50,$41,$43,$6d
        .byte $4d,$41
        .byte $4e,$49,$41,$60,$6b,$60,$60,$60
        .text "DATE"
        .byte $7a,$71,$79,$78
        .byte $78,$6d,$71,$71,$6d,$71,$71
        .text "INTRO"
        .byte $60
        .byte $42,$59,$60
        .text "INJUN"
        .byte $61

txt_09c6:
        .text "OOOCCCNNNDDDBBBIIIBBBDDDNNNCCCOOO"
        .byte $40                                   // @ character
        .byte $06,$06,$0e,$03,$0d,$01,$01,$01,$01,$01,$0d,$03,$0e,$06,$06,$40 // ...............@
        .byte $40,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // @@..............
        .byte $00,$1c,$3e,$77,$77,$7f,$77,$00,$00,$7e,$77,$7e,$77,$77,$7e,$00 // ..>ww.w..~w~ww~.
        .byte $00,$3e,$77,$70,$70,$77,$3e,$00,$00,$7c,$76,$77,$77,$7e,$7c,$00 // .>wppw>..|vww~|.
        .byte $00,$7f,$78,$7e,$78,$78,$7f,$00,$00,$7f,$78,$7e,$78,$78,$78,$00 // ..x~xx....x~xxx.
        .byte $00,$3e,$77,$70,$77,$77,$3b,$00       // .>wpww;.

spr_0a40:
        // === Sprite data (64 bytes, $0a40-$0a7f) ===
        .byte $00,$77,$77                           // .........###.###.###.###
        .byte $7f,$77,$77                           // .#######.###.###.###.###
        .byte $77,$00,$00                           // .###.###................
        .byte $7f,$1c,$1c                           // .#######...###.....###..
        .byte $1c,$1c,$7f                           // ...###.....###...#######
        .byte $00,$00,$07                           // .....................###
        .byte $07,$07,$07                           // .....###.....###.....###
        .byte $77,$3e,$00                           // .###.###..#####.........
        .byte $00,$77,$76                           // .........###.###.###.##.
        .byte $7c,$7c,$76                           // .#####...#####...###.##.
        .byte $77,$00,$00                           // .###.###................
        .byte $78,$78,$78                           // .####....####....####...
        .byte $78,$78,$7f                           // .####....####....#######
        .byte $00,$00,$63                           // .................##...##
        .byte $77,$7f,$7f                           // .###.###.#######.#######
        .byte $77,$77,$00                           // .###.###.###.###........
        .byte $00,$7b,$7b                           // .........####.##.####.##
        .byte $7f,$7f,$77                           // .#######.#######.###.###
        .byte $77,$00,$00                           // .###.###................
        .byte $3e,$77,$77                           // ..#####..###.###.###.###
        .byte $77,$7f,$3e                           // .###.###.#######..#####.
        .byte $00                                   // sprite 0 padding

spr_0a80:
        // === Sprite data (64 bytes, $0a80-$0abf) ===
        .byte $00,$7e,$77                           // .........######..###.###
        .byte $77,$7e,$70                           // .###.###.######..###....
        .byte $70,$00,$00                           // .###....................
        .byte $3e,$77,$77                           // ..#####..###.###.###.###
        .byte $7f,$7e,$3b                           // .#######.######...###.##
        .byte $00,$00,$7e                           // .................######.
        .byte $77,$77,$7e                           // .###.###.###.###.######.
        .byte $77,$77,$00                           // .###.###.###.###........
        .byte $00,$3e,$77                           // ..........#####..###.###
        .byte $38,$0e,$77                           // ..###.......###..###.###
        .byte $3e,$00,$00                           // ..#####.................
        .byte $7f,$1c,$1c                           // .#######...###.....###..
        .byte $1c,$1c,$1c                           // ...###.....###.....###..
        .byte $00,$00,$77                           // .................###.###
        .byte $77,$77,$77                           // .###.###.###.###.###.###
        .byte $7f,$3b,$00                           // .#######..###.##........
        .byte $00,$77,$77                           // .........###.###.###.###
        .byte $77,$77,$3e                           // .###.###.###.###..#####.
        .byte $1c,$00,$00                           // ...###..................
        .byte $77,$77,$7f                           // .###.###.###.###.#######
        .byte $7f,$77,$63                           // .#######.###.###.##...##
        .byte $00                                   // sprite 0 padding
        .byte $00,$77,$77,$3e,$3e,$77,$77,$00,$00,$77,$77,$3e,$1c,$1c,$1c,$00 // .ww>>ww..ww>....
        .byte $00,$7f,$0e,$1c,$38,$70,$7f,$00       // ....8p..

txt_0ad8:
        .text "<00000<"
        .byte $00                                   // string terminator
        .byte $c0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$3c,$0c,$0c,$0c,$0c,$0c,$3c,$00 // ........<.....<.
        .byte $00,$18,$3c,$7e,$18,$18,$18,$18,$00,$10,$30,$7f,$7f,$30,$10,$00 // ..<~......0..0..
        .fill 9, $00
        .byte $3e,$3e,$3e,$1c,$00,$1c,$00,$66,$66,$66,$00,$00,$00,$00,$00,$66 // >>>....fff.....f
        .byte $66,$ff,$66,$ff,$66,$66,$00,$18,$3e,$60,$3c,$06,$7c,$18,$00,$62 // f.f.ff..>`<.|..b
        .byte $66,$0c,$18,$30,$66,$46,$00,$3c,$66,$3c,$38,$67,$66,$3f,$00,$00 // f..0fF.<f<8gf?..
        .byte $06,$0c,$00,$00,$00,$00,$00           // .......

spr_0b40:
        // === Sprite data (64 bytes, $0b40-$0b7f) ===
        .byte $00,$0e,$1c                           // ............###....###..
        .byte $18,$18,$1c                           // ...##......##......###..
        .byte $0e,$00,$00                           // ....###.................
        .byte $70,$38,$18                           // .###......###......##...
        .byte $18,$38,$70                           // ...##.....###....###....
        .byte $00,$00,$66                           // .................##..##.
        .byte $3c,$ff,$3c                           // ..####..########..####..
        .byte $66,$00,$00                           // .##..##.................
        .byte $00,$18,$18                           // ...........##......##...
        .byte $7e,$18,$18                           // .######....##......##...
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$1c,$1c                           // ...........###.....###..
        .byte $38,$00,$00                           // ..###...................
        .byte $00,$7e,$00                           // .........######.........
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$38                           // ..................###...
        .byte $38,$00,$00                           // ..###...................
        .byte $07,$0e,$1c                           // .....###....###....###..
        .byte $38,$70,$60                           // ..###....###.....##.....
        .byte $00                                   // sprite 0 padding
        .byte $00,$3e,$67,$6f,$7b,$73,$3e,$00,$00,$1c,$3c,$1c,$1c,$1c,$7f,$00 // .>go{s>...<.....
        .byte $00,$3e,$67,$0e,$1c,$38,$7f,$00,$00,$7f,$0e,$1c,$0e,$67,$3e,$00 // .>g..8.......g>.
        .byte $00,$0e,$1e,$3e,$6e,$7f,$0e,$00,$00,$7f,$70,$7e,$07,$77,$3e,$00 // ...>n.....p~.w>.
        .byte $00,$3e,$70,$7e,$77,$77,$3e,$00,$00,$7f,$07,$0e,$1c,$38,$38,$00 // .>p~ww>......88.
        .byte $00,$3e,$77,$3e,$77,$77,$3e,$00,$00,$3e,$77,$3f,$07,$0e,$3c,$00 // .>w>ww>..>w?..<.
        .byte $00,$00,$1c,$1c,$00,$1c,$1c,$00,$00,$00,$1c,$1c,$00,$1c,$1c,$38 // ...............8
        .byte $0e,$1c,$38,$70,$38,$1c,$0e,$00,$00,$00,$7e,$00,$7e,$00,$00,$00 // ..8p8.....~.~...
        .byte $70,$38,$1c,$0e,$1c,$38,$70,$00,$00,$3e,$77,$0e,$1c,$00,$1c,$00 // p8...8p..>w.....
        .byte $05,$15,$15
        .text "UVZZZ"
        .byte $70,$fc,$fc,$ff,$bf,$af,$af,$af
        .text "ZZZVU"
        .byte $15,$15,$07,$af,$af,$af,$bf,$ff,$fc,$fc,$f0

txt_0c20:
        .text "UUUUZZZZUUUU"
        .byte $af                                   // '/' | $80 (end-of-string marker)
        .byte $af,$af,$af
        .text "ZZZZ"
        .byte $5f,$5f,$5f,$5f,$af,$af,$af,$af,$ff
        .byte $ff,$ff,$ff                           // ...

txt_0c40:
        .text "UUUU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$ff,$ff,$ff,$ff // ...........

txt_0c50:
        .text "ZZZZZZZZ"
        .byte $af                                   // '/' | $80 (end-of-string marker)
        .fill 8, $af
        .byte $ad,$ad,$a5,$aa,$aa,$aa,$aa           // .......

txt_0c68:
        .text "ZZZZ"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$af,$af,$af,$af,$aa,$aa,$aa,$aa,$fa // ................
        .byte $da,$da,$5a,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa // ..Z.............
        .byte $ab,$af,$af,$aa,$aa,$aa,$aa,$aa,$6a   // ........j

txt_0c96:
        .text "ZZ"
        .byte $af                                   // '/' | $80 (end-of-string marker)
        .byte $af,$ab,$aa,$aa,$aa,$aa,$aa,$5a,$5a,$6a,$aa,$aa,$aa,$aa,$aa,$05 // .......ZZj......
        .byte $05,$15,$15
        .text "VVZZ"
        .byte $f0,$f0,$fc,$fc,$bf,$bf,$af,$af
        .byte $5a
        .byte $5a,$56,$56,$15,$15,$05,$05,$af,$af,$bf,$bf,$fc,$fc,$f0,$f0,$00 // ZVV.............
        .byte $00,$00,$00,$00,$00,$01,$01,$00,$00,$00,$00,$00,$00,$c0,$c0,$01 // ................
        .byte $01,$00,$00,$00,$00,$00,$00,$c0,$c0,$00,$00,$00,$00,$00,$00,$6a // ...............j
        .byte $6a,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$ab,$ab,$aa // j...............
        .byte $aa,$aa,$aa,$aa,$aa,$6a,$6a,$00,$00,$00,$00,$00,$00,$00,$00,$ab // .....jj.........
        .byte $ab,$aa,$aa,$aa,$aa,$aa,$aa,$a0,$80,$88,$88,$88,$88,$81,$80,$88 // ................
        .byte $88,$88,$81,$80,$88,$88,$88,$81,$80,$88,$88,$88,$81,$80,$88,$88 // ................
        .byte $88,$81,$84,$88,$88,$88,$81,$a0,$a0,$a0,$a0,$a0,$a0,$a0,$a0,$a0 // ................
        .byte $82,$89,$89,$89,$8f,$8b,$8a,$90,$90,$90,$8b,$8a,$90,$90,$90,$8b // ................
        .byte $8a,$90,$90,$90,$8b,$8a,$90,$90,$90,$8b,$8a,$90,$90,$90,$8b,$a0 // ................
        .fill 8, $a0
        .byte $80,$88,$88,$88,$8d,$8b,$8a,$8e,$89,$8f,$8b,$8a,$8e,$89,$8f,$8b // ................
        .byte $8a,$8e,$89,$8f,$8b,$8a,$8e,$89,$8f,$8b,$8a,$8e,$89,$8f,$8b,$a0 // ................
        .fill 8, $a0
        .byte $8a,$8e,$89,$89,$89,$83,$8a,$8b,$a0,$8a,$8b,$8a,$8b,$a0,$8a,$8b // ................
        .byte $8a,$8b,$a0,$8a,$8b,$8a,$8b,$a0,$8a,$8b,$8a,$8b,$a0,$8a,$8b,$a0 // ................
        .fill 8, $a0
        .byte $8a,$8c,$88,$88,$88,$81,$8a,$8c,$88,$8d,$8b,$8a,$8c,$88,$8d,$8b // ................
        .byte $8a,$8c,$88,$8d,$8b,$8a,$8c,$88,$8d,$8b,$8a,$8c,$88,$8d,$8b,$a0 // ................
        .fill 8, $a0
        .byte $8a,$90,$90,$90,$90,$8b,$8a,$90,$90,$90,$8b,$8a,$90,$90,$90,$8b // ................
        .byte $8a,$90,$90,$90,$8b,$8a,$8e,$89,$8f,$8b,$8a,$90,$90,$90,$8b,$a0 // ................
        .fill 8, $a0
        .byte $82,$89,$89,$89,$89,$83,$82,$89,$89,$89,$83,$82,$89,$89,$89,$83 // ................
        .byte $82,$89,$89,$89,$83,$86,$87,$a0,$86,$87,$86,$89,$89,$89,$83 // ...............

dat_0e20:
        // === Fill data (48 bytes, $0e20-$0e4f) ===
        .fill 48, $a0
        .byte $ef,$ef,$ef,$ee,$ed,$ec,$ea,$e8,$e6,$e4,$e1,$de,$db,$d8,$d4,$d0 // ................
        .byte $cc,$c8,$c4,$bf,$ba,$b5,$b0,$ab,$a5,$a0,$9a,$95,$8f,$89,$83,$7d // ...............}
        .byte $78,$72,$6c,$66,$60                   // xrlf`

txt_0e75:
        .text "ZUOJD?:50+'#"
        .byte $1f,$1b,$17,$14,$11,$0e,$0b,$09,$07,$05,$03,$02,$01,$00,$00,$00 // ................
        .byte $00,$00,$01,$02,$03,$05,$07,$09,$0b,$0e,$11,$14,$17,$1b,$1f // ...............

txt_0ea0:
        .text "#'+05:?DJOUZ"
        .byte $60,$66,$6c,$72,$78,$7d,$83,$89,$8f,$95,$9a,$a0,$a5,$ab,$b0,$b5 // `flrx}..........
        .byte $ba,$bf,$c4,$c8,$cc,$d0,$d4,$d8,$db,$de,$e1,$e4,$e6,$e8,$ea,$ec // ................
        .byte $ed,$ee,$ef,$ef                       // ....

// --- Region $0f42-$0f66 ---
.pc = $0f42 "dat_0f42"

dat_0f42:
        .byte $c8
        .byte $c8,$e8,$e0                           // ##..#...###.#...###.....
        .byte $80,$d0,$d0                           // #.......##.#....##.#....
        .byte $a9,$37,$85                           // #.#.#..#..##.####....#.#
        .byte $01,$58,$a0                           // .......#.#.##...#.#.....
        .byte $fe,$a2,$f1                           // #######.#.#...#.####...#
        .byte $8e,$22,$d0                           // #...###...#...#.##.#....
        .byte $8c,$23,$d0                           // #...##....#...####.#....
        .byte $a9,$20,$85                           // #.#.#..#..#.....#....#.#
        .byte $fa,$a9,$1e                           // #####.#.#.#.#..#...####.
        .byte $85,$fb,$a9                           // #....#.######.###.#.#..#
        .byte $c7,$85,$fc                           // ##...####....#.#######..
        .byte $60,$a2,$00                           // .##.....#.#...#.........

// --- Region $1042-$10bd ---
.pc = $1042 "Segment $1042"
        .byte $16,$2a,$d7,$01,$00,$07,$0e,$01,$02,$02,$29,$1a,$1a,$03,$33,$36 // .*........)...36
        .byte $05                                   // .

txt_1053:
        .text "GG!AA===6=="
        .byte $01,$02,$03,$17,$23,$23,$17,$1a,$1a,$b5,$86,$86,$00,$00,$00,$00 // ....##..........
        .byte $20,$c0,$00,$09,$09,$00,$06,$07,$40,$05,$29,$23,$0d,$0d,$0d,$08 //  .......@.)#....
        .byte $00,$ff,$00,$05,$05,$00,$ff,$ff,$00,$02,$02,$00,$00,$00,$00,$01 // ................
        .byte $00,$00,$b8,$00,$10,$b0,$b8,$01,$00,$00,$00,$00,$00,$01,$00,$00 // ................
        .byte $00,$20,$41,$41,$86,$23,$00,$43,$00,$00,$00,$00,$00,$00,$00,$00 // . AA.#.C........
        .byte $00,$00,$3d,$3d,$00,$70,$70,$0e,$00,$86,$86,$be,$23,$23,$23,$00 // ..==.pp.....###.

// --- Region $18bf-$1e17 ---
.pc = $18bf "Segment $18bf"
        .byte $1c,$2d,$3e,$51,$66,$7b,$91,$a9,$c3,$dd,$fa,$18,$38,$5a,$7d,$a3 // .->Qf{......8Z}.
        .byte $cc,$f6,$23,$53,$86,$bb,$e0,$30,$70,$b4,$fb,$47,$98,$ed,$47,$a7 // ..#S...0p..G..G.
        .byte $0c,$77,$e9,$61,$e1,$68,$f7,$8f,$30,$da,$8f,$4e,$18,$ef,$d2,$c3 // .w.a.h..0..N....
        .byte $c3,$d1,$ef,$1f,$60,$b5,$1e,$9c,$31,$df,$a5,$87,$86,$a2,$df,$3e // ....`...1......>
        .byte $c1,$6b,$3c,$39,$63,$be,$4b,$0f,$0c,$45,$bf,$7d,$83,$d6,$79,$73 // .k<9c.K..E.}..ys
        .byte $c7,$7c,$97,$1e,$18,$8b,$7e,$fa,$06,$ac,$f3,$e6,$8f,$f8,$2e,$01 // .|....~.........
        .fill 11, $01
        .byte $02,$02,$02,$02,$02,$02,$02,$03,$03,$03,$03,$03,$04,$04,$04,$04 // ................
        .byte $05,$05,$05,$06,$06,$07,$07,$07,$08,$08,$09,$09,$0a,$0b,$0b,$0c // ................
        .byte $0d,$0e,$0e,$0f,$10,$11,$12,$13,$15,$16,$17,$19,$1a,$1c,$1d,$1f // ................

txt_195a:
        .text "!#%'*,/258;?CGKOTY"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // ^djpw~..........
        .byte $ee,$fd,$c9,$01,$a7,$01,$9a,$01,$7b,$01,$66,$01,$51,$01,$3c,$01 // ........{.f.Q.<.
        .byte $29,$01,$1c,$01,$0a,$01,$fb,$00,$ea,$00,$dd,$00,$d2,$00,$c7,$00 // )...............
        .byte $bc,$00,$af,$00,$a6,$00,$9e,$00,$94,$00,$8c,$00,$83,$00,$7e,$00 // ..............~.
        .byte $75,$00,$6e,$00,$b6,$be,$c6,$19,$19,$19,$4a,$4d,$52,$62,$1d,$1d // u.n.......JMRb..
        .byte $1d,$1d,$47,$4c,$68,$7a,$1c,$1c,$1c,$1c,$93,$9e,$a1,$a8,$1b,$1b // ..GLhz..........
        .byte $1b,$1b,$4a,$4d,$52,$62,$1d,$1d,$1d,$1d,$3c,$1d,$62,$1d,$a9,$1d // ..JMRb....<.b...
        .byte $b0,$1d,$b5,$1d,$cb,$1d,$14,$1e,$47,$1c,$47,$1c,$47,$1c,$47,$1c // ........G.G.G.G.
        .byte $47,$1c,$47,$1c,$47,$1c,$47,$1c,$47,$1c,$7a,$1c,$a6,$1c,$b7,$1c // G.G.G.G.G.z.....
        .byte $cd,$1c,$d4,$1c,$d9,$1c,$e3,$1c,$2e,$1d,$35,$1d,$3c,$1d,$3c,$1d // ..........5.<.<.
        .byte $3c,$1d,$3c,$1d,$3c,$1d,$3c,$1d,$3c,$1d,$a8,$1b,$bc,$1b,$e0,$1b // <.<.<.<.<.......
        .byte $00,$1c,$34,$1c,$47,$1c,$47,$1c,$47,$1c,$47,$1c,$47,$1c,$47,$1c // ..4.G.G.G.G.G.G.
        .byte $47,$1c,$47,$1c,$47,$1c,$47,$1c,$47,$1c,$3c,$1d,$3c,$1d,$3c,$1d // G.G.G.G.G.<.<.<.
        .byte $3c,$1d,$3c,$1d,$3c,$1d,$3c,$1d       // <.<.<.<.

tbl_lo_1a44:
        .text "QAA"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .byte $00,$00,$00,$00,$00,$00               // ......

tbl_hi_1a52:
        .byte $00,$09,$09,$08,$08,$09,$09,$80,$14,$80,$14,$00,$00,$00 // address table high bytes
        .byte $00,$00,$00,$00,$00,$6d,$1a,$74,$1a,$7a,$1a,$8b,$1a,$06,$81 // .....m.t.z.....

txt_1a6f:
        .text "A"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text " "
        .byte $fb,$fa,$f9,$f8,$f7,$10,$81,$41,$40,$80,$40,$80,$80,$80,$80,$80 // .......A@.@.....
        .byte $80,$80,$80,$80,$80,$80,$24,$ff,$01,$20,$00,$20,$14,$1e,$16,$1c // ......$.. . ....
        .byte $18,$1a,$18,$16,$18,$16,$a7,$ab,$af,$b3,$b7,$bb,$1a,$1a,$1a,$1a // ................
        .byte $1a,$1a,$02,$07,$04,$00,$02,$07,$05,$00,$02,$07,$03,$00,$02,$08 // ................
        .byte $05,$00,$02,$09,$05,$00,$c1,$1a,$cb,$1a,$d5,$1a,$90,$01,$01,$ff // ................
        .byte $90,$1f,$02,$20,$40,$80,$10,$02,$02,$fe,$10,$4f,$02,$20,$60,$c0 // ... @......O. `.
        .byte $c0,$f0,$f0,$f8,$40,$2f,$02,$04,$06,$08 // ....@/....

txt_1adf:
        .text "PP"
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $01,$04,$08,$0d,$04,$70,$08,$60,$0c,$50,$08,$0e,$10,$60 // .....p.`.P...`

txt_1af0:
        .text " P0"
        .byte $40                                   // @ character
        .byte $01,$04,$10,$30,$20,$18,$30,$14,$08,$0f,$04,$a0,$08,$80,$0c,$60 // ...0 .0........`
        .fill 9, $00
        .byte $21,$08,$8a,$10,$00,$00,$04,$06,$41,$b0,$ad,$b0,$53,$32,$01,$07 // !.......A...S2..
        .byte $41,$b0,$ad,$b8,$53,$32,$00,$07,$41,$08,$9a,$10,$00,$51,$00,$04 // A...S2..A....Q..
        .byte $41,$01,$ae,$10,$43,$13,$04,$07,$41,$0a,$ac,$40,$43,$41,$00,$07 // A...C...A..@CA..
        .byte $41,$09,$9a,$20,$00,$51,$00,$07,$41,$c0,$dd,$e0,$53,$51,$01,$07 // A.. .Q..A...SQ..
        .byte $41,$c0,$dd,$e8,$53,$51,$00,$06,$41,$30,$dd,$10,$53,$51,$01,$07 // A...SQ..A0..SQ..
        .byte $41,$c0,$dd,$e1,$53,$51,$01,$09,$41,$0a,$6e,$40,$53,$51,$00,$08 // A...SQ..A.n@SQ..
        .byte $41,$09,$09,$12,$42,$54,$81,$0a,$41,$00,$99,$10,$00,$54,$04,$08 // A...BT..A....T..
        .byte $41,$09,$09,$10,$01,$00,$10,$00,$00,$18,$16,$00,$08,$04,$00,$14 // A...............
        .byte $16,$18,$16,$10,$04,$00,$8d,$20,$8d,$23,$89,$23,$86,$23,$81,$23 // ....... .#.#.#.#
        .byte $ff,$8d,$21,$ff,$8d,$43,$24,$8d,$47,$22,$ff,$cc,$b0,$a4,$1c,$8c // ..!..C$.G"......
        .byte $17,$b0,$a4,$18,$8c,$13,$b0,$a4,$15,$8c,$0e,$b0,$b0,$10,$ff,$f1 // ................
        .byte $f2,$cd,$86,$28,$86,$2b,$86,$2f,$86,$28,$86,$2b,$86,$2f,$86,$28 // ...(.+./.(.+./.(
        .byte $86,$2b,$86,$2f,$86,$28,$86,$2b,$86,$2f,$86,$30,$86,$24,$86,$2f // .+./.(.+./.0.$./
        .byte $86,$23,$ff,$ce,$86,$72,$28,$86,$72,$28,$83,$72,$28,$86,$72,$28 // .#...r(.r(.r(.r(
        .byte $86,$72,$28,$86,$72,$28,$83,$72,$28,$86,$72,$28,$83,$72,$28,$83 // .r(.r(.r(.r(.r(.
        .byte $72,$28,$ff                           // r(.

scr_1c00:
        // === Screen RAM (536 bytes, $1c00-$1e17) ===
        .encoding "screencode_mixed"
        .byte $cc,$86,$1c,$cc,$86,$1c,$cf,$86       // scrcode: ........
        .text "@"
        .byte $cc,$86,$1c,$cc,$83,$1c,$cc,$83,$1c,$cc,$86,$1c,$cf,$86 // scrcode: ..............
        .text "@"
        .byte $cc,$86,$1c,$cc,$86,$1c,$cc,$86,$1c,$cf,$86 // scrcode: ...........
        .text "@"
        .byte $cc,$8c,$1c,$cc                       // scrcode: ....
        .byte $83,$1c,$cc,$83,$1c,$cf,$86           // scrcode: .......
        .text "@"
        .byte $cc,$86                               // scrcode: ..
        .text "w"
        .byte $ff,$ce,$72,$8c                       // scrcode: ....
        .text "("
        .byte $8c                                   // scrcode: .
        .text "("
        .byte $8c                                   // scrcode: .
        .text "("
        .byte $8c                                   // scrcode: .
        .text "("
        .byte $8c                                   // scrcode: .
        .text "("
        .byte $8c                                   // scrcode: .
        .text "("
        .byte $8c                                   // scrcode: .
        .text "("
        .byte $8c                                   // scrcode: .
        .text "("
        .byte $ff                                   // scrcode: .
        .text "@"
        .byte $8d,$44                               // scrcode: ..
        .text "p"
        .byte $ff,$8d                               // scrcode: ..
        .text "xu"
        .byte $8d                                   // scrcode: .
        .text "xu"
        .byte $99                                   // scrcode: .
        .text "su"
        .byte $8d                                   // scrcode: .
        .text "q"
        .byte $8d                                   // scrcode: .
        .text "r"
        .byte $8b                                   // scrcode: .
        .text "r"
        .byte $89                                   // scrcode: .
        .text "r"
        .byte $88                                   // scrcode: .
        .text "r"
        .byte $8d                                   // scrcode: .
        .text "r"
        .byte $8b                                   // scrcode: .
        .text "r"
        .byte $89                                   // scrcode: .
        .text "r"
        .byte $88                                   // scrcode: .
        .text "r"
        .byte $ff,$8d                               // scrcode: ..
        .text "tu"
        .byte $8d                                   // scrcode: .
        .text "tu"
        .byte $99                                   // scrcode: .
        .text "tu"
        .byte $99                                   // scrcode: .
        .text "wu"
        .byte $99                                   // scrcode: .
        .text "wu"
        .byte $8d                                   // scrcode: .
        .text "v"
        .byte $ff,$c5,$b0,$72                       // scrcode: ....
        .text "-"
        .byte $92,$73                               // scrcode: ..
        .text "-"
        .byte $92,$72                               // scrcode: ..
        .text "-"
        .byte $8c,$73                               // scrcode: ..
        .text "-"
        .byte $b0,$70                               // scrcode: ..
        .text "+"
        .byte $a4,$74                               // scrcode: ..
        .text "+"
        .byte $8c,$70                               // scrcode: ..
        .text "+"
        .byte $aa,$70                               // scrcode: ..
        .text ")"
        .byte $86,$70                               // scrcode: ..
        .text ")"
        .byte $8c,$74                               // scrcode: ..
        .text ")"
        .byte $98,$74                               // scrcode: ..
        .text ")"
        .byte $8c,$70                               // scrcode: ..
        .text ")"
        .byte $b0                                   // scrcode: .
        .byte $71                                   // scrcode: .
        .text "("
        .byte $b0,$70                               // scrcode: ..
        .text "("
        .byte $ff,$c6,$b0                           // scrcode: ...
        .text "uussqqp"
        .byte $a0                                   // scrcode: .
        .text "p"
        .byte $90,$e0,$f7                           // scrcode: ...
        .text "du"
        .byte $ff,$c7,$8c                           // scrcode: ...
        .text "u"
        .byte $8c                                   // scrcode: .
        .text "u"
        .byte $86                                   // scrcode: .
        .text "!"
        .byte $8c                                   // scrcode: .
        .text "u"
        .byte $86                                   // scrcode: .
        .text "u"
        .byte $8c                                   // scrcode: .
        .text "u"
        .byte $8c                                   // scrcode: .
        .text "u"
        .byte $86                                   // scrcode: .
        .text "!"
        .byte $8c                                   // scrcode: .
        .text "u"
        .byte $86                                   // scrcode: .
        .text "!"
        .byte $ff,$f1,$f6,$c8,$b0,$b0               // scrcode: ......
        .text "!"
        .byte $ff,$c9,$b0,$b0                       // scrcode: ....
        .text "!"
        .byte $ff,$b0,$b0                           // scrcode: ...
        .text "#"
        .byte $b0,$b0                               // scrcode: ..
        .text "$"
        .byte $b0,$b0                               // scrcode: ..
        .text "("
        .byte $ff,$ca,$a4                           // scrcode: ...
        .text "-"
        .byte $86                                   // scrcode: .
        .text "0"
        .byte $86                                   // scrcode: .
        .text "-"
        .byte $88,$e0,$70                           // scrcode: ...
        .text "24"
        .byte $88                                   // scrcode: .
        .byte $e0,$70                               // scrcode: ..
        .text "24"
        .byte $8c,$e0,$80                           // scrcode: ...
        .text "24"
        .byte $8e,$e0,$a0                           // scrcode: ...
        .text "42"
        .byte $86                                   // scrcode: .
        .text "0"
        .byte $86                                   // scrcode: .
        .text "2"
        .byte $86                                   // scrcode: .
        .text "0"
        .byte $a4                                   // scrcode: .
        .text "/"
        .byte $8c                                   // scrcode: .
        .text "/"
        .byte $8c,$e0,$70                           // scrcode: ...
        .text "02"
        .byte $8c                                   // scrcode: .
        .text "0"
        .byte $8c                                   // scrcode: .
        .text "/"
        .byte $b0                                   // scrcode: .
        .text "4"
        .byte $98                                   // scrcode: .
        .text "5"
        .byte $8c                                   // scrcode: .
        .text "4"
        .byte $8c                                   // scrcode: .
        .byte $e0,$60                               // scrcode: ..
        .encoding "petscii_upper"

txt_1d1a:
        .text "45"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "0"
        .byte $86                                   // scrcode: .
        .text ","
        .byte $86                                   // scrcode: .
        .text "/"
        .byte $8c,$e0,$60                           // scrcode: ...
        .text "/0"
        .byte $8c                                   // scrcode: .
        .text "/"
        .byte $8c                                   // scrcode: .
        .text ","
        .byte $8c                                   // scrcode: .
        .text "/"
        .byte $ff,$f1,$f4,$c8,$b0,$b0               // scrcode: ......
        .text "!"
        .byte $ff,$f1,$f6,$cb,$b0,$b0               // scrcode: ......
        .text "!"
        .byte $ff,$c0,$b0,$b0                       // scrcode: ....
        .text "@"
        .byte $b0,$b0                               // scrcode: ..
        .text "@"
        .byte $b0,$b0                               // scrcode: ..
        .text "@"
        .byte $b0,$b0                               // scrcode: ..
        .text "@"
        .byte $ff,$8d                               // scrcode: ..
        .text "a"
        .byte $ff,$8d                               // scrcode: ..
        .text "bef"
        .byte $ff,$8d                               // scrcode: ..
        .text "ce"
        .byte $8d                                   // scrcode: .
        .text "dd"
        .byte $8b                                   // scrcode: .
        .text "dd"
        .byte $8d                                   // scrcode: .
        .text "dd"
        .byte $8b                                   // scrcode: .
        .text "dd"
        .byte $ff,$c1,$86,$70                       // scrcode: ....
        .encoding "petscii_upper"

txt_1d65:
        .text "++++++++++++++++++++++++"
        .byte $71                                   // scrcode: .

txt_1d7e:
        .text "++++++++"
        .byte $70                                   // scrcode: .

txt_1d87:
        .text "))))))))))))))))))))))))"
        .byte $72                                   // scrcode: .

txt_1da0:
        .text "--------"
        .encoding "screencode_mixed"
        .byte $ff,$f1,$f6,$c2,$b0,$98               // scrcode: ......
        .text "/"
        .byte $ff,$c3,$b0,$9b                       // scrcode: ....
        .text "/"
        .byte $ff,$c4,$8c                           // scrcode: ...
        .text "s"
        .byte $8c                                   // scrcode: .
        .text "s"
        .byte $86,$1f,$8c                           // scrcode: ...
        .text "s"
        .byte $86                                   // scrcode: .
        .text "s"
        .byte $8c                                   // scrcode: .
        .text "s"
        .byte $8c                                   // scrcode: .
        .text "s"
        .byte $86,$1f,$8c                           // scrcode: ...
        .text "s"
        .byte $86,$1f,$ff,$8c                       // scrcode: ....
        .text "+"
        .byte $83                                   // scrcode: .
        .text "-"
        .byte $89                                   // scrcode: .
        .text "+"
        .byte $b0,$92,$e0,$70                       // scrcode: ....
        .text "02"
        .byte $8c                                   // scrcode: .
        .text "0"
        .byte $86                                   // scrcode: .
        .text "/"
        .byte $86                                   // scrcode: .
        .text "0"
        .byte $86                                   // scrcode: .
        .text "+"
        .byte $b0,$98,$e0,$70                       // scrcode: ....
        .text "+0"
        .byte $98                                   // scrcode: .
        .text "-"
        .byte $b0,$98                               // scrcode: ..
        .text ")"
        .byte $98                                   // scrcode: .
        .text "("
        .byte $b0,$8c                               // scrcode: ..
        .text "+"
        .byte $8c                                   // scrcode: .
        .text "&"
        .byte $86                                   // scrcode: .
        .text "+"
        .byte $8c                                   // scrcode: .
        .text "/"
        .byte $8c,$e0,$70                           // scrcode: ...
        .encoding "petscii_upper"

txt_1df8:
        .text "/0"
        .byte $b0                                   // '0' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $92                                   // scrcode: .
        .text "/"
        .byte $8c,$e0,$75                           // scrcode: ...
        .text "0/"
        .byte $8c                                   // scrcode: .
        .text "0"
        .byte $b0,$8c,$e0,$60                       // scrcode: ....
        .text "05"
        .byte $8c                                   // scrcode: .
        .text "5"
        .byte $8c                                   // scrcode: .
        .text "4"
        .byte $8c                                   // scrcode: .
        .text "0"
        .byte $b0,$ad                               // scrcode: ..
        .text "-"
        .byte $ff,$83,$f0                           // scrcode: ...
        .text "-"
        .byte $ff                                   // scrcode: .
        .encoding "petscii_upper"

// --- Region $1e1e-$20cd ---
.pc = $1e1e "scr_1e1e"

scr_1e1e:
        // === Screen RAM (482 bytes, $1e1e-$1fff) ===
        .encoding "screencode_mixed"
        .text "@@"
        .encoding "petscii_upper"

txt_1e20:
        .text "    "
        .encoding "screencode_mixed"
        .text "a new intro"
        .encoding "petscii_upper"

txt_1e2f:
        .text " .... "
        .encoding "screencode_mixed"
        .text "a new member"
        .encoding "petscii_upper"

txt_1e41:
        .text " .... "
        .encoding "screencode_mixed"
        .text "a new crack"
        .encoding "petscii_upper"

txt_1e52:
        .text " .. "
        .encoding "screencode_mixed"
        .text "yes,this is injun of"
        .encoding "petscii_upper"

txt_1e6a:
        .text " 2000 "
        .encoding "screencode_mixed"
        .text "a.d"
        .encoding "petscii_upper"

txt_1e73:
        .text ". ( "
        .encoding "screencode_mixed"
        .text "fromer member of agile"
        .encoding "petscii_upper"

txt_1e8d:
        .text " )  "
        .encoding "screencode_mixed"
        .text "presents  pac-mania trainer"
        .encoding "petscii_upper"

txt_1eac:
        .text " ....  "
        .encoding "screencode_mixed"
        .text "thanxx to dexter for the original"
        .encoding "petscii_upper"

txt_1ed4:
        .text "     "
        .encoding "screencode_mixed"
        .text "i raise my hands to (only my contacts,in"
        .text " no oder"
        .encoding "petscii_upper"

txt_1f09:
        .text " ) : "
        .encoding "screencode_mixed"
        .text "crack force omega"
        .encoding "petscii_upper"

txt_1f1f:
        .text "  -=- "
        .encoding "screencode_mixed"
        .text "cosmos"
        .encoding "petscii_upper"

txt_1f2b:
        .text " -=- "
        .encoding "screencode_mixed"
        .text "rawhead"
        .encoding "petscii_upper"

txt_1f37:
        .text " -=- "
        .encoding "screencode_mixed"
        .text "science"
        .encoding "petscii_upper"

txt_1f43:
        .text " 451 -=- "
        .encoding "screencode_mixed"
        .text "vector"
        .encoding "petscii_upper"

txt_1f52:
        .text " 90 -=- "
        .encoding "screencode_mixed"
        .text "f7cg/mcg"
        .encoding "petscii_upper"

txt_1f62:
        .text " -=- "
        .encoding "screencode_mixed"
        .text "bobby"
        .encoding "petscii_upper"

txt_1f6c:
        .text " -=- "
        .encoding "screencode_mixed"
        .text "weird science"
        .encoding "petscii_upper"

txt_1f7e:
        .text " 2662 -=- "
        .encoding "screencode_mixed"
        .text "danish dream line"
        .encoding "petscii_upper"

txt_1f99:
        .text " -=- "
        .encoding "screencode_mixed"
        .text "agile"
        .encoding "petscii_upper"

txt_1fa3:
        .text " (  "
        .encoding "screencode_mixed"
        .text "nohard feelings guys, sin"
        .encoding "petscii_upper"

spr_1fc0:
        .encoding "screencode_mixed"
        .text "ce i didn't do anything for ya , a might"
        .text " as well leave ya"
        .encoding "petscii_upper"

txt_1ff9:
        .text " ) -=- "
        .byte $14,$08,$05,$20,$1a,$05,$12,$0f,$02,$0f,$19,$13 // ... ........

txt_200c:
        .text " -=- "
        .byte $14,$08,$05,$20,$06,$12,$0f,$0e,$14,$0c,$09,$0e,$05 // ... .........

txt_201e:
        .text " 1842   "
        .byte $05,$08                               // ..

txt_2028:
        .text "?!   "

txt_202d:
        .encoding "screencode_mixed"
        .text "i don't think it was anymore"
        .encoding "petscii_upper"

txt_2049:
        .text "    "
        .byte $0f,$08,$20,$13,$08,$09,$14           // .. ....

txt_2054:
        .text "... "

txt_2058:
        .encoding "screencode_mixed"
        .text "a big hello to all in the big group"
        .encoding "petscii_upper"

txt_207b:
        .text " 2000"
        .byte $01,$04                               // ..

txt_2082:
        .text " #1       "

txt_208c:
        .encoding "screencode_mixed"
        .text "see ya guys"
        .encoding "petscii_upper"

txt_2097:
        .text "!..    881111"
        .byte $60                                   // `

txt_20a5:
        .text "    "
        .byte $0d                                   // string terminator
        .byte $0f,$13,$08                           // ...

txt_20ad:
        .text " !     "
        .byte $09,$0e,$0a,$15,$0e                   // .....

txt_20b9:
        .text " !                   "
