Previous Thread
Next Thread
Print Thread
Page 53 of 120 1 2 51 52 53 54 55 119 120
Kale #54277 09/22/09 07:01 PM
Joined: May 2009
Posts: 2,214
Likes: 382
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,214
Likes: 382
Originally Posted by Kale
Same goes for the VH flag test, in the end the fault is shared of that 256/512 switch thing that I've putted up that shows one of the major flaws in MAME/MESS architecture...

I don't quite understand how this 256/512 switch thing shows a "major flaw" in MAME/MESS architecture. Why not always render at 512 and artificially pixel-double lines that are 256?

Joined: Aug 2009
Posts: 1,250
Likes: 171
Kale Online Sleepy OP
Very Senior Member
OP Online Sleepy
Very Senior Member
Joined: Aug 2009
Posts: 1,250
Likes: 171
Because you need the playfield to be 512, so you need to double the horizontal resolution also, otherwise you'll get exceptions.

Kale #54279 09/22/09 08:12 PM
Joined: May 2009
Posts: 2,214
Likes: 382
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,214
Likes: 382
That's what I said, I think. When rendering each scanline, render it as 512 pixels wide. If the scanline is actually in 256-pixel-wide mode, then double the width of each pixel.

Joined: Mar 2001
Posts: 17,215
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,215
Likes: 234
Exactly. Several drivers in MAME/MESS already do it.

Joined: Aug 2009
Posts: 1,250
Likes: 171
Kale Online Sleepy OP
Very Senior Member
OP Online Sleepy
Very Senior Member
Joined: Aug 2009
Posts: 1,250
Likes: 171
...and the SNES driver does it too. What I'm saying since day one is that the beam timing gets screwed in MAME/MESS if you need to stretch the screen like SNES, like is currently happening.

Kale #54283 09/22/09 11:51 PM
Joined: Dec 2005
Posts: 443
Senior Member
Offline
Senior Member
Joined: Dec 2005
Posts: 443
How is that happening? There's no way it should be possible to throw off the beam timing. beam advances 1/256th of a scanline per rendered dot (that is, dots that are not h-blank). All that changes is that 512 pixel modes output twice per dot. The counters still move just like 256-pixel mode, and beam timing should respect that...

Joined: Mar 2001
Posts: 17,215
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,215
Likes: 234
MAME's H and V counters are strictly in terms of real pixels. That said, I had passable raster timing working previously in the driver (not enough for hardcore, but it passed the various checks in the famous Electronics Test) so some /2s sprinkled around should at least restore that state of affairs.

Joined: Jun 2008
Posts: 205
B
Senior Member
Offline
Senior Member
B
Joined: Jun 2008
Posts: 205
I don't think you're going to be able to fully duplicate the SNES H/V counter behavior by using what's built into MAME. There are some really odd things, like scanline 240 on non-interlace odd fields on NTSC sets missing one pixel (something to do with color burst, I've been told), and dots 323 and 327 lasting two clocks longer than the others (except on the short line mentioned above.)

Really, the PPU and CPU need to run on their own clocks, and you also have to support the bus communication delays between them, eg CPU write to a PPU reg takes 6 clocks to acknowledge, where a read takes 2 clocks to acknowledge.

Without this stuff, you won't be able to make use of most of my regression test ROMs frown
Those will save you a ton of headache with IRQ / NMI bugs.

byuu #54293 09/23/09 12:46 PM
Joined: May 2009
Posts: 2,214
Likes: 382
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,214
Likes: 382
Yeah, I've got to be honest here: I once tried to make some improvements to the MESS SNES driver's video hardware emulation. I ran, screaming, within 5 minutes, because it has practically no similarities to any other emulator's codebase.

I'm pretty sure that devices can have their own clocks now, so I dare say that the driver would seriously benefit from just scrapping the entire video hardware emulation and duping the g65816 core into an S-CPU core, and then trying to take as much of bsnes's code as possible.

Joined: Mar 2001
Posts: 17,215
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,215
Likes: 234
I'll leave aside the part where you're screaming from the rooftops that Kale and etabeta suck and focus on one fact: MAME/MESS architecturally cannot achieve full bsnes level accuracy as is and I'm not convinced that should be the goal. Yes, we can get much better CPU timing than we have now and that's important, but from what I've seen commercial games are generally a lot more forgiving then byuu's synthetic tests.

Page 53 of 120 1 2 51 52 53 54 55 119 120

Link Copied to Clipboard
Who's Online Now
3 members (Dorando, Praxis, 1 invisible), 526 guests, and 1 robot.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,320
Posts121,930
Members5,074
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com