dog

Only here to post about CD-ROMs

I want!!
⬅️ this mark
🍷white
and Taste 🦆11
require

 

 

(Avatar by @texture, CD-ROM Journal button by @candiedreptile)


CD-ROM Journal
cdrom.ca/

amy
@amy

(download here)
(if you think this is cool, consider helping me find work/money <3)

Welcome to the next level!

NOTE: I'm aware of issues regarding audio playback and transitioning between zones, and intend to push an update once the contest judging period is over. In the meantime, you can use level select (Up Down Left Right A + Start at title screen) to explore the game.

At the 1992 Consumer Electronics Show, a teaser for a Mega CD version of Sonic 1 was shown within a sizzle reel. No Mega CD version of Sonic 1 was ever produced, and this footage is almost everything we know about this project, but it's extremely likely that this idea is what morphed into the separate game Sonic CD, the only Sonic game officially released for the console.

In 2006, Stealth released the Sonic for MegaCD tech demo, marking the first time any substantial effort was made to bring another Sonic game to the console. It contained the title screens and first levels of Sonic 1 and 2, with three playable characters. In the following years, he would build on the ideas in that demo further, eventually reaching a point where his setup accommodated a Mega CD version of a rom hack called Sonic Megamix.

For a long time, this rom hack was the only way to experience Sonic 1's levels, and was the closest you could get to playing the original game on your Mega CD...

until now.


This is a port of the original Sonic the Hedgehog (revision 1, mostly) to the Sega Mega CD (running in Mode 2/off a CD). Not a mere one-zone demo, not affected by an original hack's mechanics, this is a full playable Sonic game running on the Mega CD, with the source fully available, and with the intent of enhancing the game with the extra hardware.

I started this project about a month and a half ago to enter into the annual Sonic Hacking Contest. This was done as both a learning experience for myself to learn new hardware (I was already familiar with programming for Mega Drive, but wanted to explore its addons), and as an example others can learn from.

This has been tested with BlastEm, Fusion, Gens, and on real hardware using a Mega Everdrive Pro.

Features:

  • Expanded Sound.
    • The Mega CD comes with a chip supporting PCM playback for up to 8 channels, complementing the 10 sound channels already in the Mega Drive. This port leverages that by moving playback of drum samples to a custom PCM sound driver running on the Mega CD CPU.
    • Because drums no longer need to play on the Mega Drive hardware, an extra sound channel was added in the main sound driver to allow for more sound effects to play without cutting out channels of the music.
    • Unfortunately, I was not able to get CD audio playback fully implemented in time for the initial release. Most of the pieces are there though, and I intend to add it in a future update.
  • An open-source Mega CD game. The scene for Mega CD has grown significantly over time, and over the years there has been new homebrew and hacks of other games, but not nearly as much done with the blue guy this contest is about. This port aims to change that; this is a full game running on Mega CD, with source code and development history available for browsing right now. Code for the kernel programs to load and run the game from disk is written in mostly C using the megadev toolchain. Rom hackers and developers more familiar with the Mega Drive standalone can use the code repository as an example of how to bring more full-fledged MD projects over to Mega CD with as few changes as possible.
  • Other features:
    • Custom loading screen while files are loaded from CD
    • Modified title screen, to remind you that this is indeed utilizing Mega CD hardware
    • Various bugfixes applied (for those familiar with Sonic Retro's Sonic 1 disassembly, FixBugs is turned on)
    • Much smoother special stage. The movement of objects making up the maze was unlocked, and the walls now display with 128 degrees of rotation (up from 16).

Even though I started this project to have something for the contest, I'm incredibly happy with what's been done so far, and I intend to work on it further after the contest to add more features. I consider this the beginning of a goodbright future for Sonic games and hacks on Mega CD.

Note: Debug mode and sound test have not been fixed to accommodate for the code that has been moved around. Try at your own risk!

Credits


You must log in to comment.

in reply to @amy's post:

this looks pretty good so far!

i can verify that it works in fusion, although i tried burning it to CD-R and playing it on my model 2 console, the gameplay seems to work perfectly but there's some bothersome flickering and at least one audio channel gets stuck playing a very high-pitched buzzing sound and some other sound effect on a loop that persists even when the game is paused

my burned disc works correctly when used in fusion, and i re-did the disc imaging on the lowest speed available in my drive and it still produces the same results. has this behavior been encountered before?

*edit: here's some captured footage to better describe what i'm talking about https://file.garden/ZqAcghjacXp60TWN/2024-09-09%2014.15.49%20-%20Trim.avi

oh my god yeahhhh i'm testing it on my end right now and i'm realizing in my rush to get it ready for the hacking contest i accidentally put the wrong version of the sample data on the iso. the samples in the file are at different offesets from what the code's reading from.

what you're hearing is sonic saying "yeah!" cut off; this was part of my work toward getting cd audio working (replacing some short musical cues with sound effects played with either fm or pcm so that the game doesn't have to wait on the cd drive to load anything)

Did Green Hill, cleared all three acts, but then got thrown to a nameless Zone instead of Marble, with no objects or anything, just a blue screen as I do a short fall to my death. The invincibility theme plays on it. I wonder if it has anything to do with clearing Act 3 while having the invincibility power-up on...?

that's another bug i'm aware of. it's because each zone's data is stored in a separate file on the cd, and for a while during dev i was hardcoding when the game should stop and load instead of handling it in the main game loop. near the end of the deadline i changed that, and while it works for special stages it breaks on going from level to level (since it's considered the same "game mode" internally)