#469

Chromance 94

Chromance

3.762 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRTBitmapBMAP

History

Released
July 1991
Code
Alex
Music
Griff (Peter Varga) — "Sun for Fun (part 1)"
Graphics
Gabriel
Group
Chromance — Hungary, founded 1990

CSDb catalogues this as the "ALEX-11 (Vert. splitted moving logos)" intro — the eleventh entry in Alex's personal series of Chromance intro designs, described by its split-logo visual effect. Alex coded the intro while fellow Hungarian Griff (Peter Varga) contributed "Sun for Fun (part 1)," preserved in the HVSC. Gabriel handled the graphics. Released in July 1991, this intro arrived just a year after Chromance's 1990 founding, demonstrating the rapid pace at which the Hungarian group built its catalogue. Chromance — operating under the tagline "Light in the Night" — was Hungary's most prominent C64 cracking operation, and Alex was one of its most prolific intro coders alongside Druid, Slator, and Atomicro. The group appears multiple times in the rankings, including at #55 C-25. Doc Snyder's page documents Chromance's broad network of allies including Empire, Demonix, F4CG, Onslaught, and Fairlight.

Sources: CSDb · docsnyderspage

c-94.asm 3.762 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:13
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $8bff  (33792 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1000 (4096)
// IRQ handler:  $10a0 (irq_10a0)
//
// Code: 2242 bytes, Data: 31550 bytes
// Labels: 463, Subroutines: 26
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1037 ---
.pc = $1000 "main_1000"

main_1000:
        sei
        lda #$7f
        sta $dc0d
        jsr sub_1100
        lda #$01
        sta $d01a
        lda #$a0
        sta $0314
        lda #$10
        sta $0315
        lda #$31
        sta $d012
        lda #$1b
        sta $d011
        cli
        bne loc_1034

loc_1025:
        stx $0315

loc_1028:
        sty $0314
        sta $d012
        inc $d019
        jmp $ea81

loc_1034:
        jmp loc_1034

dat_1037:
        .byte $00                                   // .

// --- Region $1040-$1093 ---
.pc = $1040 "loc_1040"

loc_1040:
        ldy #$00
        ldx #$00

loc_1044:
        lda dat_1200,x
        sta $d011
        lda $02
        sta $d016
        lda $0100,x
        .byte $0c,$20,$d0                           // nop $d020 // ILLEGAL

loc_1055:
        sty $d018
        ldy $1240,x
        sty $d017
        inc $d017
        lda $03
        sta $d016
        bit $ea
        inx
        cpx #$3f
        bne loc_1044
        lda #$5b
        sta $d011
        ldy #$0f
        sty $d021
        lda #$03
        sta $dd00
        lda #$1e
        sta $d018
        lda #$08
        sta $d016
        sty $d000
        jsr sub_1300
        ldy #$f0
        lda #$98
        jmp loc_1028

dat_1093:
        .byte $00                                   // .

// --- Region $10a0-$10c4 ---
.pc = $10a0 "irq_10a0"

irq_10a0:
        lda #$b8
        sta $d000
        lda #$0e
        sta $dd00
        sta $d018
        lda #$1b
        sta $d011
        lda #$00
        sta $d021
        sta $d022
        sta $d023
        ldy #$d0
        lda #$39
        jmp loc_1028

dat_10c4:
        .byte $00                                   // .

// --- Region $10d0-$10e9 ---
.pc = $10d0 "loc_10d0"

loc_10d0:
        lda #$0b
        ldx #$0c
        ldy #$0f
        sta $d021
        stx $d022
        sty $d023
        ldx #$08

loc_10e1:
        dex
        bne loc_10e1
        nop
        nop
        jmp loc_1040

dat_10e9:
        .byte $00                                   // .

// --- Region $1100-$11ae ---
.pc = $1100 "sub_1100"
// Referenced by: jsr from $1006

sub_1100: