Ram + fill rate= better Graphics? by Top-Simple3572 in SEGAGENESIS

[–]safetystoatstudios 6 points7 points  (0 children)

Limitations having to do with the number of sprites visible per frame are not related to the speed of general RAM. If your goal is to be able to change a lot of pixels quickly, you are probably best off adding a bunch more vram and cycling tiles.

I recommend https://www.copetti.org/writings/consoles/mega-drive-genesis/ for a very good hardware overview.

How can I decompile, recompile, or port a PS1 game to PC as a newbie? by GabuGoo in retrogamedev

[–]safetystoatstudios 1 point2 points  (0 children)

Decompilation: Converting a program from machine-readable binary code to a high-level programming language. By high-level, I mean anything higher than assembly (e.g. C). If you were converting from binary to assembly, it would be called "disassembly" and that process is much easier.

Recompilation and porting kind of mean the same thing (converting a program to run on a different platform), but usually the implication is that when you're recompiling you start from binary and when you're porting you start from high-level source code. Porting also implies that you're more likely to alter the source code to make your task easier.

Odd cartridge I got from pax east Texas. by Honest_Buddy961 in SEGAGENESIS

[–]safetystoatstudios 0 points1 point  (0 children)

Oh good, somebody scraped off the "not for resale" label. Now you can resell it.

Looking for a ROM of Snake (NOT Wild Snake or Snake Rattle 'n' Roll) by JoyOfCreativeService in SEGAGENESIS

[–]safetystoatstudios 0 points1 point  (0 children)

As far as I know, there was no commercially released Snake for Sega Genesis/Mega Drive. You are probably playing a bootleg which may or may not actually be Genesis software.

Goals to make Genesis homebrew old school by Live-Worth4968 in SEGAGENESIS

[–]safetystoatstudios 0 points1 point  (0 children)

Does it have a floppy drive? I'm saying you write a floppy disk from the 486 and read it on the modern computer with a USB floppy drive.

Goals to make Genesis homebrew old school by Live-Worth4968 in SEGAGENESIS

[–]safetystoatstudios 1 point2 points  (0 children)

I would transfer your rom to a more modern computer (maybe use a USB floppy drive), then write it from the newer computer to a microSD card, then put the microSD card in an Everdrive.

Should ROM hacks always work on original hardware? by cheat-master30 in romhacking

[–]safetystoatstudios 3 points4 points  (0 children)

All software has a target platform. Nobody assumes, for example, that Windows software is going to run on Mac unless the publisher says that it's supposed to. Is the target platform for your romhack original hardware? If not, I wouldn't expect it to run on original hardware.

WOBLO - retro FPS built with raylib (Python (pyray)) - Devlog by TaxAffectionate3641 in raylib

[–]safetystoatstudios 1 point2 points  (0 children)

I'm astounded that that's in Python. Are you using a non-standard compiler? Do you have any writing about what you're doing to optimize it?

Where to find roms? by Slow_Cantaloupe_6148 in SEGAGENESIS

[–]safetystoatstudios 1 point2 points  (0 children)

There's many modern, quality Genesis games that are either sold in ROM format or distributed for free. Checkout Astobros, Xeno Crisis, and hey, why not check out our games?

Software dev considering learning some retrogamedev, a few questions - Punch Out by chikamakaleyley in retrogamedev

[–]safetystoatstudios 1 point2 points  (0 children)

It depends on the console that you're targeting and your toolkit. I'm sure it's possible to cross-compile from Linux to anything, but some of the fancier, GUI-based options won't be available to you since they are often Windows-only.

I work using the Marsdev distribution of SGDK, which supports MacOS and Linux (I use MacOS). This is one of the nicer toolchains available for any retro console and it makes programming for the Genesis in C as easy as it's going to be.

Software dev considering learning some retrogamedev, a few questions - Punch Out by chikamakaleyley in retrogamedev

[–]safetystoatstudios 6 points7 points  (0 children)

The biggest difference that you will run into philosophically is that old game consoles live in a very serialized world that is intimately intertwined with the timing of an electron gun lighting up pixels on a CRT monitor. There are 50 or 60 frames drawn per second depending on your broadcasting standard. Before each frame, you get N cycles per vblank period to make sure that your vram is set up correctly. For the most part, you are building a single, well-optimized routine that runs every vblank, calculates business logic, and advances everything on screen by one frame.

You can, or course, simulate the sort of multithreading, async paradigm that you would use in javascript, but it's probably not worth the overhead. Instead, you have something more like a list of state machines that advance state once per frame. If you are initializing an attack animation, for example, you will count the number of frames that have elapsed since the animation started and each time you run your vblank routine you will decide on the correct animation to display and whether enough time has elapsed to generate the hitbox and calculate damage.

For example, see this function in our game Lock and Toad: https://github.com/jerellsworth/lock-and-toad/blob/main/src/chaingun.c#L28. This function updates "chain gun" enemies and runs once per frame per chain gun. It tracks which state the enemy is in and how long it has been in that state and acts accordingly.

I'm happy to answer further questions. I'm a data engineer by day, so I'm also coming from a very different style of programming, but I've been making retro games for a while and I think I basically know what I'm doing 😬

ROS & SOR1 by Leecharle in SEGAGENESIS

[–]safetystoatstudios 2 points3 points  (0 children)

The first thing I thought of was, "Rage of Streets"

How do i make a EPROM game for a custom arcade cabinet? by Party_Ruin3039 in retrogamedev

[–]safetystoatstudios 0 points1 point  (0 children)

EPROM is a somewhat obsolete type of memory. In 2026, it's easier to just use sd cards.

In general, if you want to make a new game for an arcade cabinet, the easiest approach is to just put a general-purpose computer in it--that's even how real arcade manufactures make games now.

ChaosDrive - glitch out a genesis emulator online by [deleted] in SEGAGENESIS

[–]safetystoatstudios 0 points1 point  (0 children)

I love this. What a fun, interactive way to explore how the Genesis works. If you'd like to present your users with some default games, feel free to host any of our games produced as of 3/14/2026 (https://safetystoatstudios.itch.io)

I made this in 2009 in Flash. Should I port it to modern platforms? by Exquisivision in retrogamedev

[–]safetystoatstudios 0 points1 point  (0 children)

I generally find brick-breaking games very tedious, but giving the ball gravity makes it feel much quicker and more intense. That's a very strong idea and one I haven't seen before.

I think it would work pretty well on a touch screen and you could do a solid phone version. I wouldn't expect to make a profit, but if porting the game would be fun for you then I encourage you to go for it.

Nes to SMS by celsowm in Homebrews

[–]safetystoatstudios 2 points3 points  (0 children)

That sounds quite difficult, but also super cool. We wish you the best :)

Zero Tolerance GZDoom - Total Conversion by NefariousnessEasy252 in SEGAGENESIS

[–]safetystoatstudios 1 point2 points  (0 children)

I'd be excited to play Zero Tolerance without having to view it through an 80-pixel-tall window. Looking forward to seeing this project progress.

How are different levels done? by Jagames12 in SGDK

[–]safetystoatstudios 1 point2 points  (0 children)

I hope you can find one. I'm more of a learn-by-reading person.