#49

Pentacle 01

Pentacle

4.405 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
November 1987
Code
Gremlin
Music
Zoids by Rob Hubbard (ripped)
Group
Pentacle — Germany

Ranked #49 on intros.c64.org, this Pentacle release is catalogued on CSDb as "Pentacle Intro No. 5" and dated November 1987. CSDb credits Gremlin for the code and Rob Hubbard for the music; the SID is a rip of Hubbard's "Zoids" — the title tune from the Martech game of the same name — preserved in the HVSC under Hubbard's composer directory. Doc Snyder's verified section for this intro (listed there as Crack Intro #01) confirms Gremlin as the coder and states in the scrolltext that "our group consists only of two great members who are dueco and gremlin," with contact numbers in Germany. The second scrolltext greets Triangle, Pal/Ikari, C64CG, Detonator, Dominators, TFD, FAC, ACE, TLF, Scoop, The Beasties, Papillons, Wanderer Group, 2000 AD, F4CG, Triad, FCS and Fairlight, placing Pentacle in the mid-1987 German trading network.

Sources: CSDb · docsnyderspage

pentacle-01.asm 4.405 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:29
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $1f00 (7936)
// IRQ handler:  $0813 (irq_0813)
// IRQ handler:  $0bfb (irq_0bfb)
//
// Code: 3075 bytes, Data: 60413 bytes
// Labels: 535, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $0813-$0a00 ---
.pc = $0813 "irq_0813"

irq_0813:
        lda #$01
        sta $d019

loc_0818:
.label smc_0819 = * + 1
        lda $0a00                                   // !SMC: modified by $0848, $0966
.label smc_081c = * + 1
        ldx dat_0b00                                // !SMC: modified by $084b, $0969
.label smc_081f = * + 1
        ldy $1b00                                   // !SMC: modified by $084e, $096c
        sta $d020
        sta $d021
        stx $d023
        sty $d022
.label smc_082e = * + 1
        lda $0a01                                   // !SMC: modified by $0853, $0971
.label smc_0831 = * + 1
        ldx $0b01                                   // !SMC: modified by $087c, $0974
.label smc_0834 = * + 1
        ldy $1b01                                   // !SMC: modified by $08ab, $0977
        sta $d020
        sta $d021
        stx $d023
        sty $d022
        lda smc_0819
        clc
        adc #$08
        sta smc_0819                                // SMC: modifies $0819
        sta smc_081c                                // SMC: modifies $081c
        sta smc_081f                                // SMC: modifies $081f
        tax
        inx
        stx smc_082e                                // SMC: modifies $082e
.label smc_0857 = * + 1
        lda $0a02                                   // !SMC: modified by $0871, $097b
.label smc_085a = * + 1
        ldx $0b02                                   // !SMC: modified by $0874, $097e
.label smc_085d = * + 1
        ldy $1b02                                   // !SMC: modified by $0877, $0981
        sta $d020
        sta $d021
        stx $d023
        sty $d022
        lda smc_0857
        clc
        adc #$08
        sta smc_0857                                // SMC: modifies $0857
        sta smc_085a                                // SMC: modifies $085a
        sta smc_085d                                // SMC: modifies $085d
        tax
        dex
        stx smc_0831                                // SMC: modifies $0831
        ldx #$01

loc_0881:
        dex
        bne loc_0881
.label smc_0885 = * + 1
        lda $0a03                                   // !SMC: modified by $089f, $0985
.label smc_0888 = * + 1
        ldx $0b03                                   // !SMC: modified by $08a2, $0988
.label smc_088b = * + 1
        ldy $1b03                                   // !SMC: modified by $08a5, $098b
        sta $d020
        sta $d021
        stx $d023
        sty $d022
        lda smc_0885
        clc
        adc #$08
        sta smc_0885                                // SMC: modifies $0885
        sta smc_0888                                // SMC: modifies $0888
        sta smc_088b                                // SMC: modifies $088b
        tax
        dex
        dex
        stx smc_0834                                // SMC: modifies $0834
        ldx #$01

loc_08b0:
        dex
        bne loc_08b0
.label smc_08b4 = * + 1
        lda $0a04                                   // !SMC: modified by $08ce, $098f
.label smc_08b7 = * + 1
        ldx $0b04                                   // !SMC: modified by $08d1, $0992
.label smc_08ba = * + 1
        ldy $1b04                                   // !SMC: modified by $08d4, $0995
        sta $d020
        sta $d021
        stx $d023
        sty $d022
        lda smc_08b4
        clc
        adc #$08
        sta smc_08b4                                // SMC: modifies $08b4
        sta smc_08b7                                // SMC: modifies $08b7
        sta smc_08ba                                // SMC: modifies $08ba
        ldx #$03

loc_08d9:
        dex
        bne loc_08d9
.label smc_08dd = * + 1
        lda $0a05                                   // !SMC: modified by $08f7, $0999
.label smc_08e0 = * + 1
        ldx $0b05                                   // !SMC: modified by $08fa, $099c
.label smc_08e3 = * + 1
        ldy $1b05                                   // !SMC: modified by $08fd, $099f
        sta $d020
        sta $d021
        stx $d023
        sty $d022
        lda smc_08dd
        clc
        adc #$08
        sta smc_08dd                                // SMC: modifies $08dd
        sta smc_08e0                                // SMC: modifies $08e0
        sta smc_08e3                                // SMC: modifies $08e3
        ldx #$03

loc_0902:
        dex
        bne loc_0902
.label smc_0906 = * + 1