#613

Genesis Project [G*P] 31

Genesis Project [G*P]

5.111 lines of code

MusicSIDScrollerSCRLSpritesSPRT

History

Released
1989
Music
Laxity (Thomas E. Petersen) — "Beastie Boys Intro Music"
Group
Genesis Project — founded 1986

CSDb catalogues this as the Genesis Project "Scrollers Intro," released in 1989 with music by Laxity (Thomas E. Petersen) — his "Beastie Boys Intro Music" composition preserved in the HVSC. Laxity was one of the C64 scene's most celebrated SID musicians, and his involvement with Genesis Project reflects the group's access to top-tier talent. Genesis Project, founded in 1986 with the slogan "Europe's No. 1," were among the most enduring C64 groups, remaining active through the 2020s with new cracks and preservation releases. The group's extensive catalogue includes numerous higher-ranked entries such as #243 GP-01. Doc Snyder's page documents over twenty G*P intros spanning decades of activity. Comments on intros.c64.org from Shine and Rough confirm the intro's recognition within the archival community. No coder is credited in the CSDb entry, leaving the programmer of this particular intro unidentified.

Sources: CSDb · intros.c64.org · docsnyderspage

gp-31.asm 5.111 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:44
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $4aff  (17152 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1a00 (6656)
// IRQ handler:  $1b00 (irq_1b00)
//
// Code: 1513 bytes, Data: 15639 bytes
// Labels: 321, Subroutines: 5
//
// Cross-references: all OK
// ============================================


// --- Region $0e80-$0efc ---
.pc = $0e80 "sub_0e80"
// Referenced by: jsr from $1bb9

sub_0e80:
        lda $0ebf
        sec
        sbc #$05
        cmp #$c0
        bcc loc_0e8e
        sta $0ebf
        rts

loc_0e8e:
        adc #$08
        sta $0ebf
        ldy #$00

loc_0e95:
        lda $0749,y
        sta $0748,y
        iny
        cpy #$27
        bne loc_0e95
        ldy #$00

loc_0ea2:
        lda ($06),y
        cmp #$ff
        bne loc_0eb1
        sty $06
        lda #$47
        sta $07
        jmp loc_0ea2

loc_0eb1:
        ora #$80
        sta $076f
        inc $06
        bne loc_0ebc
        inc $07

loc_0ebc:
        rts

scr_0ebd:
        // === Screen RAM (3 bytes, $0ebd-$0ebf) ===
        .encoding "screencode_mixed"
        .text "@@"
        .byte $c6                                   // scrcode: .
        .encoding "petscii_upper"
// Referenced by: jsr from $1bbc

sub_0ec0:
        lda $0eff
        sec
        sbc #$04
        cmp #$c0
        bcc loc_0ece
        sta $0eff
        rts

loc_0ece:
        adc #$08
        sta $0eff
        ldy #$00

loc_0ed5:
        lda $0721,y
        sta $0720,y
        iny
        cpy #$27
        bne loc_0ed5
        ldy #$00

loc_0ee2:
        lda ($08),y
        cmp #$ff
        bne loc_0ef1
        sty $08
        lda #$47
        sta $09
        jmp loc_0ee2

loc_0ef1:
        ora #$80
        sta $0747
        inc $08
        bne loc_0efc
        inc $09

loc_0efc:
        rts

// --- Region $1000-$1009 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $1a35

sub_1000:
        jmp loc_107a

scr_1003:
        // === Screen RAM (3 bytes, $1003-$1005) ===
        .encoding "screencode_mixed"
        .byte $4c,$aa                               // scrcode: ..
        .text "p"
        .encoding "petscii_upper"
// Referenced by: jsr from $1b7b

sub_1006:
        jmp loc_10b0

spr_1009:
        // === Screen RAM (1 bytes, $1009-$1009) ===
        .byte $ff                                   // scrcode: .

// --- Region $107a-$1453 ---
.pc = $107a "loc_107a"

loc_107a:
        ldx #$00
        txa

loc_107d:
        lda #$00
        sta $102c,x
        sta $1062,x
        lda #$01
        sta $1029,x
        lda #$09