Porting the Sega Screen from S1GG to Genesis [help needed]

Ask anything your want about Megadrive/Genesis programming.

Moderator: BigEvilCorporation

Post Reply
nineko
Newbie
Posts: 7
Joined: Sat Mar 07, 2009 4:01 am
Location: italy
Contact:

Porting the Sega Screen from S1GG to Genesis [help needed]

Post by nineko » Sat Mar 07, 2009 4:22 am

Hi, I know I'm new here and that you may get the impression I'm just yet another noob who is looking for free help, I can't deny that but I thought I could at least try.

I work on simple Sonic hacks on the Genesis from time to time, and I would really like to port the Sega Screen used in Sonic 1 for the Game Gear (the one with the jumping Sonic):
Image

While I can easily recreate it using brand new 68k code, I'd prefer to do something different as a proof of concept, if possible. Basically what I want to do is to take the original Z80 code for the Sega Screen from Sonic 1 Game Gear, and use it on the Genesis as untouched as possible. This brings up some interesting problems, though.
  1. I need the Z80 code from S1GG, but there is no disassembly, and Maxim from smspower said that the code for the Sega Screen is all over the place. I tried to disassemble it with smsexaminer, but the code is, indeed, a real mess;
  2. I need the original graphics for Sonic and the Sega Screen, but this is easy and already done;
  3. There is no emulator that supports Mode 4 while in Genesis Mode (afaik);
  4. The Z80 can't access the VDP while in Genesis mode, as it can only feed the VDP with 8-bit per time while the VDP expects 16-bit words in Genesis mode (this can be circumvented by letting the Z80 run the code and ask the 68k to just feed the VDP);
  5. The memory map for the Z80 is completely different while in Genesis mode (another easy fix);
  6. Probably something else.
I'm almost inclined to give up for good, but I wanted to try yet another time.

Thanks in advance.
Image

plee
Very interested
Posts: 65
Joined: Wed Nov 29, 2006 11:32 am
Location: Houston, Texas

Post by plee » Tue Mar 10, 2009 4:22 pm

For the "Sega" background, you can just take a screen dump of the GG version and convert it to graphic tiles and easily display them back on the Genny.

Pretty much the same thing for the Sonic sprite.

If there is any music or the famous "Sega" voice, probably samples out there that you can use to play it back.

I think your over complicating the process :D

nineko
Newbie
Posts: 7
Joined: Sat Mar 07, 2009 4:01 am
Location: italy
Contact:

Post by nineko » Tue Mar 10, 2009 5:47 pm

Actually, no.
Image

That Sega Screen is animated, that's why I want to rip its code, if it was a static image I would have no problems to load it in a conventional way.
Image

plee
Very interested
Posts: 65
Joined: Wed Nov 29, 2006 11:32 am
Location: Houston, Texas

Post by plee » Tue Mar 10, 2009 8:52 pm

Actually, it's just like I said, your over-thinking the intro.

Each letter is probably 5-6 different images. You make tiles out of each state letter is drawn and change the letter with a different image while Sonic passes.

You can even just do it via all tiles (include Sonic as an image)

I would do the letters with tiles and Sonic as a sprite.

Jorge Nuno
Very interested
Posts: 374
Joined: Mon Jun 11, 2007 3:09 am
Location: Azeitão, PT

Post by Jorge Nuno » Tue Mar 10, 2009 9:02 pm

I would load the SEGA completely, use a window plane to un-mask the text gradually, and 2 sprites for sonic, then fade-out the pallete at the end.


Not sure if I can use plane W in mode4, though.

plee
Very interested
Posts: 65
Joined: Wed Nov 29, 2006 11:32 am
Location: Houston, Texas

Post by plee » Tue Mar 10, 2009 9:02 pm

Just thought of another way do it.

Use another plane or sprite to hide the "Sega" text and scroll (right) with Sonic to reveal the letters one pixel at a time. This would minimize the number tiles you need and all is needed is to make Sonic a sprite.

plee
Very interested
Posts: 65
Joined: Wed Nov 29, 2006 11:32 am
Location: Houston, Texas

Post by plee » Tue Mar 10, 2009 9:03 pm

Jorge Nuno wrote:I would load the SEGA completely, use a window plane to un-mask the text gradually, and 2 sprites for sonic, then fade-out the pallete at the end.


Not sure if I can use plane W in mode4, though.
Beat me to it :D

Post Reply