#877

PVC 01

PVC

791 lines of code

RasterbarsRSTRBitmapBMAP

History

Released
April 1995
Group
Pirates Versus Copyright (PVC) -- United Kingdom

A crack intro from Pirates Versus Copyright, a British group whose full name overtly declares the ideological stance that animated much of the C64 cracking scene. Released in April 1995, this arrived extremely late in the platform's commercial lifecycle -- by that point, most cracking groups had disbanded or migrated to the Amiga and PC. No individual credits for code, music, or graphics are recorded on CSDb, and no SID files are associated with the release. The group's CSDb profile lists no founding date and no known members, suggesting PVC operated with minimal visibility in the broader scene. No Demozoo listing, Doc Snyder page, or Lemon64 discussion exists for the group. The 1995 release date places this among the final generation of C64 crack intros, produced when the remaining sceners were a small, dedicated core keeping the platform alive well past its commercial relevance.

Sources: CSDb

pvc-01.asm 791 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:31
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $2fff  (10240 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $2000 (8192)
// IRQ handler:  $2094 (irq_2094)
//
// Code: 424 bytes, Data: 9816 bytes
// Labels: 85, Subroutines: 2
//
// Cross-references: all OK
// ============================================


// --- Region $128d-$128d ---
.pc = $128d "Segment $128d"
        brk

// --- Region $158d-$158d ---
.pc = $158d "Segment $158d"
        brk

// --- Region $2000-$20d4 ---
.pc = $2000 "main_2000"

main_2000:
        sei
        nop
        nop
        nop
        nop
        nop
        lda #$94
        sta $0314
        lda #$20
        sta $0315
        lda #$81
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$1b
        sta $d011
        lda #$21
        sta $d012
        lda #$00
        sta $0811
        lda #$12
        sta $d018
        ldy #$00
        lda #$08
        sta $d021
        sta $0286
        jsr $e544
        lda #$00
        sta $d021
        sta $d020
        ldy #$d8

loc_2045:
        lda $0dff,y
        sta $03ff,y
        lda $0ed7,y
        sta $04d7,y
        dey
        bne loc_2045
        lda #$d8
        sta $d016
        ldx #$27

loc_205b:
        lda #$01
        jsr sub_2850
        lda txt_2100,x
        clc
        adc #$20
        sta $0658,x
        dex
        bpl loc_205b
        ldx #$0f

loc_206e:
        lda $2168,x
        clc
        adc #$20
        sta $07d7,x
        lda #$01
        sta $dbd7,x
        dex
        bpl loc_206e
        lda #$00
        sta $2753
        lda #$29
        sta $2754
        cli

loc_208a:
        lda $dc01
        and #$10
        bne loc_208a
        jmp loc_2d60

irq_2094:
.label smc_2095 = * + 1
.label smc_2096 = * + 2
        jsr sub_2200                                // !SMC: modified by $20c7, $20cd
        lda #$ff
        sta $d019
        inc $0811
        lda $0811
        cmp #$04
        bne loc_20ab
        lda #$00
        sta $0811

loc_20ab:
        asl
        tax
        lda $20d4,x
        sta $0812
        lda $d011
        and #$7f
        ora $0812
        sta $d011
        lda dat_20d3,x
        sta $d012
        lda $20db,x
        sta smc_2095                                // SMC: modifies $2095
        lda $20dc,x
        sta smc_2096                                // SMC: modifies $2096
        jmp $febc

dat_20d3:
        // === Data block (2 bytes, $20d3-$20d4) ===
        .byte $32,$00                               // 2.

// --- Region $2200-$22b9 ---
.pc = $2200 "sub_2200"
// Referenced by: jsr from $2094

sub_2200:
        ldy #$00

loc_2202:
.label smc_2203 = * + 1