// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:54
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $dbff  (54272 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
//
// Code: 337 bytes, Data: 53935 bytes
// Labels: 85, Subroutines: 6
//
// Cross-references: all OK
// ============================================


// --- Region $080d-$080f ---
.pc = $080d "main_080d"

main_080d:
        jmp loc_39ca

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

// --- Region $2020-$2020 ---
.pc = $2020 "sub_2020"
// Referenced by: jsr from $754f, $7552, $7555, $7558

sub_2020:
        brk

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

// --- Region $29d0-$29d0 ---
.pc = $29d0 "Segment $29d0"
        brk

// --- Region $39ca-$3a5e ---
.pc = $39ca "loc_39ca"

loc_39ca:
        sei

loc_39cb:
        ldx #$03

loc_39cd:
        jsr sub_3a53
        dex
        bpl loc_39cd
        lda $d020
        and #$0f
        tax
        lda $3b64,x
        sta $d020
        lda $d021
        and #$0f
        tax
        lda $3b64,x
        sta $d021
        lda $d800
        and #$0f
        tax
        lda $3b64,x
        ldx #$00

loc_39f6:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_39f6
        lda $d020
        ora $d021
        ora $d800
        and #$0f
        bne loc_39cb
        lda #$17
        sta $d018

loc_3a17:
        lda dat_3a5e,x
        sta $0568,x
        inx
        cpx #$ef
        bne loc_3a17
        ldx #$16

loc_3a24:
        lda $3b4d,x
        sta $06b1,x
        dex
        bpl loc_3a24
        inx

loc_3a2e:
        jsr sub_3a53
        lda $3b74,x
        ldy #$16

loc_3a36:
        sta $dab1,y
        dey
        bpl loc_3a36
        iny

loc_3a3d:
        sta $d968,y
        iny
        cpy #$ef
        bne loc_3a3d
        inx
        cpx #$18
        bne loc_3a2e
        ldy #$00
        lda #$37
        sta $01
        jmp loc_74ba
// Referenced by: jsr from $39cd, $3a2e; branch from $3a56

sub_3a53:
        lda $d011
        bpl sub_3a53

loc_3a58:
        lda $d011
        bmi loc_3a58
        rts

dat_3a5e:
        .byte $63                                   // c

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

// --- Region $4941-$4941 ---
.pc = $4941 "sub_4941"
// Referenced by: jsr from $755b

sub_4941:
        brk

// --- Region $7200-$7210 ---
.pc = $7200 "loc_7200"

loc_7200:
        sei
        jsr $ff5b
        ldx #$00
        stx $d020
        stx $d021
        jmp $fce2

dat_720f:
        // === Data block (2 bytes, $720f-$7210) ===
        .byte $9d,$00                               // ..

// --- Region $74ba-$755e ---
.pc = $74ba "loc_74ba"

loc_74ba:
        jsr sub_753d
        ldx #$28

loc_74bf:
        lda $754e,x
        sta $04c7,x
        dex
        bne loc_74bf

loc_74c8:
        jsr sub_74fc
        lda $76df,x
        ldy #$27

loc_74d0:
        sta $d8c8,y
        dey
        bpl loc_74d0
        inx
        cpx #$18
        bne loc_74c8

loc_74db:
        jsr sub_74fc
.label smc_74df = * + 1
        lda #$c8                                    // !SMC: modified by $750c
        sta $d016
        ldx #$71

loc_74e5:
        cpx $d012
        bne loc_74e5
        lda #$c8
        sta $d016
        jsr sub_7507
        lda $dc01
        cmp #$ef
        bne loc_74db

loc_74f9:
        jmp loc_7200
// Referenced by: jsr from $74c8, $74db; branch from $74ff

sub_74fc:
        lda $d011
        bpl sub_74fc

loc_7501:
        lda $d011
        bmi loc_7501
        rts
// Referenced by: jsr from $74ef

sub_7507:
.label smc_7508 = * + 1
        ldx #$00                                    // !SMC: modified by $7516
        lda $7547,x
        sta smc_74df                                // SMC: modifies $74df
        inx
        cpx #$08
        bne loc_7516

dat_7514:
        .byte $a2,$00                               // ..

loc_7516:
        stx smc_7508                                // SMC: modifies $7508
        cmp #$c7
        beq loc_751e
        rts

loc_751e:
        ldx #$00

loc_7520:
        lda $04c9,x
        sta $04c8,x
        inx
        cpx #$27
        bne loc_7520

loc_752b:
        ldy #$00
        lda ($20),y
        cmp #$ff
        beq loc_74f9
        sta $04ef
        inc $20
        bne loc_753c
        inc $21

loc_753c:
        rts
// Referenced by: jsr from $74ba

sub_753d:
        ldx #$77
        ldy #$75
        stx $20
        sty $21
        bne loc_752b
        .byte $c7,$c6                               // dcp $c6 // ILLEGAL
        cmp $c4
        .byte $c3,$c2                               // dcp ($c2,x) // ILLEGAL
        cmp ($c0,x)
        jsr sub_2020
        jsr sub_2020
        jsr sub_2020
        jsr sub_2020
        jsr sub_4941
        .byte $52                                   // jam // ILLEGAL

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

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

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

// --- Region $0810-$0810 ---
.pc = $0810 "dat_0810"

dat_0810:
        // === Fill data (1 bytes, $0810-$0810) ===
        .byte $00                                   // .

// --- Region $0dd1-$0dd1 ---
.pc = $0dd1 "dat_0dd1"

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

// --- Region $17a9-$17a9 ---
.pc = $17a9 "tbl_17a9"

tbl_17a9:
        // === VIC register table (1 bytes, $17a9-$17a9) ===
        .byte $00                                   // .

// --- Region $1800-$1800 ---
.pc = $1800 "chr_1800"

chr_1800:
        .byte $00                                   // .

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

spr_2000:
        .byte $00                                   // .

// --- Region $2021-$2021 ---
.pc = $2021 "dat_2021"

dat_2021:
        // === Fill data (1 bytes, $2021-$2021) ===
        .byte $00                                   // .

// --- Region $2185-$2185 ---
.pc = $2185 "dat_2185"

dat_2185:
        // === Fill data (1 bytes, $2185-$2185) ===
        .byte $00                                   // .

// --- Region $29d1-$29d1 ---
.pc = $29d1 "dat_29d1"

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

// --- Region $3a5f-$3b8c ---
.pc = $3a5f "Segment $3a5f"
        .byte $63,$63,$63,$63,$63,$63,$63,$20,$63,$63,$63,$63,$63,$63,$20,$20 // ccccccc cccccc  
        .byte $63,$63                               // cc

txt_3a71:
        .text "      "
        .byte $63                                   // c

txt_3a78:
        .text "      "
        .byte $63,$63,$63,$63,$63,$63,$63           // ccccccc

txt_3a85:
        .text "    "
        .byte $63,$63                               // cc

txt_3a8b:
        .text "          "
        .byte $63,$20,$63,$63                       // c cc

txt_3a99:
        .text "     "
        .byte $63,$63,$63                           // ccc

txt_3aa1:
        .text "            "
        .byte $63,$20,$20,$20,$63,$63               // c   cc

txt_3ab3:
        .text "    "
        .byte $63,$63                               // cc

txt_3ab9:
        .text "    "
        .byte $63,$20,$63,$63                       // c cc

txt_3ac1:
        .text "    "
        .byte $63,$63,$20,$63,$63                   // cc cc

txt_3aca:
        .text "    "
        .byte $63,$63                               // cc

txt_3ad0:
        .text "     "
        .byte $63,$20,$20,$20,$63,$63               // c   cc

txt_3adb:
        .text "    "
        .byte $63,$63,$63,$63,$63,$20,$20,$20,$63,$63,$20,$20,$20,$63,$63,$20 // ccccc   cc   cc 
        .byte $20,$20,$63,$63,$20,$20,$20,$63,$63   //   cc   cc

txt_3af8:
        .text "     "
        .byte $63,$20,$20,$20,$63,$63               // c   cc

txt_3b03:
        .text "    "
        .byte $63,$63,$20,$20,$63,$63,$20,$20,$63,$63,$20,$20,$63,$63 // cc  cc  cc  cc

txt_3b15:
        .text "     "
        .byte $63,$63,$20,$20,$63,$63               // cc  cc

txt_3b20:
        .text "     "
        .byte $63,$20,$20,$20,$63,$63               // c   cc

txt_3b2b:
        .text "    "
        .byte $63,$63                               // cc

txt_3b31:
        .text "    "
        .byte $63,$20,$63,$63,$20,$63,$63,$63,$63,$63,$63,$63,$63,$63,$63,$63 // c cc ccccccccccc
        .byte $20,$63,$63,$63,$63,$63,$63,$63,$44,$05,$01,$0c,$05,$12,$20,$51 //  cccccccD..... Q
        .byte $15,$01,$0c,$09,$14,$19,$20,$53,$0f,$06,$14,$17,$01,$12,$05,$00 // ...... S........
        .byte $0d,$0b,$0e,$0b,$0e,$00,$03,$0e,$0b,$0e,$06,$0e,$07,$04,$0e,$00 // ................
        .byte $06,$09,$02,$0b,$04,$08,$0c,$0e,$05,$0a,$03,$0f,$07,$0d,$01,$0d // ................
        .byte $07,$0f,$03,$0a,$05,$0e,$0c           // .......

dat_3b8c:
        // === Fill data (1 bytes, $3b8c-$3b8c) ===
        .byte $00                                   // .

// --- Region $4121-$4121 ---
.pc = $4121 "dat_4121"

dat_4121:
        // === Fill data (1 bytes, $4121-$4121) ===
        .byte $00                                   // .

// --- Region $4942-$4942 ---
.pc = $4942 "dat_4942"

dat_4942:
        // === Fill data (1 bytes, $4942-$4942) ===
        .byte $00                                   // .

// --- Region $7211-$74b9 ---
.pc = $7211 "Segment $7211"
        .byte $04,$bd,$77,$73,$9d,$00,$05,$a9,$01,$9d,$00,$d8,$9d,$00,$d9,$e8 // ..ws............
        .byte $d0,$e9,$58,$20,$e4,$ff,$d0,$fb,$20,$e4,$ff,$f0,$fb,$c9,$0d,$d0 // ..X .... .......
        .byte $03,$4c,$77,$74,$c9,$31,$d0,$13,$ad,$6d,$04,$49,$08,$8d,$6d,$04 // .Lwt.1...m.I..m.
        .byte $ad,$6e,$04,$49,$26,$8d,$6e,$04,$4c,$24,$72,$c9,$32,$d0,$13,$ad // .n.I&.n.L$r.2...
        .byte $bd,$04,$49,$08,$8d,$bd,$04,$ad,$be,$04,$49,$26,$8d,$be,$04,$4c // ..I.......I&...L
        .byte $24,$72,$c9,$33,$d0,$bd,$ae,$0c,$05,$e8,$e0,$34,$d0,$02,$a2,$31 // $r.3.......4...1
        .byte $8e,$0c,$05,$4c,$24,$72               // ...L$r

dat_7277:
        .text "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                "
        .byte $78,$ad,$0c,$05,$38,$e9,$30,$8d,$9f,$4e,$ad,$6d,$04,$c9,$0e,$d0 // x...8.0..N.m....
        .byte $05,$a9,$ad,$8d,$6c,$59,$ad,$bd,$04,$c9,$0e,$d0,$23,$a9,$ad,$8d // ....lY......#...
        .byte $ee,$59,$8d,$fa,$59,$8d,$10,$5a,$8d,$28,$5c,$8d,$0e,$68,$8d,$2b // .Y..Y..Z.(\..h.+
        .byte $68,$8d,$55,$68,$8d,$ac,$68,$8d,$e5,$68,$8d,$75,$6c,$8d,$86,$6c // h.Uh..h..h.ul..l
        .byte $4c,$20,$4e                           // L N

// --- Region $755f-$76f7 ---
.pc = $755f "txt_755f"

txt_755f:
        .text " COP 2000 +3             W"

txt_7579:
        .encoding "screencode_mixed"
        .text "as hacked and packed by "
        .encoding "petscii_upper"
        .byte $4b,$09,$0e,$07,$20,$46,$09,$13,$08,$05,$12,$20,$0f,$06,$20,$54 // K... F..... .. T
        .byte $12,$09,$01,$04,$2e,$20,$4f           // ..... O

txt_75a8:
        .encoding "screencode_mixed"
        .text "riginal provided by "
        .encoding "petscii_upper"
        .byte $4a,$01,$19,$03,$05,$2f,$4d,$15,$14,$05 // J..../M...

txt_75c6:
        .text " 101. L"

txt_75cd:
        .encoding "screencode_mixed"
        .text "et me say"
        .encoding "petscii_upper"

txt_75d6:
        .text ": "
        .byte $22                                   // double quote character
        .text "I "

txt_75db:
        .encoding "screencode_mixed"
        .text "don't have a bloody car, and "
        .encoding "petscii_upper"
        .byte $49                                   // I

txt_75f9:
        .encoding "screencode_mixed"
        .text " don't even care to have one"
        .encoding "petscii_upper"

txt_7615:
        .text ". I "

txt_7619:
        .encoding "screencode_mixed"
        .text "can walk anytime around the block"
        .encoding "petscii_upper"

txt_763a:
        .text "!"
        .byte $22                                   // double quote character
        .text " M"

txt_763e:
        .encoding "screencode_mixed"
        .text "ay that be wise words for you until the day you realize that "
        .encoding "petscii_upper"
        .byte $49                                   // I

txt_767c:
        .encoding "screencode_mixed"
        .text " was more right than you could possibly believe"
        .encoding "petscii_upper"

txt_76ab:
        .text ".."

dat_76ad:
        // === Fill data (49 bytes, $76ad-$76dd) ===
        .fill 49, $20
        .byte $ff,$00,$06,$09,$02,$0b,$04,$08,$0c,$0e,$05,$0a,$03,$0f,$07,$0d // ................
        .byte $01,$0d,$07,$0f,$03,$0a,$05,$0e,$0c   // .........

dat_76f7:
        // === Fill data (1 bytes, $76f7-$76f7) ===
        .byte $00                                   // .

// --- Region $8ed1-$8ed1 ---
.pc = $8ed1 "dat_8ed1"

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

// --- Region $add1-$add1 ---
.pc = $add1 "dat_add1"

dat_add1:
        // === Fill data (1 bytes, $add1-$add1) ===
        .byte $00                                   // .
