#375

Rawhead 01

Rawhead

3.171 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
8 December 1988
Code
Omega Supreme
Music
Jeroen Tel — "S-Express"; OMP (Ole Marius Pettersen) — "Heartland Remix"; Johannes Bjerregaard — "Again It's JB"
Group
Rawhead — Norway, founded 1987

A three-composer Norwegian jukebox intro from December 1988, showcasing an impressive roster of SID talent. Omega Supreme coded while the musical lineup spans three countries: Jeroen Tel (Netherlands) contributing "S-Express," OMP/Ole Marius Pettersen (Norway) providing "Heartland Remix," and Johannes Bjerregaard (Denmark) adding "Again It's JB." All three tunes are preserved in the HVSC. Rawhead was a Norwegian group founded in 1987, and the inclusion of both Tel and Bjerregaard — two of the most celebrated SID composers of the era — demonstrates access to top-tier musical talent. Tel's "S-Express" references the British dance music act, reflecting the crossover between pop culture and SID composition. Bjerregaard's characteristically self-referential title "Again It's JB" suggests the composer was well aware of his own prolific presence across the crack intro landscape.

Sources: CSDb · intros.c64.org

rawhead-01.asm 3.171 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:36
// 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:  $1000 (4096)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $1824 (irq_1824)
//
// Code: 2989 bytes, Data: 60499 bytes
// Labels: 336, Subroutines: 19
//
// Cross-references: all OK
// ============================================


// --- Region $0fb8-$0fde ---
.pc = $0fb8 "loc_0fb8"

loc_0fb8:
        lda #$ef

loc_0fba:
        cmp $dc01
        bne loc_0fba
        sei
        jsr $fda3
        ldx #$31
        ldy #$ea
        stx $0314
        sty $0315
        jsr $ff5b
        ldx #$22

loc_0fd2:
        lda $0fdd,x
        sta $0333,x
        dex
        bne loc_0fd2
        jmp $0334

chr_0fde:
        // === Charset data (1 bytes, $0fde-$0fde) ===
        .byte $e6                                   // char 0 (partial)

// --- Region $1000-$1006 ---
.pc = $1000 "main_1000"
// Referenced by: jsr from $ea86

main_1000:
        jsr sub_141f
        jmp loc_17b4

dat_1006:
        .byte $01                                   // .

// --- Region $100f-$1024 ---
.pc = $100f "sub_100f"
// Referenced by: jsr from $ff6d

sub_100f:
        php
        ora ($4c,x)
        cpy $51
        pla
        ora #$07
        .byte $37,$26                               // rla $26,x // ILLEGAL
        and ($18,x)
        .byte $03,$03                               // slo ($03,x) // ILLEGAL

smc_101d:
.label smc_101e = * + 1
        ora ($03,x)                                 // !SMC: modified by $1084, $1087

smc_101f:
        .byte $03,$00                               // slo ($00,x) // ILLEGAL
        .byte $07,$0e                               // slo $0e // ILLEGAL
        brk

dat_1024:
        .byte $00                                   // .

// --- Region $1050-$135e ---
.pc = $1050 "sub_1050"
// Referenced by: jsr from $185e, $f8ff

sub_1050:
        lda dat_1006
        bpl loc_1056
        rts

loc_1056:
        dec $1039
        bpl loc_1060
        lda #$02
        sta $1039

loc_1060:
        ldx #$02

loc_1062:
        lda $1039
        bne loc_106c
        dec $1007,x
        bmi loc_106f

loc_106c:
        jmp loc_1171

loc_106f:
        ldy smc_101d,x
        lda $104a,x
        sta $fa
        lda $104d,x
        sta $fb
        lda ($fa),y
        cmp #$ff
        bne loc_1090
        lda #$00
        sta smc_101d                                // SMC: modifies $101d
        sta smc_101e                                // SMC: modifies $101e
        sta smc_101f                                // SMC: modifies $101f
        jmp loc_106f

loc_1090:
        cmp #$fe
        bne loc_1099
        ldx #$80
        jmp loc_1457

loc_1099:
        tay
        lda $1588,y
        sta $fa
        lda $1598,y
        sta $fb
        ldy $101a,x
        lda ($fa),y
        sta $fc
        inc $101a,x
        and #$1f
        sta $1007,x
        lda $fc
        and #$e0
        cmp #$c0