#348

Ikari 05

Ikari

537 lines of code

ScrollerSCRLSpritesSPRT

History

Code
Tri-Dos
Music
Laxity (Thomas E. Petersen)
Released
27 December 2014
Group
Ikari [IK] -- United Kingdom, founded July 1987

Ikari Crack Intro #05 -- catalogued on CSDb as "Excell Tribute" -- is a C64 intro released on 27 December 2014, created as a tribute production rather than a traditional crack intro. CSDb credits Excell for graphics, Laxity (Thomas E. Petersen) for music using his "Ikari Intro" SID composition, and Sextone for additional graphics, with the idea credited to Dwangi. Doc Snyder's page lists the intro under Ikari with code by Tri-Dos and music by Laxity. The release earned a rating of 8.24 on CSDb. The tribute nature of this production highlights the enduring legacy of Excell -- one of the C64 scene's most prolific intro coders -- and the esteem in which he was held by the community. Ikari was founded in July 1987 in the UK and was known by the tagline "For the best -- trade with the best." The release is preserved on CSDb as release #135626, verified through the Doc Snyder link.

Sources: CSDb · CSDb Group · intros.c64.org · Doc Snyder

ikari-05.asm 537 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: $0700  End: $d011  (51474 bytes)
// Crunched with Exomizer — depacked by emulation
// Packer entry: $082a (via BASIC SYS 2090)
// Entry point:  $0acd (2765)
// IRQ handler:  $0984 (irq_0984)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 303 bytes, Data: 51171 bytes
// Labels: 87, Subroutines: 5
//
// Cross-references: all OK
// ============================================


// --- Region $0900-$098c ---
.pc = $0900 "sub_0900"
// Referenced by: jsr from $0b09

sub_0900:
        sei
        ldx #$00
        stx $dc0e
        inx
        stx $d01a
        lda #$00
        sta $d012
        lda #$84
        sta $0314
        lda #$09
        sta $0315
        cli
        rts
// Referenced by: jsr from $0984

sub_091b:
        ldx #$00

loc_091d:
        lda $d012
        cmp chr_098d,x
        bne loc_091d
        lda $0996,x
        sta $d016
        lda $099f,x
        jsr sub_09a8
        inx
        cpx #$09
        bne loc_091d
// Referenced by: jsr from $0987

sub_0936:
        dec $099a
        lda $099a
        cmp #$ff
        bne loc_094d
        lda #$07
        sta $099a
        jsr sub_0950
        lda #$01
        sta $d019

loc_094d:
        rts

chr_094e:
        // === Charset data (2 bytes, $094e-$094f) ===
        .byte $00,$00                               // char 0 (partial)
// Referenced by: jsr from $0945

sub_0950:
        ldx #$00
.label smc_0953 = * + 1
.label smc_0954 = * + 2
        lda scr_0b19                                // !SMC: modified by $097b, $0980
        sta $05df
        ldx #$00

loc_095a:
        lda $05b9,x
        sta $05b8,x
        inx
        cpx #$28
        bne loc_095a
        inc smc_0953
        lda smc_0953
        cmp #$00
        bne loc_0972
        inc smc_0954

loc_0972:
        lda $05de
        cmp #$21
        bne loc_0983
        lda #$19
        sta smc_0953                                // SMC: modifies $0953
        lda #$0b
        sta smc_0954                                // SMC: modifies $0954

loc_0983:
        rts

irq_0984:
        jsr sub_091b
        jsr sub_0936
        jmp $ea31

// --- Region $09a8-$09bc ---
.pc = $09a8 "sub_09a8"
// Referenced by: jsr from $092e

sub_09a8:
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        sta $d021
        sta $d020
        rts

// --- Region $0acd-$0b19 ---
.pc = $0acd "main_0acd"

main_0acd:
        jsr $ff81
        lda #$02
        ldx #$00

loc_0ad4:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        dex