#230

Ikari 10

Ikari

2.107 lines of code

RasterbarsRSTRMusicSIDSpritesSPRT

History

Released
22 December 1988
Code
Excell
Music
JCH (Jens-Christian Huus), Johannes Bjerregaard, Leffty, Diflex, Jeroen Soede, EVS (Edwin van Santen)
Group
Ikari — United Kingdom, founded July 1987

A nine-tune jukebox intro from Ikari, coded by Excell and released on 22 December 1988. The music lineup is exceptional — JCH contributes four tracks ("Nilfisk," "Shadow Sun," "Short 'n' Sad," and "Revolutionary"), alongside tunes by Johannes Bjerregaard ("Chase"), Leffty ("Bangkok Fe"), Diflex ("Rhenus Demo '88"), Jeroen Soede ("Funky Stuff"), and EVS ("Popcorn Mix"). All nine SID files are preserved in the HVSC. This abundance of music — six different composers across nine tracks — makes it one of the most musically rich Ikari intros in the rankings. Ikari, the UK-based group founded in July 1987, is the most represented group in the intro rankings overall, with entries including #6 Ikari-02, #9 Ikari-06, and #21 Ikari-09. Excell also contributed graphics and charsets to other Ikari productions documented on Doc Snyder's page.

Sources: CSDb · Doc Snyder

ikari-10.asm 2.107 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: $2ce8  (9449 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1f00 (7936)
// IRQ handler:  $1f36 (nmi_1f36)
// IRQ handler:  $1fd5 (irq_1fd5)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 2060 bytes, Data: 7389 bytes
// Labels: 240, Subroutines: 16
//
// Cross-references: all OK
// ============================================


// --- Region $0e90-$0e98 ---
.pc = $0e90 "sub_0e90"
// Referenced by: jsr from $1f0a

sub_0e90:
        lda #$08
        jsr $ffd2
        jmp loc_213b

chr_0e98:
        // === Charset data (1 bytes, $0e98-$0e98) ===
        .byte $00                                   // char 0 (partial)

// --- Region $1000-$14dc ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $213f

sub_1000:
        jmp loc_100c
// Referenced by: jsr from $20a8

sub_1003:
        jmp loc_104b

dat_1006:
        .byte $1b,$17,$50,$17,$56,$17               // ..P.V.

loc_100c:
        lda #$00
        tay
        tax

loc_1010:
        lda dat_1006,y
        sta $159c,x
        sta $15a2,x
        lda $1007,y
        sta $159f,x
        sta $15a5,x
        iny
        iny
        inx
        cpx #$03
        bne loc_1010
        stx $1628
        ldy #$00
        tya

loc_102f:
        sta $d400,y
        sta $15be,y
        iny
        cpy #$1b
        bne loc_102f
        lda #$0f
        sta $d418
        lda #$ff
        sta $15ca
        sta $15cb
        sta $15cc
        rts

loc_104b:
        lda $fb
        pha
        lda $fc
        pha
        ldx #$02

loc_1053:
        lda $15ca,x
        bmi loc_105b
        jmp loc_125f

loc_105b:
        lda $15d0,x
        sta $15ca,x
        lda #$00
        sta $15cd,x
        lda $15c4,x
        bne loc_10bf
        lda $159c,x
        sta $fb
        lda $159f,x
        sta $fc

loc_1075:
        ldy #$00
        lda ($fb),y
        bmi loc_1098
        tay
        lda $1703,y
        sta $15a8,x
        lda $170e,y
        sta $15ab,x
        inc $15c4,x
        lda $fb
        sta $159c,x
        lda $fc
        sta $159f,x
        jmp loc_125f

loc_1098:
        pha
        and #$e0
        cmp #$c0
        bne loc_10b1
        pla
        and #$1f
        sec
        sbc #$0c
        asl
        sta $15c1,x
        inc $fb
        bne loc_1075
        inc $fc
        bne loc_1075

loc_10b1:
        pla
        lda $15a2,x
        sta $fb
        lda $15a5,x
        sta $fc
        jmp loc_1075

loc_10bf:
        lda $15a8,x