#646

Doughnut Cracking Service [DCS] 02

Doughnut Cracking Service [DCS]

1.429 lines of code

RasterbarsRSTRScrollerSCRLSpritesSPRT

History

Code
Crime
Graphics
M+K
Charset
Grayhound
Music
Mad (Marcel Donne)
Released
8 July 1988
Group
Doughnut Cracking Service -- CSDb group ID #762, United Kingdom, founded January 1984

Doughnut Cracking Service Crack Intro #02 is a July 1988 release from the British cracking group DCS, founded in January 1984 -- making them one of the oldest C64 cracking crews. The intro was coded by Crime, with graphics by M+K, charset by Grayhound, and music by Mad (Marcel Donne), whose SID track "Amyloid" accompanies the display and is preserved in the High Voltage SID Collection. The scrolltext dates the crack to 27 August 1988 and describes it as "another fast crack" with mega training by Sean and Ade. Greetings are sent to Bros, Zenith, Hotline, SCG, Ikari, NATO, FCG, Fairlight, ESI, NFI, Tristan, Epic, NFC, and The Movers. The scroll specifically thanks Crime for the "new" DCS intro, suggesting this design replaced an earlier version. The release is preserved on CSDb as entry #95819 and sits between intros #01 and #03 on Doc Snyder's page.

Sources: CSDb Release · Doc Snyder · intros.c64.org

dcs-02.asm 1.429 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:37
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $ffff  (63487 bytes)
// Crunched with NSU Packer 1.1 — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $c6be (50878)
// IRQ handler:  $c900 (irq_c900)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 1196 bytes, Data: 62291 bytes
// Labels: 145, Subroutines: 10
//
// Verification: 4 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $20d0-$20d0 ---
.pc = $20d0 "Segment $20d0"
        brk

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

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

// --- Region $c670-$c6cf ---
.pc = $c670 "sub_c670"

// Referenced by: jsr from $c991
sub_c670: {
        inc $29
        bne done
        lda #$fd
        sta $29
        lda $08d8
        pha
        lda $08e0
        pha
        lda $08e8
        pha
        ldx #$00
loop:
        lda $08d9,x
        sta $08d8,x
        lda $08e1,x
        sta $08e0,x
        lda $08e9,x
        sta $08e8,x
        inx
        cpx #$07
        bne loop
        pla
        sta $08ef
        pla
        sta $08e7
        pla
        sta $08df
done:
        rts
}
// Referenced by: jsr from $c9c1

sub_c6aa:
        ldx #$00

loc_c6ac:
        lda $d969,x
        sta $d968,x
        inx
        cpx #$27
        bne loc_c6ac
        lda $d968
        sta $d98f
        rts
// Referenced by: branch from $c6c2

main_c6be:
        lda $c5
        cmp #$40
        bne main_c6be
        lda #$0b
        sta $0286
        lda #$fd
        sta $29
        jmp loc_c800

// --- Region $c800-$c870 ---
.pc = $c800 "loc_c800"

loc_c800:
        jsr $e544
        lda #$cd
        ldy #$00
        ldx #$08
        sty $fb
        sty $fd
        sta $fc
        stx $fe
        ldx #$03

loc_c813:
        lda ($fb),y
        pha
        lda ($fd),y
        sta ($fb),y
        pla
        sta ($fd),y
        inc $fb
        inc $fd
        bne loc_c813
        inc $fc
        inc $fe
        dex
        bne loc_c813
        sei
        lda #$81
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$00
        sta $0314
        lda #$c9
        sta $0315
        lda #$1b
        sta $d011
        lda #$00
        sta $d012
        cli
        ldx #$00
        stx $62
        inx
        stx $61
        lda #$12
        sta $d018
        ldx #$28
        stx $07f8
        stx $07fb
        inx
        stx $07f9
        stx $07fc