#952

Satan 01

Satan

2.620 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
July 1990
Music
JCH (Jens-Christian Huus) — "Hitsong"
Group
Satan — Netherlands

The sole catalogued intro from Satan, a Dutch cracking group whose only documented production dates from July 1990. The intro features music by JCH (Jens-Christian Huus) — specifically his composition "Hitsong," preserved in the HVSC under the path /MUSICIANS/J/JCH/Hitsong.sid. JCH was one of the most prolific SID musicians of the era, and his tunes appeared in crack intros across dozens of groups. The scrolltext preserved on Doc Snyder's page reveals the crack was of "Compunet" from Game On, handled by a member called Bullshit. The scrolltext is characteristically brief and informal, directing users to press space to play. No coder or graphics artist is credited on CSDb. Satan's CSDb group page confirms their Dutch origin but records no founding date and lists no members. As a single-intro group, Satan represents the many small cracking outfits that left only fleeting traces in the historical record.

Sources: CSDb · docsnyderspage

satan-01.asm 2.620 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:42
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $3aff  (13056 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1900 (6400)
// IRQ handler:  $1a26 (irq_1a26)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 2542 bytes, Data: 10514 bytes
// Labels: 248, Subroutines: 15
//
// Cross-references: all OK
// ============================================


// --- Region $0e00-$0e14 ---
.pc = $0e00 "sub_0e00"
// Referenced by: jsr from $1ab8

sub_0e00:
        ldx #$00

loc_0e02:
        lda $1b74
        sta $d990,x
        inx
        cpx #$50
        bne loc_0e02
        inc $0e03
        lda $0e03
        rts

chr_0e14:
        // === Charset data (1 bytes, $0e14-$0e14) ===
        .byte $00                                   // char 0 (partial)

// --- Region $0e60-$0e8b ---
.pc = $0e60 "sub_0e60"
// Referenced by: jsr from $1a2e

sub_0e60:
        lda $27a8
        inc $0e61
        nop
        nop
        nop
        pha
        and #$07
        eor #$07
        sta $033d
        pla
        lsr
        lsr
        lsr
        tax
        ldy #$00

loc_0e78:
        lda txt_2a00,x
        sta $0608,y
        lda $2a50,x
        sta $0630,y
        inx
        iny
        cpy #$28
        bne loc_0e78
        rts

chr_0e8b:
        // === Charset data (1 bytes, $0e8b-$0e8b) ===
        .byte $c8                                   // char 0 (partial)

// --- Region $1000-$11a0 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $1a21

sub_1000:
        jmp loc_100d
// Referenced by: jsr from $1aaf

sub_1003:
        jmp loc_102f

txt_1006:
        .text "- JCH -"

loc_100d:
        ldx #$00

loc_100f:
        lda $14d9,x
        sta $14d3,x
        lda $14dc,x
        sta $14d6,x
        inx
        cpx #$03
        bne loc_100f
        ldy #$00
        tya

loc_1023:
        sta $d400,y
        sta $14f6,y
        iny
        cpy #$1b
        bne loc_1023
        rts

loc_102f:
        ldx #$02
        dec $1552
        bpl loc_103b
        lda #$02
        sta $1552

loc_103b:
        lda $1552
        bne loc_1048
        lda $14ff,x
        beq loc_104b
        dec $14ff,x

loc_1048:
        jmp loc_11b6

loc_104b:
        lda $150d,x
        sta $14ff,x
        lda $14d3,x
        sta $fb
        lda $14d6,x
        sta $fc
        ldy #$00
        tya
        sta $1502,x
        lda ($fb),y
        bpl loc_107f
        and #$7f
        asl
        clc
        adc $150b
        sta $14f6,x
        inc $14d3,x
        inc $fb