#583

Paragon 03

Paragon

928 lines of code

RasterbarsRSTRScrollerSCRL

History

Group
Paragon -- Sweden, founded 1987

CSDb catalogues this as a Paragon intro. Disassembly confirms no writes to SID registers, establishing this as a silent scrolltext presentation. Paragon (abbreviated PRG) was a Swedish cracking group founded in 1987, registered on CSDb under group ID 576. The database lists at least thirteen Paragon-related entries including multiple intros, a decoder tool, meeting texts, and a one-file demo titled "Contact Paragon" -- indicating a group with varied output beyond pure cracking. No coder or graphic artist is individually credited on CSDb for this particular intro. This entry joins paragon-09 in the collection. Despite the CSDb documentation, Paragon left no trace on Doc Snyder's page, Demozoo, or other major archives. A CSDb entry titled "Nostalgia Intro (Paragon)" suggests ties to or influence from the group Nostalgia. The absence of individual credits is typical of smaller Swedish groups where a single member often handled all aspects of intro production.

Sources: CSDb · CSDb Group · intros.c64.org

paragon-03.asm 928 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:27
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $1fff  (6144 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $107f (4223)
// IRQ handler:  $1100 (irq_1100)
//
// Code: 604 bytes, Data: 5540 bytes
// Labels: 121, Subroutines: 6
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1087 ---
.pc = $1000 "loc_1000"

loc_1000:
        lda #$93
        jsr $ffd2
        jsr sub_1625
        jsr sub_1725
        ldx #$00
        ldy #$3f

loc_100f:
        iny
        tya
        sta $0590,x
        inx
        cpy #$dd
        bne loc_100f
        sei
        lda #$13
        sta $d018
        lda #$d8
        sta $d016
        lda #$0e
        sta $d022
        lda #$0b
        sta $d023
        lda #$00
        sta $d020
        sta $d021
        ldx #$00

loc_1038:
        lda #$00
        sta $d918,x
        lda #$08
        sta $d990,x
        sta $d9c0,x
        lda #$00
        sta $da80,x
        inx
        cpx #$70
        bne loc_1038
        lda #$00
        sta $0314
        lda #$11
        sta $0315
        lda #$01
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$00
        sta $d012
        cli

loc_1069:
        lda dat_1650
        cmp #$ff
        bne loc_1069

loc_1070:
        lda $dc01
        cmp #$ef
        bne loc_1070
        lda #$93
        jsr $ffd2
        jmp loc_1b28

main_107f:
        lda #$00
        sta dat_1650
        jmp loc_1000

dat_1087:
        .byte $00                                   // .

// --- Region $1090-$10a1 ---
.pc = $1090 "loc_1090"

loc_1090:
        lda dat_1650
        beq loc_109c
        lda $dc01
        cmp #$ef
        beq loc_109f

loc_109c:
        jmp $ea31

loc_109f:
        jmp loc_1b28

// --- Region $10f0-$11f8 ---
.pc = $10f0 "sub_10f0"
// Referenced by: jsr from $1114; branch from $10f1

sub_10f0:
        dey
        bne sub_10f0
        bit $ea
        nop
        nop
        bit $ea
        bit $ea
        nop
        rts

dat_10fd:
        .byte $00,$00,$00                           // ...

irq_1100:
        lda $d019
        sta $d019
.label smc_1107 = * + 1
        lda #$d5                                    // !SMC: modified by $160d
        sta $d016
        lda #$64

loc_110d:
        cmp $d012
        bne loc_110d
        ldy #$05
        jsr sub_10f0
        nop
        ldx #$00

loc_111a:
        lda $1200,x
        sta $d021
        sta $d020