#435

Red Sector Incorporated [RSI] 01

Red Sector Incorporated [RSI]

2.699 lines of code

RasterbarsRSTRMusicSIDBitmapBMAP

History

Released
October 1987
Code
The Omega Man
Music
Rob Hubbard — "Zoids"
Group
Red Sector Incorporated — Canada, founded 1985

The first numbered intro from Red Sector Incorporated, the Canadian group that would later become legendary on the Amiga. Released in October 1987, the intro was coded by The Omega Man and uses Rob Hubbard's "Zoids" — one of the most famous SID compositions ever written. Ripping Hubbard's music was a common practice in 1987, when his game soundtracks were the gold standard of C64 audio. RSI was founded in 1985, making this intro a product of their second year. The group's evolution from C64 crackers to celebrated Amiga demo coders — eventually becoming Renaissance — represents one of the scene's most successful platform transitions. Their other ranked entry, #167 RSI-09, dates from their later C64 period. The Omega Man's involvement in RSI's earliest intro connects the group's origins directly to the mid-1980s North American cracking scene, when Canadian and American groups were still major players in the global C64 community.

Sources: CSDb

rsi-01.asm 2.699 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:40
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $2000 (8192)
// IRQ handler:  $2140 (irq_2140)
// IRQ handler:  $2190 (irq_2190)
//
// Code: 1947 bytes, Data: 61541 bytes
// Labels: 282, Subroutines: 16
//
// Cross-references: all OK
// ============================================


// --- Region $085a-$0861 ---
.pc = $085a "loc_085a"

loc_085a:
        .byte $1f,$1e,$1f                           // slo $1f1e,x // ILLEGAL
        .byte $1f,$1f,$1f                           // slo $1f1f,x // ILLEGAL

dat_0860:
        .byte $da,$ee                               // ..

// --- Region $08c8-$08cc ---
.pc = $08c8 "loc_08c8"

loc_08c8:
        bcc loc_085a
        bcc loc_090c
        rti

// --- Region $0dad-$0dc7 ---
.pc = $0dad "Program $0dad"
        sbc #$e9
        sbc #$ff
        sbc #$e9
        sbc #$e9
        sbc #$e9
        sbc #$e9
        sbc #$e9
        nop
        nop
        .byte $3a                                   // nop // ILLEGAL
        asl $e903
        sbc #$e9
        lda #$a9
        ldy $90
        rti

// --- Region $1000-$1382 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $206d

sub_1000:
        jmp loc_1a31
// Referenced by: jsr from $1087

sub_1003:
        jmp loc_1a62

loc_1006:
        inc $147d
        bit $1471
        bmi loc_102c
        bvc loc_1046
        lda #$00
        sta $147d
        ldx #$02

loc_1017:
        sta $1447,x
        sta $144a,x
        sta $144d,x
        sta $1456,x
        dex
        bpl loc_1017
        sta $1471
        jmp loc_1046

loc_102c:
        bvc loc_1043
        lda #$00
        sta $d404
        sta $d40b
        sta $d412
        lda #$0f
        sta $d418
        lda #$80
        sta $1471

loc_1043:
        jmp loc_1382

loc_1046:
        ldx #$02
        dec $146e
        bpl loc_1053
        lda $146f
        sta $146e

loc_1053:
        lda $1443,x
        sta $1446
        tay
        lda $146e
        cmp $146f
        bne loc_1077
        lda $14f6,x
        sta $fb
        lda $14f9,x
        sta $fc
        dec $144d,x
        bmi loc_107a
        jmp loc_116d

dat_1074:
        .byte $4c,$7c,$13                           // L|.

loc_1077:
        jmp loc_118c

loc_107a:
        ldy $1447,x
        lda ($fb),y
        cmp #$ff
        beq loc_108d
        cmp #$fe
        bne loc_109e
        jsr sub_1003
        jmp loc_1382

loc_108d:
        lda #$00
        sta $144d,x
        sta $1447,x
        sta $144a,x
        jmp loc_107a

dat_109b:
        .byte $4c,$7c,$13                           // L|.

loc_109e: