#896

Doughnut Cracking Service [DCS] 16

Doughnut Cracking Service [DCS]

2.460 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
7 April 1989
Music
Laxity (Thomas E. Petersen) -- "Galaxylogo"
Group
Doughnut Cracking Service -- United Kingdom

Released on 7 April 1989, this DCS intro features Laxity's (Thomas E. Petersen) "Galaxylogo" -- preserved in the HVSC. Curiously, CSDb lists the release under X-Ray's group ID rather than DCS's own, suggesting a data attribution issue or a cooperative release between the British DCS and the German X-Ray. No coder or graphics credits are recorded. Doc Snyder's page documents this as DCS's third intro, with scrolltext listing group rankings that mention Illusion, Cosmos, GP, Fire Eagle, and many others -- a snapshot of the competitive hierarchy as perceived by the group in mid-1989. The scrolltext credits Mik of DCS for the crack of "Treble Champions" on 12 August 1989. Doughnut Cracking Service has multiple entries across the ranking, including #53 DCS-06 and #83 DCS-08. Laxity's music appearing in both British and German groups reinforces his status as the most widely distributed SID composer of the era.

Sources: CSDb · docsnyderspage

dcs-16.asm 2.460 lines
// ============================================
// output - Part 1 of 2
// ============================================
// 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: $30ff  (10496 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0fb0 (4016)
// IRQ handler:  $18a3 (irq_18a3)
// IRQ handler:  $19e8 (irq_19e8)
// IRQ handler:  $1a4b (irq_1a4b)
//
// Code: 2418 bytes, Data: 8078 bytes
// Labels: 227, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $0fb0-$0fcd ---
.pc = $0fb0 "main_0fb0"

main_0fb0:
        sei
        ldx #$00
        stx $d011
        lda #$01
        sta $0286
        sta $d021
        jsr $e544
        ldx #$00
        stx $d020
        stx $d021
        jmp loc_1ed0

chr_0fcc:
        // === Charset data (2 bytes, $0fcc-$0fcd) ===
        .byte $29,$3f                               // char 0 (partial)

// --- Region $1000-$1009 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $196f

sub_1000:
        jmp loc_1085

scr_1003:
        // === Screen RAM (3 bytes, $1003-$1005) ===
        .encoding "screencode_mixed"
        .byte $4c,$b5                               // scrcode: ..
        .text "p"
        .encoding "petscii_upper"
// Referenced by: jsr from $19ed

sub_1006:
        jmp loc_10bb

scr_1009:
        // === Screen RAM (1 bytes, $1009-$1009) ===
        .byte $ff                                   // scrcode: .

// --- Region $1085-$1508 ---
.pc = $1085 "loc_1085"

loc_1085:
        ldx #$00
        txa

loc_1088:
        lda #$00
        sta $1029,x
        sta $105f,x
        lda #$01
        sta $1026,x
        lda #$09
        sta $102c,x
        lda #$10
        sta $102f,x
        inx
        cpx #$03
        bcc loc_1088
        lda $1011
        sta $1013
        lda #$1f
        sta $d418
        lda #$01
        sta $100a
        rts

loc_10b5:
        lda #$00
        sta $100a
        rts

loc_10bb:
        lda $100a
        bne loc_10c1
        rts

loc_10c1:
        lda #$00
        sta $1074
        ldx #$02

loc_10c8:
        lda $100e,x
        sta $bb
        tay
        lda $1026,x
        beq loc_1120
        dec $1059,x
        bpl loc_10f7
        inc $1059,x
        dec $1071,x
        bmi loc_10eb
        lda $1068,x
        ora #$01
        sta $d404,y
        jmp loc_126a

loc_10eb:
        inc $1071,x
        lda $1068,x
        sta $d404,y
        jmp loc_126a

loc_10f7:
        lda $1041,x
        and #$10
        beq loc_111d
        lda #$81
        sta $d404,y
        lda $1012
        asl
        tay
        lda dat_1508,y
        pha
        lda $1509,y
        pha
        ldy $bb
        pla
        sta $d401,y
        pla
        sta $d400,y
        jmp loc_141d

loc_111d: