// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:00
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $13ff  (3072 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0f00 (3840)
// IRQ handler:  $10a4 (irq_10a4)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 528 bytes, Data: 2544 bytes
// Labels: 75, Subroutines: 6
//
// Cross-references: all OK
// ============================================


// --- Region $0f00-$0fab ---
.pc = $0f00 "main_0f00"

main_0f00:
        jsr sub_0fd8
        jsr sub_1066
        lda #$13
        sta $d018
        ldx #$00

loc_0f0d:
        lda dat_0fab,x
        sta $d000,x
        inx
        cpx #$11
        bne loc_0f0d
        ldx #$00

loc_0f1a:
        lda $0fbc,x
        sta $d01b,x
        inx
        cpx #$14
        bne loc_0f1a
        ldx #$00

loc_0f27:
        lda txt_0fd0,x
        sta $07f8,x
        inx
        cpx #$07
        bne loc_0f27
        lda #$7f
        sta $d015
        sta $d017
        sta $d01d

loc_0f3d:
        ldx #$00

loc_0f3f:
        lda $0a00,x
        sta $0d00,x
        lda $0b00,x
        sta $0e00,x
        jsr sub_0f99
        inx
        inx
        inx
        inx
        inx
        inx
        inx
        inx
        inx
        bne loc_0f3f
        ldx #$00

loc_0f5b:
        txa
        jsr sub_0f99
        tax
        inx
        bne loc_0f5b
        ldx #$00

loc_0f65:
        lda $0b80,x
        sta $0d00,x
        lda $0c80,x
        sta $0e00,x
        jsr sub_0f99
        inx
        inx
        inx
        inx
        inx
        inx
        inx
        inx
        inx
        bne loc_0f65
        ldx #$00

loc_0f81:
        txa
        jsr sub_0f99
        tax
        inx
        bne loc_0f81
        jmp loc_0f3d

loc_0f8c:
        txa
        ldx #$00

loc_0f8f:
        sta $d027,x
        inx
        cpx #$07
        bne loc_0f8f
        tax
        rts
// Referenced by: jsr from $0f4b, $0f5c, $0f71, $0f82

sub_0f99:
        pha
        jsr $ffe4
        beq loc_0fa2
        jmp loc_11bf

loc_0fa2:
        pla
        ldy #$00

loc_0fa5:
        iny
        cpy #$28
        bne loc_0fa5
        rts

dat_0fab:
        .byte $19                                   // .

// --- Region $0fd8-$0fe7 ---
.pc = $0fd8 "sub_0fd8"
// Referenced by: jsr from $0f00

sub_0fd8:
        ldx #$00

loc_0fda:
        lda dat_0fe8,x
        cmp #$00
        beq loc_0fe7
        jsr $ffd2
        inx
        bne loc_0fda

loc_0fe7:
        rts

// --- Region $1066-$10db ---
.pc = $1066 "sub_1066"

// Referenced by: jsr from $0f03
sub_1066: {
        sei
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        lda #$18
        sta $fb
        lda #$1b
        sta $d011
        lda #$a4
        sta $0314
        lda #$10
        sta $0315
        cli
        lda #$08
        sta $35
        lda #$12
        sta $36
        lda #$00
        sta $02a7
        lda #$02
        sta $02a8
        ldx #$00
        lda #$20
loop:
        sta $0798,x
        inx
        cpx #$28
        bne loop
        rts
}

irq_10a4:
        lda $d019
        sta $d019
        and #$01
        beq loc_10d0
        dec $53
        bpl loc_10b6
        lda #$18
        sta $53

loc_10b6:
        ldx $53
        lda dat_10dc,x
        sta $d016
        lda $110f,x
        sta $d021
        sta $d020
        lda $10f6,x
        sta $d012
        txa
        beq loc_10d6

loc_10d0:
        pla
        tay
        pla
        tax
        pla
        rti

loc_10d6:
        jsr sub_1128
        jmp $ea31

// --- Region $1128-$1209 ---
.pc = $1128 "sub_1128"
// Referenced by: jsr from $10d6

sub_1128:
        dec $02a8
        dec $02a8
        lda $02a8
        bne loc_1138
        lda #$08
        sta $02a8

loc_1138:
        ldx $02a8
        cpx #$08
        bne loc_114a
        jsr sub_11a9
        lda #$c7
        sta $10dd
        jsr sub_1197

loc_114a:
        cpx #$07
        bne loc_1153
        lda #$c6
        sta $10dd

loc_1153:
        cpx #$06
        bne loc_115c
        lda #$c5
        sta $10dd

loc_115c:
        cpx #$05
        bne loc_1165
        lda #$c4
        sta $10dd

loc_1165:
        cpx #$04
        bne loc_116e
        lda #$c3
        sta $10dd

loc_116e:
        cpx #$03
        bne loc_1177
        lda #$c2
        sta $10dd

loc_1177:
        cpx #$02
        bne loc_1180
        lda #$c1
        sta $10dd

loc_1180:
        cpx #$01
        bne loc_1189
        lda #$c0
        sta $10dd

loc_1189:
        rts

loc_118a:
        lda #$08
        sta $35
        lda #$12
        sta $36
        lda #$00
        sta $02a7

// Referenced by: jsr from $1147
sub_1197: {
        ldy $02a7
        lda ($35),y
        beq loc_118a
        sta $07bf
        inc $02a7
        bne done
        inc $36
done:
        rts
}
// Referenced by: jsr from $113f

sub_11a9:
        lda #$1e

loc_11ab:
        cmp $d012
        bne loc_11ab
        ldx #$00

loc_11b2:
        lda $0799,x
        sta $0798,x
        inx
        cpx #$28
        bne loc_11b2
        rts

dat_11be:
        .byte $00                                   // .

loc_11bf:
        sei
        jsr $fda3
        jsr $ff5b
        lda #$ea
        sta $0315
        lda #$31
        sta $0314
        lda #$f0
        sta $d01a
        ldx #$00

loc_11d7:
        lda loc_11e3,x
        sta $0400,x
        inx
        bne loc_11d7
        jmp $0400

loc_11e3:
        sei
        lda #$33
        sta $01
        ldx #$00

loc_11ea:
        lda $1400,x
        sta $0801,x
        inx
        bne loc_11ea
        inc $0409
        inc $040c
.label loc_11fa = * + 1
        lda $0409
        cmp #$d8
        bne loc_11e3
        lda #$37
        sta $01
        cli
        jmp $fce2

txt_1208:
        .encoding "screencode_mixed"
        .text " n"
        .encoding "petscii_upper"

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

// --- Region $0800-$0cff ---
.pc = $0800 "dat_0800"

dat_0800:
        .byte $3c,$42,$99,$a1,$a1,$99,$42,$3c,$7e,$c3,$99,$81,$99,$99,$99,$ff // <B....B<~.......
        .byte $fe,$83,$99,$83,$99,$99,$83,$fe,$7e,$c3,$99,$9f,$9f,$99,$c3,$7e // ........~......~
        .byte $fc,$86,$93,$99,$99,$93,$86,$fc,$ff,$81,$9f,$84,$9c,$9f,$81,$ff // ................
        .byte $ff,$82,$9e,$84,$9c,$90,$90,$f0,$7e,$c3,$99,$9f,$91,$99,$c3,$7e // ........~......~
        .byte $ff,$99,$99,$81,$99,$99,$99,$ff,$7e,$42,$66,$24,$24,$66,$42,$7e // ........~Bf$$fB~
        .byte $3f,$21,$33,$12,$f2,$92,$c6,$7c,$ff,$99,$93,$86,$86,$93,$99,$ff // ?!3....|........
        .byte $f0,$90,$90,$90,$90,$9f,$81,$ff,$f7,$9d,$89,$81,$95,$9d,$95,$f7 // ................
        .byte $fe,$9a,$8a,$82,$92,$9a,$9a,$fe,$7e,$c3,$99,$99,$99,$99,$c3,$7e // ........~......~
        .byte $fe,$83,$99,$83,$9e,$90,$90,$f0,$7e,$c3,$99,$99,$99,$c3,$71,$1f // ........~.....q.
        .byte $fe,$83,$99,$83,$86,$93,$99,$ff,$7e,$c3,$99,$cf,$f3,$99,$c3,$7e // ........~......~
        .byte $ff,$81,$e7
        .text "$$$$<"
        .byte $ff,$99,$99,$99,$99,$99,$c3,$7e
        .byte $ff,$99,$99,$99,$99,$c3,$66,$3c,$f7,$95,$9d,$95,$81,$89,$9d,$f7 // ......f<........
        .byte $ff,$99,$c3,$66,$c3,$99,$99,$ff,$ff,$99,$99,$c3,$66,$24,$24,$3c // ...f........f$$<
        .byte $ff,$81,$f3,$66,$cc,$9f,$81,$ff       // ...f....

txt_08d8:
        .text "<00000<"
        .byte $00                                   // string terminator
        .byte $0c,$12,$30,$7c,$30,$62,$fc,$00,$3c,$0c,$0c,$0c,$0c,$0c,$3c,$00 // ..0|0b..<.....<.
        .byte $00,$18,$3c,$7e,$18,$18,$18,$18,$00,$10,$30,$7f,$7f,$30,$10,$00 // ..<~......0..0..
        .fill 8, $00
        .byte $1e,$12,$32,$26,$24,$7c,$48,$78,$77,$55,$55,$55,$77,$00,$00,$00 // ..2&$|HxwUUUw...
        .byte $3c,$42,$99,$a1,$a1,$99,$42,$3c,$18,$3e,$60,$3c,$06,$7c,$18,$00 // <B....B<.>`<.|..
        .byte $62,$66,$0c,$18,$30,$66,$46,$00,$c3,$99,$c3,$c7,$98,$99,$c0,$ff // bf..0fF.........
        .byte $1e,$33,$66,$4c,$78,$00,$00,$00,$1e,$32,$66,$4c,$4c,$66,$32,$1e // .3fLx....2fLLf2.
        .byte $78,$4c,$66,$32,$32,$66,$4c,$78,$00,$66,$3c,$ff,$3c,$66,$00,$00 // xLf22fLx.f<.<f..
        .byte $00,$18,$18,$7e,$18,$18,$00,$00,$00,$00,$00,$1e,$12,$32,$26,$3c // ...~.........2&<
        .byte $00,$00,$fe,$82,$fe,$00,$00,$00,$00,$00,$00,$00
        .text "<$$<"
        .byte $07,$0d,$19,$33,$66,$cc,$98,$f0,$7e,$c3,$99,$91,$89,$99,$c3,$7e // ...3f...~......~
        .byte $3c,$64,$44,$64,$24,$e7,$81,$ff,$7e,$c3,$b9,$f3,$ce,$9f,$81,$ff // <dDd$...~.......
        .byte $7e,$c3,$b9,$e3,$f9,$99,$c3,$7e,$7f,$c9,$c9,$99,$80,$f9,$09,$0f // ~......~........
        .byte $ff,$81,$9f,$81,$f9,$99,$c3,$7e,$7e,$c3,$9f,$83,$99,$99,$c3,$7e // .......~~......~
        .byte $ff,$81,$f3
        .text "2&$$<"
        .byte $7e,$c3,$99,$c3,$99,$99,$c3,$7e
        .byte $7e,$c3,$99,$c1,$f9,$99,$c3,$7e,$00,$3c,$24,$3c,$00,$3c,$24,$3c // ~......~.<$<.<$<
        .byte $00
        .text "<$<$"
        .byte $64
        .byte $4c,$78,$0e,$18
        .byte $30,$60
        .byte $30,$18,$0e,$00
        .byte $00,$00,$7e,$00,$7e,$00,$00,$00,$70,$18,$0c,$06,$0c,$18,$70,$00 // ..~.~...p.....p.
        .byte $7e,$c3,$99,$f3
        .text "&<$<<"
        .byte $00
        .byte $38,$42,$00
        .byte $44,$81,$00
        .byte $82,$80,$80,$82,$80,$40,$82,$80,$20,$82,$80,$10,$82,$80,$08,$82 // .....@.. .......
        .byte $80,$04,$82,$80,$02,$42,$82,$01,$22,$83,$00,$92,$82,$80,$4a,$82 // .....B..".....J.
        .byte $40,$26,$82,$20,$10,$82,$10,$0f,$82,$08,$00,$82,$04,$00,$82,$02 // @&. ............
        .byte $00,$44,$01,$00,$38,$00,$ff,$00,$01,$ff,$ff,$06,$00,$00,$08,$00 // .D..8...........
        .byte $00,$10,$00,$00,$10,$00,$00,$20,$3f,$ff,$20,$40,$00,$20,$80,$00 // ....... ?. @. ..
        .byte $20,$bf,$00,$20,$a0,$80,$20,$a0       //  .. .. .

txt_0a60:
        .byte $40                                   // @ character
        .text " "
        .byte $a0                                   // ' ' | $80 (end-of-string marker)

txt_0a63:
        .byte $40                                   // @ character
        .text " "
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $80,$20,$bf,$00,$40,$80,$00,$80,$bf,$f8,$01,$20,$04,$01,$40,$02 // . ..@...... ..@.
        .byte $02,$40,$02,$0c,$80,$04,$f1,$ff,$f8,$00,$f8,$00,$1f,$04,$00,$20 // .@............. 
        .byte $02,$00,$40,$02,$00,$40,$01,$00,$80,$81,$00,$81,$41,$00,$82,$41 // ..@..@......A..A
        .byte $00,$82,$40,$81,$02,$40,$99,$02,$20,$a5,$04,$20,$42,$04,$20,$00 // ..@..@.. .. B. .
        .byte $04,$20,$00,$04,$10,$00,$08,$10,$00,$08,$10,$00,$08,$10,$18,$08 // . ..............
        .byte $08,$24,$10,$08,$24,$10,$07,$c3,$e0,$00,$ff,$00,$00,$00,$c0,$00 // .$..$...........
        .byte $00,$20,$00,$00,$10,$00,$00,$10,$00,$f8,$08,$00,$04,$08,$00,$02 // . ..............
        .byte $08,$00,$02,$08,$00,$04,$10,$00,$04,$10,$00,$04,$10,$00,$08,$20 // ............... 
        .byte $00,$08,$20,$00,$08,$20,$00,$10,$1f,$ff,$10,$00,$00,$10,$00,$00 // .. .. ..........
        .byte $08,$00,$00,$06,$00,$00,$01,$ff,$ff,$00,$07,$ff,$80,$18,$00,$60 // ...............`
        .byte $20,$00,$10,$40,$00,$08,$40,$00,$08,$80,$fe,$04,$81,$01,$04,$82 //  ..@..@.........
        .byte $00,$84,$82,$00,$84,$82,$00,$84,$82,$00,$84,$82,$00,$84,$82,$00 // ................
        .byte $84,$fe,$00,$84,$00,$01,$04,$ff,$fe,$05,$00,$00,$09,$00,$00,$0a // ................
        .byte $00,$00,$12,$00,$00,$64,$ff,$ff,$8f,$00,$1c,$00,$3c,$22,$00,$42 // .....d......<".B
        .byte $41,$00,$81,$41,$01,$01,$41,$02,$02,$41,$04,$04,$41,$08,$08,$41 // A..A..A..A..A..A
        .byte $10,$10                               // ..

txt_0b58:
        .text "A  B"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "D"
        .byte $80,$80,$49,$01,$00,$52,$02,$60,$64,$04,$90,$08,$09,$08,$f0,$12 // ..I..R.`d.......
        .byte $04,$00,$22,$02,$00,$41,$01,$00,$80,$81,$01,$00,$42,$fe,$00,$3c // .."..A......B..<
        .byte $00,$3c,$00,$38,$42,$00,$44,$99,$00,$92,$bc,$80,$ba,$be,$40,$ba // .<.8B.D.......@.
        .byte $bf,$20,$ba,$bf,$90,$ba,$bf,$c8,$ba,$bf,$e4,$9a,$b8,$f2,$4a,$ba // . ............J.
        .byte $79,$22,$bb,$3c,$92,$ba,$9e,$4a,$ba   // y".<...J.

txt_0ba8:
        .text "O&"
        .byte $ba                                   // ':' | $80 (end-of-string marker)
        .byte $27,$90,$ba,$13,$cf,$ba,$09,$e0,$ba,$04,$ff,$92,$02,$7f,$44,$01 // '.............D.
        .byte $00,$38,$00,$ff,$00,$01,$ff,$ff,$06,$00,$00,$08,$ff,$ff,$13,$ff // .8..............
        .byte $ff,$17,$80,$00,$27,$3f,$ff,$2e,$40,$00,$2e,$80,$00,$2e,$bf,$00 // ....'?..@.......
        .byte $2e,$a0,$80,$2e,$ae                   // .....

txt_0be0:
        .byte $40                                   // @ character
        .text "."
        .byte $ae                                   // '.' | $80 (end-of-string marker)

txt_0be3:
        .byte $40                                   // @ character
        .text "."
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $80,$2e,$bf,$00,$4e,$80,$00,$9c,$bf,$f8,$3d,$20,$04,$f9,$4f,$f2 // ....N.....= ..O.
        .byte $e2,$5f,$f2,$0c,$80,$04,$f1,$ff,$f8,$00,$f8,$00,$1f,$04,$00,$20 // ._............. 
        .byte $f2,$00,$4f,$fa,$00,$5f,$39,$00,$9c,$9d,$00,$b9,$5d,$00,$ba,$5d // ..O.._9.....]..]
        .byte $00,$ba,$5c,$81,$3a,$4e,$99,$72,$2e,$a5,$74,$2e,$5a,$74,$2f,$3c // ..\.:N.r..t.Zt/<
        .byte $f4,$27,$ff,$e4,$17,$ff,$e8,$17,$ff,$e8,$17,$c3,$e8,$13,$99,$c8 // .'..............
        .byte $0b,$a5,$d0,$08,$24,$10,$07,$c3,$e0,$00,$ff,$00,$00,$00,$c0,$00 // ....$...........
        .byte $fe,$20,$00,$ff,$90,$00,$03,$d0,$00,$f9,$c8,$00,$04,$e8,$00,$02 // . ..............
        .byte $e8,$00,$02,$c8,$00,$04,$d0,$00,$05,$d0,$00,$05,$90,$00,$09,$a0 // ................
        .byte $00,$0b,$a0,$00,$0b,$a0,$00,$13,$9f,$ff,$17,$c0,$00,$13,$ff,$ff // ................
        .byte $08,$ff,$ff,$06,$00,$00,$01,$ff,$ff,$00,$07,$ff,$80,$18,$00,$60 // ...............`
        .byte $23,$ff,$10,$4f,$ff,$c8,$5e,$00,$e8,$9c,$fe,$64,$b9,$01,$34,$ba // #..O..^....d..4.
        .byte $00,$b4,$ba,$00,$b4,$ba,$00,$b4,$ba,$00,$b4,$ba,$00,$b4,$82,$00 // ................
        .byte $b4,$fe,$00,$b4,$00,$01,$34,$ff,$fe,$65,$00,$00,$e9,$ff,$ff,$ca // ......4..e......
        .byte $ff,$ff,$12,$00,$00,$64,$ff,$ff,$8f,$00,$1c,$00,$3c,$22,$00,$42 // .....d......<".B
        .byte $49,$00,$99,$5d,$01,$39,$5d,$02,$72,$5d,$04,$e4,$5d,$09,$c8,$5d // I..].9].r]..]..]
        .byte $13,$90                               // ..

txt_0cd8:
        .text "Y' RN"
        .byte $40                                   // @ character
        .text "D"
        .byte $9c,$80,$49,$39,$00,$52,$72,$60,$64,$e4,$90,$09,$c9,$08,$f3,$92 // ..I9.Rr`d.......
        .byte $64,$07,$22,$72,$fe,$41,$39,$fc,$80,$99,$01,$00,$42,$fe,$00,$3c // d."r.A9.....B..<

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

// --- Region $0fac-$0fd7 ---
.pc = $0fac "Program $0fac"
        .byte $3e,$46,$3e,$73,$3e,$a0,$3e,$cd,$3e,$fa,$3e,$27,$3e,$00,$00,$c0 // >F>s>.>.>.>'>...
        .byte $00,$00,$00,$00,$00,$06,$06,$00,$00,$00,$00,$00,$01,$01,$01,$01 // ................
        .byte $01,$01,$01,$01                       // ....

txt_0fd0:
        .text "4567889"
        .byte $00                                   // string terminator

// --- Region $0fe8-$1065 ---
.pc = $0fe8 "dat_0fe8"

dat_0fe8:
        .byte $08,$8e,$05,$93,$11,$11,$11,$11,$11,$11,$11,$11,$11,$96 // ..............

txt_0ff6:
        .text "                PRESENTS:"
        .byte $0d                                   // string terminator
        .byte $11,$11,$11,$11,$05                   // .....

txt_1015:
        .text "                SAILING                "
        .byte $0d                                   // string terminator
        .byte $11,$11,$11,$11,$11,$96               // ......

txt_1043:
        .text "       BROKEN ON 04-03-1987 BY NWL"
        .byte $00                                   // string terminator

// --- Region $10dc-$1127 ---
.pc = $10dc "dat_10dc"

dat_10dc:
        // === Sine/lookup table (76 bytes, range $02-$fa) ===
        .byte $c0,$c8,$c8,$c8,$c8,$c8,$c8,$c8,$c8,$c8,$c8,$c8,$c8,$c8,$c8,$c8 // ................
        .fill 10, $c8
        .byte $fa,$f2,$ea,$e2,$da,$d2,$ca,$c2,$ba,$b2,$aa,$a2,$9a,$92,$8a,$82 // ................
        .byte $7a,$72,$6a,$62
        .text "ZRJB:"
        .byte $02,$0a,$0a,$02,$02,$02,$02
        .fill 11, $02
        .byte $0a,$0a,$0a,$0a,$0a,$0a,$02           // .......

// --- Region $120a-$13fe ---
.pc = $120a "Segment $120a"
        .byte $05,$17,$0c,$0f,$0f,$0b,$20,$10,$12,$05,$13,$05,$0e,$14,$13,$20 // ...... ........ 
        .byte $13,$01,$09,$0c,$09,$0e,$07,$20,$02,$19,$20,$01,$03,$14,$09,$16 // ....... .. .....
        .byte $09,$13,$09,$0f,$0e
        .text "...."
        .byte $0e,$05,$17,$0c,$0f,$0f,$0b
        .byte $20,$09,$13,$20,$02,$01,$03,$0b,$20,$06,$0f,$12,$20,$07,$0f,$0f //  .. .... ... ...
        .byte $04                                   // .

txt_124b:
        .text "... "

txt_124f:
        .encoding "screencode_mixed"
        .text "we have the games, just look out for them"
        .encoding "petscii_upper"

txt_1278:
        .text "... "

txt_127c:
        .encoding "screencode_mixed"
        .text "newlook says:"
        .byte $22                                   // double quote
        .text "fastness before fitness"
        .encoding "petscii_upper"

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

txt_12a7:
        .encoding "screencode_mixed"
        .text "greetings to: headbanger!, tlc(radwar+mzp), the wild boys, jka, gcf, esi, firecracker, ucf, alliance, usi, new benchor bros., pira-ted, dcs, dsc, acf, msk, adj, softrunner, hotline, sca, tmc, triad and acw"
        .encoding "petscii_upper"

txt_1374:
        .text "    "

txt_1378:
        .encoding "screencode_mixed"
        .text "look out for: arkanoid, eagles nest, masters of universe(arcade), terminator and equlizer + more"
        .encoding "petscii_upper"

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

txt_13ea:
        .text "                     "
