// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:39
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $07ee  End: $1201  (2580 bytes)
// Crunched with Beta Dynamic v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0806 (2054)
// IRQ handler:  $0959 (irq_0959)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 726 bytes, Data: 1854 bytes
// Labels: 101, Subroutines: 8
//
// Cross-references: all OK
// ============================================


// --- Region $0806-$0a35 ---
.pc = $0806 "main_0806"

main_0806:
        sta $d011
        lda #$15
        sta $d018
        lda #$00
        sta $d020
        sta $d021
        sta $d012
        lda #$80
        sta $0291
        ldx #$00

loc_0820:
        lda $0d48,x
        sta $0400,x
        sta $06d0,x
        lda #$00
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_0820

loc_083a:
        lda $0e48,x
        sta $0500,x
        sta $07d0,x
        inx
        cpx #$18
        bne loc_083a
        ldx #$27

loc_084a:
        lda $0ad8,x
        sta $0540,x
        lda $0b00,x
        sta $0590,x
        lda $0b28,x
        sta $05e0,x
        lda #$0e
        sta $d940,x
        lda #$03
        sta $d990,x
        lda #$0d
        sta $d9e0,x
        lda #$01
        sta $da80,x
        lda #$0b
        sta $d800,x
        sta $d8f0,x
        sta $dad0,x
        sta $dbc0,x
        dex
        bpl loc_084a
        sta $d82b
        sta $d84c
        sta $d853
        sta $d874
        sta $d87b
        sta $d89c
        sta $d8a3
        sta $d8c4
        sta $d8cb
        sta $d8ec
        sta $dafb
        sta $db1c
        sta $db23
        sta $db44
        sta $db4b
        sta $db6c
        sta $db73
        sta $db94
        sta $db9b
        sta $dbbc
        jsr sub_0bc5
        jsr sub_0b70
        sei
        lda #$59
        sta $0314
        lda #$09
        sta $0315
        lda #$01
        sta $d01a
        sta $dc0d
        lda #$1b
        sta $d011
        cli

loc_08dc:
        lda $dc01
        cmp #$ef
        bne loc_08dc
        sei
        lda #$31
        sta $0314
        lda #$ea
        sta $0315
        lda #$f0
        sta $d01a
        lda #$00
        sta $dc0d
        lda #$0b
        sta $d011
        jsr $fda3
        cli
        jsr $e544
        lda #$c8
        sta $d016
        lda #$16
        sta $d018
        ldx #$1f

loc_0910:
        lda #$00
        sta $0800
        sta $d400,x
        lda dat_0939,x
        sta $0340,x
        dex
        bpl loc_0910
        ldx #$27

loc_0923:
        lda #$03
        sta $d800,x
        lda $0ab0,x
        sta $0400,x
        dex
        bpl loc_0923
        lda #$1b
        sta $d011
        jmp $0340

dat_0939:
        .byte $78,$a9,$34,$85,$01                   // x.4..

loc_093e:
        ldx #$00

loc_0940:
        lda $1200,x
        sta $0801,x
        inx
        bne loc_0940
        inc $034c
.label loc_094d = * + 1
        inc $0349
        bne loc_093e
        lda #$37
        sta $01
        cli
        jmp $fce2

irq_0959:
        lda #$00
        sta $d012
        lda #$c8
        sta $d016
        jsr sub_0a2e
        jsr sub_0b64

loc_0969:
        lda $d012
        cmp #$a2
        bne loc_0969
        ldx #$01

loc_0972:
        dex
        bpl loc_0972
.label smc_0976 = * + 1
        lda #$05                                    // !SMC: modified by $099f
        sta $d016

loc_097a:
        lda $d012
        cmp #$c2
        bne loc_097a
        ldx #$01

loc_0983:
        dex
        bpl loc_0983
        lda #$c8
        sta $d016
        jsr sub_0997
        jsr sub_09d0
        inc $d019
        jmp $ea7e
// Referenced by: jsr from $098b

sub_0997:
        lda smc_0976
        sec
        sbc #$02
        and #$07
        sta smc_0976                                // SMC: modifies $0976
        bcc loc_09a5
        rts

loc_09a5:
        ldx #$00

loc_09a7:
        lda $0681,x
        sta $0680,x
        inx
        cpx #$28
        bne loc_09a7

loc_09b2:
.label smc_09b3 = * + 1
.label smc_09b4 = * + 2
        lda $0e63                                   // !SMC: modified by $09c5, $09ca
        beq loc_09c3
        sta $06a7
        inc smc_09b3
        bne loc_09c2
        inc smc_09b4

loc_09c2:
        rts

loc_09c3:
        lda #$60
        sta smc_09b3                                // SMC: modifies $09b3
        lda #$0e
        sta smc_09b4                                // SMC: modifies $09b4
        jmp loc_09b2

// Referenced by: jsr from $098e
sub_09d0: {
        lda #$03
        beq skip1
        dec $09d1
        rts
skip1:
        lda #$03
        sta $09d1
        ldx #$1e
loop1:
        lda $d82c,x
        sta $d82d,x
        lda $d854,x
        sta $d855,x
        lda $d87c,x
        sta $d87d,x
        lda $d8a4,x
        sta $d8a5,x
        lda $d8cc,x
        sta $d8cd,x
        dex
        bpl loop1
        ldx #$04
        lda $0a8e,x
        beq skip2
        sta $d82c
        lda $d82d
        sta $d854
        lda $d855
        sta $d87c
        lda $d87d
        sta $d8a4
        lda $d8a5
        sta $d8cc
        inc $0a01
        rts
skip2:
        lda #$00
        sta $0a01
        jmp $0a00
}
// Referenced by: jsr from $0963

sub_0a2e:
        lda #$03
        beq dat_0a36
        dec $0a2f
        rts

// --- Region $0b64-$0c0e ---
.pc = $0b64 "sub_0b64"

// Referenced by: jsr from $0966
sub_0b64: {
        dec $0c29
        bne done
        jsr sub_0b70
done:
        jsr sub_0bd9
        rts
}

// Referenced by: jsr from $08c0, $0b69
sub_0b70: {
        ldy #$00
        ldx #$00
loop:
        lda ($fb),y
        cmp #$0d
        beq skip1
        lda $0c2e,x
        and #$fe
        sta $0c2e,x
        lda #$08
        sta $d404,x
        lda ($fb),y
        cmp #$0c
        beq skip1
        lda $0c2e,x
        ora #$01
        sta $0c2e,x
        jsr sub_0be5
        lda $0c28
        sta $0c2a,x
        nop
        lda $0c27
        sta $0c2b,x
skip1:
        txa
        clc
        adc #$07
        tax
        iny
        cpy #$03
        bne loop
        lda ($fb),y
        sta $0c29
        clc
        lda $fb
        adc #$04
        sta $fb
        bcc skip2
        inc $fc
skip2:
        ldy #$03
        lda ($fb),y
        bne loc_0bcd
}
// Referenced by: jsr from $08bd

sub_0bc5:
        lda #$43
        sta $fb
        lda #$0c
        sta $fc

loc_0bcd:
        rts

loc_0bce:
        ldy #$18
        lda #$00

loc_0bd2:
        sta $d400,y
        dey
        bpl loc_0bd2
        rts

// Referenced by: jsr from $0b6c
sub_0bd9: {
        ldy #$18
loop:
        lda $0c2a,y
        sta $d400,y
        dey
        bpl loop
        rts
}
// Referenced by: jsr from $0b95

sub_0be5:
        txa
        pha
        lda ($fb),y
        and #$0f
        asl
        tax
        lda dat_0c0f,x
        sta $0c27
        inx
        lda dat_0c0f,x
        sta $0c28
        lda ($fb),y
        lsr
        lsr
        lsr
        lsr
        tax
        beq loc_0c0c

loc_0c03:
        asl $0c28
        rol $0c27
        dex
        bne loc_0c03

loc_0c0c:
        pla
        tax
        rts

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

// --- Region $0803-$0805 ---
.pc = $0803 "dat_0803"

dat_0803:
        .byte $e5,$a9,$0b                           // ...

// --- Region $0a36-$0b63 ---
.pc = $0a36 "dat_0a36"

dat_0a36:
        .byte $a9,$03,$8d,$2f,$0a,$a2,$00,$bd,$fd,$da,$9d,$fc,$da,$bd,$25,$db // .../..........%.
        .byte $9d,$24,$db,$bd,$4d,$db,$9d,$4c,$db,$bd,$75,$db,$9d,$74,$db,$bd // .$..M..L..u..t..
        .byte $9d,$db,$9d,$9c,$db,$e8,$e0,$20,$d0,$dd,$a2,$04,$bd,$8e,$0a,$f0 // ....... ........
        .byte $1f,$8d,$1b,$db,$ad,$1a,$db,$8d,$43,$db,$ad,$42,$db,$8d,$6b,$db // ........C..B..k.
        .byte $ad,$6a,$db,$8d,$93,$db,$ad,$92,$db,$8d,$bb,$db,$ee,$61,$0a,$60 // .j...........a.`
        .byte $a9,$00,$8d,$61,$0a,$4c,$60,$0a,$09,$02,$08,$0a,$0f,$0d,$07,$01 // ...a.L`.........
        .byte $01,$07,$0d,$0f,$0a,$08,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .fill 10, $00
        .byte $20,$20,$49                           //   I

txt_0ab3:
        .encoding "screencode_mixed"
        .text "ntro done by "
        .encoding "petscii_upper"
        .byte $4a,$01,$03,$0b,$20,$41,$0c,$09,$05,$0e,$20,$0f,$06,$20,$52,$05 // J... A.... .. R.
        .byte $0d,$05,$0d,$02,$05,$12               // ......

txt_0ad6:
        .text "              "
        .byte $10,$12,$0f,$15,$04,$0c,$19,$20,$10,$12,$05,$13,$05,$0e,$14,$13 // ....... ........

txt_0af4:
        .text "                      "
        .byte $10,$09,$14,$13,$14,$0f,$10           // .......

txt_0b11:
        .text "+4 +"
        .byte $04,$0f,$03,$15,$0d,$05,$0e,$14,$13   // .........

txt_0b1e:
        .text "                   "
        .byte $03,$0f,$10,$19,$12,$09,$07,$08,$14   // .........

txt_0b3a:
        .text " 1983 "
        .byte $02,$19,$20,$05,$10,$19,$18           // .. ....

txt_0b47:
        .text "         "
        .byte $00                                   // string terminator
        .fill 19, $00

// --- Region $0c0f-$117f ---
.pc = $0c0f "dat_0c0f"

dat_0c0f:
        .byte $01,$0c,$01,$1c,$01,$2d,$01,$3e,$01,$51,$01,$66,$01,$7b,$01,$91 // .....-.>.Q.f.{..
        .byte $01,$a9,$01,$c3,$01,$dd,$01,$fa,$03,$86,$03,$18,$0e,$00,$00,$21 // ...............!
        .byte $04,$cf,$0c,$07,$00,$00,$21,$05,$cf,$86,$03,$00,$00,$21,$05,$cf // ......!......!..
        .byte $00,$00,$00,$0f,$39,$29,$19,$10,$40,$0c,$0c,$10,$44,$0c,$0c,$10 // ....9)..@...D...
        .byte $40,$0c,$0c,$10,$39,$0c,$0c,$10,$40,$0c,$0c,$10,$44,$0c,$0c,$10 // @...9...@...D...
        .byte $40,$0c,$0c,$10,$39,$25,$15,$10,$40,$0c,$0c,$10,$44,$0c,$0c,$10 // @...9%..@...D...
        .byte $40,$0c,$0c,$10,$39,$0c,$0c,$10,$40,$0c,$0c,$10,$44,$0c,$0c,$10 // @...9...@...D...
        .byte $40,$0c,$0c,$10,$39,$30,$20,$10,$40,$0c,$0c,$10,$44,$0c,$0c,$10 // @...90 .@...D...
        .byte $40,$0c,$0c,$10,$39,$0c,$0c,$10,$40,$0c,$0c,$10,$44,$0c,$0c,$10 // @...9...@...D...
        .byte $40,$0c,$0c,$10,$39,$27,$17,$10,$40,$0c,$0c,$10,$44,$0c,$0c,$10 // @...9'..@...D...
        .byte $40,$0c,$0c,$10,$39,$28,$18,$10,$40,$0c,$0c,$10,$44,$0c,$0c,$10 // @...9(..@...D...
        .byte $40,$0c,$0c,$10,$39,$29,$54,$10,$40,$0c,$0c,$10,$44,$0c,$0c,$10 // @...9)T.@...D...
        .byte $40,$0c,$0c,$10,$39,$0c,$54,$10,$40,$0c,$52,$10,$44,$0c,$50,$10 // @...9.T.@.R.D.P.
        .byte $40,$0c,$0c,$10,$39,$25,$52,$10,$40,$0c,$0c,$10,$44,$0c,$50,$10 // @...9%R.@...D.P.
        .byte $40,$0c,$0c,$10,$39,$25,$15,$10,$40,$0c,$0c,$10,$44,$0c,$0c,$10 // @...9%..@...D...
        .byte $40,$0c,$0c,$10,$39,$20,$59,$10,$40,$20,$57,$10,$44,$20,$30,$10 // @...9 Y.@ W.D 0.
        .byte $40,$20,$30,$10,$39,$0c,$54,$10,$40,$20,$34,$10,$44,$0c,$0c,$10 // @ 0.9.T.@ 4.D...
        .byte $40,$0c,$0c,$10,$39,$27,$52,$10,$40,$27,$42,$10,$44,$27,$32,$10 // @...9'R.@'B.D'2.
        .byte $40,$0c,$0c,$10,$39,$28,$18,$10,$40,$0c,$0c,$10,$44,$0c,$0c,$10 // @...9(..@...D...
        .byte $40,$0c,$0c,$10,$00,$00,$00,$00,$00,$20,$20,$20,$70 // @........   p

dat_0d4c:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $6e                                   // n

txt_0d6d:
        .text "      "
        .byte $5d                                   // ]

txt_0d74:
        .text "                      "
        .byte $e7                                   // .

txt_0d8b:
        .text "         "
        .byte $5d                                   // ]

txt_0d95:
        .text "      "
        .byte $5d,$6c,$6c,$62,$20,$6c,$62,$7b,$6c,$6c,$62,$62,$62,$7b,$6c,$62 // ]llb lb{llbbb{lb
        .byte $7b,$6c,$6c,$62,$62,$62,$7b,$a0,$62,$7b,$6c,$62,$7b,$6c,$6c,$62 // {llbbb{.b{lb{llb
        .byte $20,$5d                               //  ]

txt_0dbd:
        .text "      "
        .byte $5d,$20,$e7,$7c,$7e,$a0,$20,$f4,$20,$e7,$20,$e7,$7c,$e7,$a0,$20 // ] .|~. . . .|.. 
        .byte $f4,$20,$e7,$20,$e7,$7c,$e7,$e7,$7c,$e7,$a0,$20,$f4,$20,$e7,$7c // . . .|..|.. . .|
        .byte $7e,$5d                               // ~]

txt_0de5:
        .text "      "
        .byte $5d,$20,$e7,$20,$20,$e7,$62,$fa,$20,$e7,$20,$e7,$20,$e7,$e7,$62 // ] .  .b. . . ..b
        .byte $fa,$20,$e7,$20,$e7,$20,$e7,$e7,$20,$e7,$e7,$62,$fa,$20,$e7,$20 // . . . .. ..b. . 
        .byte $20,$5d                               //  ]

txt_0e0d:
        .text "      "
        .byte $5d,$20,$a0,$20,$20,$fb,$62,$f7,$20,$a0,$20,$e7,$20,$e7,$fb,$62 // ] .  .b. . . ..b
        .byte $f7,$20,$a0,$20,$e7,$20,$e7,$a0,$fe,$7e,$fb,$62,$f7,$20,$a0,$20 // . . . ...~.b. . 
        .byte $20,$5d                               //  ]

txt_0e35:
        .text "      "
        .byte $6d                                   // m

dat_0e3c:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $7d                                   // }

txt_0e5d:
        .text "     ... "
        .byte $12,$05,$0c,$05,$01,$13,$05,$20,$0e,$0f // ....... ..

txt_0e70:
        .text ". 145 "

txt_0e76:
        .encoding "screencode_mixed"
        .text "is coming up right now.. this one is called 'pitstop' (c"
        .encoding "petscii_upper"

txt_0eae:
        .text ") 1983 "

txt_0eb5:
        .encoding "screencode_mixed"
        .text "by epyx, cracked from tape by l'trimm"
        .encoding "petscii_upper"

txt_0eda:
        .text "... "

txt_0ede:
        .encoding "screencode_mixed"
        .text "the docs have been typed up by me aswell"
        .encoding "petscii_upper"

txt_0f06:
        .text " ..... "
        .byte $13,$0f,$20,$05,$0e,$0a,$0f,$19       // .. .....

txt_0f15:
        .text "...   "
        .byte $14,$08,$05                           // ...

txt_0f1e:
        .text " +4 "

txt_0f22:
        .encoding "screencode_mixed"
        .text "trainer has been realized by my partner in crime: 'jack alien"
        .encoding "petscii_upper"

txt_0f5f:
        .text "'..... "
        .byte $14,$08,$01,$0e,$0b,$13,$20,$01,$0c,$0f,$14 // ...... ....

txt_0f71:
        .text " ...   "
        .byte $0e,$0f,$14,$08,$09,$0e,$07,$20       // ....... 

spr_0f80:
        // === Sprite data (64 bytes, $0f80-$0fbf) ===
        .byte $0d,$0f,$12                           // ....##.#....####...#..#.
        .byte $05,$20,$14                           // .....#.#..#........#.#..
        .byte $0f,$20,$01                           // ....####..#............#
        .byte $04,$04,$2c                           // .....#.......#....#.##..
        .byte $20,$0a,$15                           // ..#.........#.#....#.#.#
        .byte $13,$14,$20                           // ...#..##...#.#....#.....
        .byte $14,$0f,$20                           // ...#.#......####..#.....
        .byte $0d,$05,$0e                           // ....##.#.....#.#....###.
        .byte $14,$09,$0f                           // ...#.#......#..#....####
        .byte $0e,$20,$14                           // ....###...#........#.#..
        .byte $08,$01,$14                           // ....#..........#...#.#..
        .byte $20,$09,$20                           // ..#.........#..#..#.....
        .byte $01,$0d,$20                           // .......#....##.#..#.....
        .byte $07,$0f,$09                           // .....###....####....#..#
        .byte $0e,$07,$20                           // ....###......###..#.....
        .byte $14,$0f,$20                           // ...#.#......####..#.....
        .byte $03,$05,$0c                           // ......##.....#.#....##..
        .byte $05,$02,$12                           // .....#.#......#....#..#.
        .byte $01,$14,$05                           // .......#...#.#.......#.#
        .byte $20,$0d,$19                           // ..#.........##.#...##..#
        .byte $20,$32,$33                           // ..#.......##..#...##..##
        .byte $14                                   // sprite 0 padding

txt_0fc0:
        .encoding "screencode_mixed"
        .text "h birthday in about"
        .encoding "petscii_upper"

txt_0fd3:
        .text " 10 "
        .byte $0d                                   // string terminator
        .byte $09,$0e,$15,$14,$05,$13               // ......

txt_0fde:
        .text "... "

txt_0fe2:
        .encoding "screencode_mixed"
        .text "so i better send off some greetings before i am about to get stoned"
        .encoding "petscii_upper"

txt_1025:
        .text "... "

txt_1029:
        .encoding "screencode_mixed"
        .text "some wet pussies to these spanking groups"
        .encoding "petscii_upper"

txt_1052:
        .text ": - "

txt_1056:
        .encoding "screencode_mixed"
        .text "cyberpunx - nostalgia - emulators - lurid+tricycle - scs*trc - afl - hitmen - triad - smash - crest - wow - plush - laxity - fairlight and the fucking rest"
        .encoding "petscii_upper"

txt_10f1:
        .text "... "

txt_10f5:
        .encoding "screencode_mixed"
        .text "i am off now"
        .encoding "petscii_upper"

txt_1101:
        .text "... "

txt_1105:
        .encoding "screencode_mixed"
        .text "await more major titles from me and my new posse"
        .encoding "petscii_upper"

txt_1135:
        .text "...       "

txt_113f:
        .encoding "screencode_mixed"
        .text "l'trimm is floating away"
        .encoding "petscii_upper"

txt_1157:
        .text "...     +++ "
        .byte $0e,$0f,$20,$03,$01,$12,$12,$09,$05,$12 // .. .......

txt_116d:
        .text "... "
        .byte $17,$12,$01,$10                       // ....

txt_1175:
        .text "!         "
        .byte $00                                   // string terminator
