#672

Chromance 04

Chromance

5.204 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
1995
Group
Chromance — Hungary, founded 1990
Code
Atomicro
Music
SMC (Sanke Michael Choe) — A Merit Society

This crack intro from the Hungarian group Chromance is catalogued on CSDb as release #175119, simply titled "Chromance Intro" and dated 1995. Code is credited to Atomicro and music to SMC (Sanke Michael Choe) using his SID composition "A Merit Society," preserved in the HVSC. Doc Snyder's page confirms Atomicro as coder and SMC on music for this specific intro. The scrolltext announces a crack of "Morfix" from Imaic — a Slovakian game — trained and shortened by Mr. Wax. Chromance was founded in Hungary in 1990 under the tagline "Light in the Night" and became one of Eastern Europe's most prolific C64 groups. Their Hungarian base gave them unique access to Eastern European software originals that Western groups could not easily obtain. Other Chromance entries include the higher-ranked #117 C-05.

Sources: CSDb · intros.c64.org · docsnyderspage

c-04.asm 5.204 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:12
// 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:  $1200 (4608)
// IRQ handler:  $1440 (irq_1440)
// IRQ handler:  $152b (irq_152b)
// IRQ handler:  $1555 (irq_1555)
// IRQ handler:  $1584 (irq_1584)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 3954 bytes, Data: 59534 bytes
// Labels: 633, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $08d0-$08d3 ---
.pc = $08d0 "Program $08d0"
        .byte $0f,$00,$00                           // slo $0000 // ILLEGAL
        brk

// --- Region $0aad-$0ada ---
.pc = $0aad "loc_0aad"

loc_0aad:
        asl $1e1e,x
        asl $1e1e
        asl $1e1e,x

loc_0ab6:
        asl $0e1e,x
        asl $1e1e,x
        asl $1e1e,x
        asl $f0f0,x
        cpx #$e0
        cpy #$c0
        .byte $80,$80                               // nop #$80 // ILLEGAL
        asl $783c,x
        beq loc_0aad
        cpy #$80
        .byte $80,$fe                               // nop #$fe // ILLEGAL
        asl $783c,x
        beq loc_0ab6
        cpy #$80
        beq loc_0ada

loc_0ada:
        brk

// --- Region $1200-$1662 ---
.pc = $1200 "main_1200"

main_1200:
        lda #$00
        sta smc_15c5                                // SMC: modifies $15c5
        sta smc_15e8                                // SMC: modifies $15e8
        sta smc_1660                                // SMC: modifies $1660
        sta $176c
        sta smc_1460                                // SMC: modifies $1460
        sta smc_146d                                // SMC: modifies $146d
        sta $d020
        sta $d021
        jsr $e536
        lda #$ff
        sta smc_1654                                // SMC: modifies $1654
        lda #$80
        sta smc_1681                                // SMC: modifies $1681
        lda #$80
        sta smc_1559                                // SMC: modifies $1559
        lda #$40
        sta smc_1566                                // SMC: modifies $1566
        sta smc_152f                                // SMC: modifies $152f
        lda #$20
        sta smc_153c                                // SMC: modifies $153c
        lda $dc05
        and #$03
        tax
        lda $1cd1,x
        sta smc_15ab                                // SMC: modifies $15ab
        lda $1cd2,x
        sta smc_125f                                // SMC: modifies $125f
        jsr sub_1714
        ldx #$00

loc_1250:
        lda #$00
        sta $0400,x
        sta $04b8,x
        sta $1000,x
        sta $1100,x
.label smc_125f = * + 1
        lda #$05                                    // !SMC: modified by $1248
        sta $d9b8,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_1250
        sei
        lda #$33
        sta $01
        ldy #$2b
        lda #$00
        jsr sub_1289
        ldy #$2c
        lda #$0c
        jsr sub_1289
        ldy #$2d
        lda #$18
        jsr sub_1289
        jmp loc_12e6
// Referenced by: jsr from $1275, $127c, $1283

sub_1289:
        ldx #$40
        stx $40
        stx $42
        sty $41
        sty $43
        sta smc_12a7                                // SMC: modifies $12a7
        lda #$00
        sta $3e
        ldx #$00
        stx $3f

loc_129e:
        lda #$00
        sta $3d

loc_12a2:
        ldx $3f
        ldy #$00
.label smc_12a7 = * + 1
        lda $1e18,x                                 // !SMC: modified by $1293
        asl
        asl
        asl
        tax
        lda #$00
        adc #$d0
        sta smc_12b6                                // SMC: modifies $12b6

loc_12b4: