Previous Thread
Next Thread
Print Thread
Page 7 of 7 1 2 3 4 5 6 7
Joined: Sep 2009
Posts: 7
N
Member
Offline
Member
N
Joined: Sep 2009
Posts: 7
Congratulations and big thanks byuu.

Joined: Feb 2012
Posts: 5
M
Member
Offline
Member
M
Joined: Feb 2012
Posts: 5
Originally Posted By byuu
I write emulators because I want to personally learn how they work. Not because I like taking pre-made pieces and gluing them together. If I wanted to do that, I'd write a Genesis emulator :p


That is not what we meant at all. What I meant was, MESS and co have well developed cores and are quite stable, so I don't see the harm of looking at it for a guide/documentation.

We never suggested to use it outright.

Joined: Mar 2001
Posts: 16,859
Likes: 51
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,859
Likes: 51
I'd also suggest that given nobody's worked out the exact timings of the Genesis that a byuu Genesis emulator would be interesting smile

Joined: Jan 2006
Posts: 3,690
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,690
weren't there ongoing progresses at spritemind with Eke and friends?

Joined: May 2004
Posts: 1,694
Likes: 1
H
Very Senior Member
Offline
Very Senior Member
H
Joined: May 2004
Posts: 1,694
Likes: 1
not sure anything was ever concluded.. there were wacky edge-cases with dma during blanking periods causing less sprites to be displayed and crap like that (mickey mania) etc. too.

timings in the current code are very, very wrong, I don't even attempt to emulate DMA speeds correctly, and my sprite masking code is also very wrong based on current findings.

I don't think there are any open genesis emulators which do it properly and my current code is Zsnes level for the MD at best ;-)

What would be more interesting to me is if Byuu started working with MESS to bring his level of SNES accuracy into MESS, but with the good performance he has (yes I know some will laugh, but comparatively it is, the MESS driver is slow even in normal cases)

Joined: Jan 2006
Posts: 3,690
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,690
we would need: 1. cothread to keep CPU sync'd as they need 2. pixel-based PPU code in place of current scanline-based code
while a few bugs in current MESS are due to me doing something subtly wrong with the scanlines (I still haven't managed to track down SMW bg corruption at the end of the first world), issue 1. is the source of at least half of current bugs we have (as fiddling with CPU speeds shows clearly)

byuu already offers his source as reference and he has helped a lot in the past for specific issues we had (as messnew.txt shows)
I'm not sure what he should do more than this

Joined: Mar 2001
Posts: 16,859
Likes: 51
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,859
Likes: 51
bsnes gets the performance it does have[1] by being architecturally hardcoded for the SNES. You can't be super-accurate, perform well, and general to all hardware.

Anyway, this is now way off-topic.

[1] Whatever that is - the Linux version is about 15-20 FPS on my 4.7 GHz i7. I assume it's not that bad on Windows.

Joined: Jun 2008
Posts: 205
B
byuu Offline OP
Senior Member
OP Offline
Senior Member
B
Joined: Jun 2008
Posts: 205
> I'd also suggest that given nobody's worked out the exact timings of the Genesis that a byuu Genesis emulator would be interesting

While there are some great Genesis games, the overall Genesis scene is very unappealing to me.

It's not a secret: I'm not spectacular at reverse engineering. I succeed more as a project motivator. Find people who also want something done, and ask them to help. And importantly, do as much work as I can as well.

But in the Genesis scene, 4:5 emulators are closed source. The authors are all great people (Steve and Aamir are really cool people), but I don't want to have to ask every single question. I got into the SNES scene in part because it was totally open at the time.

> we would need: 1. cothread to keep CPU sync'd as they need 2.

To be fair, you have that now, right? If you're trying not to use them in the SNES CPU, I can promise it will be painful. You can be in the middle of an opcode, and break out in the middle of a cycle or the middle of a DMA sequence triggering in the middle of that, and in the middle of a synchronization event inside the DMA of that.

> [1] Whatever that is - the Linux version is about 15-20 FPS on my 4.7 GHz i7. I assume it's not that bad on Windows.

It's not that bad on Linux, either. I get about 100fps with a 4.4GHz i7 (200 with scanline rendering, 300-400 with the hacked up cores.) The absolute most demanding special chips drop me down to 60fps.

I'm guessing your card is reporting that it has a 30-bit texture available and is doing software conversion back to 24-bit. Try changing away from OpenGL to X-video.
I need to get an Xlib function ready to detect actual display depth.

...

As far as overall performance, it could be a lot better. Probably 3x faster at this point in its most optimized form. But I'm going for source readability over speed.

For one instance, if a register is ten bits, I use a uint10 type. Behind the scenes, that's a unsigned int that gets masked to ten bits on assignment operations. Most of the time you don't need to mask, so it does add extra overhead.

I use threads everywhere for consistency, but they don't make sense when you have two chips that share a huge piece of RAM. Idle loop skipping on DSPs would vastly increase their speed, too.

I've always been willing to help write a more efficiency focused emulator, but I won't do it alone. I don't have enough time for that.

Joined: Mar 2001
Posts: 16,859
Likes: 51
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,859
Likes: 51
Yeah, my card does support 30-bit RGB. Can't bsnes just ignore that and use 24-bit? smile

Joined: Jun 2008
Posts: 205
B
byuu Offline OP
Senior Member
OP Offline
Senior Member
B
Joined: Jun 2008
Posts: 205
Yes, it can. I will take care of this for the next release.

Page 7 of 7 1 2 3 4 5 6 7

Link Copied to Clipboard
Who's Online Now
2 members (2 invisible), 18 guests, and 3 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,019
Posts118,453
Members5,010
Most Online890
Jan 17th, 2020
Forum Host
These forums are hosted by www.retrogamesformac.com
Forum hosted by www.retrogamesformac.com