// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:15
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $0dff  (1535 bytes)
// Entry point:  $0828 (via BASIC SYS 2088)
// IRQ handler:  $0965 (irq_0965)
//
// Code: 663 bytes, Data: 872 bytes
// Labels: 65, Subroutines: 6
//
// Cross-references: all OK
// ============================================


// --- Region $0828-$08d2 ---
.pc = $0828 "main_0828"

main_0828:
        lsr $d011
        lda #$a0
        ldx #$00

loc_082f:
        sta $0608,x
        sta $06f8,x
        inx
        bne loc_082f
        stx $d020
        stx $d021

loc_083e:
        lda $090f,x
        sta $0617,x
        inx
        cpx #$08
        bne loc_083e

loc_0849:
        lda $0910,x
        sta $06f4,x
        inx
        cpx #$28
        bne loc_0849

loc_0854:
        lda $0910,x
        sta $0639,x
        inx
        cpx #$3d
        bne loc_0854
        lda #$c7
        sta $a7
        lda #$b8
        sta $a5
        lda #$0c
        sta $a6
        lda #$05
        sta $a9
        lda #$40
        sta $a8
        ldx #$00
        txa

loc_0876:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_0876

loc_0885:
        lda $08d3,x
        sta $d400,x
        inx
        cpx #$19
        bne loc_0885
        lda #$13
        jsr $ffd2
        lda #$09
        sta $0286
        lda #$11
        ldy #$05

loc_089e:
        jsr $ffd2
        dey
        bne loc_089e

loc_08a4:
        lda $08ec,y
        ldx #$08

loc_08a9:
        asl
        sta $07f8
        bcc loc_08b7
        lda #$43
        jsr $ffd2
        jmp loc_08bc

loc_08b7:
        lda #$44
        jsr $ffd2

loc_08bc:
        lda $07f8
        dex
        bne loc_08a9
        iny
        cpy #$23
        bne loc_08a4
        rol $d011
        sei
        dec $01
        dec $01
        jmp loc_094d

dat_08d2:
        .byte $00                                   // .

// --- Region $094d-$09bb ---
.pc = $094d "loc_094d"

loc_094d:
        lda #$7f
        sta $dc0d
        lda #$81
        sta $d01a
        lda #$09
        sta $ffff
        lda #$65
        sta $fffe
        cli

loc_0962:
        jmp loc_0962

irq_0965:
        jsr sub_0a12
        lda #$15
        sta $d018
        jsr sub_0a62
        lda #$a9
        jsr sub_0a64
        lda #$c9
        jsr sub_0a64
        jsr sub_0ad1
        lda #$12
        sta $d018
        jsr sub_09fc
        lda $dc01
        cmp #$ef
        beq loc_098d
        rti

loc_098d:
        sei
        inc $01
        inc $01
        jsr $ff5b
        lda #$00
        sta $d020
        sta $d021
        jsr $fd15
        jsr $fda3
        cli
        ldx #$00

loc_09a6:
        lda dat_09bb,x
        sta $0350,x
        lda #$00
        sta $d400,x
        inx
        cpx #$40
        bne loc_09a6
        ldx #$00
        jmp $0350

dat_09bb:
        .byte $78                                   // x

// --- Region $09fc-$0b7c ---
.pc = $09fc "sub_09fc"

// Referenced by: jsr from $0982
sub_09fc: {
        ldx #$00
        ldy $0c78
loop:
        lda $0c79,x
        sta $0c78,x
        inx
        cpx #$40
        bne loop
        sty $0cb7
        jmp loc_0a81
}

// Referenced by: jsr from $0965
sub_0a12: {
        lda #$4d
loop1:
        cmp $d012
        bne loop1
        lda #$db
        sta $d016
        lda #$52
loop2:
        cmp $d012
        bne loop2
        ldx #$0a
loop3:
        dex
        bne loop3
loop4:
        ldy #$07
        lda $0c0c,x
        sta $d023
        lda $0ba0,x
        sta $d022
        nop
        nop
        inx
loop5:
        lda $0c0c,x
        sta $d023
        lda $0ba0,x
        sta $d022
        lda $0c74,x
        sta $d016
        asl $ea
        asl $ea
        cmp ($ea,x)
        nop
        inx
        asl $ea
        dey
        beq loop4
        nop
        nop
        nop
        cpx #$44
        bne loop5
        rts
}
// Referenced by: jsr from $096d

sub_0a62:
        lda #$99
// Referenced by: jsr from $0972, $0977; branch from $0a67

sub_0a64:
        cmp $d012
        bne sub_0a64
        ldx #$08

loc_0a6b:
        ldy $0bff,x
        lda $0bef,x

loc_0a71:
        dey
        bne loc_0a71
        sta $d016
        lda $0bf7,x
        sta $d021
        dex
        bne loc_0a6b
        rts

loc_0a81:
        ldy $0c53
        ldx #$4a

loc_0a86:
        lda $0c08,x
        sta $0c09,x
        dex
        bpl loc_0a86
        sty $0c08
        ldx #$00
        ldy $0ba0

loc_0a97:
        lda $0ba1,x
        sta $0ba0,x
        inx
        cpx #$4b
        bne loc_0a97
        sty $0beb
        rts

// Referenced by: jsr from $0ad6
sub_0aa6: {
        lda #$da
loop1:
        cmp $d012
        bne loop1
        ldx #$00
loop2:
        ldy $0c58,x
        lda $0bc0,x
loop3:
        dey
        bne loop3
        sta $d021
        sta $d021
        inx
        cpx #$20
        bne loop2
        lda #$00
        ldx #$09
loop4:
        dex
        bne loop4
        sta $d020
        sta $d021
        rts
}
// Referenced by: jsr from $097a

sub_0ad1:
        lda $a7
        sta $d016
        jsr sub_0aa6
        dec $a7
        dec $a7
        dec $a7
        dec $a7
        lda $a7
        cmp #$bf
        beq loc_0aea
        rts

dat_0ae8:
        .byte $ea,$ea                               // ..

loc_0aea:
        lda #$c7
        sta $a7
        ldx #$00

loc_0af0:
        lda $0749,x
        sta $0748,x
        inx
        cpx #$9f
        bne loc_0af0
        dec $a9
        bne loc_0b09
        lda #$04
        sta $a9
        inc $a5
        bne loc_0b09
        inc $a6

loc_0b09:
        ldy #$00
        lda ($a5),y
        bne loc_0b1a
        lda #$b8
        sta $a5
        lda #$0c
        sta $a6
        jmp loc_0b09

loc_0b1a:
        ldx #$1a
        stx $ab
        ldx #$33
        stx $01
        ldx $a8
        and #$bf
        asl
        rol $ab
        asl
        rol $ab
        asl
        rol $ab
        sta $aa
        ldy #$00

loc_0b33:
        ldx $a9
        lda #$00
        pha
        lda ($aa),y
        and $0b8f,x
        beq loc_0b43
        pla
        ora #$08
        pha

loc_0b43:
        lda ($aa),y
        and $0b93,x
        beq loc_0b4e
        pla
        ora #$04
        pha

loc_0b4e:
        iny
        lda ($aa),y
        and $0b8f,x
        beq loc_0b5a
        pla
        ora #$02
        pha

loc_0b5a:
        lda ($aa),y
        and $0b93,x
        beq loc_0b65
        pla
        ora #$01
        pha

loc_0b65:
        pla
        tax
        lda $0b80,x
        pha
        lda $0b97,y
        tax
        pla
        sta $076f,x
        iny
        cpy #$08
        bne loc_0b33
        lda #$35
        sta $01
        rts

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

// --- Region $0801-$0827 ---
.pc = $0801 "dat_0801"

dat_0801:
        // === BASIC loader stub ===
        .byte $16,$08                               // next line pointer ($0816)
        .byte $d0,$07                               // line number 2000
        .byte $9e                                   // SYS token
        .text "2088 BYTERAPERS"                     // SYS 2088 → main_0828
        .byte $00                                   // end of line
        .byte $00,$00                               // end of BASIC program
        .byte $55,$6a,$6a,$6a,$6a,$6a,$6a,$6a,$00,$00,$00,$00,$00,$00,$00,$00 // Ujjjjjjj........

// --- Region $08d3-$094c ---
.pc = $08d3 "Program $08d3"
        .byte $00,$03,$00,$00,$15,$1f,$ff,$10,$03,$00,$00,$15,$1f,$ff,$08,$03 // ................
        .byte $00,$08,$41,$1f,$ff,$00,$0a,$ff,$1f,$ca,$ee,$cc,$ce,$cc,$22,$00 // ..A...........".

txt_08f3:
        .byte $22                                   // double quote character
        .text " "
        .byte $22                                   // double quote character
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $48,$aa,$a8,$a8,$c4,$4c,$ce,$cc,$c4,$a4,$48,$aa,$88,$a2,$a4,$48 // H....L....H....H
        .byte $aa,$88,$aa,$c4,$4e,$aa,$8e,$a4,$90,$92,$85,$93,$85,$8e,$94,$93 // ....N...........
        .byte $00,$a0,$a0,$a0,$83,$92,$81,$83,$8b,$85,$84,$a0,$8f,$8e,$a0,$b2 // ................
        .byte $b8,$ae,$b6,$ae,$a0,$b1,$b9,$b8,$b9,$a0,$a1,$a1,$a1,$a1,$a0,$a0 // ................
        .byte $a0,$a0,$a0,$a0,$93,$94,$8f,$92,$8d,$a0,$97,$81,$92,$92,$89,$8f // ................
        .byte $92,$ab,$ab,$a0,$a0,$a0               // ......

// --- Region $09bc-$09fb ---
.pc = $09bc "Program $09bc"
        .byte $a9,$34,$85,$01,$bd,$00,$0e,$9d,$00,$08,$e8,$d0,$f7,$ee,$57,$03 // .4............W.
        .byte $ee,$5a,$03,$ad,$57,$03,$c9,$00,$d0,$ea,$a9,$37,$85,$01,$58,$a9 // .Z..W......7..X.
        .byte $00,$8d,$01,$dc,$4c,$e2,$fc,$4c,$ae,$a7,$00,$00,$00,$00,$00,$00 // ....L..L........
        .fill 16, $00

// --- Region $0b7d-$0dfe ---
.pc = $0b7d "dat_0b7d"

dat_0b7d:
        .byte $00,$00,$00,$a0,$ec,$fb,$e2,$fc,$61,$7f,$7e,$fe,$ff,$e1,$7c,$62 // ........a.~...|b
        .byte $7b,$6c,$20,$02,$08,$20,$80,$01,$04,$10,$40,$00,$00,$28,$28,$50 // {l .. ....@..((P
        .byte $50,$78,$00,$0f,$0a,$0e,$04,$0b,$06,$00,$0b,$0c,$0f,$0c,$0b,$00 // Px..............
        .byte $09,$02,$08,$0c,$0a,$0f,$07,$01,$07,$0f,$0f,$0a,$08,$02,$09,$00 // ................
        .byte $06,$0b,$04,$0e,$0a,$0f,$07,$01,$07,$0f,$0a,$0e,$04,$0b,$06,$00 // ................
        .byte $0b,$0c,$0f,$0c,$0b,$00,$09,$02,$08,$0c,$0a,$0f,$07,$01,$07,$0f // ................
        .byte $0a,$0c,$08,$02,$09,$00,$06,$0b,$04,$0e,$0a,$0f,$07,$01,$07,$00 // ................
        .byte $00,$00,$00,$08,$06,$05,$04,$03,$02,$01,$00,$00,$06,$04,$0e,$0a // ................
        .byte $0f,$07,$01,$08,$08,$07,$07,$07,$07,$01,$15,$00,$06,$04,$0e,$07 // ................
        .byte $01,$07,$0e,$04,$06,$00,$07,$0e,$04,$06,$00,$0e,$04,$06,$00,$04 // ................
        .byte $06,$00,$06,$00,$0b,$00,$0b,$05,$00,$0b,$05,$0f,$00,$0b,$05,$0f // ................
        .byte $07,$00,$0b,$05,$0f,$07,$01,$07,$0f,$05,$0b,$00,$07,$0f,$05,$0b // ................
        .byte $00,$0f,$05,$0b,$00,$05,$0b,$00,$0b,$00,$06,$00,$06,$04,$00,$06 // ................
        .byte $04,$0e,$00,$06,$04,$0e,$07,$00,$00,$00,$00,$09,$01,$08,$08,$08 // ................
        .byte $08,$08,$08,$08,$01,$08,$08,$08,$08,$08,$08,$08,$01,$08,$08,$08 // ................
        .byte $08,$08,$08,$08,$01,$08,$08,$08,$08,$08,$08,$de,$de,$de,$df,$df // ................
        .fill 9, $df
        .byte $de,$de,$de,$de,$dd,$dd,$dd,$dd,$dc,$dc,$dc,$db,$db,$da,$da,$da // ................
        .byte $da,$d9,$d9,$d9,$d9,$d8,$d8,$d8,$d8,$d8,$d8,$d8,$d8,$d8,$d8,$d8 // ................
        .byte $d9,$d9,$d9,$d9,$da,$da,$da,$da,$db,$db,$dc,$dc,$dc,$dd,$dd,$dd // ................
        .byte $dd,$de                               // ..

txt_0cb8:
        .encoding "screencode_mixed"
        .text " this release proves that we're not a one man group(well, not anymore"
        .encoding "petscii_upper"

txt_0cfd:
        .text "..)  "

txt_0d02:
        .encoding "screencode_mixed"
        .text "supplied by servant, cracked by rockstar, double-trainer by rockstar+python, spread by grendel+others"
        .encoding "petscii_upper"

txt_0d67:
        .text "... "

txt_0d6b:
        .encoding "screencode_mixed"
        .text "ok we greet: dcs"
        .encoding "petscii_upper"

txt_0d7b:
        .text " - 711 - "

txt_0d84:
        .encoding "screencode_mixed"
        .text "ikari - nato - fairlight(dead"
        .encoding "petscii_upper"

txt_0da1:
        .text "?!!) - "
        .byte $04,$0f,$0d,$09,$0e,$01,$14,$0f,$12,$13 // ..........

txt_0db2:
        .text " - 2000 "

txt_0dba:
        .encoding "screencode_mixed"
        .text "ad - g*p/fe - red sector - crazy - online - pulsar - falcon+rest"
        .encoding "petscii_upper"

txt_0dfa:
        .text "..   "
