#805

Chromance 59

Chromance

2.571 lines of code

RasterbarsRSTRMusicSIDSpritesSPRTBitmapBMAP

History

Released
October 1990
Code
Alex
Music
Tracker, Griff, GT
Graphics
Gabriel
Group
Chromance — Hungary, founded 1990

CSDb catalogues this as the "ALEX-01 (All in side borders too)" intro — the first entry in Alex's personal intro numbering system within Chromance. Released in October 1990, the same year the Hungarian group was founded, this is an early Chromance production showcasing side-border effects. The intro features a four-SID soundtrack: Tracker (Wojciech Wojtkiewicz) contributed "Abnormal," Griff (Peter Varga) provided both "Burning Chrome: Plotter Scroll" and "Burning Chrome: Bobs Again," and GT (Geir Tjelta) added "That's the Wave It Is." Gabriel handled the graphics. The multi-tune jukebox approach became a Chromance signature, as seen in later intros such as #47 C-25. Doc Snyder's page documents the group's broader catalogue. Chromance went on to become Hungary's most prominent C64 cracking operation, and this intro marks the beginning of Alex's prolific coding career within the group.

Sources: CSDb · docsnyderspage

c-59.asm 2.571 lines
// ============================================
// output - Disassembled Source
// ============================================
// 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: $3000  (10241 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1d00 (7424)
// IRQ handler:  $1d39 (irq_1d39)
// IRQ handler:  $164a (irq_164a)
//
// Code: 1994 bytes, Data: 8247 bytes
// Labels: 319, Subroutines: 16
//
// Cross-references: all OK
// ============================================


// --- Region $0aff-$0bd9 ---
.pc = $0aff "loc_0aff"

loc_0aff:
.label sub_0b00 = * + 1
        jsr sub_0ba5
        dec $0b
        bmi $0b07
        rts

loc_0b07:
        jsr sub_0bab
        lda $0770
        sta $30
        ldx #$00

loc_0b11:
        lda $0771,x
        sta $0770,x
        inx
        cpx #$27
        bne $0b11
        lda $31
        sta $0797
        ldx #$00

loc_0b23:
        lda $32,x
        sta $31,x
        inx
        cpx #$06
        bne $0b23
        lda $30
        ldx #$e0
        jsr sub_0bb0
        lda $37
        ldx #$f0
        jsr sub_0bb0
        .byte $ab,$00                               // lax #$00 // ILLEGAL
        tay

loc_0b3d:
        lda $0107,x
        sta $0106,x
        lda $0108,x
        sta $0107,x
        lda $0146,x
        sta $0108,x
        lda $0147,x
        sta $0146,x
        lda $0148,x
        sta $0147,x
        lda $03e0,y
        sta $0148,x
        lda $0187,x
        sta $0186,x
        lda $0188,x
        sta $0187,x
        lda $02c6,x
        sta $0188,x
        lda $02c7,x
        sta $02c6,x
        lda $02c8,x
        sta $02c7,x
        lda $03f0,y
        sta $02c8,x
        inx
        inx
        inx
        iny
        cpy #$08
        bne $0b3d
        ldx $08
        inc $08
        lda dat_2d00,x
        cmp #$ff
        beq sub_0ba2
        sta $37
        cpx #$ff
        bne $0ba1
        inc $0b93

loc_0ba1:
        rts
// Referenced by: jsr from $1ead; branch from $0b96

sub_0ba2:
        lda #$00
.label sub_0ba5 = * + 1
        sta $08
        lda #$2d
        sta $0b93
// Referenced by: jsr from $0b07

sub_0bab:
        lda #$07
        sta $0b
        rts

// Referenced by: jsr from $0b30, $0b37
sub_0bb0: {
        stx $0bcb
        tax
        lsr
        lsr
        lsr
        lsr
        lsr
        clc
        adc #$08
        sta $0a
        txa
        and #$1f
        asl
        asl
        asl
        sta $09
        ldy #$00
loop:
        lda ($09),y
        sta $03f0,y
        iny
        cpy #$08
        bne loop
        rts
}
// Referenced by: jsr from $1d73

sub_0bd3: