#699

Mirage 05

Mirage

2.814 lines of code

RasterbarsRSTRMusicSIDSpritesSPRT

History

Released
20 August 1991
Music
Reyn Ouwehand — "Peppered Pizza"
Charset
Skid Row
Group
Mirage — United States, founded 1988

Released on 20 August 1991, this is the fifth numbered crack intro from Mirage, an American group founded in 1988. The music — "Peppered Pizza" — is by Reyn Ouwehand, the Dutch SID composer whose work appeared across numerous crack intros and demos. The tune is preserved in the HVSC at /MUSICIANS/O/Ouwehand_Reyn/Peppered_Pizza.sid. The charset is credited to Skid Row on CSDb. Mirage is also represented at #293 Mirage-01 and #366 Mirage-02 in this collection. The use of a European composer's music by an American group illustrates the global reach of the SID music trading networks — tunes circulated freely across the Atlantic, often appearing in intros far from the composer's home scene. Ouwehand's compositions were particularly popular among US groups, and his work also appears in X-Factor's #687 XF-04.

Sources: CSDb

mirage-05.asm 2.814 lines
// ============================================
// output - Part 1 of 2
// ============================================
// 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: $3a5f  (12896 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0810 (2064)
// IRQ handler:  $0887 (irq_0887)
//
// Code: 1453 bytes, Data: 11443 bytes
// Labels: 304, Subroutines: 8
//
// Cross-references: all OK
// ============================================


// --- Region $0810-$0973 ---
.pc = $0810 "main_0810"

main_0810:
        lda #$81
        jsr $ffd2
        lda #$93
        jsr $ffd2
        ldx #$00

loc_081c:
        lda scr_3800,x
        sta $0540,x
        lda tbl_3840,x
        sta $0580,x
        inx
        bne loc_081c
        lda #$ff
        sta $d015
        lda #$1c
        sta $d018
        lda #$00
        sta $d020
        lda #$01
        sta $d028
        sta $d029
        sta $d02a
        sta $d02b
        sta $d02c
        sta $d02d
        sta $d02e
        sta $d027
        lda #$d8
        sta $d016
        lda #$39
        sta $b3
        lda #$40
        sta $b2
        sei
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        lda #$00
        jsr sub_1000
        lda #$1b
        sta $d011
        lda #$08
        sta $0315
        lda #$87
        sta $0314
        cli
        jmp loc_0990

scr_0884:
        // === Screen RAM (3 bytes, $0884-$0886) ===
        .byte $ea,$ea,$ea                           // scrcode: ...

irq_0887:
        ldy #$00
        sty $b0
        sty $b1
        ldx #$00

loc_088f:
        ldy $b0
.label smc_0892 = * + 1
.label smc_0893 = * + 2
        lda $0c50,x                                 // !SMC: modified by $0921, $0926, $092e, $0933, $0968, $096d
        sta $d000,y
.label smc_0898 = * + 1
        lda txt_0e10,x                              // !SMC: modified by $08d2, $0906, $090e
        sta $d001,y
        ldy $b1
        lda $0dc0,x
        sta $07f8,y
        iny
        cpy #$08
        bne loc_08b3
        ldy #$00
        sty $b0
        sty $b1
        jmp loc_08b9

loc_08b3:
        sty $b1
        inc $b0
        inc $b0

loc_08b9:
        ldy #$00

loc_08bb:
        iny
        cpy #$09
        bne loc_08bb
        inx
        cpx #$48
        bne loc_088f
        lda smc_0898
        cmp #$b0
        beq loc_0904
        cmp #$60
        beq loc_090c
        lda #$b0
        sta smc_0898                                // SMC: modifies $0898
        ldx #$00

loc_08d7:
        lda $0dc1,x
        sta $0dc0,x
        inx
        cpx #$47
        bne loc_08d7
        ldy #$00
        lda ($b2),y
        beq loc_08f9
        clc
        adc #$80
        sta $0e07
        inc $b2
        lda $b2
        bne loc_08f6
        inc $b3

loc_08f6:
        jmp loc_0911

loc_08f9:
.label smc_08fa = * + 1