#90

Illusion [ILS] 09

Illusion [ILS]

2.497 lines of code

MusicSIDSpritesSPRT

History

Released
5 December 1989
Code
Garfield
Music
Henning Rokling, Olav Morkrid, Steel (Mario Laugell), Future Freak (Kim Christensen)
Graphics
Unitrax
Charset
Thomas Heinrich
Group
Illusion — Norway, founded 23 June 1989

CSDb catalogues this as the "Plants" intro — a four-composer Norwegian production showcasing the depth of Scandinavian SID talent. Garfield coded while the music spans four contributors: Henning Rokling ("Illusion Crack Intro"), Olav Morkrid ("Illusion Intro"), Steel/Mario Laugell ("Fastintro"), and Future Freak/Kim Christensen ("Cooperation Demo"). Unitrax provided graphics and Thomas Heinrich contributed the charset. Illusion was a Norwegian group founded on 23 June 1989, and this December release appeared just five months later — rapid production for a new outfit. All four SIDs are preserved in the HVSC. The all-Norwegian musical roster (plus one Danish contributor in Future Freak) demonstrates that by 1989 the Nordic countries had developed sufficient local talent to produce entirely self-contained intros without relying on Dutch or British musicians.

Sources: CSDb

ils-09.asm 2.497 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:25
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $3a5a  (12891 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1c00 (7168)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 1414 bytes, Data: 11477 bytes
// Labels: 292, Subroutines: 11
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1003 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $1c59

sub_1000:
        jmp loc_14f8

dat_1003:
        .byte $4c                                   // L

// --- Region $1093-$152f ---
.pc = $1093 "loc_1093"

loc_1093:
        jsr sub_148a
        lda $10b3
        eor #$01
        sta $10b3
        ldx #$02

loc_10a0:
        jsr sub_10a6
        dex
        bne loc_10a0
// Referenced by: jsr from $10a0

sub_10a6:
        stx $fe
        lda dat_1530,x
        sta $ff
        lda $102a,x
        bne loc_10f2
        lda #$00
        beq loc_10b9

loc_10b6:
        jmp loc_1295

loc_10b9:
        dec $1039,x
        bpl loc_10b6
        lda $1021,x
        sta $fa
        lda $1024,x
        sta $fb

loc_10c8:
        ldy $1027,x
        lda ($fa),y
        bpl loc_1119
        cmp #$ff
        bne loc_10eb
        iny
        lda ($fa),y
        sta $1027,x
        lda #$0f
        sta $1092
        lda #$00
        sta $1006
        sta $1091
        sta $1030,x
        beq loc_10c8

loc_10eb:
        cmp #$fe
        bne loc_10f3

dat_10ef:
        .byte $fe                                   // .

loc_10f0:
        rol
.label loc_10f2 = * + 1
        bpl loc_1153

loc_10f3:
        cmp #$fd
        bne loc_1103
        inc $1027,x
        iny
        lda ($fa),y
        sta $1006
        jmp loc_110d

loc_1103:
        cmp #$c0
        bcc loc_1112
        clc
        adc #$20
        sta $1030,x

loc_110d:
        inc $1027,x
        bne loc_10c8

loc_1112:
        and #$3f
        sta $102d,x
        bpl loc_110d

loc_1119:
        tay
        lda $16b7,y
        sta $fc
        lda $16d3,y
        sta $fd

loc_1124:
        ldy $1036,x
        lda ($fc),y
        bmi loc_112e
        jmp loc_11b5

loc_112e:
        cmp #$c0
        bcc loc_115a
        and #$3f
        sta $1039,x
        sta $103c,x
        inc $1036,x
        iny
        lda ($fc),y
        cmp #$c0
        bcs loc_1155
        cmp #$bf
        bne loc_1124
// Referenced by: jsr from $11af

sub_1148:
        lda #$00