#12

Ikari 06

Ikari

2.438 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
1989
Code
The Syndicate
Music
Cybernoid II by Jeroen Tel (ripped)
Group
Ikari — United Kingdom, founded July 1987

Ranked #12 on intros.c64.org, this 1989 release is one of the most popular Ikari intros. CSDb catalogues it as "Ikari intro" and credits The Syndicate for the code and Jeroen Tel for the music. The soundtrack is a rip of Tel's "Cybernoid II" — the title tune Tel composed for Raffaele Cecco's shoot-'em-up of the same name, published by Hewson Consultants — preserved in the HVSC under Tel's composer directory. No graphics handle is credited on this particular release. Doc Snyder's group page for Ikari lists multiple sibling intros under different "Crack Intro #NN" headings, with divergent scrolltexts and credits; for this release the CSDb record is the authoritative source. Ikari was founded in the UK in July 1987 and remained one of the most prolific names in European cracking for years afterwards. See also #6 Ikari and #15 Ikari.

Sources: CSDb · docsnyderspage

ikari-06.asm 2.438 lines
// ============================================
// output - Part 1 of 2
// ============================================
// 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: $0314  End: $dc0d  (55546 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $5723 (22307)
// IRQ handler:  $fec1 (nmi_fec1)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $1ca0 (loc_1ca0)
//
// Code: 2813 bytes, Data: 52733 bytes
// Labels: 283, Subroutines: 7
//
// Cross-references: all OK
// ============================================


// --- Region $0c00-$0cf0 ---
.pc = $0c00 "loc_0c00"

loc_0c00:
        ldx #$a5

loc_0c02:
        dex
        bne loc_0c02
        lda #$c7
        sta $d016
        ldx #$00
        ldy #$02
        jmp loc_0c14

loc_0c11:
        ldy #$07
        inx

loc_0c14:
        lda dat_0cf0,x
        sta $d021
        sta $d020
        dey
        bmi loc_0c11
        jsr sub_1cfb
        jsr sub_1cfb
        jsr sub_1cfb
        nop
        nop
        inx

loc_0c2c:
        cpx #$0e
        bne loc_0c14
        lda #$c8
        sta $d016
        jsr sub_0c3b
        jmp loc_0e00
// Referenced by: jsr from $0c35

sub_0c3b:
        dec $0c06
        dec $0c06
        dec $0c06
        lda $0c06
        cmp #$c0
        bcs loc_0c79
        clc
        adc #$08
        sta $0c06
        ldx #$00

loc_0c53:
        lda $0659,x
        sta $0658,x
        inx
        cpx #$27
        bne loc_0c53
        ldy #$00
        lda ($a3),y
        cmp #$ff
        bne loc_0c70
        lda #$ff
        sta $a3
        lda #$27
        sta $a4
        lda #$20

loc_0c70:
        sta $067f
        inc $a3
        bne loc_0c79
        inc $a4

loc_0c79:
        jmp loc_1b80

loc_0c7c:
        clc
.label loc_0c7e = * + 1
        bne loc_0c2c
        ora ($dc,x)
        and #$10
        beq loc_0c88
        jmp loc_0c91

loc_0c88:
        sei
        lda #$01
        sta $1e1a
        jmp loc_0c91

loc_0c91:
        lda #$02
        beq loc_0c9b
        dec $0c92
        jmp loc_0cc2

loc_0c9b:
        ldx #$00
        inc $0c9c
        ldy $0eb8,x
        ldx #$00
        lda #$04
        sta $0c92

loc_0caa:
        lda $0ec0,y
        sta $08e0,x
        iny
        inx
        cpx #$08
        bne loc_0caa
        lda $0c9c
        cmp #$06
        bne loc_0cc2
        lda #$00
        sta $0c9c

loc_0cc2:
        jmp loc_0e80

dat_0cc5:
        .byte $00,$00                               // ..

loc_0cc7:
        lda #$c8