Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Trying to learn how to create Sonic 2 Master System hacks

Reply to topic
Author Message
  • Joined: 05 Sep 2022
  • Posts: 4
Reply with quote
Trying to learn how to create Sonic 2 Master System hacks
Post Posted: Mon Sep 05, 2022 8:12 pm
After learning how to hack Super Mario Kart, I've decided it would be fun to create a rom hack of Sonic 2 on the Master System and the Game Gear.

However, I wasn't able to find any tutorials or tools to hack Sonic 2 though.

Even when using the spritesheet editor I have, everything loads up, but all jumbled up, and unrecognizable without the correct palette.

If anyone can help me with the problem I have, let me know.
  View user's profile Send private message
  • Joined: 16 Dec 2008
  • Posts: 38
  • Location: UK
Reply with quote
Post Posted: Mon Sep 05, 2022 10:07 pm
There are some brief guides over on Sonic Retro

If you have a specific question I can try and answer it for you.
  View user's profile Send private message
  • Joined: 05 Sep 2022
  • Posts: 4
Reply with quote
Post Posted: Tue Sep 06, 2022 7:20 pm
What type of program do you need to use to edit the character sprites? (such as Sonic, Tails, Robotnik, or any of the badniks)
  View user's profile Send private message
  • Joined: 16 Dec 2008
  • Posts: 38
  • Location: UK
Reply with quote
Post Posted: Tue Sep 06, 2022 8:07 pm
http://info.sonicretro.org/Aspect_Edit

It's designed for use with the disassembly - see Sonic Retro if you don't already have that. It's not the most friendly tool but it supports all of the necessary compression methods for the Aspect games.
  View user's profile Send private message
  • Joined: 05 Sep 2022
  • Posts: 4
Reply with quote
Post Posted: Wed Sep 07, 2022 9:44 pm
Did everything correctly. It works, but the tiles for the sprites are still jumbled up. I also don't know how to compress them either. This is my first time using these programs, so I am new to this.
  View user's profile Send private message
  • Joined: 16 Dec 2008
  • Posts: 38
  • Location: UK
Reply with quote
Post Posted: Thu Sep 08, 2022 2:48 pm
What do you mean by "jumbled up"? You mean in the editor or when you play the compiled ROM in an emulator? Assuming you mean the editor and ares seeing something like the attached screenshot, that's normal.

The word "sprite" can have different meanings, depending on the context, so I'll try and clarify.

On the one hand there's what the Master System VDP calls a sprite. These are small data structures that the programmer populates to instruct the hardware to fetch tile data from VRAM and draw it somewhere on the screen. Depending on how that structure is configured the VDP will pull either 1 or 2 consecutive tiles from VRAM, resulting in drawing an 8x8 pixel sprite, or an 8x16 pixel sprite. The Aspect engine uses 8x16 sprites almost exclusively.

On the other hand you have what a game engine (the software) might call a sprite. For example, the picture of Sonic. These are actually assembled from multiple hardware sprites. Throughout the disassembly, I try to refer to these as "game objects", and their pictures as "frames of animation", to try and keep the distinction clear. Basically, the game object will appear at some (x,y) coordinate in the level and the engine will fill in the sprite data structures to arrange the hardware sprites around that (x,y) coordinate.

I *think* you're referring to the latter.

AspectEdit lets you modify the tile data but it doesn't know anyting about how to arrange those tiles into an animation frame. The "Arranger" square at the bottom right of the editor window lets you manually paint tiles to see how they fit together, but only in a very basic sense. There's an "auto-arrange" function that can lay out tiles in a simple grid.

Using the Sonic tile data from the screenshot as an example:
- select the first tile in the tileset view
- right click somewhere in the Arranger and change it to "Select Mode"
- then click one of the grid boxes to select where you want the tiles to be arranged
- right click again and select "Auto Arrange"
- for sonic's standing/walking animations leave the defaults and click "OK'

That should pull tiles from the tileset in the same way the SMS VDP would (...ish - it doesn't support mirroring) and draw them into that box.

This guide on Sonic Retro shows an exanple of constructing a new badnik from tile art data & then choosing (or making) the arrangement data to get those tiles displayed on screen: https://info.sonicretro.org/SCHG_How-to:Add_a_Custom_Badnik_to_Sonic_2_SMS#Defin...

The full set of arrangement configurations supported by the Sonic 2 engine are shown here: https://bitbucket.org/mark_mcs/sonic-2-sms-disassembly/src/master/src/sprite_arr...

You can, of course, modify those if you need something non-standard.

  View user's profile Send private message
  • Joined: 05 Sep 2022
  • Posts: 4
Reply with quote
Post Posted: Thu Sep 08, 2022 9:14 pm
I figured it out now. I've also figured out that the levels need to be at a certain width to see it, so no problem there.

But there's one thing that's been bothering me.

I was examining the levels before editing them, and I noticed that there are no badniks, monitors, or the signpost in the level. Is there something you have to do to view them? Because I don't see them anywhere.
  View user's profile Send private message
  • Joined: 16 Dec 2008
  • Posts: 38
  • Location: UK
Reply with quote
Post Posted: Fri Sep 09, 2022 8:34 am
It doesn't support editing object layouts graphically. You have to tweak the layout data yourself. See the link to the guide in my previous post for an example.
  View user's profile Send private message
Reply to topic



Back to the top of this page

Back to SMS Power!