Regen for Linux and Windows

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

Moderator: General Mods

Locked
DancemasterGlenn
Veteran
Posts: 637
Joined: Sat Apr 21, 2007 8:05 pm

Post by DancemasterGlenn »

AamirM wrote: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.
Glad to hear it, I've got nothing but time, so as usual, don't rush anything on my account. It's great to see you learning new skills ^_^
I bring the trouble.
pete

Post by pete »

Dr. Claw wrote:
DancemasterGlenn wrote:Does your controller have a joystick? If so, is the joystick centred? Might be a deadzone problem...
The USB controller is much like a console's gamepad (it's a Saitek P220).
I have the same problem with that joystick. Though when I use other joysticks the calibration works normally. But even if a Logitech Dual Action during calibration the UP key always skips.

you can set the keys manually in the regen.ini file. just find which number each key represents.
juetroll
Rookie
Posts: 10
Joined: Thu Apr 24, 2008 9:13 pm

Post by juetroll »

DancemasterGlenn wrote:
juetroll wrote:Hence, I can't wait to see a real working Genesis emu for linux !
You have one right here. Do you mean a working segacd/megacd emulator?
Yes and No. I actually meant an emu which would compete with the windoze ones (Kega for exemple). For the moment, *nix emus are either not accurate enough (MESS, Xe), way too old/outdated (DGen, Generator) or still very buggy (Gens). As a result, I'm still keeping my winXP partition in order to use Kega... sad, isn't it ? But as you said, segacd/megacd emulation would be awesome !
AamirM
Regen Developer
Regen Developer
Posts: 533
Joined: Sun Feb 17, 2008 8:01 am
Contact:

Post by AamirM »

Hi,
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).
Franky, its your luck day cause I've changed my mind. Anyone who wants to try it can get it from here. Yeah, I know its pretty lame right now.
King of Chaos wrote: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.
You can consider that page my 'todo' list. Although there were some things not listed there. I'll have to put debugging features on hold right now since they will take a bit long. Cheat searcher will be hex only since its the most easy to read, understand, remember etc.. and no complexities associated with it.
juetroll wrote:...or still very buggy (Gens).
If only there was a clean easy way to combine SDL+OpenGL+GTK (like Win32+DirectX) then it would've been good. Most emulators I've tried on Linux (including mine), no matter how good at the emulation, have coughed up furballs. Either the sound or video won't be good. The only emulator on Linux with which I am most impressed with is Mednafen. Its the only emulator that has awesome sound and video support though no GUI.

stay safe,

AamirM
Neo Kaiser
Veteran
Posts: 844
Joined: Thu Jul 29, 2004 3:56 am

Post by Neo Kaiser »

AamirM wrote:Hi,
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).
Franky, its your luck day cause I've changed my mind. Anyone who wants to try it can get it from here. Yeah, I know its pretty lame right now.
Wow I'm impressed so far. I didn't knew that you went that far on it. I'll wait until the final product when the menu and other configurations would be available.
Yes I know that my grammar sucks!
Rhapsody
Rookie
Posts: 23
Joined: Wed Jul 02, 2008 3:35 pm

Post by Rhapsody »

AamirM wrote: Most emulators I've tried on Linux (including mine), no matter how good at the emulation, have coughed up furballs. Either the sound or video won't be good.
I've managed to get good things out of bsnes, though I did have to build the God of Thunder in order to run it at full speed...
byuu

Post by byuu »

Franky, its your luck day cause I've changed my mind.
Aw, I was half-expecting Returbo or Reengineer ;)
If only there was a clean easy way to combine SDL+OpenGL+GTK (like Win32+DirectX) then it would've been good.
It's called hiro + ruby ;)
And the same code runs on Windows with DirectX and no changes needed, too.
I've managed to get good things out of bsnes
Unfortunately, you're still limited by either video or audio not synchronizing properly.

The problem is that all audio APIs are blocking, except for OpenAL. But OpenAL's block system is even less suited for resampled streaming than DirectSound. Doable though, yes.

Then you have video: none of the video APIs on Linux let you control vsync from software. It's all done via various differing control mechanisms. Xv usually has XV_SYNC_TO_VBLANK attribute, but some drivers lack it, and some ignore it -- making you go through a user interface (nvidia-settings) to change it. Same for OpenGL. There's a setting for whether or not you want double buffering (no triple, no vsync), but again -- it's up to the driver software (eg nvidia-settings again) to control it. So you can't even control whether Xv/OpenGL are blocking or not. Hell, you can't even tell if they are sometimes.

And then there's the problem that SDL video sucks and is ass slow (especially if you dare try scaling the video output), Xv doesn't work on half the drivers out there, and OpenGL doesn't work on the other half. Worse yet is both Xv and OpenGL appear as if they'll work by querying the interfaces -- they just hard crash / segfault your app when you actually go to use them. You shoot yourself in the foot on first impressions no matter which you choose.

Oh, and two blocking APIs = stuttering video and sound, guaranteed.

It's a real mess, and it's a damn shame. But good news! We're working on even more video and audio standards that will be even less compatible in the future! Why fix what's broken when you can make new stuff, right? Who's up for writing PulseAudio drivers next? :)
juetroll
Rookie
Posts: 10
Joined: Thu Apr 24, 2008 9:13 pm

Post by juetroll »

AamirM wrote:If only there was a clean easy way to combine SDL+OpenGL+GTK (like Win32+DirectX) then it would've been good. Either the sound or video won't be good. The only emulator on Linux with which I am most impressed with is Mednafen. Its the only emulator that has awesome sound and video support though no GUI.
Yes indeed ! And I totally agree with you: mednafen is one of the best emu ever for linux. You should also have a look at snes9x-gtk (http://www.snes9x.com/phpbb2/viewtopic.php?p=22874), they've done a great job on porting snes9x on GTK with SDL (with both Xv and OpenGL support) and portaudio for sound.

BTW, byuu: don't be too harsh, many open drivers do work really great whatever method you use (OpenGL, Xv, OSS, ALSA, etc.), but the problem often comes from closed drivers. And for the unlucky one, like myself, who have an ATI card, no matter how many new versions come out, the fglrx drivers are just pure s**t as far as OpenGL is concerned resulting in almost 40% emus choking on it (especially SDLMAME/SDLMESS and Gens; hopefully mednafen works fine with it). Besides, SDL 1.3 shouldn't be long to come out, and as far as I understood it should handle some new stuff like hardware blit which should speed things up a lot.
byuu

Post by byuu »

The biggest issue is fglrx uses GLX 1.2, rather than 1.3.

For reference, 1.2 came out on 1997-03-04, and 1.3 came out on 1998-10-19. Expecting them to implement a decade-old API is apparently too much to ask.

Luckily, 1.2 can do everything 1.3 can, just with slightly uglier code.

And I've had lots of trouble with open drivers and their Xv/OpenGL support. And ALSA + IntelHDA sucked really badly in everything up to Ubuntu 7.10. It's really good in 8.04, though.

And unfortunately, at least half of all Linux users are running binary blob drivers, so we have to cater to them :/
mudlord
has wat u liek
Posts: 559
Joined: Tue Sep 11, 2007 2:54 pm
Location: Banland.

Post by mudlord »

Franky, its your luck day cause I've changed my mind. Anyone who wants to try it can get it from here. Yeah, I know its pretty lame right now.
:o

Wow....its small....I wish I knew how to do DirectSound or WinMM coding...damn SDL >_<
juetroll
Rookie
Posts: 10
Joined: Thu Apr 24, 2008 9:13 pm

Post by juetroll »

byuu wrote:The biggest issue is fglrx uses GLX 1.2, rather than 1.3.
Yeah, that's quite annoying for sure. I just can't wait for the day when there'll be decent open drivers for ATI (or at least when fglrx will use up-to-date GLX), it's so bothersome to see how much perf is being lost in comparison with window$ simply because of crapy drivers...
byuu wrote:And unfortunately, at least half of all Linux users are running binary blob drivers, so we have to cater to them :/
Myself for instance lol !
I too dream of an "open only" Linux... but that's not going to happen soon, is it ?
AamirM
Regen Developer
Regen Developer
Posts: 533
Joined: Sun Feb 17, 2008 8:01 am
Contact:

Post by AamirM »

Hi,
Neo Kaiser wrote:Wow I'm impressed so far. I didn't knew that you went that far on it. I'll wait until the final product when the menu and other configurations would be available.
That'll be added later. One thing I forgot to mention in the Readme is that the CPU is running cycle by cycle. And Backspace key is for the Turbo mode for those who want to check out the speed. And I have plans to add PSG with band limiting and a real time rewinding like in QuickNES which is very cool. But all this will take time of course.
byuu wrote:Aw, I was half-expecting Returbo or Reengineer ;)
I had thought of that but TurboEngine was more catchy and since I am a F1 freak as well it sounded cool to me :) .
byuu wrote:It's called hiro + ruby ;)
And the same code runs on Windows with DirectX and no changes needed, too.
Yeah I know and that is very impressive. Any chance of a C interface for it in the future?
byuu wrote:The problem is that all audio APIs are blocking
....
And then there's the problem that SDL video sucks and is ass slow (especially if you dare try scaling the video output)
You forgot to mention that scaling doesn't even work on some PCs/platforms. If these two problems can be solved the emulation experience would rise very much. And it would be easier for us developers as well because we don't have to go and hunt for some obscure hacks to make some things (like vblank) work.
mudlord wrote:Wow....its small....I wish I knew how to do DirectSound or WinMM coding...damn SDL >_<
If I remove icons and some other useless resources it goes down to 18.5 KB 8) . Yes! 18.5 KB. Even viruses/worms don't come this small nowadays :D . Thanks to hand optimized x86 asm CPU and PSG cores. I will rewrite both in C someday soon. Yeah, I know its bizarre.

stay safe,

AamirM
pete

Post by pete »

Sorry for posting again, but for those who have a Saitec P220 controller, enter the following numbers in the player1a line in the regen.ini

4118,4119,4117,4115,4114,4112,4113,4116,4097,4098,4099,4100

the last four numbers are for up, down, left, right. you can adjust the rest of the buttons according to your preferences but I set them according to the Sega pad. Start is the left trigger and mode the right trigger.
adventure_of_link
Locksmith of Hyrule
Posts: 3634
Joined: Sun Aug 08, 2004 7:49 am
Location: 255.255.255.255
Contact:

Post by adventure_of_link »

AamirM wrote:Thanks to hand optimized x86 asm CPU and PSG cores.
And I was about to ask you to port Regen to OSX (PPC), blackberries, and the PSP :(
<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
AamirM
Regen Developer
Regen Developer
Posts: 533
Joined: Sun Feb 17, 2008 8:01 am
Contact:

Post by AamirM »

Hi,
adventure_of_link wrote:And I was about to ask you to port Regen to OSX (PPC), blackberries, and the PSP :(
Regen has equivalent C code for everything. Only the Z80 core and some parts of the renderer are in asm. And only those parts of renderer which are taking most of the time. Everything else is in C. In the next version, some parts of the YM2612 core will be in asm so you'll see a improvement of about 40-60% in speed. Again, equivalent portable C code always exists. Its only in TurboEngine that I've written those things in asm because there was lot of room of optimizations there. But as I've said before, I WILL rewrite those two in C too. But I doubt anyone is going to spare me a PSP, blackberry, OSX :) . I'll try to get my hands on it and try do a port. Until then, its on my todo list :wink: .

stay safe,

AamirM
adventure_of_link
Locksmith of Hyrule
Posts: 3634
Joined: Sun Aug 08, 2004 7:49 am
Location: 255.255.255.255
Contact:

Post by adventure_of_link »

Dude AamirM

I was joking/being sarcastic :P

I made that refrence cos ZSNES can't be ported

And Aamirm, I might be getting a blackberry soon (because of my local phone company offering Fusion Wi-fi and offers unlimited minutes, texting, yadda yadda yadda, but it only exists on blackberries) and I've already got a PSP. IIRC a software builder for PSP exists in Gentoo Linux.
<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
mudlord
has wat u liek
Posts: 559
Joined: Tue Sep 11, 2007 2:54 pm
Location: Banland.

Post by mudlord »

Thanks to hand optimized x86 asm CPU and PSG cores.
Well that explains the size :o

Currently, my NES core is in pure C, while the GUI is just Win32 C++, zero MFC or shit, though in my current private build, I shaved off 10KB by removing the demo portion, as well as some other things....
Neo Kaiser
Veteran
Posts: 844
Joined: Thu Jul 29, 2004 3:56 am

Post by Neo Kaiser »

To AamirM: Take your time with the PC-Engine emulator. So far so great and I have a high hope for it. Oh I know that Turbo Engine sound nice but you should consider to rename it to Turbo Engine 16, Master Engine or something so when someone search on Google for it, that person won't have to deal with pages of real motor engines and car pieces websites.
Yes I know that my grammar sucks!
AamirM
Regen Developer
Regen Developer
Posts: 533
Joined: Sun Feb 17, 2008 8:01 am
Contact:

Post by AamirM »

Hi,
adventure_of_link wrote:I was joking/being sarcastic :P
I know. I just wanted to clear things up as some people didn't knew that.
mudlord wrote:Currently, my NES core is in pure C, while the GUI is just Win32 C++, zero MFC or shit, though in my current private build, I shaved off 10KB by removing the demo portion, as well as some other things....
I too use just Win32 API and no MFC. And shaving 10 KB is nice. I remove loads of stuff and I manage to shave just 1 KB :( . I guess we both are optimization freaks :D .
Neo Kaiser wrote:To AamirM: Take your time with the PC-Engine emulator. So far so great and I have a high hope for it. Oh I know that Turbo Engine sound nice but you should consider to rename it to Turbo Engine 16, Master Engine or something so when someone search on Google for it, that person won't have to deal with pages of real motor engines and car pieces websites.
You're right. I'll think of something other. How about ReFX-16? or NAPE (NAPE Ain't PC-Engine Emulator) :lol: . Any suggestion are welcomed.

stay safe,

AamirM
DancemasterGlenn
Veteran
Posts: 637
Joined: Sat Apr 21, 2007 8:05 pm

Post by DancemasterGlenn »

AamirM wrote:NAPE (NAPE Ain't PC-Engine Emulator) :lol:
Haha, nice.
I bring the trouble.
mudlord
has wat u liek
Posts: 559
Joined: Tue Sep 11, 2007 2:54 pm
Location: Banland.

Post by mudlord »

RAPE (Really A PC Engine Emulator)

.....
I.S.T.
Zealot
Posts: 1325
Joined: Tue Nov 27, 2007 7:03 am

Post by I.S.T. »

IIRC, somebody already used that name.

It's not a funny joke BTW.
Johan_H
Starzinger Addict
Posts: 998
Joined: Tue Aug 17, 2004 1:14 pm
Location: Sweden
Contact:

Post by Johan_H »

Made me lol a little at least.
byuu

Post by byuu »

RAPE (Really A PC Engine Emulator)
Should've went with "Regen Author's PC-Engine Emulator."
Also, rape isn't funny. And winners don't use drugs.
AamirM
Regen Developer
Regen Developer
Posts: 533
Joined: Sun Feb 17, 2008 8:01 am
Contact:

Post by AamirM »

Hi,
mudlord wrote:RAPE (Really A PC Engine Emulator)
Nah, it will turn up more websites when someone googles it than Turbo Engine :lol: . Besides it will create too much confusions. Consider the following situations:

In the readme -- "Rape will use your joy stick"
In the resume -- "Did RAPE"

Girlfriend -- "Whats the most greatest thing you've done?"
AamirM -- "RAPE"

:lol: :lol: :lol: .

stay safe,

AamirM
Locked