the cutting room mirror

en

This article has a talk page!This article has a talk page!
view on tcrf.net

This is a sub-page of Prerelease:Sonic the Hedgehog (Genesis)/February 1990.

Watch on YouTubeSome news footage of Sega R&D which aired about four months before the Tokyo Toy Show in June 1990. Although brief and not immediately obvious, this video is the earliest known footage of Sonic 1: It shows a portion of prototype collision source code on a computer and a brief snippet of blurry gameplay on an adjacent TV screen.

The few seconds of "game" footage make it clear that this is extremely early in development, with crudely basic placeholder graphics and a test level with slopes, thought to be for testing loop-de-loops (in Sonic 1, loops work by swapping out chunks on the fly; parts of what look like the bottom of a loop and the top of a loop can be seen here). There is also a small rectangle, which may or may not be the player, as well as a glitchy sprite with two frames whose purpose is unknown. There is an orange/yellow bar on the left side of the screen.

Below is the source code that can be seen during the video:

*cd_walk            equ 0*2

*cd_jump            equ 1*2

*cd_up              equ 2*2

*cd_down            equ 3*2
 
updotmax        equ -4
downdotmax      equ 4
jumpdotmax      equ 8
 
;sprvo          equ $1c
;sprho          equ $1d
;sprvs          equ $1e
;sprhs          equ $1f
;------------------------------------------------------------------------
;   foot colition
;
;col:
    move.w  yposi(a0),d4
    move.b  sprvo(a0),d1
    add.b   sprvs(a0),d1
    ext.w   d1
    add.w   d1,d4
    move.w  xposi(a0),d5
    move.b  sprho(a0),d1
    ext.w   d1
    add.w   d1,d5
    move.w  xspeed(a0),scrhithz
?loop:
    move.w  d4,d2
    move.w  d5,d3
    moveq   #0,d0
    move.b  sprhs(a0),d0
    tst.w   xspeed(a0)
    bpl.b   ?jump
*   btst.b  #cd_right,cddot(a0)
*   beq.b   ?jump
    neg.w   d0
?jump:
    add.w   d0,d3
    bsr.w   scdchk
    tst.w   d1
    beq.b   ?end
    bpl.b   ?down
?up:
    cmp.w   #updotmax,d1
    blt.b   ?nomove
    add.w   d1,yposi(a0)
?end:
    rts
?nomove:
    bsr.b   hoseihsub
    bra.b   ?loop
    move.w  #0,xspeed(a0)
    rts
?down:
    move.w  d1,d6
    swap    d6
?down2:
    move.w  d4,d2
    move.w  d6,d3
    moveq   #0,d0
    move.b  sprhs(a0),d0
    tst.w   xspeed(a0)
    bpl.b   ?jump3
*   btst    #cd_left,cddot(a0)
*   bne.s   ?jump3
    neg.w   d0
?jump3:
    add.w   d0,d3
    bsr.w   scdchk
    tst.w   d1
    beq.b   ?end2
    bpl.b   ?down1
?up2:
    cmp.w   #updotmax,d1
    blt.b   ?nomove2

Proto_Sonic_The_Hedgehog_Genesis_early_objects_anim.gif

In the recently discovered prototype, there exists objects ID 02 and ID 03, both of which line up with an object seen at the 0:09 mark of the video. Their coordinates are fixed and while both objects might have served a function back then, they do not in this prototype.