#232

Public Enemy [PE] 03

Public Enemy [PE]

4.644 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRTBitmapBMAP

History

Released
May 1988
Code
Mandrake
Music
Jeroen Tel — "Noisy Pillars" (ripped)
Group
Public Enemy [PE] — United States, founded 1987

CSDb lists this as Public Enemy Intro 08, coded by Mandrake and released in May 1988. The music is a ripped Jeroen Tel composition — "Noisy Pillars" — one of the Dutch maestro's widely circulated tunes, preserved in the HVSC. Public Enemy was an American group founded in 1987, operating during the peak years of transatlantic software trading. The use of Jeroen Tel's music underscores how European SID compositions dominated crack intro soundtracks even in US-based groups. The Atlantis Prophecy interview archive contains multiple references to Public Enemy across various scener interviews, indicating the group was well known within the broader international scene. Mandrake's coding credit is the only individual attribution in this release. Public Enemy's name — borrowed from the hip-hop group — reflects the pop culture references common in late-1980s cracking crew nomenclature.

Sources: CSDb

pe-03.asm 4.644 lines
// ============================================
// output - Disassembled Source
// ============================================
// 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:  $1e00 (7680)
// IRQ handler:  $20ab (irq_20ab)
// IRQ handler:  $20e9 (irq_20e9)
// IRQ handler:  $2118 (irq_2118)
// IRQ handler:  $2148 (irq_2148)
// IRQ handler:  $2181 (irq_2181)
// IRQ handler:  $1026 (sub_1026)
//
// Code: 4336 bytes, Data: 59152 bytes
// Labels: 360, Subroutines: 20
//
// Cross-references: all OK
// ============================================


// --- Region $1026-$15be ---
.pc = $1026 "sub_1026"
// Referenced by: jsr from $21bf, $fac8

sub_1026:
        lda #$01
        sta $d019
        lda #$0b
        nop
        nop
        nop
        jsr sub_1ab8
        lda #$00
        nop
        nop
        nop
        rts

scr_1039:
        // === Screen RAM (5 bytes, $1039-$103d) ===
        .encoding "screencode_mixed"
        .text "1"
        .byte $ea,$4c                               // scrcode: ..
        .text "c"
        .byte $1b                                   // scrcode: .
        .encoding "petscii_upper"

loc_103e:
        ldx #$02
        dec $1b84
        bpl loc_104b
        lda chr_1b2e
        sta $1b84

loc_104b:
        nop
        nop
        nop
        stx $ff
        lda $1b2f,x
        sta $1b67
        tay
        lda $1b84
        cmp chr_1b2e
        bne loc_1071
        lda $1755,x
        sta $fb
        lda $1758,x
        sta $fc
        dec $1b38,x
        bmi loc_1074
        jmp loc_11a2

loc_1071:
        jmp loc_11b2

loc_1074:
        ldy $1b32,x
        lda ($fb),y
        cmp #$fe
        beq loc_1092
        cmp #$ff
        bne loc_109a
        lda #$00
        sta $1b38,x
        sta $1b32,x
        sta $1b35,x
        sta $1b83
        jmp loc_1074

loc_1092:
        lda #$02
        sta $1b85
        jmp loc_1b22

loc_109a:
        sta $1b78
        and #$80
        beq loc_10af
        lda $1b78
        and #$1f
        sta $1b60,x
        inc $1b32,x
        jmp loc_1074

loc_10af:
        lda $1b78
        and #$40
        beq loc_10c4
        lda $1b78
        and #$3f
        sta $1b87,x
        inc $1b32,x
        jmp loc_1074

loc_10c4:
        lda $1b78
        asl
        tay
        lda $175b,y
        sta $fd
        lda $175c,y
        sta $fe
        lda #$00
        sta $1b50,x
        ldy $1b35,x
        sta $1b53,x
        lda #$03
        sta $1b72,x
        lda ($fd),y
        sta $1b3b,x
        sta $1b77
        and #$7f
        sta $1b38,x
        inc $1b35,x
        lda $1b77
        bpl loc_1109
        iny
        lda ($fd),y
        bpl loc_1103
        sta $1b50,x
        jmp loc_1106

loc_1103:
        sta $1b44,x