Regen for Linux and Windows
Moderator: General Mods
Hi,
). So yes, someday Regen will have more accurate sound than Kega. But its not a big priority right now since there are only about 0.5% (maybe less) games that use it.
Just so you people know, I have taken a little break from developing Regen
. Right now I am trying to write a cycle-accurate PC-Engine/TurboGraFX-16 emulator. It is about 80% complete and can already run many games (more details here).
stay safe,
AamirM
Sesame street requires accurate HINT/VINT timings to run. It requires that interrupts happen at the exact right time with all the delays/latencies which are involved emulated correctly. When I first implemented these things, many games got glitches or broke completely (listed in history.txt). But after my new event system in 0.85 all the glitched/broken games are now working correctly. This new event system can triggers events (interrupts and some other things) cycle accurately while still allowing me to run line by line. I can give you the details if you want but basically I had to more tightly integrate the VDP and CPU together. I didn't go for cyle-by-cycle emulation due to performance issues.syntax_ wrote:Noticed "Sesame Street Counting Cafe" works good, did you have to do any timing trickery for it to work or does the line by line timing avoid this? I remember Stef and Steve had problems getting this game working.
In my testing and to my ears, in about 98.5% of the games, Kega and Regen and a real Genesis sound same. In the rest, there are a few things that Regen 0.85 doesn't get right but the latest 0.91 version has them right so then Kega and Regen will be equal. Most of the Nemesis findings are about SSG-EG which Kega doesn't emulate correctly (yayneo_bahamut1985 wrote:Wow, and I thought it was pretty good! Would it then surpass Kega Fusion's or has it already?

Just so you people know, I have taken a little break from developing Regen

stay safe,
AamirM
I just tried the linux version of Regen, so I'd like to give some feedback: speed is fine in general (maybe a little slow, but I'm only using a 1,84GHz CPU) and sound is awesome. Now for the "not so fine" part:
GUI and joypad/joystick support are badly needed (but as I understood, you're working on it); and using "simple" soft SDL for video is a rather tough limitation, OpenGL support would be great but with all the crappy drivers out there for linux (who said fglrx ?) I imagine it's a real pain in the a** to have it working properly. You should also consider XVideo, which allows hardware accelerated stuff (fullscreen, image scaling, YUV or RGB filtering, vsync, etc.). Having OpenGL and/or Xvideo support (like in snes9x-gtk or sdlmame) in Regen would be really nice.
If you manage to find some time to tackle these issues, Regen might just become THE BEST genesis emulator for linux
!
Anyway, thanks for caring about us, linux users !
GUI and joypad/joystick support are badly needed (but as I understood, you're working on it); and using "simple" soft SDL for video is a rather tough limitation, OpenGL support would be great but with all the crappy drivers out there for linux (who said fglrx ?) I imagine it's a real pain in the a** to have it working properly. You should also consider XVideo, which allows hardware accelerated stuff (fullscreen, image scaling, YUV or RGB filtering, vsync, etc.). Having OpenGL and/or Xvideo support (like in snes9x-gtk or sdlmame) in Regen would be really nice.
If you manage to find some time to tackle these issues, Regen might just become THE BEST genesis emulator for linux

Anyway, thanks for caring about us, linux users !
Hi,
stay safe,
AamirM
Yes, I was working on GUI but it has stalled due to some real life stuff getting in the way. It should've been done by now if I listened to byuu and used GTK+ for the GUI in the first place (btw, how do I combine SDL window with GTK+ window??). The joypad support is 100% complete and will be present in next release. Thanks to my friend who lent me his gamepad for few days.juetroll wrote:GUI and joypad/joystick support are badly needed (but as I understood, you're working on it)
Yeah I know. I did it this way so that it should work on most computers without any problems.juetroll wrote:and using "simple" soft SDL for video is a rather tough limitation
OpenGL support maybe present in the next release although I cannot promise. Same goes for Xvideo. But they'll be present someday for sure.juetroll wrote:OpenGL support would be great but with all the crappy drivers out there for linux (who said fglrx ?) I imagine it's a real pain in the a** to have it working properly. You should also consider XVideo, which allows hardware accelerated stuff (fullscreen, image scaling, YUV or RGB filtering, vsync, etc.). Having OpenGL and/or Xvideo support (like in snes9x-gtk or sdlmame) in Regen would be really nice.
Thanks. I appreciate it very much.juetroll wrote:I just tried the linux version of Regen, so I'd like to give some feedback
stay safe,
AamirM
-
- Veteran
- Posts: 844
- Joined: Thu Jul 29, 2004 3:56 am
Incredible! A PC-Engine emulator. I'm very interested in this emulator. For me you can take a longer break of Regen in favor of this.AamirM wrote:Hi,
Sesame street requires accurate HINT/VINT timings to run. It requires that interrupts happen at the exact right time with all the delays/latencies which are involved emulated correctly. When I first implemented these things, many games got glitches or broke completely (listed in history.txt). But after my new event system in 0.85 all the glitched/broken games are now working correctly. This new event system can triggers events (interrupts and some other things) cycle accurately while still allowing me to run line by line. I can give you the details if you want but basically I had to more tightly integrate the VDP and CPU together. I didn't go for cyle-by-cycle emulation due to performance issues.syntax_ wrote:Noticed "Sesame Street Counting Cafe" works good, did you have to do any timing trickery for it to work or does the line by line timing avoid this? I remember Stef and Steve had problems getting this game working.
In my testing and to my ears, in about 98.5% of the games, Kega and Regen and a real Genesis sound same. In the rest, there are a few things that Regen 0.85 doesn't get right but the latest 0.91 version has them right so then Kega and Regen will be equal. Most of the Nemesis findings are about SSG-EG which Kega doesn't emulate correctly (yayneo_bahamut1985 wrote:Wow, and I thought it was pretty good! Would it then surpass Kega Fusion's or has it already?). So yes, someday Regen will have more accurate sound than Kega. But its not a big priority right now since there are only about 0.5% (maybe less) games that use it.
Just so you people know, I have taken a little break from developing Regen. Right now I am trying to write a cycle-accurate PC-Engine/TurboGraFX-16 emulator. It is about 80% complete and can already run many games (more details here).
stay safe,
AamirM
Yes I know that my grammar sucks!
(btw, how do I combine SDL window with GTK+ window??).
Code: Select all
bool init() {
display = XOpenDisplay(0);
char env[512];
sprintf(env, "SDL_WINDOWID=%ld", GDK_WINDOW_XID(your_gtk_window_handle->window));
putenv(env);
SDL_InitSubSystem(SDL_INIT_VIDEO);
screen = SDL_SetVideoMode(2560, 1600, 32, SDL_HWSURFACE);
buffer = SDL_CreateRGBSurface(SDL_HWSURFACE,
1024, 1024,
32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0x00000000
);
return true;
}
SDL will still hijack your mouse cursor to show the black cursor thing, it will be ass slow as SDL always is, and you can't switch to fullscreen when it's nested in a window like that.
Very noice. Which are the game that are confirmed to use the SSG-EG?In my testing and to my ears, in about 98.5% of the games, Kega and Regen and a real Genesis sound same. In the rest, there are a few things that Regen 0.85 doesn't get right but the latest 0.91 version has them right so then Kega and Regen will be equal. Most of the Nemesis findings are about SSG-EG which Kega doesn't emulate correctly (yay Smile ). So yes, someday Regen will have more accurate sound than Kega. But its not a big priority right now since there are only about 0.5% (maybe less) games that use it.
wow you're a fucking coding monster, i salute youJust so you people know, I have taken a little break from developing Regen Laughing . Right now I am trying to write a cycle-accurate PC-Engine/TurboGraFX-16 emulator. It is about 80% complete and can already run many games (more details here)
Hi,
. And its very far from finished.
. Thanks. *salutes back*
stay safe,
AamirM
I have already taken longer than I had planned forNeo Kaiser wrote:Incredible! A PC-Engine emulator. I'm very interested in this emulator. For me you can take a longer break of Regen in favor of this.

Thanks byuu. I'll try that out.byuu wrote:I set a crazy high video mode so that I can resize my window as big as the user could want without things screwing up. Doesn't seem to hurt anything, but who knows. You can probably re-initialize the video on window resize if you'd prefer something more sane.
SDL will still hijack your mouse cursor to show the black cursor thing, it will be ass slow as SDL always is, and you can't switch to fullscreen when it's nested in a window like that.
There are some really nice games but they're less than SNES, Megadrive of course. The CD addon has some very nice games as well.Agozer wrote:If only the PC-Engine had a better library of games.
Ghostbusters, Asterix, Buba 'n' Stix, Alisia's Dragon are the ones I can remember right now. There may be some more but not many.bombman wrote:Very noice. Which are the game that are confirmed to use the SSG-EG?
Hahabombman wrote:wow you're a fucking coding monster, i salute you

stay safe,
AamirM
Hi,juetroll wrote: Btw, I saw you are working on a TGX, PCEngine emu, will there be a linux version as well, and will it have CD-ROM²/S-CD support ?
Speaking of which, do you ever plan to add Sega CD and Mega CD support to Regen ?
Take care !
Yes, maybe there will be a linux version. CD-ROM/Supergrafx support will be there too (because its not too hard

I have no plans to add SegaCD/MegaCD support to Regen right now.
stay safe,
AamirM
damn, i was hoping they would be shitty games... i guess i'll have to bust out the old megadrive if i want to hear those games properly. or wait patiently for your updateGhostbusters, Asterix, Buba 'n' Stix, Alisia's Dragon are the ones I can remember right now. There may be some more but not many.

Hi,
stay safe,
AamirM
That'll be awesome as I need someone who can run these games on a megadrive (I busted mine long time ago) to compare the sound. Can you do that?damn, i was hoping they would be shitty games... i guess i'll have to bust out the old megadrive if i want to hear those games properly. or wait patiently for your update
stay safe,
AamirM
Regen PSG Sound
Hey,
Glad to be of help
I always like new Genesis emulators.
I also wanted to mention that the PSG noise channel isn't emulated correctly in Regen. You might want to check out Maxim's notes regarding the noise shift register, as outlined in "An implementation of the noise shift register" in this article:
http://www.smspower.org/dev/docs/wiki/S ... nd.SN76489
This article also has a bunch of other interesting stuff regarding the PSG and the way it makes sound.
Also, I'd like to make some feature requests, if they won't be too much work...
- Individual VDP layer enable/disable (if possible)
- Frame-by-frame pause/advance (again, if possible)
- An Optional 68010 CPU mode would be very interesting, and would be a first in the Genesis emulation scene. I know it sounds odd, but sometimes a 68010 is used to 'mod' Genesis systems so that they run certain games like Sonic Spinball, NBA Live 96 and others a little bit faster without having to mess with all the timing voodoo that is normally associated with overclocking. The 68010 does cause problems with some games though, so that's why it'd be optional. (I believe Starscream has a 68010 mode, but I don't know if it'd be possible to implement alongside a 68000 core).
Once again, keep up the great work, I can't wait to see the next version with the updated YM2612 engine!
Cheers
Glad to be of help

I also wanted to mention that the PSG noise channel isn't emulated correctly in Regen. You might want to check out Maxim's notes regarding the noise shift register, as outlined in "An implementation of the noise shift register" in this article:
http://www.smspower.org/dev/docs/wiki/S ... nd.SN76489
This article also has a bunch of other interesting stuff regarding the PSG and the way it makes sound.
Also, I'd like to make some feature requests, if they won't be too much work...
- Individual VDP layer enable/disable (if possible)
- Frame-by-frame pause/advance (again, if possible)
- An Optional 68010 CPU mode would be very interesting, and would be a first in the Genesis emulation scene. I know it sounds odd, but sometimes a 68010 is used to 'mod' Genesis systems so that they run certain games like Sonic Spinball, NBA Live 96 and others a little bit faster without having to mess with all the timing voodoo that is normally associated with overclocking. The 68010 does cause problems with some games though, so that's why it'd be optional. (I believe Starscream has a 68010 mode, but I don't know if it'd be possible to implement alongside a 68000 core).
Once again, keep up the great work, I can't wait to see the next version with the updated YM2612 engine!
Cheers
Oh yeah, I almost forgot...
Oh yeah, I almost forgot, you're using Musashi for the 68000 emulation. (For a moment I thought you were using Starscream.... my bad.
)
I just wanted to let you know that 68010 support is kind of a very low priority at this moment, I just thought it'd be neat to see.
It might be easier just to 'fake' it by implementing the 3-op 'loop mode' cache, that's the only really beneficial thing that the 68010 offers to the Genesis. According to CPU-World: Whenever the CPU detects a word instruction followed by two-word decrement and branch instruction (DBxx), it stores the first instruction in instruction decode register and the DBxx instruction in the prefetch queue, and then executes the loop without fetching both instructions from memory, thus speeding up loop processing.
Most of the other features of the '010 would not be applicable to the Genesis since none of its software is written to use them, nor can any of its hardware use them (directly at least).

I just wanted to let you know that 68010 support is kind of a very low priority at this moment, I just thought it'd be neat to see.
It might be easier just to 'fake' it by implementing the 3-op 'loop mode' cache, that's the only really beneficial thing that the 68010 offers to the Genesis. According to CPU-World: Whenever the CPU detects a word instruction followed by two-word decrement and branch instruction (DBxx), it stores the first instruction in instruction decode register and the DBxx instruction in the prefetch queue, and then executes the loop without fetching both instructions from memory, thus speeding up loop processing.
Most of the other features of the '010 would not be applicable to the Genesis since none of its software is written to use them, nor can any of its hardware use them (directly at least).
Sweeeeeet ! BTW, mednafen offers near perfect PCEngine/SGFX and CD-ROM² support for linux. You may want to have a look on its source code (it's open source).AamirM wrote:Yes, maybe there will be a linux version. CD-ROM/Supergrafx support will be there too (because its not too hard).
Ok, no need to hurryAamirM wrote:I have no plans to add SegaCD/MegaCD support to Regen right now.

That would be very very nice though (just a thought), but as one says: "one thing at a time !".
I may sound kinda over-excited, but I've been so unlucky with genesis emulation on linux: mess is a hell of a mess (yeah I know that's poor) , gens hates my ati card (someone, please offer a decent brain to the guys who design fglrx !!) , I can't get Xe to work and Kega using wine is so-so and quite hellish to configure. Hence, I can't wait to see a real working Genesis emu for linux !
-
- Veteran
- Posts: 637
- Joined: Sat Apr 21, 2007 8:05 pm
those who still have win9x machine and want to run Regen on it,
i recomended using KernelEx.
http://www.msfn.org/board/index.php?showtopic=71476
now Regen (0.85) perferctly runs on my win98SE machine
i recomended using KernelEx.
http://www.msfn.org/board/index.php?showtopic=71476
now Regen (0.85) perferctly runs on my win98SE machine

-
- Locksmith of Hyrule
- Posts: 3634
- Joined: Sun Aug 08, 2004 7:49 am
- Location: 255.255.255.255
- Contact:
great, now we can get D3D audio working in older windows OSes 
now if only someone made this compatability layer for windows XP so you can use windows vista programs on it..

now if only someone made this compatability layer for windows XP so you can use windows vista programs on it..
<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
NSRT here.
Hi,
- Updates to YM2612 core
- Konami Justifier support (used in Lethal Enforcers I & II)
- Fix to the Sega Menacer support
- CPU overclocking feature
- GUI for the Linux port (maybe without OpenGL
)
- Cheat code searching
- UPS (no IPS) patching support
- Zipped/7zip ROM browser
- Gamepad support for Linux port
- Configuration support to the NTSC filter plugin
If there is something you think I am missing or should add to the list please tell it. I've forgotten many feature requests so if you won't tell they won't make it.
stay safe,
AamirM
I did emulated it but I may have missed something. I'll look at it again though. Which game/demo did you used to come to this conclusion?Eep386 wrote:I also wanted to mention that the PSG noise channel isn't emulated correctly in Regen.
Individual VDP layer enable/disable is possible and I'll do it for the next release. 68010 support is very much possible too although don't expect it soon. Frame-by-frame advance is already in there. Just press the Pause key then space bar to advance one frame.Eep386 wrote:Also, I'd like to make some feature requests, if they won't be too much work...
- Individual VDP layer enable/disable (if possible)
- Frame-by-frame pause/advance (again, if possible)
- An Optional 68010 CPU mode would be very interesting, and would be a first in the Genesis emulation scene. I know it sounds odd, but sometimes a 68010 is used to 'mod' Genesis systems so that they run certain games like Sonic Spinball, NBA Live 96 and others a little bit faster without having to mess with all the timing voodoo that is normally associated with overclocking. The 68010 does cause problems with some games though, so that's why it'd be optional. (I believe Starscream has a 68010 mode, but I don't know if it'd be possible to implement alongside a 68000 core).
Its been a while since I did a Regen release but I've restarted my work on it on both Windows and Linux so expect a release on each OS soon. I wanted to add debugging features but they'll take too long so I guess I'll put them for later. Some stuff that will for sure make in the next version are:juetroll wrote:Ok, no need to hurry
That would be very very nice though (just a thought), but as one says: "one thing at a time !".
I may sound kinda over-excited, but I've been so unlucky with genesis emulation on linux: mess is a hell of a mess (yeah I know that's poor) , gens hates my ati card (someone, please offer a decent brain to the guys who design fglrx !!) , I can't get Xe to work and Kega using wine is so-so and quite hellish to configure. Hence, I can't wait to see a real working Genesis emu for linux !
- Updates to YM2612 core
- Konami Justifier support (used in Lethal Enforcers I & II)
- Fix to the Sega Menacer support
- CPU overclocking feature
- GUI for the Linux port (maybe without OpenGL

- Cheat code searching
- UPS (no IPS) patching support
- Zipped/7zip ROM browser
- Gamepad support for Linux port
- Configuration support to the NTSC filter plugin
If there is something you think I am missing or should add to the list please tell it. I've forgotten many feature requests so if you won't tell they won't make it.
I thought I linked it with MSLU to make it work under Win98. But maybe I didn't. Oh well, you won't be needing that for any later versions.Rashidi wrote:those who still have win9x machine and want to run Regen on it,
i recomended using KernelEx.
http://www.msfn.org/board/index.php?showtopic=71476
now Regen (0.85) perferctly runs on my win98SE machine
stay safe,
AamirM
-
- Veteran
- Posts: 637
- Joined: Sat Apr 21, 2007 8:05 pm
Hi,
stay safe,
AamirM
No, its not much hard. The thing is combining GUI and OpenGL. I am still looking at bsnes sources to see how it doing things (basically how it keeps app control to itself rather than giving it to GTK). I just know some very basic things about GTK+ right now and I am still learning it so its going to take a bit of time.DancemasterGlenn wrote:Yay! I'm looking forward to the new release. Is Opengl very hard to code in to the emulator, as compared to the other method you're using/going to use?
Its pretty useless right now. Compatibility is about 92% and renderer is missing some stuff (inter-sprite priority mainly). But you'll see it soon enough.Franky wrote:Hey AdmirM, why don't you release what you've already made of this TG-16 emulator? (you know, as some kind of beta).
stay safe,
AamirM
-
- Trooper
- Posts: 394
- Joined: Mon Feb 20, 2006 3:11 am
- Location: Space
Oooh, excellent to hear about the next release.
Nice set of features there, I have most of the requests logged here if you need to take a look at them.
The requests I'd like to see soon are;
-Various development and hacking features (VRAM, palette, sprite list, and VDP registers view, YM2612 and PSG registers view (and YM2612 registers dump), enable/disable VDP planes, etc.).
-Automatically save and load Cheats for games (based upon the naming scheme of the ROMs, like Kega).
-Editable cheat window interface. Meaning the ability to add/delete selected cheats (New Cheat & Delete Cheat buttons), and edit (Edit Cheat).
-Cheat window remembers it’s position when opening it.
-The ability (via a Tools sub-menu called “Sprites”) to selectively disable sprite layers and backgrounds, and to put sprites on top).
-Ability to set certain functions (like Turbo Mode) to gamepads, with the ability to toggle turbo mode on/off with a gamepad.
-Support for the Genesis BIOS (with some toggle to enable/disable it in the config).
Not to mention some bug/issue fixes like the following;
-Turning a cheat “Off” doesn’t disable the effect.
-Regen can’t read and use SRM files created and used in Gens and Kega.
-Loading a ROM from the Load ROM dialog then loading a cheat for the game, causes the Load ROM window to open at the Cheats folder, not the ROMs folder. Possible Vista-only issue.
I've also noticed another one where if you reload the cheats a time or two, it asks you to find the cheat file again.
Two more things, is the debugger going to be a full debugger supporting breakpoints, traces, etc, and what kind of cheats can we search for? PAR? Hex? Game Genie?

The requests I'd like to see soon are;
-Various development and hacking features (VRAM, palette, sprite list, and VDP registers view, YM2612 and PSG registers view (and YM2612 registers dump), enable/disable VDP planes, etc.).
-Automatically save and load Cheats for games (based upon the naming scheme of the ROMs, like Kega).
-Editable cheat window interface. Meaning the ability to add/delete selected cheats (New Cheat & Delete Cheat buttons), and edit (Edit Cheat).
-Cheat window remembers it’s position when opening it.
-The ability (via a Tools sub-menu called “Sprites”) to selectively disable sprite layers and backgrounds, and to put sprites on top).
-Ability to set certain functions (like Turbo Mode) to gamepads, with the ability to toggle turbo mode on/off with a gamepad.
-Support for the Genesis BIOS (with some toggle to enable/disable it in the config).
Not to mention some bug/issue fixes like the following;
-Turning a cheat “Off” doesn’t disable the effect.
-Regen can’t read and use SRM files created and used in Gens and Kega.
-Loading a ROM from the Load ROM dialog then loading a cheat for the game, causes the Load ROM window to open at the Cheats folder, not the ROMs folder. Possible Vista-only issue.
I've also noticed another one where if you reload the cheats a time or two, it asks you to find the cheat file again.
Two more things, is the debugger going to be a full debugger supporting breakpoints, traces, etc, and what kind of cheats can we search for? PAR? Hex? Game Genie?

[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]