#350

Enigma 04

Enigma

5.125 lines of code

RasterbarsRSTRMusicSIDSpritesSPRTBitmapBMAP

History

Released
February 1992
Code
Trigger
Music
JCH (Jens-Christian Huus) — "Scanliner", Drax (Thomas Mogensen) — "Freddy Knudsen", Stormbringer (Kristian Rostoen) — "Ode to Fairlight"
Graphics
Jatagan
Group
Enigma — Germany, founded May 1991

A three-composer jukebox intro from Enigma, coded by Trigger with graphics by Jatagan — the same core team behind #299 Enigma-08. The music lineup is formidable: JCH (Jens-Christian Huus) contributes "Scanliner," Drax (Thomas Mogensen) provides "Freddy Knudsen," and Stormbringer (Kristian Rostoen) adds "Ode to Fairlight" — all three preserved in the HVSC. Released in February 1992, this arrived less than a year after Enigma's May 1991 founding, yet already demonstrates access to three of the most celebrated SID composers in the Danish and Norwegian scenes. Enigma's tagline was "Cult of coolness," and their German base connected them to the largest national scene in continental Europe. The group's cracker Chrysagon frequently imported releases to the US through The Shaolin Monastery. Trigger and Jatagan formed the consistent creative backbone across Enigma's documented intros.

Sources: CSDb · Doc Snyder's Page

enigma-04.asm 5.125 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:19
// 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:  $0900 (2304)
// IRQ handler:  $0971 (irq_0971)
//
// Code: 2165 bytes, Data: 61323 bytes
// Labels: 481, Subroutines: 16
//
// Cross-references: all OK
// ============================================


// --- Region $0900-$09b1 ---
.pc = $0900 "main_0900"

main_0900:
        lda #$00
        sta $d011
        sta $d020
        jsr sub_31a0
        lda #$0c
        ldx #$00

loc_090f:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_090f
        lda #$00

loc_0920:
        sta $0400,x
        sta $0500,x
        sta $0600,x
        sta $0700,x
        inx
        bne loc_0920
        lda #$00
        jsr sub_0acc
        lda #$03
        sta $d022
        lda #$0e
        sta $d023
        sei
        lda #$01
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$28
        sta $d012
        lda #$01
        jsr sub_31ac
        ldx #$71
        ldy #$09
        stx $0314
        sty $0315
        cli

loc_095e:
        lda $0814
        beq loc_095e
        lda #$00
        sta $0814
        jsr sub_0eb4
        jsr sub_2ca0
        jmp loc_095e

irq_0971:
        inc $d019
        inc $0814
        lda $0816
        sta $0813
        nop
        nop
        nop
        lda $0811
        ora #$10
        eor #$00
        sta $d011
        ldy $0813
        lda tbl_0820,y
        sta $d016
        lda tbl_0829,y
        ora $0810
        sta $d018
        lda #$09
        ldx #$b2
        stx $0314
        sta $0315
        lda $0815
        clc
        adc #$36
        sta $d012
        jmp loc_ea81

// --- Region $0ab0-$0d0a ---
.pc = $0ab0 "sub_0ab0"
// Referenced by: jsr from $2ca8, $f49b

sub_0ab0:
        jsr sub_0b00
        jsr sub_0d14
        lda $0dc0
        eor #$00

loc_0abb:
        ora #$a0
        sta $0821
        sta $0823
        sta $0825
        sta $0827
        rts

scr_0aca:
        // === Screen RAM (2 bytes, $0aca-$0acb) ===
        .encoding "screencode_mixed"
        .text "@@"
        .encoding "petscii_upper"
// Referenced by: jsr from $0931

sub_0acc:
        lda #$00
        tax

loc_0acf:
        sta dat_3028,x
        inx
        cpx #$50
        bcc loc_0acf
        lda #$02
        sta $0dc2
        lda #$20
        sta $0dc0
        ldy #$32
        ldx #$00
        stx smc_0df0                                // SMC: modifies $0df0
        sty smc_0df1                                // SMC: modifies $0df1
        lda #$00
        jsr sub_1000
        jsr sub_0e46