Which Genesis emulator in 2019? (SpritesMind was down)

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Which Genesis emulator in 2019? (SpritesMind was down)
by on (#238901)
Apparently the widely used toolchain for building programs for Sega Genesis is SGDK (based on GCC) and its Linux port. As is my habit lately, I'm learning a console by porting a certain demo, which has simple background, sprite, and input. I'll be skipping 240p Test Suite because Artemio already has that console taken care of.

Now to test the ROM that got built from the hello world example. When I looked for a debugging Genesis emulator compatible with Ubuntu, I first looked at the Tools page on SpritesMind. Its recommended "Gens KMod" emulator shows a screenshot with a 2003 copyright date. Gens was reportedly the source of much of FCEUX's debugging UI, but it appears to be no longer maintained.

Elsewhere I saw someone recommend Regen. Despite its being unethical software by the definition of some members of this forum, I decided to evaluate it. But I hit a snag when I read the included README file:

======================
Regen/GTK+ 0.95 ReadMe
======================

By AamirM, Copyright (C) 2009


The build on the website is ten years old, making me fear NESticle/Genecyst-class accuracy. But this struck me as worse:

You may use and/or redistribute Regen provided that you :

1) Do not modify and/or alter, in any way, the files included.
2) You distribute all the files you got originally with Regen.
3) You may not sell, lease, rent or otherwise seek to gain monetary profit from
Regen.
4) You may not distribute Regen with ROM images unless you have the legal right
to distribute them.
5) You may not use Regen for commercial purposes.


The README file does not rigorously define "commercial purposes." However, the license of a different emulator-like software package, the Oracle VirtualBox Extension Pack Personal Use and Evaluation License, defines noncommercial use to "expressly exclude any use of the Product for commercial purposes or to operate, run, or act on behalf of or for the benefit of a business, organization, governmental organization, or educational institution." If Regen's definition of commercial use remotely matches Oracle's, this would rule out using Regen to test a Genesis-compatible program being developed with the intent of eventually distributing copies of the Genesis-compatible program on cartridge for a fee.

I would have requested an account on http://gendev.spritesmind.net/forum/ in order to seek clarification of the commercial use clause or recommendation of a different emulator, but instead I got this error message:

General Error

SQL ERROR [ mysqli ]

Can't connect to MySQL server on 'mysql55-166.perso' (110) [2003]

An sql error occurred while fetching this page. Please contact an administrator if this problem persists.


Which debugging Genesis emulator for Linux or Wine is any good and allows use to test a commercial project?
Re: SpritesMind is down. Which Genesis emulator in 2019?
by on (#238902)
Exodus looks pretty good as far as debugging goes, but it appears to be Windows only.
Re: SpritesMind is down. Which Genesis emulator in 2019?
by on (#238903)
Most accurate emulator is BlastEm for the time being : http://www.retrodev.com/blastem/
It doesn't have a fancy debugger yet though...
Re: SpritesMind is down. Which Genesis emulator in 2019?
by on (#238911)
My two go-tos are KEGA (despite its age (it can be finnicky if using full-screen mode and some other things), it still has excellent emulation and the audio features are fantastic), followed by BizHawk (I forget what Genesis/MD emulation core, but it's the stock default one). KEGA does not have any kind of debugger (that I know of), while BizHawk I think has some very rudimentary support. I have only used both on Windows natively.
Re: SpritesMind is down. Which Genesis emulator in 2019?
by on (#238914)
I use Mednafen, it has some debugger support for Genesis too. I haven't needed it much though, I haven't hit a single compiler bug with gcc for m68k, and I rarely need to write m68k asm.
Re: SpritesMind is down. Which Genesis emulator in 2019?
by on (#238938)
BlastEm appears to be working somewhat.

Related question: Where do Genesis developers discuss things, particularly clarification of the intended usage of SGDK, now that SpritesMind is down? Is paying for access to the SGDK Discord server via Patreon the recommended method of onboarding? Are there guides to using GCC and Binutils as distributed in SGDK and its "gendev" port to Linux without using the SGDK libraries?
Re: SpritesMind is down. Which Genesis emulator in 2019?
by on (#238958)
Spritesmind seems to work fine for a few days now...

There's a discord chat somewhere where a multitude of devs reside.
Re: SpritesMind is down. Which Genesis emulator in 2019?
by on (#238963)
Thanks for pointing out that the SpritesMind outage has ended. On Thursday, May 16, 2019, at 10:43 PM US Eastern Daylight Time, I filled out the registration form and began to wait for manual activation by an administrator. Does it usually take more than a week?

The Patreon page's promise of Discord rewards made it sound like the Discord server you're referring to is for paying patrons only.
Re: SpritesMind is down. Which Genesis emulator in 2019?
by on (#238985)
tepples wrote:
Are there guides to using GCC and Binutils as distributed in SGDK and its "gendev" port to Linux without using the SGDK libraries?

Probably, ones that predate sgdk, but why would you want to? Writing boot code is very tedious and gains you what already exists; unlike on the SNES, where no good boot code existed before you made some. Similarly you don't gain anything by writing a new linker script.

You don't have to use any sgdk user-side function if you don't want to, just don't link sgdk then. The boot code and linker script are separate from the sgdk lib.
Re: Which Genesis emulator in 2019? (SpritesMind was down)
by on (#238996)
On Friday, May 17, 2019, at 3:49 PM US EDT, as specified in the topic "Register process" on SpritesMind, I sent an email to the administrator explaining that I am human.
Re: Which Genesis emulator in 2019? (SpritesMind was down)
by on (#239010)
Tepples, I may be late to the game, but I wanted to go through the instructional process of getting the megadrive booting and doing things without relying on the SGDK libs, even though they are pretty fleshed out and good these days.

I captured my efforts here, alongside some utility code. In a small irony, it does lean on the installation of GCC targeting m68k that the Gendev package supplies.

https://github.com/Mikejmoffitt/md-framework/
Re: SpritesMind is down. Which Genesis emulator in 2019?
by on (#239464)
TmEE wrote:
Most accurate emulator is BlastEm for the time being : http://www.retrodev.com/blastem/
It doesn't have a fancy debugger yet though...

It's so accurate that you can crash it 100% of the time just by pressing Escape. Edit: Looks like whatever this bug is was fixed in the nightly builds at some point.
Re: Which Genesis emulator in 2019? (SpritesMind was down)
by on (#239740)
...and spritesmind is down again.

(EDIT 9 hours later: back up)
Re: Which Genesis emulator in 2019? (SpritesMind was down)
by on (#239741)
Too many sprites per scanline?