#526

Danish Gold [D-G] 01

Danish Gold [D-G]

1.027 lines of code

BitmapBMAP

History

Released
13 July 1987
Code
KNP
Group
Danish Gold — Denmark, founded 1984

A single-coder production from Danish Gold, one of Denmark's early cracking groups. KNP coded the intro, released on 13 July 1987, with no separate music or graphics credits recorded on CSDb. Danish Gold was founded in 1984, placing them among the first wave of Scandinavian cracking operations on the C64. The group's abbreviated tag "D-G" appeared on their releases. Their archived website, preserved via the Wayback Machine, confirms sustained community interest well beyond the group's active years. Denmark would become one of the most prolific countries in the C64 scene, producing legendary groups and musicians throughout the late 1980s. Danish Gold's early founding date positions them as part of the infrastructure that made Denmark's outsized scene contributions possible. The intro attracted a comment on intros.c64.org, indicating continued collector interest in this early Danish production.

Sources: CSDb

dg-01.asm 1.027 lines
// ============================================
// dg-01 - Part 1 of 3
// ============================================
// KickAssembler syntax
// Generated by Restore 64 vdisasm-one 1.0 build 1, 2026-03-29 17:54:11
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $ffff  (63487 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $c7a2 (51106)
// IRQ handler:  $c5ad (irq_c5ad)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 582 bytes, Data: 62905 bytes
// Labels: 100, Subroutines: 2
//
// Verification: 3 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $1203-$1203 ---
.pc = $1203 "sub_1203"
// Referenced by: jsr from $ff9d

sub_1203:
        brk

// --- Region $1225-$1225 ---
.pc = $1225 "Segment $1225"
        brk

// --- Region $c500-$c696 ---
.pc = $c500 "loc_c500"

loc_c500:
        sei
        lda #$35
        sta $01
        ldx #$00

loc_c507:
        lda #$00
        sta $d940,x
        sta $d980,x
        lda #$01
        sta $db00,x
        lda #$20
        sta scr_e400,x
        sta $e500,x
        sta $e600,x
        sta $e700,x
        lda chr_c800,x
        eor #$ff
        sta chr_e000,x
        lda $c900,x
        eor #$ff
        sta $e100,x
        inx
        bne loc_c507
        ldx #$27

loc_c537:
        lda $cb00,x
        sta $e4f0,x
        lda $cb28,x
        sta $e518,x
        lda txt_cb50,x
        sta $e568,x
        lda $cb78,x
        sta $e5b8,x
        lda $cba0,x
        sta $e608,x
        lda #$09
        sta $d8f0,x
        sta $d918,x
        lda $cbc8,x
        sta $da80,x
        dex
        bpl loc_c537
        lda #$00
        sta $dd00                                   // VIC bank 3 ($c000-$ffff)
        sta $d020
        sta $fb
        lda #$0b
        sta $d022
        sta $f9
        lda #$cc
        sta $fc
        lda #$fe
        sta $fe
        lda #$c5
        sta $0315                                   // set IRQ handler high byte
        lda #$ad
        sta $0314                                   // set IRQ handler low byte
        lda #$62
        sta $d012
        lda #$01
        sta $d01a                                   // raster IRQ on
        sta $f7
        lda #$7f                                    // disable all CIA1 interrupts
        sta $dc0d                                   // disable all CIA IRQs
        lda #$1b
        sta $d011                                   // text mode, screen on, 25 rows, Y-scroll=3
        ldx #$17

loc_c5a1:
        lda $c75d,x
        sta $e7a8,x
        dex
        bpl loc_c5a1
        jmp loc_c65b

// ============================================
// IRQ handler
// ============================================

irq_c5ad:
        lda #$01
        sta $d019                                   // raster // acknowledge raster IRQ
        lda $d012
        cmp #$7a                                    // wait for raster line $7a
        bcc loc_c621
        bne loc_c5be
        jmp loc_c63e

loc_c5be:
        cmp #$da
        bcc loc_c60f
        lda #$d8
        sta $d016                                   // multicolor, 40 cols, X-scroll=0
        lda #$62
        sta $d012
        lda $fd
        clc
        adc $fe
        tay
        and #$07
        sta $fd
        tya
        and #$08
        beq loc_c606
        lda #$35
        sta $01
        ldx #$00

loc_c5e1:
        lda $e681,x