Previous Thread
Next Thread
Print Thread
Page 73 of 120 1 2 71 72 73 74 75 119 120
byuu #59990 03/11/10 06:32 PM
Joined: Jan 2006
Posts: 3,691
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,691
small wip

[Linked Image from mamedev.emulab.it]

which means I (almost) fixed the sprite limit flags.

since the changes are quite large, I will probably wait until 0.137 is out before commit, to avoid any last minute apocalypse wink


EDIT: further tests show that the new OAM code fixes also the missing Mario sprite at the upper-left corner of world map in SMW. the reported priority problems in TMNT and Chrono Trigger are not fixed though and a few glitches have been introduced in at least R-Type 3... more work is needed on the sprites wink

Last edited by etabeta78; 03/11/10 10:52 PM.
Joined: May 2004
Posts: 1,772
Likes: 34
H
Very Senior Member
Offline
Very Senior Member
H
Joined: May 2004
Posts: 1,772
Likes: 34
Originally Posted by Lord Nightmare
Can you port the theoretical code for adc/sbc TO the snes (without actually using decimal mode on the snes) and then have the snes sequentially do actual adc/sbc ops, then do software emulation, and compare the two (and throw an error to screen if they don't match)? I know MooglyGuy had something similar for testing mess's n64 rsp core vs the real one on the n64 itself, though I don't know what happened to it...

LN

This makes the most sense to me.. you could do a random stress test (just throw random sequences at it, reporting if any fail) or just allow the test range to be subdivided so that anybody with a copier can run a range of it overnight if they want.

I don't know what the SNES community is like these days, but there might be enough people out there willing to run their SNES for a week to get some idea of if the 16-bit implementation is accurate.

Haze #59993 03/11/10 08:40 PM
Joined: Mar 2006
Posts: 1,079
Likes: 6
L
Very Senior Member
Offline
Very Senior Member
L
Joined: Mar 2006
Posts: 1,079
Likes: 6
I'd certainly be willing to.

LN

Last edited by Lord Nightmare; 03/11/10 08:40 PM.

"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
Joined: Jun 2008
Posts: 205
B
Senior Member
Offline
Senior Member
B
Joined: Jun 2008
Posts: 205
blargg made an extensive 16-bit adc/sbc test, which his algorithm and my 16-bit adaptation passes. He is 100% sure the implementation is perfect. I'll try and get a link to that when I can, need to get it e-mailed to me at home.

So, ADC/SBC out of the way. I'm tired of talking about the MUL/DIV delays, let's get that one resolved for good already.

blargg appears to have cracked the MUL algorithm already. I haven't personally confirmed it on hardware, but I trust his results. We need help with the DIV algorithm next.

Please join and discuss here if you can help:
http://board.byuu.org/viewtopic.php?f=16&t=569

And again I'll emphasize here, please don't provide baseless speculation and educated guesses. Nintendo hardware is not based on any semblance of logic or reasoning.

Answers and actual hardware research only, please.

byuu #60030 03/12/10 07:11 PM
Joined: Oct 2006
Posts: 1,017
Likes: 21
S
Very Senior Member
Offline
Very Senior Member
S
Joined: Oct 2006
Posts: 1,017
Likes: 21
blargg is crazy-insane, and I love it. blargg is awesome. There can be no doubt in this. wink

Joined: Mar 2001
Posts: 17,217
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,217
Likes: 234
That is indeed awesome!

Joined: Jun 2008
Posts: 205
B
Senior Member
Offline
Senior Member
B
Joined: Jun 2008
Posts: 205
With the help of blargg's step-based multiplication algorithm:
if((WRMPYA >> shift) & 1) RDMPY += WRMPYB << shift;

I have successfully reverse engineered the ALU multiplication process. Details are posted here:
http://board.byuu.org/viewtopic.php?p=12235#p12235

Now I'm just hoping blargg or someone else can come up with the step-based division algorithm, and we can finally emulate this behavior correctly!

byuu #60068 03/13/10 07:19 AM
Joined: Mar 2001
Posts: 17,217
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,217
Likes: 234
That's fantastic!

Joined: Jun 2008
Posts: 205
B
Senior Member
Offline
Senior Member
B
Joined: Jun 2008
Posts: 205
blargg figured out the DIV algorithm:
http://board.byuu.org/viewtopic.php?p=12251#p12251

It works exactly like the 8-step MUL, only this one is 15-step.

So yeah, congratulations everyone. We can finally trick d4s' code into thinking it is running on a real SNES smile

There is a caveat that the new mini-SNES acts a little different on how it computes. But the new SNES really is a substantial redesign of a lot of the hardware. Not as much as a clone RetroDuo, but still. I chose to go after 1/1/1 and 2/1/3. When those are perfected (hah), I can consider the mini-SNES more.

But differences aside, these algorithms do have the important property that the true results are available at the correct time now. And it means that anything that relies on them won't work on certain hardware revisions.

So this really is an important thing to have. Almost as important as not writing to VRAM during active display.

byuu #60113 03/14/10 12:56 AM
Joined: Mar 2001
Posts: 17,217
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,217
Likes: 234
MESS SVN #7566 passes all 4 ADC/SBC test programs. Woot! smile

Page 73 of 120 1 2 71 72 73 74 75 119 120

Link Copied to Clipboard
Who's Online Now
4 members (Dam0, r09, shattered, Reznor007), 292 guests, and 4 robots.
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,944
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