#21

Ikari 09

Ikari

2.282 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
12 July 1988
Charset
The Mercenary Cracker
Music
L.L.L. by JCH (Jens-Christian Huus)
Group
Ikari — United Kingdom, founded July 1987

Ranked #21 on intros.c64.org, this Ikari release is catalogued on CSDb as "Ikari Intro" and dated 12 July 1988. The Mercenary Cracker is credited for the charset, and the soundtrack is "L.L.L." by JCH — Jens-Christian Huus — preserved in the HVSC under his composer directory. CSDb does not attach a code credit to this release, and Doc Snyder's verified section for Crack Intro #09 opens with the note "This intro is missing info" and lists only the charset and music handles above. The result is a well-documented musical and typographic attribution paired with an anonymous coder — a recognisable pattern for mid-1988 Ikari releases when freelance SID composers often outshone the more quietly credited technical side of production.

Sources: CSDb · docsnyderspage

ikari-09.asm 2.282 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: $2cc2  (9411 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $2cbc (11452)
// IRQ handler:  $2293 (irq_2293)
// IRQ handler:  $21ec (nmi_21ec)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 2849 bytes, Data: 6562 bytes
// Labels: 235, Subroutines: 22
//
// Verification: 5 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0ab0-$0ab7 ---
.pc = $0ab0 "Program $0ab0"
        .byte $ff,$ff,$2f                           // isc $2fff,x // ILLEGAL
        .byte $af,$ff,$6f                           // lax $6fff // ILLEGAL

dat_0ab6:
        .byte $af,$ff                               // ..

// --- Region $1000-$1006 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $2305

sub_1000:
        jmp loc_10d8
// Referenced by: jsr from $23df

sub_1003:
        jmp loc_10e6

dat_1006:
        .byte $01                                   // .

// --- Region $10d8-$1723 ---
.pc = $10d8 "loc_10d8"

loc_10d8:
        lda dat_1006
        cmp #$01
        beq loc_1153
        cmp #$02
        bne loc_111f
        jmp loc_1148

loc_10e6:
        tax
        lda $199a,x
        sta $1046
        txa
        sta $107c
        ldx #$00
        asl
        asl
        clc
        adc $107c
        adc $107c
        tay

loc_10fd:
        lda $1855,y
        sta $184f,x
        iny
        inx
        cpx #$06
        bne loc_10fd
        ldy #$00
        lda $107c
        asl
        adc $107c
        tax

loc_1113:
        lda $1007,y
        sta $1007,y
        inx
        iny
        cpy #$03
        bne loc_1113

loc_111f:
        ldx #$02
        lda #$00

loc_1123:
        sta $1030,x
        sta $102a,x
        sta $1027,x
        sta $101e,x
        sta $1080,x
        sta $1021,x
        sta $1083,x
        sta $1024,x
        dex
        bpl loc_1123
        lda #$1f
        sta $1154
        lda #$01
        sta dat_1006

loc_1148:
        ldx #$18
        lda #$00

loc_114c:
        sta $d400,x
        dex
        bpl loc_114c
        rts

loc_1153:
        lda #$1f
        sta $d418
        ldx #$02
        stx $100c
        dec $1042
        bpl loc_1168
        lda $1046
        sta $1042

loc_1168:
        lda $101a,x
        sta $101d
        lda $1042
        cmp $1046
        bne loc_1195
        txa
        asl
        tay
        lda $184f,y
        sta $14
        lda $1850,y
        sta $15
        dec $1024,x
        bpl loc_118b
        jmp loc_154f

loc_118b: