#556

Genesis Project [G*P] 22

Genesis Project [G*P]

7.599 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRTBitmapBMAP

History

Released
December 1989
Code
Frankieghost
Graphics
Scrap
Charset
Roger Rabbit, Kevin Bulmer
Music
Scarzix (Carsten Berggreen) — "Axel F."
Group
Genesis Project — founded 1986

CSDb catalogues this as the "Logo Extravaganza Intro" — a title suggesting an emphasis on graphic design. Released in December 1989, it was coded by Frankieghost with graphics by Scrap, charset work by both Roger Rabbit and Kevin Bulmer, and music from Scarzix performing a SID rendition of Harold Faltermeyer's "Axel F." — the iconic Beverly Hills Cop theme. Frankieghost also coded #127 GP-04, while Scrap would become one of Genesis Project's most enduring members, still contributing code and graphics to G*P intros decades later. The collaboration between multiple charset artists on a single intro was somewhat unusual and reflects the "extravaganza" concept. Genesis Project (G*P) was founded in 1986 and is documented on Doc Snyder's page with over twenty numbered intros. This release sits within the group's prolific late-1989 period, just two months after #552 GP-05.

Sources: CSDb · docsnyderspage

gp-22.asm 7.599 lines
// ============================================
// output - Part 1 of 2
// ============================================
// 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: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $1000 (4096)
// IRQ handler:  $1121 (irq_1121)
// IRQ handler:  $117f (irq_117f)
// IRQ handler:  $11d5 (irq_11d5)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $1258 (irq_1258)
// IRQ handler:  $12e4 (irq_12e4)
// IRQ handler:  $130e (irq_130e)
//
// Code: 8383 bytes, Data: 55105 bytes
// Labels: 820, Subroutines: 31
//
// Cross-references: all OK
// ============================================


// --- Region $0803-$0803 ---
.pc = $0803 "Program $0803"
        brk

// --- Region $0904-$0904 ---
.pc = $0904 "Program $0904"
        brk

// --- Region $0b8d-$0b8f ---
.pc = $0b8d "Program $0b8d"
        .byte $80,$80                               // nop #$80 // ILLEGAL
        rti

// --- Region $0bd0-$0bd0 ---
.pc = $0bd0 "Program $0bd0"
        brk

// --- Region $0bf0-$0bf0 ---
.pc = $0bf0 "sub_0bf0"
// Referenced by: jsr from $db05

sub_0bf0:
        brk

// --- Region $0c01-$0c02 ---
.pc = $0c01 "Program $0c01"
        brk
        brk

// --- Region $0e15-$0e17 ---
.pc = $0e15 "Program $0e15"
        sed
        sed
        rts

// --- Region $0f0d-$0f17 ---
.pc = $0f0d "Program $0f0d"
        .byte $80,$80                               // nop #$80 // ILLEGAL
        .byte $80,$00                               // nop #$00 // ILLEGAL
        brk
// Referenced by: jsr from $fec8

sub_0f12:
        brk

dat_0f13:
        .byte $00,$00,$00,$00                       // ....
// Referenced by: jsr from $fed5

sub_0f17:
        brk

// --- Region $0fbe-$0fbe ---
.pc = $0fbe "loc_0fbe"

loc_0fbe:
        brk

// --- Region $1000-$18b3 ---
.pc = $1000 "main_1000"

main_1000:
        jsr $ff84
        jsr $fda3
        jsr $ff5b
        jsr $e544
        lda #$00
        sta $d020
        sta $d021
// Referenced by: jsr from $ff98

sub_1014:
        lda #$00
        sta $d01b
        lda #$00
        sta $fa
        sta $fc
        lda #$20
        sta $fb
        lda #$e0
        sta $fd

loc_1027:
        ldy #$00

loc_1029:
        lda ($fa),y
        sta ($fc),y
        lda #$00
        sta ($fa),y
        iny
        bne loc_1029
        inc $fb
        inc $fd
        lda $fb
        cmp #$30
        bne loc_1027
        ldx #$00

loc_1040:
        lda $3000,x
        sta $f000,x
        lda #$00
        sta $3000,x
        inx
        cpx #$40
        bne loc_1040
        ldx #$00
        ldy #$00

loc_1054:
        lda $1a21,x
        sta $0614,y
        clc
        adc #$40
        sta $0615,y
        clc
        adc #$40
        sta $063c,y
        clc
        adc #$40
        sta $063d,y
        iny
        iny