#933

Doughnut Cracking Service [DCS] 20

Doughnut Cracking Service [DCS]

1.235 lines of code

RasterbarsRSTRMusicSID

History

Released
18 November 1989
Code
Accept
Music
JCH (Jens-Christian Huus) — "X-Ray"
Group
Doughnut Cracking Service — UK

CSDb catalogues this as the "DCS Intro," released on 18 November 1989. Accept coded the intro and JCH (Jens-Christian Huus) provided "X-Ray" as the soundtrack, preserved in the HVSC. JCH was a Danish SID composer renowned for developing the JCH Editor, one of the most widely used music creation tools on the C64. Notably, CSDb lists the release under the Danish group Starion (founded December 1987), suggesting Accept may have had connections to both outfits or that the intro was shared between them. Doughnut Cracking Service was a UK-based cracking group whose other ranked intros in this collection include #53 dcs-06 and #83 dcs-08. Doc Snyder's page documents their earlier intros with code by Crime, graphics by M+K, and music from composers including Jeroen Tel and Marcel Donne.

Sources: CSDb · docsnyderspage

dcs-20.asm 1.235 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:15
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $1900  (4353 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0810 (2064)
// IRQ handler:  $0853 (irq_0853)
//
// Code: 1487 bytes, Data: 2866 bytes
// Labels: 157, Subroutines: 6
//
// Verification: 2 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0810-$0975 ---
.pc = $0810 "main_0810"
main_0810: {
        lda #$00
        sta $0286
        jsr $e544
        lda #$00
        sta smc_08c9                                // SMC: modifies $08c9
        lda #$0d
        sta smc_08ca                                // SMC: modifies $08ca
        lda #$15
        sta $d018
        ldx #$00
loop:
        lda $0b00,x
        sta $0400,x
        inx
        bne loop
        sei
        lda #$01
        sta $d01a
        sta $dc0d
        lda #$1b
        sta $d011
        lda #$2b
        sta $d012
        ldx #$53
        ldy #$08
        stx $0314
        sty $0315
        cli
        jmp $0850
}

irq_0853:
        lda #$08
        sta $d016
        jmp loc_0871
// Referenced by: jsr from $096d

sub_085b:
        ldx #$00

loc_085d:
        lda dat_0a00,x

loc_0860:
        cpx $d012
        bne loc_0860
        sta $d020
        inx
        cpx #$29
        bne loc_085d
        jsr sub_0942
        rts

loc_0871:
        ldx #$00

loc_0873:
.label smc_0874 = * + 1
        ldy dat_0c00,x                              // !SMC: modified by $08a7

loc_0876:
        lda $d012

loc_0879:
        cmp $d012
        beq loc_0879
        and #$07
        ora #$10
        sta $d011
        dey
        bne loc_0876
        lda $d012
        clc
        adc #$08

loc_088e:
        cmp $d012
        bne loc_088e
        inx
        cpx #$08
        bne loc_0873
        lda #$01
        sta $d019
        ldx smc_0874
        cpx #$3c
        bne loc_08a6
        ldx #$00

loc_08a6:
        inx
        stx smc_0874                                // SMC: modifies $0874
        lda #$00
        sta $d021
        dec $0a
        dec $0a
        lda $0a
        bpl loc_08f5
        ldx #$00

loc_08b9:
        lda $0569,x
        sta $0568,x
        inx
        cpx #$28
        bne loc_08b9
.label smc_08c5 = * + 1
        lda #$06                                    // !SMC: modified by $08ed, $08fb
        sta $0a
.label smc_08c9 = * + 1
.label smc_08ca = * + 2
        lda txt_0d00                                // !SMC: modified by $081a, $081f, $08d1, $08d6
        cmp #$00
        bne loc_08dc
        lda #$00
        sta smc_08c9                                // SMC: modifies $08c9
        lda #$0d
        sta smc_08ca                                // SMC: modifies $08ca
        jmp loc_090b

loc_08dc:
        inc smc_08c9
        bne loc_08e4
        inc smc_08ca

loc_08e4: