#428

Chromance 06

Chromance

1.085 lines of code

RasterbarsRSTRScrollerSCRLBitmapBMAP

History

Released
November 1990
Code
Alex
Graphics
Gabriel
Group
Chromance — Hungary, founded 1990

CSDb catalogues this as the "ALEX-02 (simple one)" — an early entry in Alex's personal intro numbering within Chromance. Released in November 1990, this arrived during Chromance's founding year. Alex coded the intro and would go on to become one of the group's most prolific intro designers, with later entries like #55 C-25 reaching much higher numbers. Gabriel provided the graphics. Disassembly confirms the intro contains no SID playback routines — it runs as a silent visual presentation. Chromance — Hungary's most prominent C64 cracking group — was just getting started, and this intro represents the beginning of what would become one of the longest-running operations in the Eastern European scene. The pairing of Alex's code with Gabriel's graphical work established a collaborative template that Chromance would refine across dozens of subsequent intros.

Sources: CSDb · docsnyderspage

c-06.asm 1.085 lines
// ============================================
// c-06 - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 vdisasm-one 1.0 build 1, 2026-03-29 17:54:10
// 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:  $0bb8 (3000)
//
// Code: 323 bytes, Data: 63165 bytes
// Labels: 154, Subroutines: 6
//
// Cross-references: all OK
// ============================================


// --- Region $0bb8-$0caa ---
.pc = $0bb8 "main_0bb8"

main_0bb8:
        lda #$00
        sta $d020
        lda #$08
        sta $0286
        jsr $e544
        ldx #$00

loc_0bc7:
        lda txt_0d22,x
        clc
        adc #$01
        sta $0478,x
        sta $0630,x
        inx
        bne loc_0bc7

loc_0bd6:
        lda $0e22,x
        clc
        adc #$01
        sta $0578,x
        sta $0730,x
        inx
        cpx #$40
        bne loc_0bd6
        ldx #$77

loc_0be9:
        lda #$21
        sta $0400,x
        sta $0770,x
        lda #$a0
        sta $05b8,x
        sta $d9b8,x
        dex
        bpl loc_0be9
        jsr sub_0cff

loc_0bff:
        sei
        lda #$4a
        jsr sub_0d12
        lda #$06
        ldx #$0e
        ldy #$03
        jsr sub_0d18
        ldx #$12
        ldy #$18
        stx $d018                                   // screen=$0400, charset=$0800
        sty $d016                                   // multicolor, 40 cols, X-scroll=0
        lda #$8a
        jsr sub_0d12
        jsr sub_0d21
        lda #$01
        jsr sub_0d18
        ldx #$16
        ldy $02
        stx $d018                                   // screen=$0400, charset=$1800
        sty $d016
        lda #$a2
        jsr sub_0d12
        pha
        pla
        ldx #$0b
        ldx #$0c
        ldy #$0f
        jsr sub_0d18
        ldx #$12
        ldy #$18
        stx $d018                                   // screen=$0400, charset=$0800
        sty $d016                                   // multicolor, 40 cols, X-scroll=0
        lda #$00
        jsr sub_0d12
        lda #$1b
        sta $d011                                   // text mode, screen on, 25 rows, Y-scroll=3
        jsr sub_0cd1
        jsr sub_0cd1
        lda #$ef
        cmp $dc01
        bne loc_0bff
        ldx #$00
        stx $d011                                   // text mode, screen off, 24 rows, Y-scroll=0
        stx $d021
        inx
        stx $0286
        jsr $e544
        ldx #$19
        jsr $e5aa
        lda #$1b
        sta $d011                                   // text mode, screen on, 25 rows, Y-scroll=3
        ldx #$49

loc_0c7b:
        lda dat_0c87,x
        sta $03de,x
        dex
        bpl loc_0c7b
        jmp $03de

dat_0c87:
        .byte $78,$a9,$34,$85,$01,$a2,$00           // x.4....

loc_0c8e:
        lda dat_1300,x
        sta $0801,x
        dex
        bne loc_0c8e
        inc $03ea
        inc $03e7

loc_0c9d:
        bne loc_0c8e
        lda #$37
        sta $01
        cli
        nop
        nop
        jmp loc_fce2

txt_0ca9:
        .encoding "screencode_mixed"
        .text "in"
        .encoding "petscii_upper"

// --- Region $0cd1-$0d21 ---
.pc = $0cd1 "sub_0cd1"
// Referenced by: jsr from $0c53, $0c56