#523

Peterbonds 01

Peterbonds

1.114 lines of code

RasterbarsRSTRScrollerSCRL

History

Released
February 1993
Group
Peterbonds — Germany

CSDb catalogues this as "Peterbonds Intro," released in February 1993 — placing it in the twilight years of the C64 cracking scene, when most commercial software development for the platform had ceased. Peterbonds was a German group, abbreviated PETS on CSDb. No individual credits for code, music, or graphics are listed on the CSDb release page. The group is absent from Doc Snyder's Page, Demozoo, Atlantis Prophecy, and Freeze64, suggesting a limited presence in the documented scene. A February 1993 release date is notably late — by this point, the Commodore 64 market had largely collapsed, and most active groups had migrated to the Amiga or PC platforms. Groups still producing C64 content in this period were typically motivated by nostalgia or dedication to the platform rather than competitive cracking. The intros.c64.org listing has attracted comments from Daison and Rough, confirming community awareness of the production.

Sources: CSDb · CSDb Group

peterbonds-01.asm 1.114 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36: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:  $0b50 (2896)
// IRQ handler:  $0bb7 (irq_0bb7)
//
// Code: 1144 bytes, Data: 62344 bytes
// Labels: 127, Subroutines: 6
//
// Cross-references: all OK
// ============================================


// --- Region $0b50-$0cbe ---
.pc = $0b50 "main_0b50"

main_0b50:
        jsr $e518
        lda #$08
        jsr $ffd2
        ldx #$00
        stx $d020
        stx dat_0800
        stx $0801
        stx $0802

loc_0b66:
        lda #$20
        sta $06f8,x
        lda #$00
        sta $daf8,x
        sta $0400,x
        sta $0500,x
        sta $05f8,x
        inx
        bne loc_0b66

loc_0b7c:
        lda txt_0b28,x
        clc
        adc #$80
        sta $0748,x
        lda #$a0
        sta $06f8,x
        inx
        cpx #$28
        bne loc_0b7c
        sei
        lda #$1b
        sta $d011
        lda #$f1
        sta $d01a
        lda #$00
        sta $dc0e
        lda #$7f
        sta $dc0c
        lda #$31
        sta $d012
        lda #$b7
        ldx #$0b
        sta $0314
        stx $0315
        cli

loc_0bb4:
        jmp loc_0bb4

irq_0bb7:
        lda #$01
        sta $d019
        lda #$12
        sta $d018
        ldx #$00
        stx smc_0bcc                                // SMC: modifies $0bcc
        lda #$3a
        sta smc_0bd8                                // SMC: modifies $0bd8

loc_0bcb:
.label smc_0bcc = * + 1
        ldx #$00                                    // !SMC: modified by $0bc3, $0c06
        lda dat_0d51,x
        and #$07
        eor #$17
        sta $d016
.label smc_0bd8 = * + 1
        lda #$3a                                    // !SMC: modified by $0bc8, $0be7

loc_0bd9:
        cmp $d012
        bne loc_0bd9
        jsr sub_0d02
        lda smc_0bd8
        clc
        adc #$18
        sta smc_0bd8                                // SMC: modifies $0bd8
        ldx smc_0d08
        ldy smc_0d09
        lda smc_0d0e
        sta smc_0d08                                // SMC: modifies $0d08
        lda smc_0d0f
        sta smc_0d09                                // SMC: modifies $0d09
        stx smc_0d0e                                // SMC: modifies $0d0e
        sty smc_0d0f                                // SMC: modifies $0d0f
        ldx smc_0bcc
        inx
        stx smc_0bcc                                // SMC: modifies $0bcc
        cpx #$06
        bne loc_0bcb
.label smc_0c0e = * + 1
        lda #$00                                    // !SMC: modified by $0d73
        and #$07
        eor #$17
        sta $d016
        ldx #$15
        lda #$ca

loc_0c1a:
        cmp $d012
        bne loc_0c1a
        stx $d018
        jsr sub_0d37
        ldx #$05

loc_0c27:
        dex
        bne loc_0c27
        stx $d021
        lda #$08
        sta $d016
        lda #$da

loc_0c34:
        cmp $d012
        bne loc_0c34
        jsr sub_0d1f
        lda #$00
        sta $d021
        lda $dc01
        cmp #$ef
        bne loc_0c4b
        jmp loc_0d8e

loc_0c4b: