#349

Ikari 12

Ikari

2.589 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLBitmapBMAP

History

Released
May 1989
Code
Doc
Music
Charles Deenen — "Smooth Criminal"
Group
Ikari — United Kingdom, founded July 1987

Doc coded this Ikari intro released in May 1989, featuring Charles Deenen's "Smooth Criminal" — a SID cover of the Michael Jackson hit, preserved in the HVSC. Deenen was a prolific Dutch composer whose work appeared in both commercial games and crack intros across the European scene. Doc was one of Ikari's key members who also appeared in the group's joint releases with Talent, where he handled cracking duties alongside Fletch. This intro arrives nearly two years after Ikari's July 1987 founding, during a period when the group was firmly established as one of Britain's leading cracking operations. The choice of a pop music cover — rather than an original composition — reflects the common practice of ripping recognizable melodies to give intros immediate cultural cachet. Ikari's extensive presence in the rankings includes #6 Ikari-02 and the companion entry #348 Ikari-05.

Sources: CSDb · Doc Snyder's Page

ikari-12.asm 2.589 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:50
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $321f  (10784 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $2de0 (11744)
// IRQ handler:  $2962 (nmi_2962)
// IRQ handler:  $2746 (irq_2746)
//
// Code: 2710 bytes, Data: 8074 bytes
// Labels: 291, Subroutines: 19
//
// Cross-references: all OK
// ============================================


// --- Region $1003-$1006 ---
.pc = $1003 "sub_1003"
// Referenced by: jsr from $29eb

sub_1003:
        jmp loc_1073

dat_1006:
        .byte $0f                                   // .

// --- Region $102c-$1493 ---
.pc = $102c "loc_102c"

loc_102c:
        asl
        asl
        tay
        ldx #$00

loc_1031:
        lda $1023,y
        sta $1553,x
        sta $1559,x
        lda $1024,y
        sta $1556,x
        sta $155c,x
        iny
        iny
        inx
        cpx #$03
        bne loc_1031
        lda $1023,y
        sta $15da
        sta $1007
        ldy #$00
        tya

loc_1056:
        sta $d400,y
        sta $1575,y
        iny
        cpy #$1b
        bne loc_1056
        lda dat_1006
        sta $d418
        lda #$ff
        sta $1587
        sta $1588
        sta $1589
        rts

loc_1073:
        lda $fb
        pha
        lda $fc
        pha
        ldx #$02
        dec $15da
        bpl loc_1086
        lda $1007
        sta $15da

loc_1086:
        bne loc_1095
        lda $1020,x
        bne loc_1090
        jmp loc_1483

loc_1090:
        dec $1587,x
        bmi loc_10a0

loc_1095:
        lda $1581,x
        bne loc_109d
        jmp loc_1259

loc_109d:
        jmp loc_117f

loc_10a0:
        lda $158d,x
        sta $1587,x
        lda #$00
        sta $158a,x

loc_10ab:
        lda $1553,x
        sta $fb
        lda $1556,x
        sta $fc
        ldy #$00
        lda ($fb),y
        bpl loc_10e9
        cmp #$ff
        bne loc_10d9
        lda $1559,x
        sta $1553,x
        sta $fb
        lda $155c,x
        sta $1556,x
        sta $fc
        ldy #$00
        lda ($fb),y
        bpl loc_10e9
        cmp #$ff
        beq loc_10ea

loc_10d9:
        and #$7f
        asl
        sta $1578,x
        inc $1553,x
        bne loc_10ab
        inc $1556,x
        bne loc_10ab

loc_10e9:
        tay

loc_10ea:
        lda $171b,y
        sta $fb
        lda $172f,y
        sta $fc

loc_10f4:
        ldy $157b,x
        lda ($fb),y