Author Topic: gsu (superfx) support [work in progress]  (Read 201255 times)

0 Members and 3 Guests are viewing this topic.

Offline redguy

  • Jr. Member
  • **
  • Posts: 55
  • Karma: +149/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #495 on: April 22, 2018, 08:37 PM »
Check the first post for v08:

http://krikzz.com/forum/index.php?topic=7451.msg57572#msg57572

Fixed timing to improve match with real carts. Thanks to all the people that contributed.
Fixed 8b multiplies to support 0 cycles of additional latency.
Fixed ram word accesses to do serialized byte transfers.
Changed ram accesses to use second ram chip.

If there are stability problems it may be due to using the new ram chip.  I can add more delay, if necessary, but it's been working so far.

Offline the_randomizer

  • Full Member
  • ***
  • Posts: 164
  • Karma: +6/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #496 on: April 22, 2018, 09:01 PM »
Check the first post for v08:

http://krikzz.com/forum/index.php?topic=7451.msg57572#msg57572

Fixed timing to improve match with real carts. Thanks to all the people that contributed.
Fixed 8b multiplies to support 0 cycles of additional latency.
Fixed ram word accesses to do serialized byte transfers.
Changed ram accesses to use second ram chip.

If there are stability problems it may be due to using the new ram chip.  I can add more delay, if necessary, but it's been working so far.

Fantastic work as always  8)

Offline Greg2600

  • Sr. Member
  • ****
  • Posts: 299
  • Karma: +7/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #497 on: April 22, 2018, 09:10 PM »
The timing now really feels good, i.e. I wouldn't change a thing! 

Offline SmokeMonster

  • Puzzle Bobbler
  • Sr. Member
  • ****
  • Posts: 412
  • Karma: +59/-0
  • tsst tchh chh ch ch ch
    • View Profile
    • SmokeMonster YouTube Channel
Re: gsu (superfx) support [work in progress]
« Reply #498 on: April 22, 2018, 09:27 PM »
It's really great to see that spare 4Mbit RAM chip being dedicated to GSU. This is the first time it has ever been used for anything, isn't it? It's so cool that Ikari left it on the PCB for devs to utilize for projects like this. Keep up the incredible coding, Redguy 8)

Offline Eyedunno

  • Full Member
  • ***
  • Posts: 122
  • Karma: +10/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #499 on: April 22, 2018, 10:18 PM »
Yup, the timing feels a lot better. But let's check the tale of the tape:
https://youtu.be/Nl3_oyxhlms

First off, I cut this out, but there is still the issue where there is a short delay before the last ship boosts out of the hangar, and that is not on the original cartridge.

As before, I cut both videos on the frame right before the vertical barn door wipe starts (interestingly, there are already some minor timing differences on the wipe itself). I went back to not touching the controller for this one, as actually playing the game introduces too many variables.

The most interesting thing to me is that I was previously judging how far off the two are by when the ship that kills me on the original cartridge goes offscreen. The sync between the two videos is frame-perfect here!

But obviously there are still some accuracy issues, as the Arwing has veered a little further to the left on the v08 firmware, so it hasn't taken as much damage from hitting the central tower, and it takes one more hit before dying. Also, at various moments before this, the timing is off by up to a half-second or so, and also note that the ground-based enemy fires off three plasma balls on the original cart, but only two on SD2SNES.

Still, this is a LOT closer.

It's obviously still nowhere near as accurate as the Cx4 support is, but would I rather play this than the SNES Classic? For the first time, I think the answer is yes, because it feels about right now. And mentioning this makes me sort of want to see what happens when I run the same test with the SNES Classic. I guess stay tuned?
« Last Edit: April 22, 2018, 10:23 PM by Eyedunno »

Offline fille1976

  • Sr. Member
  • ****
  • Posts: 337
  • Karma: +12/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #500 on: April 22, 2018, 11:03 PM »
thx redguy,absolutly fantastic work.

Offline Eyedunno

  • Full Member
  • ***
  • Posts: 122
  • Karma: +10/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #501 on: April 22, 2018, 11:32 PM »
Went ahead and added the SNES Classic Edition. Seems like they each have their own quirks. :P I'm sort of impressed with how similar they look--the Super Nt really nails the colors on recent firmware.

https://youtu.be/ibQQBXFMn0k

I also have the Japanese 1.0 revision (and the U.S. 1.0 revision, but that's at my dad's house in another state, so I won't be testing it :P ), and I may see what, if anything, is different there, though I doubt I will upload another video.

Edit: Surprisingly, there was a small difference, up to about two tenths of a second at the point where the two ships explode. And now I sort of wonder if what frames I pressed start on could make a difference, even though I synced both videos at the same frame well after I'd set the controllers down.

Edit #2: Did a bunch of tests with the exact same cartridge, and there was some variability--up to about 6 hundredths of a second as far as I could tell. Not as much as between NA 1.2 and JP 1.0, but still there. Still, something like that might make it hard to be sure exactly how far the GSU firmware is from 100% accuracy.
« Last Edit: April 23, 2018, 01:51 AM by Eyedunno »

Offline the_randomizer

  • Full Member
  • ***
  • Posts: 164
  • Karma: +6/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #502 on: April 23, 2018, 01:50 AM »
Went ahead and added the SNES Classic Edition. Seems like they each have their own quirks. :P I'm sort of impressed with how similar they look--the Super Nt really nails the colors on recent firmware.

https://youtu.be/ibQQBXFMn0k

I also have the Japanese 1.0 revision (and the U.S. 1.0 revision, but that's at my dad's house in another state, so I won't be testing it :P ), and I may see what, if anything, is different there, though I doubt I will upload another video.

Edit: Surprisingly, there was a small difference, up to about two tenths of a second at the point where the two ships explode. And now I sort of wonder if what frames I pressed start on could make a difference, even though I synced both videos at the same frame well after I'd set the controllers down.


I should point out that Canoe (the Snes Classic Mini) isn't the most accurate emulator to compare the Super NT to, just my two cents.

Offline Eyedunno

  • Full Member
  • ***
  • Posts: 122
  • Karma: +10/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #503 on: April 23, 2018, 01:57 AM »
Went ahead and added the SNES Classic Edition. Seems like they each have their own quirks. :P I'm sort of impressed with how similar they look--the Super Nt really nails the colors on recent firmware.

https://youtu.be/ibQQBXFMn0k

I also have the Japanese 1.0 revision (and the U.S. 1.0 revision, but that's at my dad's house in another state, so I won't be testing it :P ), and I may see what, if anything, is different there, though I doubt I will upload another video.

Edit: Surprisingly, there was a small difference, up to about two tenths of a second at the point where the two ships explode. And now I sort of wonder if what frames I pressed start on could make a difference, even though I synced both videos at the same frame well after I'd set the controllers down.


I should point out that Canoe (the Snes Classic Mini) isn't the most accurate emulator to compare the Super NT to, just my two cents.

Yeah, total accuracy wasn't exactly the point. The colors look the same though, and they wouldn't have on the launch firmware. I'd be willing to bet Higan will also look the same if I check.

Edit: Neat, not only are the Super Nt (default RGB settings) and Canoe obviously not quite the same when I do an identical screen capture, but higan is even more different. The greens in particular are a little darker, and with a little less blue. Now I'm sorta curious what the result would be from an RGB capture... I might try it in a little bit.

Edit#2: Added RGB (on the OG 2-chip Super Famicom--used because it does better with colors in RGB than my modded mini for some reason, even if it has that annoying checkerboard thing) and S-Video (via the modded mini--used to be my preferred setup before the Super Nt)
« Last Edit: April 23, 2018, 05:13 AM by Eyedunno »

Offline ikari_01

  • Sr. Member
  • ****
  • Posts: 309
  • Karma: +80/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #504 on: April 23, 2018, 02:40 AM »
It's really great to see that spare 4Mbit RAM chip being dedicated to GSU. This is the first time it has ever been used for anything, isn't it? It's so cool that Ikari left it on the PCB for devs to utilize for projects like this. Keep up the incredible coding, Redguy 8)
Well it's part of the design since day 1 ;D
It was intended to serve as a secondary RAM for custom chip architectures having two individual buses (GSU, SA-1) and also as battery backed save RAM to retain the save data until next power-up to be saved to SD card in case of a power outage while real-time saving, etc.
Joke's on me for not having put it to any use yet, of course.

Offline the_randomizer

  • Full Member
  • ***
  • Posts: 164
  • Karma: +6/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #505 on: April 23, 2018, 03:06 AM »
Went ahead and added the SNES Classic Edition. Seems like they each have their own quirks. :P I'm sort of impressed with how similar they look--the Super Nt really nails the colors on recent firmware.

https://youtu.be/ibQQBXFMn0k

I also have the Japanese 1.0 revision (and the U.S. 1.0 revision, but that's at my dad's house in another state, so I won't be testing it :P ), and I may see what, if anything, is different there, though I doubt I will upload another video.

Edit: Surprisingly, there was a small difference, up to about two tenths of a second at the point where the two ships explode. And now I sort of wonder if what frames I pressed start on could make a difference, even though I synced both videos at the same frame well after I'd set the controllers down.


I should point out that Canoe (the Snes Classic Mini) isn't the most accurate emulator to compare the Super NT to, just my two cents.

Yeah, total accuracy wasn't exactly the point. The colors look the same though, and they wouldn't have on the launch firmware. I'd be willing to bet Higan will also look the same if I check.

I thought you compared the timing of the chips too, Canoe is way off on Super FX apparently.  What's weird is Canoe also emulates the Cx4 chip, as you can run MMX2 and X3.  I'd rather run my games on the Super NT with SD2SNES.

Offline Eyedunno

  • Full Member
  • ***
  • Posts: 122
  • Karma: +10/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #506 on: April 23, 2018, 03:11 AM »
I thought you compared the timing of the chips too, Canoe is way off on Super FX apparently.  What's weird is Canoe also emulates the Cx4 chip, as you can run MMX2 and X3.  I'd rather run my games on the Super NT with SD2SNES.
I did indeed compare the timing. That was sort of the point. I know Canoe isn't perfect, but it felt reasonably okay to me to play Star Fox on it. Now, for the first time, SD2SNES is even better (previously, it had been obviously a little slow). So definitely acceptable, even if not yet 100%.

Offline astro187

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #507 on: April 23, 2018, 04:41 PM »
Very interesting. So originally you planned to have a save scheme similar to ED64v3 where it would hold save data until the next power cycle?  I guess that’s no longer relevant except  potentially for MSU-1 games, since the SD2SNES writes the save data instantly for normal games.

It's really great to see that spare 4Mbit RAM chip being dedicated to GSU. This is the first time it has ever been used for anything, isn't it? It's so cool that Ikari left it on the PCB for devs to utilize for projects like this. Keep up the incredible coding, Redguy 8)
Well it's part of the design since day 1 ;D
It was intended to serve as a secondary RAM for custom chip architectures having two individual buses (GSU, SA-1) and also as battery backed save RAM to retain the save data until next power-up to be saved to SD card in case of a power outage while real-time saving, etc.
Joke's on me for not having put it to any use yet, of course.

Offline Eyedunno

  • Full Member
  • ***
  • Posts: 122
  • Karma: +10/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #508 on: April 23, 2018, 04:58 PM »
BTW, I did some more Star Fox testing (full playthrough). It did still feel a bit sluggish in places. Also, the end credits run kind of slow; the music stops while the last names ("JAPANESE SUPPORT") are on screen, as opposed to when the words "THE END" are approaching.

Still, I must note that a YouTube search shows that older emulators do much worse than this, with the music ending a good 15 seconds earlier than that relative to the names on screen.
« Last Edit: April 23, 2018, 05:04 PM by Eyedunno »

Offline leonquest

  • Sr. Member
  • ****
  • Posts: 427
  • Karma: +22/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #509 on: April 23, 2018, 07:20 PM »
Joke's on me for not having put it to any use yet, of course.
Not at all, thank you for thinking ahead. Thanks to you GSU-1 is possible and SA-1 will be possible as well (even if its not an accurate implementation, I just care that it works). My favorite flashcart by far will always be the SD2Snes.
Everdrive64 V3 - SD2Snes rev. f - Everdrive N8 fami - MegaEd X3 - PS IO

On my wishlist:
Everdrive GBA - EDGB X3 - Saturn Satisfier