#798

Sphinx 13

Sphinx

3.211 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
December 1989
Code
Flex
Charset
Unitrax; Apollyon
Music
EVS (Edwin van Santen) — "So-Phisticated III (part 3)"
Group
Sphinx — Netherlands, founded 8 May 1988

Sphinx's thirteenth intro, released in December 1989, with code by Flex and charsets contributed by both Unitrax and Apollyon. The music is EVS's "So-Phisticated III (part 3)" by Edwin van Santen, preserved in the HVSC under the 20CC directory — linking Van Santen to the Dutch group 20CC. Founded in the Netherlands on 8 May 1988 under the tagline "Reflection of Perfection," Sphinx had produced thirteen intros within roughly eighteen months. An earlier Sphinx intro appears at #787 Sphinx-07, released in June 1988 with code by Grimlock and music by Mike (Michael Hendriks). The transition from the Grimlock/Grayhound/Mike team to Flex/EVS between 1988 and 1989 illustrates the membership evolution typical of active Dutch groups. Doc Snyder's page documents three Sphinx intros with credits spanning multiple contributors. The Atlantis Prophecy archive contains an interview with the group, providing additional historical context.

Sources: CSDb · docsnyderspage · HVSC

sphinx-13.asm 3.211 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:45
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $41ff  (14848 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0f00 (3840)
// IRQ handler:  $0e1c (irq_0e1c)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 2585 bytes, Data: 12263 bytes
// Labels: 371, Subroutines: 22
//
// Cross-references: all OK
// ============================================


// --- Region $0b79-$0b9d ---
.pc = $0b79 "loc_0b79"

loc_0b79:
        ldy $bcbc,x
        ldy $bcbc,x
        ldy $ed20,x
        asl $09a2

loc_0b85:
        dex
        bne loc_0b85
        lda #$01
        sta $d020
        sta $d021
        ldx #$0a

loc_0b92:
        dex
        bne loc_0b92
        lda #$00
        sta $d020
        sta $d021
        rts

// --- Region $0be0-$0bff ---
.pc = $0be0 "sub_0be0"
// Referenced by: jsr from $0e4c

sub_0be0:
        lda #$0f
        sta $d022
        lda #$0e
        sta $d023
        lda #$06
        sta $d021
        rts
// Referenced by: jsr from $0e63

sub_0bf0:
        lda #$07
        sta $d022
        lda #$0a
        sta $d023
        lda #$09
        sta $d021
        rts

// --- Region $0d00-$0d32 ---
.pc = $0d00 "sub_0d00"
// Referenced by: jsr from $0ef9

sub_0d00:
        ldy $40
        lda $0c08,y
        iny
        cpy #$78
        bne loc_0d0c
        ldy #$00

loc_0d0c:
        sty $40
        pha
        lsr
        lsr
        lsr
        tax
        pla
        eor #$17
        and #$07
        ora #$10
        sta smc_0e43                                // SMC: modifies $0e43
        ldy #$00

loc_0d1f:
        lda $0afc,x
        sta $05e0,y
        clc
        adc #$80
        sta $0608,y
        inx
        iny
        cpy #$27
        bne loc_0d1f
        rts

scr_0d32:
        // === Screen RAM (1 bytes, $0d32-$0d32) ===
        .encoding "screencode_mixed"
        .text "("
        .encoding "petscii_upper"

// --- Region $0d40-$0d74 ---
.pc = $0d40 "sub_0d40"
// Referenced by: jsr from $0ed9

sub_0d40:
        ldy $41
        lda scr_0c00,y
        iny
        cpy #$78
        bne loc_0d4c
        ldy #$00

loc_0d4c:
        sty $41
        pha
        lsr
        lsr
        lsr
        tax
        pla
        eor #$17
        and #$07
        ora #$10
        sta smc_0e5f                                // SMC: modifies $0e5f
        ldy #$00

loc_0d5f:
        lda $0b3d,x
        sta $0630,y
        lda $0b3d,x
        clc
        adc #$80
        sta $0658,y
        iny
        inx
        cpy #$27
        bne loc_0d5f