Sonic The Hedgehog 1 for Sega/Mega-CD

Discussion in 'Engineering & Reverse Engineering' started by FireRat, Oct 26, 2013.

  1. FireRat

    FireRat

    Nah. Fuck it. Misfit
    48
    9
    8
    Chile
    Mobius Evolution 2
    Hello. For those who don't know, I have been working on an open-source port of Sonic 1 for Sega/Mega-CD, which I released at the SonicGamesDimension forums. I thought it could be a nice input, mostly because of the easiness SegaCD games have to be tested on hardware, the extra space, and all it's other nice features. It took me two weeks to do it, and I think it's pretty stable as-is. Works with all regions, and it has been tested on a PAL Mega-CD, where it works fine.

    Features:

    • Full support for all regions.
    • Supports BRAM, to save the games.
    • This port is based on MarkeyJester's two-eight project. Chunks are 128x128-sized.
    • Little bugfixes to the original engine.

    To Do:

    • Implement PCM driver
    • Implement FMV video system
    • Support for "Transfer Cable"

    Download:

    Credits:
    HCKTROX - Main author.
    SonicVaan - Hardware testing, net helper.
    SGD's people - Tests, opinions and suggestions.
    MarkeyJester - "Two-Eight" version.
    Darkon & Bakayote- SGD's splash screen's art.

    Special thanks:
    HPZMan: (VERY special thanks) Info. provider, help, and others.
    ChillyWilly: Who helped me to sort out most of mine bugs.
    SoulessSentinel: SegaCD's template.
    TristanSeifert: Hardware's notes, misc help.

    How to use:
    Before using it, you'll need to compile the game first...

    Go to source code's root folder -> Game -> BuildAllFiles.BAT
    That will compile the files required for the disc image

    Go to BuildISO.bat and you'll get your ISO ready and working.


    And remember: Every bug you find, don't be afraid to notify me. Thanks!
     
  2. RetroKoH

    RetroKoH

    Member
    1,660
    15
    18
    Project Sonic 8x16
    I was actually looking for something like this the other day... glad to see this. I'll give it a go.
     
  3. FireRat

    FireRat

    Nah. Fuck it. Misfit
    48
    9
    8
    Chile
    Mobius Evolution 2
    Hello again.

    I've just fixed some major bugs on this release, which include:

    • SEGA's CDDA delay
    • An errate in sp.asm, causing the CDDA to don't play in certain consoles and emulators (Special thanks to SonicVaan and Bobesh8, for being the only people who told me about this issue.).

    New links have been updated in the first post; Will be uploaded to Retro's wiki and my personal FTP space once my connection gets better and lets me to do so :P
     
  4. Eduardo Knuckles

    Eduardo Knuckles

    Not a loved one, but the most hated person. Misfit
    414
    9
    18
    Someplace somewhere
    Project S.A.M.G.
    Why Two-Eight instead of Kraminator?
     
  5. RetroKoH

    RetroKoH

    Member
    1,660
    15
    18
    Project Sonic 8x16
    I wanna bump this because....

    A. I feel this should be more relevant than it is.

    B. I need more clarification on how to build this. I downloaded all of the .rar's and followed your instructions. Could you please offer more clarification for me, and possibly for anyone else who has similar difficulty with this?
     
  6. NeonSynth

    NeonSynth

    Previously 'SonicVaan' Member
    388
    0
    16
    Germany, Würzburg
    Betatesting, Various hacking projects, programming synthesizers, music production
    First off, every time you change level or code inside the /Game folder, open up "buildallfiles.bat" which is also in the /Game folder. Then in the root folder open up "buildISO.bat". Then in /DiskImage there should be the built ISO. Also put the MP3s and the CUE in this folder. Hope I could help!
     
  7. Spanner

    Spanner

    The Tool Member
    3,290
    89
    28
    United Kingdom
    Sonic Hacking Contest
    Unless you actually know what you can do with a Mega CD there really is no point to convert something to use it. Same applies with the 32X. If you are going to utilise the hardware features of those consoles then yes, convert your hack to using them. If you just want to play MP3s and that's it well what's the point? Just learn how to use SMPS.
     
  8. AkumaYin

    AkumaYin

    rawr Member
    286
    6
    18
    This. I know that it is fun to play with MP3s, but after learning a good amount of SMPS myself, it really disturbs me when I see people saying that they're going to port their hack to the Sega CD and list MP3 support as a big thing *looks at Stardust Gear over at SSRG*

    I don't want to seriously offend anyone, I was just saying that you shouldn't rely on this as your source for epic music in your hack. I know most of you know better than this, but people who are very new here might try something like that...
     
  9. RetroKoH

    RetroKoH

    Member
    1,660
    15
    18
    Project Sonic 8x16
    ^^^ Admittedly I am still very new with regards to the peripheral hardware, so any advice you or Spanner or anyone have is worth hearing.
     
  10. NeonSynth

    NeonSynth

    Previously 'SonicVaan' Member
    388
    0
    16
    Germany, Würzburg
    Betatesting, Various hacking projects, programming synthesizers, music production
    I'd say if you prefer a hack with CDDA support, go with it. Keep in mind that more stuff, even FMV is on the to-do list. This source code isn't even finished yet.
     
  11. RetroKoH

    RetroKoH

    Member
    1,660
    15
    18
    Project Sonic 8x16
    aside from CDDA, isn't the only other major advantage the SIZE of the game you could put together?
     
  12. Blastfrog

    Blastfrog

    Cranky Cynic Member
    Man, if only there was ever a Neptune CD to easily make use of both addons in one machine. You could make the most badass cart games with it, mode 1 CD/32X would be pretty awesome for that. Really, you could do module music ala Sonic CD's past stages and make use of more sample channels with the 32X like Chaotix using the PVM channels for percussion. Palette indices could be freed up MD-side for the backgrounds while you don't have to worry about clashes with sprites, etc.
     
  13. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,525
    133
    43
    SonLVL
    Yeah but the problem with 32X graphics is that they don't work like MD sprites, they can only be either in front or behind all of the MD's graphics, meaning if you want Sonic to appear between the foreground and background, like when he goes through a loop, you'd have to cover him up with sprites on the 32X side.
     
  14. ICEknight

    ICEknight

    Researcher Researcher
    Wait a minute, could this be why they entirely removed the loops from Chaotix? :O
     
  15. SoullessSentinel

    SoullessSentinel

    Member
    257
    0
    16
    Grimsby, England
    Cxbx-Reloaded
    I'm still trying to decide on the best way to approach this in my port of Sonic to 32X. I don't think this is the reason loops were removed from Chaotix though, simply because I recall there are places in the game where the player appears between layers.
     
  16. ICEknight

    ICEknight

    Researcher Researcher
    I've been watching a walkthrough of the game and the only places where the player sprites go behind a piece of foreground are the fake walls that turn "translucid", and the big entrances to the tubes, which are obviously sprite-based objects and sometimes move out of place depending on the scrolling, and also a couple of columns and doors in the hub area, which I guess are also sprites. The other place where the characters can go behind the foreground is when they get automatically transported to a different place in Marina Madness, but they go behind every single piece of background when that happens.

    I can't believe the 32X couldn't handle such a simple thing and now I can't unsee how no foreground elements can overlap them (something that could be done since Kid Icarus on the NES, I think?)... However, since this was built from Sonic Crackers and that one did have overlapping foreground elements, I wonder if the levels in Chaotix do as well.
     
  17. Clownacy

    Clownacy

    Tech Member
    816
    48
    28
    Didn't the 32X just grab the finalised Mega Drive image straight from the output port? I can't imagine how the 32X could do anything more in that case.
     
  18. Blastfrog

    Blastfrog

    Cranky Cynic Member
    I know nothing about how the 32X draws sprites, whether tile or bitmap based, or if it's anything like Doom where transparency doesn't exist but rather you only have solid color info while defining the shape it sits in.

    Is it possible to have a transparency mask to delete parts of the sprite? I don't see why there couldn't be a dedicated "this is what we actually show" part of the VRAM, copying the unmodified sprites there as-needed while overwriting select pixels as index 0. I assumed this is what was already happening in Chaotix, but I guess not.
     
  19. RetroKoH

    RetroKoH

    Member
    1,660
    15
    18
    Project Sonic 8x16
    IIRC there is a Sonc 1 to 32X port also... and he seems to handle loops fine there. I'll say this. Play Sonic Classic Heroes with at least 2 characters in Chaotix mode, and you'll see why they removed the loops. XD
     
  20. flamewing

    flamewing

    Emerald Hunter Tech Member
    1,143
    4
    18
    France
    Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
    And this is using a completely different and much less restrictive code for the energy bands than what is present in Chaotix.

    More on topic: there is (was?) a project to use the 32x's twin SH-2 CPUs to make a software VDP for the 32x; it is called SuperVDP. Of course, it ends up being only 30fps, but with 256 colors; so it might be workable for a Sonic game.