#69

Ikari 03

Ikari

1.760 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
3 October 1987
Code
Human
Group
Ikari — Belgium, founded January 1987

Another early Ikari production coded by Human from Belgium — released on the same day (3 October 1987) as #15 Ikari 07, suggesting Ikari maintained multiple intro variants for simultaneous distribution with different cracks. CSDb lists no music credits, indicating a silent intro. Human was Ikari's Belgian coder during the group's formative months, producing several intros before the UK-based members took over primary development. Doc Snyder's page documents this as part of the numbered sequence. The dual-country structure — Belgian coders alongside British organizers — gave Ikari reach into both continental and UK distribution networks simultaneously, a strategic advantage during the crucial autumn of 1987 when the cracking scene was rapidly consolidating.

Sources: CSDb · docsnyderspage

ikari-03.asm 1.760 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:24
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $2ffe  (10239 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0dc0 (3520)
// IRQ handler:  $086a (irq_086a)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 1994 bytes, Data: 8245 bytes
// Labels: 186, Subroutines: 4
//
// Cross-references: all OK
// ============================================


// --- Region $0813-$08f6 ---
.pc = $0813 "loc_0813"

loc_0813:
        sei
        lda #$7f
        sta $dc0d
        ldx #$00
        stx $dc0e
        inx
        stx $d01a
        lda #$d8
        sta $d016
        lda #$1b
        sta $d011
        ldx #$00

loc_082e:
        lda dat_1900,x
        sta $0400,x
        lda $1a00,x
        sta $0500,x
        lda $1b00,x
        sta $0600,x
        lda $1bf0,x
        sta $06f0,x
        lda #$08
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        dex
        bne loc_082e
        lda #$6a
        sta $0314
        lda #$08
        sta $0315
        lda #$13
        sta $d018
        cli

loc_0867:
        jmp loc_0867

irq_086a:
        lda #$32
        sta $d012
        ldx #$06

loc_0871:
        dex
        bne loc_0871
        ldx #$00

loc_0876:
        ldy #$08
        lda $0900,x

loc_087b:
        sta $d021
        sta $d020
        inx
        dey
        beq loc_0876
        cpx #$b1
        bcs $0898
        jsr sub_0a88
        lda $0a00,x
        sta $d023
        lda $0900,x
        clc
        bcc loc_087b
        lda #$01
        sta $d019
        ldy $0989
        ldx #$83

loc_08a2:
        lda $0907,x
        sta $0908,x
        dex
        bne loc_08a2
        sty $0908
        ldy $0a08
        ldx #$00

loc_08b3:
        lda $0a09,x
        sta $0a08,x
        inx
        cpx #$7d
        bne loc_08b3
        sty $0a83
        ldy $0997
        ldx #$00

loc_08c6:
        lda $0998,x
        sta $0997,x
        inx
        cpx #$18
        bne loc_08c6
        sty $09ad
        inc $08ff
        ldx $08ff
        lda $0a98,x
        sta $d022
        lda $08ff
        cmp #$57
        bne loc_08ec
        lda #$00
        sta $08ff

loc_08ec:
        jsr sub_177b
        jsr sub_20c5
        jmp loc_0d30

dat_08f5:
        // === Sine/lookup table (187 bytes, range $00-$3b) ===
        .byte $00,$00                               // ..

// --- Region $0a88-$0a90 ---
.pc = $0a88 "sub_0a88"
// Referenced by: jsr from $0889

sub_0a88:
        nop
        nop