#366

Mirage 02

Mirage

3.905 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
1 January 1992
Code
Roy
Music
Johannes Bjerregaard — "Mixerplot"
Charset
Kevin Bulmer
NTSC-Fix
Master Kracker
Group
Mirage

Released on 1 January 1992, this intro features code by Roy and music by Johannes Bjerregaard — the prolific Danish SID composer whose tune "Mixerplot" is preserved in the HVSC. Kevin Bulmer contributed the charset, while Master Kracker provided an NTSC fix for North American compatibility. Notably, the CSDb entry lists this release under Genesis Project rather than a standalone Mirage group, suggesting the two names may refer to the same organisation or a close partnership. This ambiguity also appears in #293 Mirage-01, where a similar CSDb/Genesis Project overlap is noted. Bjerregaard's involvement adds significant musical pedigree — his compositions were among the most respected in the SID world, used by numerous groups throughout the late 1980s and early 1990s. The NTSC fix by Master Kracker indicates the crack was intended for transatlantic distribution beyond the European scene.

Sources: CSDb · intros.c64.org

mirage-02.asm 3.905 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:56
// 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:  $2540 (9536)
// IRQ handler:  $1e00 (irq_1e00)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 3403 bytes, Data: 60085 bytes
// Labels: 388, Subroutines: 15
//
// Cross-references: all OK
// ============================================


// --- Region $0906-$091a ---
.pc = $0906 "Program $0906"
        asl.abs $0018
        ora ($1c,x)
        cpy #$02
        dey
        .byte $22                                   // jam // ILLEGAL

dat_090f:
        .byte $88,$06,$60,$80,$08                   // ..`..
// Referenced by: jsr from $ffa1

sub_0914:
        jsr sub_288a
        ldy #$80
        plp
        .byte $02                                   // jam // ILLEGAL

// --- Region $0b0d-$0b0e ---
.pc = $0b0d "sub_0b0d"
// Referenced by: jsr from $ff77

sub_0b0d:
        plp
        .byte $22                                   // jam // ILLEGAL

// --- Region $0e01-$0e05 ---
.pc = $0e01 "sub_0e01"
// Referenced by: jsr from $ff6a

sub_0e01:
        .byte $ff,$ff,$fe                           // isc $feff,x // ILLEGAL
        tay
        brk

// --- Region $0e0f-$0e0f ---
.pc = $0e0f "sub_0e0f"
// Referenced by: jsr from $ff7a

sub_0e0f:
        brk

// --- Region $0f18-$0f37 ---
.pc = $0f18 "loc_0f18"

loc_0f18:
        bpl loc_0f2a

loc_0f1a:
        bpl loc_0f2c

loc_0f1c:
        bpl loc_0f2e

loc_0f1e:
        bpl loc_0f30
// Referenced by: jsr from $ffa7

sub_0f20:
        bpl loc_0f32

loc_0f22:
        bpl loc_0f65
        .byte $42                                   // jam // ILLEGAL

scr_0f25:
        // === Screen RAM (5 bytes, $0f25-$0f29) ===
        .encoding "screencode_mixed"
        .byte $43                                   // scrcode: .
        .text "pp"
        .byte $53,$44                               // scrcode: ..
        .encoding "petscii_upper"

loc_0f2a:
        eor $46

loc_0f2c:
        .byte $47,$48                               // sre $48 // ILLEGAL

loc_0f2e:
        eor #$4a

loc_0f30:
        .byte $4b,$4c                               // alr #$4c // ILLEGAL

loc_0f32:
        eor $4f4e
        bvc loc_0f88
        .byte $52                                   // jam // ILLEGAL

// --- Region $0f65-$0f6f ---
.pc = $0f65 "loc_0f65"

loc_0f65:
        cli
        eor $5b5a,y
        .byte $5c,$5d,$5e                           // nop $5e5d,x // ILLEGAL
        .byte $5f,$60,$61                           // sre $6160,x // ILLEGAL

scr_0f6f:
        // === Screen RAM (1 bytes, $0f6f-$0f6f) ===
        .byte $62                                   // scrcode: .

// --- Region $0f88-$0fa5 ---
.pc = $0f88 "loc_0f88"

loc_0f88:
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($07,x)
        .byte $0f,$0a,$08                           // slo $080a // ILLEGAL
        .byte $02                                   // jam // ILLEGAL

// --- Region $1000-$1003 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $1d20, $f2f3, $f326

sub_1000:
        jmp loc_1437