#974

Mayhem (UK) 38

Mayhem (UK)

1.680 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
c. 1993-2004
Group
Mayhem [M] — United Kingdom

This is the thirty-eighth crack intro from Mayhem, a British cracking and graphics group distinguished by the "(UK)" designation from the American group of the same name. CSDb catalogues the group under ID 582, with over 1,000 releases spanning from 1993 to 2004. Key members included Met (cover designer, cracker, graphician, organizer), Hellraiser (coder, cracker), Joker (coder, cracker), Primus (coder, cracker, founder), and Motion (coder, graphician), who also worked with Cosine. Doc Snyder's page documents two Mayhem (UK) productions — a cooperation with The Ancient Temple coded by Case with music by Guy Shavitt, and a crack intro using Laxity's "Ikari Intro" tune. A separate CSDb entry for a 1995 Mayhem release titled "Reflect Intro" credits Motion for code and graphics, with music by Drax performing "Drudgery." The high intro number confirms the group's prolific output. This is one of two Mayhem (UK) entries in the rankings — see also Mayhem UK-04.

Sources: CSDb · CSDb · Doc Snyder · intros.c64.org

mayhem_uk-38.asm 1.680 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:55
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $2cff  (9472 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $2000 (8192)
// IRQ handler:  $20a1 (irq_20a1)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 1518 bytes, Data: 7954 bytes
// Labels: 172, Subroutines: 14
//
// Cross-references: all OK
// ============================================


// --- Region $0d00-$0d34 ---
.pc = $0d00 "loc_0d00"

loc_0d00:
        sei
        ldx #$ea
        ldy #$31
        stx $0315
        sty $0314
        lda #$00
        sta $d01a
        sta $d019
        ldx #$18

loc_0d15:
        sta $d418,x
        dex
        bne loc_0d15
        jsr $ff5b
        lda #$0f
        sta $0286
        jsr $e544
        ldx #$00

loc_0d28:
        lda chr_0d34,x
        sta $0400,x
        inx
        bne loc_0d28
        jmp $0400

chr_0d34:
        // === Charset data (1 bytes, $0d34-$0d34) ===
        .byte $a2                                   // char 0 (partial)

// --- Region $1000-$1080 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $1007, $202d

sub_1000:
        jmp loc_1048
// Referenced by: jsr from $1011, $212a

sub_1003:
        jmp loc_1021

loc_1006:
        sei
        jsr sub_1000

loc_100a:
        lda #$ff

loc_100c:
        cmp $d012
        bne loc_100c
        jsr sub_1003
        lda $dc01
        and #$10
        bne loc_100a
        sta $d418
        cli
        rts

dat_1020:
        .byte $00                                   // .

loc_1021:
        ldx #$00
        dec $1090
        bmi loc_1034
        jsr sub_1226
        jsr sub_1225
        jmp sub_1225

dat_1031:
        .byte $ff,$ff,$ff                           // ...

loc_1034:
        lda #$02
        sta $1090
        jsr sub_1040
        jsr sub_103f
// Referenced by: jsr from $103c

sub_103f:
        inx
// Referenced by: jsr from $1039

sub_1040:
        dec $108a,x
        bmi loc_1091
        jmp sub_1226

loc_1048:
        lda #$1f
        sta $d418
        lda #$f0
        sta $d417
        and #$0f
        sta smc_1262                                // SMC: modifies $1262
        ldx #$0f

loc_1059:
        sta dat_1081,x
        dex
        bpl loc_1059
        ldx #$02

loc_1061:
        lda $14b9,x
        sta $fa
        lda $14bc,x
        sta $fb
        ldy #$00
        lda ($fa),y
        sta $108d,x
        iny
        lda ($fa),y
        sta $10e6,x
        and #$0f
        sta $10e9,x
        dex
        bpl loc_1061
        rts

// --- Region $1091-$10c6 ---
.pc = $1091 "loc_1091"