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

0 Members and 1 Guest are viewing this topic.

Offline redguy

  • Jr. Member
  • **
  • Posts: 54
  • Karma: +148/-0
    • View Profile
gsu (superfx) support [work in progress]
« on: March 26, 2018, 08:04 AM »
Latest version is here: https://github.com/RedGuyyyy/sd2snes/releases/download/gsu_v10/sd2snes_gsu_v10.zip

A few weeks back I decided to learn about the superfx chip and this is the result.  It's still quite buggy, but I figured it's far enough along to show a video (ignore the bad gameplay).  The various caches haven't been fully implemented which causes moderate slowdown.  There are also several graphical glitches that need to be worked out as well as getting the other gsu games working.  The fpga is quite full and hopefully it all fits.

It's not ready for people to test, yet.  Once it gets to that point I will post a set of files.  Thanks to those who have offered to help.

https://www.youtube.com/watch?v=1vuDBvGyn2o

The development platform uses usb2snes to read out gsu state, step instructions, set breakpoints, collect an instruction trace, and other useful stuff.  It's been extremely useful in finding many bugs.



Source is here, but I haven't checked in the firmware changes necessary to run the fpga file correctly.

https://github.com/RedGuyyyy/sd2snes/tree/gsu

One area that would help a lot is some self-checking assembly tests.  krom has a suite here that all pass, but it would be great to have more tests.  After the caches are implemented I plan on writing some myself.

https://github.com/PeterLemon/SNES/tree/master/CHIP/GSU

Huge thanks to all the bsnes and bsnes-plus developers, the nocash fullsnes docs, krom and his gsu tests which found several bugs early on in development, and ikari for making the sd2snes.
« Last Edit: May 05, 2018, 08:01 AM by redguy »

Offline ka55

  • Newbie
  • *
  • Posts: 34
  • Karma: +1/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #1 on: March 26, 2018, 09:16 AM »
thanks.
Great work.  ;)

Offline ikari_01

  • Sr. Member
  • ****
  • Posts: 307
  • Karma: +80/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #2 on: March 26, 2018, 10:18 AM »
Wow.  8)
How did you pull that off in such a short time? I think I'm too dumb for this  :-[ ;D

Offline dvd2vcd

  • Hero Member
  • *****
  • Posts: 1785
  • Karma: +155/-116
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #3 on: March 26, 2018, 11:41 AM »
 :o OMG
ED64 v2.5 - MEGAED X7 - TED v2.4 - SD2SNES rev F - EDN8 fami - EDGB X7 rev B

Offline jonnnlad

  • Newbie
  • *
  • Posts: 8
  • Karma: +1/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #4 on: March 26, 2018, 11:56 AM »
Thank you!

Offline teamvb

  • Full Member
  • ***
  • Posts: 139
  • Karma: +3/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #5 on: March 26, 2018, 04:35 PM »
DREAM COME TRUE Thanks
« Last Edit: March 26, 2018, 04:43 PM by teamvb »
EVERDRIVE 64v3,SUPERDRIVE v2, SD2SNES rev F ,UFO PRO SD,GAME DOCTOR 7 128MB USB,TURBO EVERDRIVE v1,MEGA EVERDRIVE V2,EVERDRIVE MD V1,MASTER EVERDRIVE,FLASHKIT MD,EVERDRIVE N8/FAMICOM

Offline Greg2600

  • Full Member
  • ***
  • Posts: 228
  • Karma: +4/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #6 on: March 26, 2018, 05:34 PM »
Thanks for sharing your (early) work.  I would agree with ikari's past advice of getting the implementation mostly working in an emu first.  I would *hope* the FPGA can handle the work, but there is that possibility it can't.   :(

Offline dreimer

  • Full Member
  • ***
  • Posts: 202
  • Karma: +20/-0
    • View Profile
    • Reimi's Blog
Re: gsu (superfx) support [work in progress]
« Reply #7 on: March 26, 2018, 09:53 PM »
You know that some ppl in here wanna marry you for showing up with this, do you?  ;D

Offline protheanbeacon

  • Jr. Member
  • **
  • Posts: 89
  • Karma: +5/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #8 on: March 26, 2018, 10:15 PM »
Amazing work brother.

If you can get this up and working with SD2SNES hopefully you'll work on the SA-1 chip next.

Again even I a non programmer am amazed you were able to get the FX chip cloned/emulated/simulated/what have you so quickly.  :o
krikzz products I own: SD2SNES, Joyzz, Everdrive GB X7, Everdrive GBA X5, Mega Everdrive X7, Everdrive 64 v3, Everdrive N8, Turbo Everdrive v2, Master Everdrive X7.

Offline megari

  • Newbie
  • *
  • Posts: 10
  • Karma: +4/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #9 on: March 27, 2018, 12:28 AM »
I am very impressed. I thought Star Fox was crashing on startup, but there it is, running beautifully! Hopefully a proper implementation of the instruction cache and ROM and RAM buffering won't consume too much of the space on the FPGA.

Offline iwasaperson

  • Full Member
  • ***
  • Posts: 141
  • Karma: +13/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #10 on: March 27, 2018, 01:04 AM »
"A few weeks"
Lolwut

Also clearly my firmware hack to try to get the FPGA core loaded was done incorrectly, so I guess I'll just wait for you to commit it. I'm quite impressed by the results and can't wait to run it on my own SNES, buggy as it may be.

Also if there isn't enough room on the FPGA, I wonder if it's possible to use the ARM core for some parts of it in a software-emulation style in combination with the FPGA core.
« Last Edit: March 27, 2018, 01:07 AM by iwasaperson »
@Syboxez on Discord and some other places as well.

Offline the_randomizer

  • Full Member
  • ***
  • Posts: 124
  • Karma: +5/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #11 on: March 27, 2018, 05:53 AM »
That is..wow, uh...  :o

Offline polyh3dron

  • Newbie
  • *
  • Posts: 38
  • Karma: +1/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #12 on: March 27, 2018, 02:18 PM »
um. holy shit.

Fingers crossed that the FPGA can hold all the caches and such. If not, maybe a new rev is in order?
« Last Edit: March 27, 2018, 02:20 PM by polyh3dron »

Offline the_randomizer

  • Full Member
  • ***
  • Posts: 124
  • Karma: +5/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #13 on: March 27, 2018, 06:01 PM »
um. holy shit.

Fingers crossed that the FPGA can hold all the caches and such. If not, maybe a new rev is in order?

I hope SA-1 is next.

Offline ErivandoXP

  • Jr. Member
  • **
  • Posts: 63
  • Karma: +7/-0
    • View Profile
Re: gsu (superfx) support [work in progress]
« Reply #14 on: March 27, 2018, 09:45 PM »
Wooow  ;D

Thanks!