// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:41
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $0cfa  (1274 bytes)
// Entry point:  $0b25 (via BASIC SYS 2853)
// IRQ handler:  $09aa (irq_09aa)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 404 bytes, Data: 870 bytes
// Labels: 34, Subroutines: 3
//
// Cross-references: all OK
// ============================================


// --- Region $0980-$0a25 ---
.pc = $0980 "sub_0980"
// Referenced by: jsr from $0b2f

sub_0980:
        lda #$00
        sta $fe
        lda #$07
        sta $d016
        sta $ff
        sei
        lda #$aa
        sta $0314
        lda #$09
        sta $0315
        lda #$8e
        sta $d012
        lda $d011
        and #$7f
        sta $d011
        lda #$51
        sta $d01a
        cli
        rts

irq_09aa:
        lda $d019
        sta $d019
        bmi loc_09b9
        lda $dc0d
        cli
        jmp $ea31

loc_09b9:
        lda $d012
        cmp #$ae
        bcs loc_09e8
        lda #$02
        sta $d020
        sta $d021
        ldx $ff
        dex
        stx $d016
        stx $ff
        cpx #$ff
        beq loc_09fd
        ldx $ff
        dex
        stx $d016
        stx $ff
        cpx #$ff
        beq loc_09fd
        lda #$ae
        sta $d012
        jmp $febc

loc_09e8:
        lda #$00
        sta $d020
        sta $d021
        lda #$c8
        sta $d016
        lda #$8e
        sta $d012
        jmp $febc

loc_09fd:
        lda #$07
        sta $ff
        sta $d016
        ldx #$00

loc_0a06:
        lda $0609,x
        sta $0608,x
        inx
        cpx #$27
        bne loc_0a06
        ldx $fe
        lda dat_0a24,x
        sta $062f
        inx
        stx $fe
        lda #$ae
        sta $d012
        jmp $febc

dat_0a24:
        .byte $1b,$2f                               // ./

// --- Region $0b25-$0bed ---
.pc = $0b25 "main_0b25"

main_0b25:
        lda #$05
        jsr $ffd2
        lda #$93
        jsr $ffd2
        jsr sub_0980
        lda #$46
        ldy #$00

loc_0b36:
        sta $d001,y
        iny
        iny
        cpy #$08
        bne loc_0b36
        lda #$ff
        sta $d015
        sta $d017
        sta $d01d
        sta $d01c
        lda #$01
        ldx #$06
        ldy #$0e
        sta $d027
        sta $d028
        sta $d029
        sta $d02a
        stx $d026
        sty $d025
        lda #$22
        sta $07f8
        lda #$21
        sta $07f9
        lda #$23
        sta $07fa
        lda #$24
        sta $07fb
        lda #$4b
        sta $d000
        lda #$87
        sta $d002
        lda #$b9
        sta $d004
        lda #$eb
        sta $d006
        lda #$11
        jsr sub_0be4
        lda #$ee
        ldy #$0b
        jsr $ab1e
        lda #$12
        jsr sub_0be4
        lda #$06
        ldy #$0c
        jsr $ab1e
        lda #$13
        jsr sub_0be4
        lda #$20
        ldy #$0c
        jsr $ab1e
        lda #$14
        jsr sub_0be4
        lda #$3a
        ldy #$0c
        jsr $ab1e
        lda #$15
        jsr sub_0be4
        lda #$54
        ldy #$0c
        jsr $ab1e
        lda #$16
        jsr sub_0be4
        lda #$6e
        ldy #$0c
        jsr $ab1e
        lda #$17
        jsr sub_0be4
        lda #$88
        ldy #$0c
        jsr $ab1e
        jmp loc_0ca0
// Referenced by: jsr from $0b8f, $0b9b, $0ba7, $0bb3, $0bbf, $0bcb, $0bd7

sub_0be4:
        sta $d6
        lda #$09
        sta $d3
        jsr $e510
        rts

// --- Region $0ca0-$0cc7 ---
.pc = $0ca0 "loc_0ca0"

loc_0ca0:
        lda #$00
        sta $c6

loc_0ca4:
        lda $c6
        beq loc_0ca4
        sei
        lda #$31
        sta $0314
        lda #$ea
        sta $0315
        lda #$f0
        sta $d01a
        cli
        ldx #$34

loc_0cbb:
        lda dat_0cc7,x
        sta $037c,x
        dex
        bne loc_0cbb
        jmp $037d

dat_0cc7:
        .byte $ea                                   // .

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

// --- Region $0801-$097f ---
.pc = $0801 "dat_0801"

dat_0801:
        // === BASIC loader stub ===
        .byte $0c,$08                               // next line pointer ($080c)
        .byte $00,$00                               // line number 0
        .byte $9e                                   // SYS token
        .text " 2853"                               // SYS 2853 → main_0b25
        .byte $00                                   // end of line
        .byte $00,$00                               // end of BASIC program
        .byte $00,$00,$9e,$00,$00,$00,$00,$00,$9e   // .........

txt_0817:
        .text " 2843"
        .byte $00                                   // string terminator
        .byte $00,$00,$69,$ff,$71,$ff,$79,$fd,$79,$6f,$69,$ff,$61,$ff,$73,$ff // ..i.q.y.yoi.a.s.
        .byte $61,$ff,$61,$ff,$61,$ff,$61,$ff,$61,$ff,$61,$ff,$61,$ff,$ff,$e9 // a.a.a.a.a.a.a...
        .byte $6b,$fd,$61                           // k.a

spr_0840:
        // === Sprite data (64 bytes, $0840-$087f) ===
        .byte $aa,$aa,$b0                           // #.#.#.#.#.#.#.#.#.##....
        .byte $95,$55,$70                           // #..#.#.#.#.#.#.#.###....
        .byte $95,$55,$70                           // #..#.#.#.#.#.#.#.###....
        .byte $95,$55,$70                           // #..#.#.#.#.#.#.#.###....
        .byte $96,$aa,$b0                           // #..#.##.#.#.#.#.#.##....
        .byte $96,$00,$00                           // #..#.##.................
        .byte $96,$00,$00                           // #..#.##.................
        .byte $96,$ff,$c0                           // #..#.##.##########......
        .byte $95,$55,$c0                           // #..#.#.#.#.#.#.###......
        .byte $95,$55,$c0                           // #..#.#.#.#.#.#.###......
        .byte $95,$55,$c0                           // #..#.#.#.#.#.#.###......
        .byte $95,$55,$c0                           // #..#.#.#.#.#.#.###......
        .byte $96,$aa,$c0                           // #..#.##.#.#.#.#.##......
        .byte $96,$00,$00                           // #..#.##.................
        .byte $96,$00,$00                           // #..#.##.................
        .byte $96,$00,$00                           // #..#.##.................
        .byte $96,$ff,$f0                           // #..#.##.############....
        .byte $95,$55,$70                           // #..#.#.#.#.#.#.#.###....
        .byte $95,$55,$70                           // #..#.#.#.#.#.#.#.###....
        .byte $95,$55,$70                           // #..#.#.#.#.#.#.#.###....
        .byte $aa,$aa,$b0                           // #.#.#.#.#.#.#.#.#.##....
        .byte $00                                   // sprite 0 padding

spr_0880:
        // === Sprite data (64 bytes, $0880-$08bf) ===
        .byte $aa,$82,$aa                           // #.#.#.#.#.....#.#.#.#.#.
        .byte $95,$c2,$57                           // #..#.#.###....#..#.#.###
        .byte $95,$c2,$57                           // #..#.#.###....#..#.#.###
        .byte $95,$c2,$57                           // #..#.#.###....#..#.#.###
        .byte $95,$c2,$57                           // #..#.#.###....#..#.#.###
        .byte $95,$c2,$57                           // #..#.#.###....#..#.#.###
        .byte $95,$c2,$57                           // #..#.#.###....#..#.#.###
        .byte $95,$55,$57                           // #..#.#.#.#.#.#.#.#.#.###
        .byte $25,$55,$5c                           // ..#..#.#.#.#.#.#.#.###..
        .byte $09,$55,$70                           // ....#..#.#.#.#.#.###....
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$ff,$00                           // ........########........
        .byte $00                                   // sprite 0 padding

spr_08c0:
        // === Sprite data (64 bytes, $08c0-$08ff) ===
        .byte $aa,$aa,$aa                           // #.#.#.#.#.#.#.#.#.#.#.#.
        .byte $95,$55,$57                           // #..#.#.#.#.#.#.#.#.#.###
        .byte $95,$55,$57                           // #..#.#.#.#.#.#.#.#.#.###
        .byte $95,$55,$57                           // #..#.#.#.#.#.#.#.#.#.###
        .byte $95,$55,$57                           // #..#.#.#.#.#.#.#.#.#.###
        .byte $95,$55,$57                           // #..#.#.#.#.#.#.#.#.#.###
        .byte $95

txt_08d3:
        .byte $55,$57
        .byte $aa,$97,$ff                           // #.#.#.#.#..#.###########
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$97,$00                           // ........#..#.###........
        .byte $00,$ff,$00                           // ........########........
        .byte $00                                   // sprite 0 padding

spr_0900:
        // === Sprite data (64 bytes, $0900-$093f) ===
        .byte $02,$aa,$80                           // ......#.#.#.#.#.#.......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $03,$ff,$c0                           // ......############......
        .byte $00,$00,$00                           // ........................
        .byte $02,$aa,$80                           // ......#.#.#.#.#.#.......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $02,$55,$c0                           // ......#..#.#.#.###......
        .byte $03,$ff,$c0                           // ......############......
        .byte $00                                   // sprite 0 padding
        .byte $c0,$02,$55,$c0,$02,$55,$c0,$03,$ff,$c0,$00,$69,$ff,$61,$ff,$7b // ..U..U.....i.a.{
        .byte $ed,$7b,$ed,$ff,$fd,$61,$ff,$69,$ff,$63,$ed,$63,$ff,$65,$ff,$61 // .{...a.i.c.c.e.a
        .byte $fd,$03,$fd,$61,$fd,$63,$fd,$61,$fd,$41,$fd,$ff,$fd,$61,$fd,$69 // ...a.c.a.A...a.i
        .byte $fd,$61,$fd,$61,$fd,$61,$fd,$61,$fd,$61,$fd,$63,$fd,$63,$69,$ff // .a.a.a.a.a.c.ci.

// --- Region $0a26-$0b24 ---
.pc = $0a26 "Program $0a26"
        .byte $1d                                   // .

txt_0a27:
        .text " 1941 "

txt_0a2d:
        .encoding "screencode_mixed"
        .text "by the yeti factories...hi to all our fans,especialy to radwar our new friend in munich.also gretings to dynamic-duo,flash,locksmith(ciao on c64),xcg,migges,scf,newlook,esi,bencor brothers,x-x,cyborg coming soon:shao lin's road"
        .encoding "petscii_upper"

txt_0b10:
        .text "                    "
        .byte $ff                                   // .

// --- Region $0bee-$0c9f ---
.pc = $0bee "dat_0bee"

dat_0bee:
        .byte $99,$ac,$05,$af,$af,$af,$af,$af,$af,$af,$af,$af,$af,$af,$af,$af // ................
        .byte $af,$af,$af,$af,$af,$99,$bb,$00,$05,$b6,$12,$99 // ............

txt_0c0a:
        .text "                  "
        .byte $92,$1e,$b5,$00,$05,$b6,$12,$99       // ........

txt_0c24:
        .text "     PRESENTS     "
        .byte $92,$1e,$b5,$00,$05,$b6,$12,$99       // ........

txt_0c3e:
        .text "                  "
        .byte $92,$1e,$b5,$00,$05,$b6,$12,$99       // ........

txt_0c58:
        .text "  STREET  SURFER  "
        .byte $92,$1e,$b5,$00,$05,$b6,$12,$99       // ........

txt_0c72:
        .text "                  "
        .byte $92,$1e,$b5,$00,$99,$bc,$1e,$b7,$b7,$b7,$b7,$b7,$b7,$b7,$b7,$b7 // ................
        .fill 9, $b7
        .byte $99,$be,$00                           // ...

// --- Region $0cc8-$0cfa ---
.pc = $0cc8 "Program $0cc8"
        .byte $a5,$ae,$38,$e9,$fa,$85,$ae,$a5,$af,$e5,$04,$85,$af,$20,$18,$e5 // ..8.......... ..
        .byte $78,$a9,$04,$85,$01,$a2,$00,$bd,$fb,$0c,$9d,$01,$08,$e8,$d0,$f7 // x...............
        .byte $ee,$99,$03,$ee,$96,$03,$d0,$ef,$a9,$07,$85,$01,$58,$4c,$e2,$fc // ............XL..
        .byte $4c,$ae,$a7                           // L..
