Regen for Linux and Windows

Announce new emulators, discuss which games run best under each emulator, and much much more.

Moderator: General Mods

Locked
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

SmartOne wrote:What I said was exactly correct. Take a moment to refresh yourself:
SmartOne wrote:
Gil_Hamilton wrote:Because the effect of the components is often an expected part of the system behavior.
That's partially what I used to think. Now I know emulators that truly aim for accuracy go by the documented specs and/or nitty gritty hardware tests that reveal exact numbers.

Kega Fusion is this. That's why it sounds better that a real Genesis. (Yes, I know it's not 100%, but it's pretty close.)

I think simulating crappy components (I don't know much about electronic engineering, but for example how the YM2612 is so close to the PPU that you get video noise in the sound) should NOT be the aim of accurate emulators. At most this simulation should be an option decided by the user. Like an NTSC filter.
Where we disagree are the priorities of accurate emulation (emulation theory, if you will.)

The #1 priority of an accurate emulator is to produce the raw output of the system before hindrances.

Then, if the developers of the emulator wish, they might add additional code that simulates what the output "would actually have been" with system quirks and display simulation. Kega Fusion does this. It has RF and CRT modes, does it not? They are optional modifications. Are they 100% accurate? I don't think they are. Maybe I'm wrong here. (I'll admit that they do look pretty good. ...As far as RF can look "good." ) :)

Further, a plugin system can be implemented to allow for both developers and end-users to add any more "system quirks" as they see fit.

By this strategy, everyone's goals can be met. But the #1 priority needs to be raw accuracy.
The conditional phrase "at most" makes a world of difference, whether you realize it or not.

It indicates that this is a worst-case scenario, and that the OPTIMUM solution is emulation of an ideal system without the option of real-world system emulation.

Vector displays that don't flare, squared roudrect waves, LCDs that don't blur...

The ideal system is rarely what was being designed for. Everyone knew the NES didn't really output anything resembling ideal waves. Everyone knew that a vector display wouldn't really display points at the same width as lines, everyone knew that a GameBoy or GameGear LCD had horrible persistence(there are documented cases of games flickering objects to produce transparency effects with LCD persistence.).

Even on the PS1 they make those assumptions. Pretty much the entire system's library assumes composite blur will hide a massive dependence on dithering.

Hell, even the PSP. Developers assume you use the built-in speakers, and apply an utterly obscene amount of bass to the music and sound effects to compensate. It sounds like shit through a good pair of headphones because of it.


The ideal system is NOT what should be emulated by default. Glitches and imperfections of the actual hardware should be recreated, because they're a part of the system you're emulating, and what the average end-user expects.




Personally, I'd like to see an emulator with selectors to define WHICH revision of the system you're emulating and adjust the audio and video output accordingly, or even performance in some cases.
The original Genesis ran slower than subsequent revisions due to the use of a bad 68000 clone. The original Gameboy has a richer, fuller sound than the Pocket, Color, etc(Documented HERE, just for fun. Surprisingly, the DSes and GBA Micro almost generate true square waves, which is difficult.).

Yes, this would include an "ideal" system selection.

And if someone was feeling REALLY ambitious, a few of the more popular mods(such as replacing the 68000 on a Genesis with a 68030), culminating in a modular feature selection, where you can make YOUR ideal system.

Grab your personal favorite features of each system and slap them into one emulated unit.
Maybe an ideal system, except for the NTSC encoder. Or maybe you're a sadist and want the poor video of a Genesis 3 combined with the poor audio of a Genesis 1 headphone port.
And if you were feeling cute, you could enforce restrictions like "Genesis 3 units can't run 32x, SegaCD, or SMS games."

Anyways, it's a pipe dream. It's probably not going to happen. People are having enough trouble just pinning down the digital-side behavior, much less variations in the analog-side.
SmartOne
Tool
Posts: 102
Joined: Sun Aug 31, 2008 7:48 am

Post by SmartOne »

SmartOne wrote:...[T]his simulation should be an option decided by the user. Like an NTSC filter.
Better now? I was speaking from my point of view. That's usually how I talk. The most common, anyway. :roll: :wink:

I understand your desire for all those system quirks and the "how it was meant to be" factor. It's just all of that should come second. And be optional. The "main" system (I would say the Genesis 2) should be the initial core. But that's up to the emulator's developer(s) (as is everything. :P )

Thanks for the Gameboy site. It's interesting.

Why would *I* (<<< even more capital than capital "I") want to replace the 68000 with 68030? (Yes, I'm taking you literally.) All I want is 100% of the 100% correct specifications emulated.
Gil_Hamilton wrote:Grab your personal favorite features of each system and slap them into one emulated unit.
Maybe an ideal system, except for the NTSC encoder. Or maybe you're a sadist and want the poor video of a Genesis 3 combined with the poor audio of a Genesis 1 headphone port.
And if you were feeling cute, you could enforce restrictions like "Genesis 3 units can't run 32x, SegaCD, or SMS games."
We have (or could have) the tools. If you wanted to, why not?
Gil_Hamilton wrote:Anyways, it's a pipe dream. It's probably not going to happen. People are having enough trouble just pinning down the digital-side behavior, much less variations in the analog-side.
So we agree! :D
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Gil_Hamilton wrote:(there are documented cases of games flickering objects to produce transparency effects with LCD persistence.)
example
SmartOne wrote:I understand your desire for all those system quirks and the "how it was meant to be" factor. It's just all of that should come second.
Why?
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

SmartOne wrote:
SmartOne wrote:...[T]his simulation should be an option decided by the user. Like an NTSC filter.
Better now? I was speaking from my point of view. That's usually how I talk. The most common, anyway. :roll: :wink:
Yes, actually.
I understand your desire for all those system quirks and the "how it was meant to be" factor. It's just all of that should come second. And be optional. The "main" system (I would say the Genesis 2) should be the initial core. But that's up to the emulator's developer(s) (as is everything. :P )
Genesis 2s usually have a rather poor NTSC encoder, though. :P
I'd probably take the first revision of the Genesis 1(the first rev having the poor 68k clone).

I'm not aware of anything explicitly broken by the Genesis 2(the "security" boot ROM that breaks the early EA games coming with Genesis 1, rev 2), but...

I agree all the bells and whistles should be secondary to core accuracy.
Thanks for the Gameboy site. It's interesting.
No problem.
I like it, partially because I own a gray brick, a GBA Not-SP, and a DSLite. The best 3 GBs. :)
...
I also own a GBColor, but ... let's not go there.
Why would *I* (<<< even more capital than capital "I") want to replace the 68000 with 68030? (Yes, I'm taking you literally.) All I want is 100% of the 100% correct specifications emulated.
Curiosity?

I tend to do that if I have the choice. Just see what does what.
See also: turning off the Z80 in Gens to see how funky things get.
Dunno if I'd actually do the swap on my Genesis, but it's a moot point since I don't have a 68030 to swap.

Emulating mods isn't totally unprecedented, either. If I recall, some 2600 and NES emulators support the stereo mod. Which is, admittedly, a trivial change, but... meh.
King Of Chaos
Trooper
Posts: 394
Joined: Mon Feb 20, 2006 3:11 am
Location: Space

Post by King Of Chaos »

SmartOne wrote:All I want is 100% of the 100% correct specifications emulated.
Probably impossible. There's still many unknown things about the Genesis/Megadrive that may NEVER be found out. Look at the YM2612 that only recently was found by Nemesis. 100% is unrealistic, but it should come pretty close.

Same thing with the SNES and emulators.
[url=http://www.eidolons-inn.net/tiki-index.php?page=Kega]Kega Fusion Supporter[/url] | [url=http://byuu.cinnamonpirate.com/]bsnes Supporter[/url] | [url=http://aamirm.hacking-cult.org/]Regen Supporter[/url]
SmartOne
Tool
Posts: 102
Joined: Sun Aug 31, 2008 7:48 am

Post by SmartOne »

Shoot for the stars! :D
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

And I just realized that accurate sound modelling especially is very difficult. It requires a calibrated output device. And it's probably impossible to get right in the low-quality integrated crap most people use.

Video at least comes close to accurate output.
mudlord
has wat u liek
Posts: 559
Joined: Tue Sep 11, 2007 2:54 pm
Location: Banland.

Post by mudlord »

Shoot for the stars!
Yes, throw optimization entirely out the window, for the sake of you chasing perfection.

Nice. :roll:
SmartOne
Tool
Posts: 102
Joined: Sun Aug 31, 2008 7:48 am

Post by SmartOne »

SmartOne wrote:Shoot for the stars! :D
Always have to find something to criticize.

Notice the implied cheesiness conveyed by both the sentence and the wide-grinned smiley.

Didn't you ever read the posters in elementary school?

I never said anything about optimization. Do it! There. Now I did.

Optimism. And I tend to be a pessimist.
Last edited by SmartOne on Thu Sep 04, 2008 4:49 am, edited 2 times in total.
I.S.T.
Zealot
Posts: 1325
Joined: Tue Nov 27, 2007 7:03 am

Post by I.S.T. »

mudlord wrote:
Shoot for the stars!
Yes, throw optimization entirely out the window, for the sake of you chasing perfection.

Nice. :roll:
You can do both, though I imagine eventually one will give(I figure it will probably be accuracy, seeing as how code will never be able to get to atomic levels of accuracy...).
mudlord
has wat u liek
Posts: 559
Joined: Tue Sep 11, 2007 2:54 pm
Location: Banland.

Post by mudlord »

I never said anything about optimization. Do it! There. Now I did.
Thats because some people rather like to wear thier tinfoil hats and be accurate, even when there is no noticeable difference at all.
Which makes me wonder, why not compromise. There is no such thing as perfection after all, so why the constant chase for it?
seeing as how code will never be able to get to atomic levels of accuracy...
Funny, seeing as how MAMEdev are trying to do exactly that. I have to wonder though, whats the point? Meh, this will result in another byuu vs moi round, resulting in more articles on what matters in emulation....
AgetianMereu
New Member
Posts: 9
Joined: Tue Sep 02, 2008 4:40 am

Post by AgetianMereu »

mudlord wrote:...even when there is no noticeable difference at all.
Which makes me wonder, why not compromise. There is no such thing as perfection after all, so why the constant chase for it?
Well, as long as there is no noticeable difference at all, it's certainly possible to compromise by optimizing things here and there. But as soon as you get the noticeable difference, e.g. certain games requiring special hacks to work, or certain games not working at all because the emulation core is not correct, or certain stuff executing differently from the real hardware (to the point where you can see and/or hear it execute differently), you actually compromise emulation accuracy. So, in my opinion, you can compromise as long as you don't compromise accuracy. Heh, that's an interesting pun by the way...

Anyway, I guess it's useless to debate what is important in emulation, because different strokes are for different folks. Some people strive to get as much speed as possible to just play their games on PC (especially true for next-gen emulation), others consider that game-level hacks and incorrect (but speedy) emulation are not appropriate. As for me, I think it's hardly necessary right now to optimize as much as to make an emulator of a 16-bit system run on a P1-133MHz with 32 MB RAM but sacrifice emulation accuracy at the same time. Right now very little people will care if the Sega Genesis emulator requires a P1-133MHz or a P3-733MHz to run, because well, I guess at least anyone who's seriously into 16-bit emulation and who's seriously into PCs has *at least* a P3-733MHz nowadays, eh? (*and* it's funny to see how some people are buying all the latest Core 2 Duos and Quads to try and run the next-gen emulators at decent speed...) So, personally I welcome the idea of a no-hack precise emulator of Sega Megadrive, such as Regen, even if it requires five times as powerful a PC as a regular late 90s-early 00s Sega Megadrive emulator would require. Of course no emulator will ever be 100% perfect. However, I think it's one of the main goals in emulation to try and be as true to the hardware as possible in terms of software compatibility and output accuracy, and an initiative to make an emulator like that is always welcome. And everyone out there who don't yet have a P3-733Mhz can always stick to Gens, KGen, Genecyst, or another emulator out there that their PC can run. But to tell the truth, even though KGen and Genecyst run under DOS and perform quite nice on a high-end 486 or a low-end Pentium, they don't sound anything like the real thing, and their compatibility level is very low compared to the more modern Gens, Kega Fusion, and Regen. ;)

Oops, I think we're all (me included :( ) flooding this topic with our hypothetical ideas about emulation perfection and what is necessary and what is not... Personally I really need to get back to testing Regen, which is what I'm going to do in a few hours.

- Agetian
Last edited by AgetianMereu on Thu Sep 04, 2008 6:32 am, edited 1 time in total.
I.S.T.
Zealot
Posts: 1325
Joined: Tue Nov 27, 2007 7:03 am

Post by I.S.T. »

mudlord wrote:
I never said anything about optimization. Do it! There. Now I did.
Thats because some people rather like to wear thier tinfoil hats and be accurate, even when there is no noticeable difference at all.
Which makes me wonder, why not compromise. There is no such thing as perfection after all, so why the constant chase for it?
seeing as how code will never be able to get to atomic levels of accuracy...
Funny, seeing as how MAMEdev are trying to do exactly that. I have to wonder though, whats the point? Meh, this will result in another byuu vs moi round, resulting in more articles on what matters in emulation....
I think there's room for both points of view, and I understand why the MAME team does what they do. They want to preserve the games in the best way possible, and in their opinion, that's emulating the games as accurately as possible.

IMO, emulating the games/consoles to the point where it wouldn't be possible for a half-skilled coder for said console to write code that would work on the system but not the emu is the highest anyone should go. Otherwise, you'll drive yourself nuts.

As for how I think things should be done? It depends on what you're emulating, and what your goal is. I'd be fine with an emulator that gets sound and video 100% right in all retail games(by 100% right, I mean it sounds no different and looks no different.). How that is obtained is up to the person making the emulator. :)
tetsuo55
Regular
Posts: 307
Joined: Sat Mar 04, 2006 3:17 pm

Post by tetsuo55 »

I agree with Gil_Hamilton.

You choose to emulate a certain revision with all its quirks. Then later add the other revisions and make them selectable.

Unlike the snes wich already has a "dream-version" (all the best parts in a real unit) the genesis emulator could provide a default setting for a "dream-version". As this can be done in real life its not a real hack.

I have done the same with the Game-Gear, my gamegear is a remix of about 40 Game-Gear's
SmartOne
Tool
Posts: 102
Joined: Sun Aug 31, 2008 7:48 am

Post by SmartOne »

Bug:

In the Redefine Keys window, once you click Define and start the process, if you try to Cancel part-way through, Regen crashes.

Other than that I love the input system, as it's just like Kega's! It's actually intelligent and remembers the configuration when you've disconnected and reconnected a device.

Another Bug:

Doesn't like opening a ZIP containing a rom and other files. Crash.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

It's probably loading the first file in the ZIP, which happens to be not the ROM.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
thebaron

bug report

Post by thebaron »

hi.

This is an excellent emulator. I have however found two bugs.

In Revolution X the game crashes just before the wall blows up on the first level.

In Super Thunderblade, the first horizontal road you come to (and possibly all others after that as well) doesn't display properly. It appears stripey when it should appear solid grey. Rivers display correctly.

Will report other bugs if I find any.

Thanks.
King Of Chaos
Trooper
Posts: 394
Joined: Mon Feb 20, 2006 3:11 am
Location: Space

Post by King Of Chaos »

Yeah, I can confirm these bugs. :) There's another possible one that somebody mentioned on the Sonic Retro boards.

Load up Road Rash III and set the M68000 Overclocking feature to 3000, then set it to 4000 and it'll silently crash.
[url=http://www.eidolons-inn.net/tiki-index.php?page=Kega]Kega Fusion Supporter[/url] | [url=http://byuu.cinnamonpirate.com/]bsnes Supporter[/url] | [url=http://aamirm.hacking-cult.org/]Regen Supporter[/url]
AamirM
Regen Developer
Regen Developer
Posts: 533
Joined: Sun Feb 17, 2008 8:01 am
Contact:

Post by AamirM »

Hi,

@ thebaron and SmartOne:

Thanks for the reports.
Load up Road Rash III and set the M68000 Overclocking feature to 3000, then set it to 4000 and it'll silently crash.
Probably would crash on the real thing as well :) . As I said on sonicretro as well, this game is timing sensitive.
Gil_Hamilton wrote: The ideal system is NOT what should be emulated by default. Glitches and imperfections of the actual hardware should be recreated, because they're a part of the system you're emulating, and what the average end-user expects.
Agreed, and thats what I do. If, for example, the prefect 68000 processor was emulated (like its in Neogeo, CPS1/2 or other system) games like Gargoyle and Jim Power wouldn't run at all. But since the 68000 has these quirks (due shared bus and its size) in Genesis, these games run. And option to emulate other models can be added later as well but after I finish 32x, SCD and MasterSystem emulation ;) . How can I let user not run 32x on Genesis 3 if there is no 32x emulation at all :D .

stay safe,

AamirM
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

AamirM wrote: And option to emulate other models can be added later as well but after I finish 32x, SCD and MasterSystem emulation ;) . How can I let user not run 32x on Genesis 3 if there is no 32x emulation at all :D .

stay safe,

AamirM
Gotta have the SegaCD.
A Genny without Lunar just isn't a Genny.
AamirM
Regen Developer
Regen Developer
Posts: 533
Joined: Sun Feb 17, 2008 8:01 am
Contact:

Post by AamirM »

Gil_Hamilton wrote:
AamirM wrote: And option to emulate other models can be added later as well but after I finish 32x, SCD and MasterSystem emulation ;) . How can I let user not run 32x on Genesis 3 if there is no 32x emulation at all :D .

stay safe,

AamirM
Gotta have the SegaCD.
A Genny without Lunar just isn't a Genny.
Hi,

Never been a RPG fan. I am more of a After Burner II (32x) freak. I recommend everyone to play this awesome game port on 32x. The MD port of it is crap. Even the PC Engine port is better than it.

stay safe,

AamirM
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

AamirM wrote:
Gil_Hamilton wrote:
AamirM wrote: And option to emulate other models can be added later as well but after I finish 32x, SCD and MasterSystem emulation ;) . How can I let user not run 32x on Genesis 3 if there is no 32x emulation at all :D .

stay safe,

AamirM
Gotta have the SegaCD.
A Genny without Lunar just isn't a Genny.
Hi,

Never been a RPG fan. I am more of a After Burner II (32x) freak. I recommend everyone to play this awesome game port on 32x. The MD port of it is crap. Even the PC Engine port is better than it.

stay safe,

AamirM
Well, I was a Nintendo fanboy during the Great War.
Lunar was "the only good game" for the Genesis.

ProTip: It WASN'T the only good game. There was a sequel that was even better!
zack
Rookie
Posts: 30
Joined: Thu Sep 14, 2006 9:38 am

Post by zack »

AamirM wrote:
Hi,

Never been a RPG fan. I am more of a After Burner II (32x) freak. I recommend everyone to play this awesome game port on 32x. The MD port of it is crap. Even the PC Engine port is better than it.

stay safe,

AamirM

I just hope I can save/load srm correctly in some classical genesis RPG game(phantasy star 4 for instance) before Regen add 32x support. :(
seems I guess it should be much more easy than add 32x support.
AamirM
Regen Developer
Regen Developer
Posts: 533
Joined: Sun Feb 17, 2008 8:01 am
Contact:

Post by AamirM »

Hi,
I just hope I can save/load srm correctly in some classical genesis RPG game(phantasy star 4 for instance) before Regen add 32x support. Sad
seems I guess it should be much more easy than add 32x support.
It should be fixed in the latest beta 3. I added support for that in it.

stay safe,

AamirM
King Of Chaos
Trooper
Posts: 394
Joined: Mon Feb 20, 2006 3:11 am
Location: Space

Post by King Of Chaos »

AamirM wrote:
Load up Road Rash III and set the M68000 Overclocking feature to 3000, then set it to 4000 and it'll silently crash.
Probably would crash on the real thing as well :) . As I said on sonicretro as well, this game is timing sensitive.
True, but it shouldn't crash the program itself. :P Have like a dialog indicating a crash and have it automatically close the game and reset the feature back to normal. ;)
[url=http://www.eidolons-inn.net/tiki-index.php?page=Kega]Kega Fusion Supporter[/url] | [url=http://byuu.cinnamonpirate.com/]bsnes Supporter[/url] | [url=http://aamirm.hacking-cult.org/]Regen Supporter[/url]
Locked