#777

Future 01

Future

2.880 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRTBitmapBMAP

History

Released
15 April 1989
Code
MRG; CIA
Graphics
Thomas
Charset
Blitz
Music
Laxity (Thomas Petersen) — "Ikari Intro Song"
Group
Future — Norway, founded 1988

Future's sole ranked intro, released on 15 April 1989, features code by both MRG and CIA — a dual-coder arrangement less common in crack intros of the era. Thomas handled the graphics while Blitz contributed the charset. The music is Laxity's "Ikari Intro Song" — a Thomas Petersen composition originally written for Ikari, preserved in the HVSC. Doc Snyder's page confirms CIA as the coder and notes the scrolltext's mention of cracking "Chicago's 30" from tape. Founded in Norway in 1988, Future operated during the Scandinavian scene's most active period. The scrolltext greets Ikari, Elite, Abnormal, DCS, and The Shadows — a cross-section of both Norwegian and international groups. The reuse of Laxity's Ikari-branded tune by a different group illustrates how popular SID compositions circulated freely across the scene, often outliving their original context.

Sources: CSDb · docsnyderspage · HVSC

future-01.asm 2.880 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:43
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $3fff  (14336 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0900 (2304)
// IRQ handler:  $0a00 (irq_0a00)
// IRQ handler:  $2100 (irq_2100)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 2714 bytes, Data: 11622 bytes
// Labels: 303, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $0900-$09e7 ---
.pc = $0900 "main_0900"

main_0900:
        jsr $e544
        sei
        ldx #$ff
        stx $d015
        ldx #$00
        stx $dc0e
        stx $0314
        inx
        stx $d01a
        ldx #$0a
        stx $0315
        ldx #$1b
        stx $d011
        ldx #$00

loc_0921:
        lda #$0e
        sta $d800,x
        sta $d900,x
        lda #$01
        sta $da00,x
        sta $db00,x
        inx
        bne loc_0921
        nop
        ldx #$03
        stx $d022
        ldx #$0e
        stx $d023
        lda #$00
        jsr sub_1000
        ldx #$00

loc_0946:
        lda $2070,x
        sta $d000,x
        inx
        cpx #$10
        bne loc_0946
        ldx #$cd
        stx dat_25fe
        ldx #$18
        stx $25ff
        ldx #$00
        lda #$20

loc_095f:
        sta dat_2ff0,x
        inx
        cpx #$10
        bne loc_095f
        ldx #$00
        lda #$00

loc_096b:
        sta dat_2600,x
        inx
        bne loc_096b
        ldx #$00
        lda #$f0

loc_0975:
        sta $d027,x
        inx
        cpx #$08
        bne loc_0975
        ldx #$00

loc_097f:
        sta $db70,x
        inx
        cpx #$50
        bne loc_097f
        ldx #$04
        stx smc_2272                                // SMC: modifies $2272
        jsr sub_2700
        lda #$08
        jsr $ffd2
        cli

smc_0995:
.label smc_0996 = * + 1
.label smc_0997 = * + 2
        jmp smc_0995                                // !SMC: modified by $2f50, $2f53, $2f56

dat_0998:
        .byte $ea,$ea                               // ..

loc_099a:
        nop
        nop
        sei
        ldx #$00
        stx $d418
        ldx #$31
        stx $0314
        ldx #$ea
        stx $0315
        ldx #$01
        stx $dc0e
        ldx #$f0
        stx $d01a
        ldx #$79
        stx $d019
        ldx #$15
        stx $d018
        ldx #$c8
        stx $d016
        jsr $ff5e
        ldx #$00

loc_09ca:
        lda txt_09e8,x
        sta $0409,x
        lda #$63
        sta $0431,x
        lda #$04
        sta $d809,x
        sta $d831,x
        inx
        cpx #$16
        bne loc_09ca
        cli
        jmp $fce2