Developer shows off SNES raytracing through the custom-made SuperRT chip



Slide2.jpg Slide5.jpg

RTX off, RTX on! RTX on...the SNES! Developer Shironeko Labs, otherwise known as Ben Carter, has been playing around with a project idea for around a year: getting real-time raytracing to work on the Super Nintendo of all things. The culmination of his work has resulted in the SuperRT, an expansion chip, similar in function to the Super FX chip. This additional cartridge, which was made from the combination of a Super Famicom Pachinko game, a ton of cables, a shifter board, and a Cyclone V FPGA allows for the Super Nintendo to render simple objects, shadows, and reflections, in full ray-traced glory, all at a glorious resolution of 200x160.

The SuperRT chip constructs the scene using a specialised command language which is executed by one of three parallel execution units on the chip - essentially specialised CISC processors - to perform ray intersection tests. The scene description allows objects to be constructed using a subset of CSG operations, using spheres and planes as the basic building blocks and then performing OR, AND and subtraction operations using them to build up the desired geometry. AABBs are also supported, although primarily for use in culling tests (they can be rendered if desired, but they have a lower positional accuracy than other primitives and thus this is not generally very useful except for debugging purposes).

Carter goes into full detail on his official website about how he got his demo to work, which involved lots of commands, conversions, and many other technical terms.

The chip also implements a number of other basic functions - there is an interface to the SNES cartridge bus, along with a small program ROM holding 32K of code for the SNES (this is constrained by the fact that the interface board currently only connects up the SNES Address Bus A lines, and thus the effective usable address space is a mere 64K, of which 32K is used for memory-mapped IO registers to communicate with the SuperRT chip). There is also a multiplication accelerator unit that lets the SNES perform 16x16bit multiply operations rapidly.

:arrow: Source
 

smf

Well-Known Member
Member
Joined
Feb 23, 2009
Messages
6,643
Trophies
2
XP
5,861
Country
United Kingdom
It's still clear you do not know what you are talking about or how co-processors work in parallel with a CPU.

It's clear you're using insults to try to win an argument. But that kind of shit just makes me want to argue with you more, so it's pointless.

If the co-processor is doing all the work and it's modern and expensive, then what is the challenge? Just hook your pc up to the snes and it's running windows and linux on the snes right? I can imagine the click bait youtube videos already.

He's using a genesis controller hooked up to the DE10 and the DE10 Nano developer board is quite capable of outputting a video signal and, the ray tracing is able to run faster when it's not hooked up to a SNES. It's literally better if you run the thing completely standalone.

The DE10 Nano developer board is also heavily subsidized by Intel (for now) which makes it difficult to turn it into a product.

it's for those that appreciate what the MSU-1 chip brought to existing SNES games.

MSU-1 is more interesting as it is for expanding SNES games. Porting existing games to Super RT would mean rewriting the games, which is going to break the ship of theseus.

That's because the Snes cannot emulate the Sega Genesis, the code must be changed.

I read his post as they had to use different algorithms, rather than just translating the 68000 code to 65816.
 
Last edited by smf,

nashismo

Well-Known Member
Member
Joined
Jun 5, 2013
Messages
520
Trophies
1
Age
43
Location
Home sweet Home (Mi casita)
XP
1,269
Country
Chile
It's clear you're using insults to try to win an argument. But that kind of shit just makes me want to argue with you more, so it's pointless.

If the co-processor is doing all the work and it's modern and expensive, then what is the challenge? Just hook your pc up to the snes and it's running windows and linux on the snes right? I can imagine the click bait youtube videos already.



MSU-1 is more interesting as it is for expanding SNES games. Porting existing games to Super RT would mean rewriting the games, it breaks the ship of theseus.



I read his post as they had to use different algorithms, rather than just translating the 68000 code to 65816.

Just don't be an asshole and let others enjoy this, if you disagree, great, go somewhere else and do something positive or whatever.

These people are amazing and have done this for all of us Snes users, I will always thank people like this. And sure I must say my greatest dream is to see games ported to the Snes using the SA-1 chip, things like NeoGeo games etc, but this is good because it makes the Snes scene alive! And that is always positive.
 

smf

Well-Known Member
Member
Joined
Feb 23, 2009
Messages
6,643
Trophies
2
XP
5,861
Country
United Kingdom
And sure I must say my greatest dream is to see games ported to the Snes using the SA-1 chip, things like NeoGeo games etc,

That would be amazing. Sure you could stick a Pi in a snes case and just run the neogeo games, but just shoving some modern hardware in and running new software on it isn't the same. Use three SuperFX overclocked to 57mhz on a cartridge and run ray tracing on that monster then I'd see how it has anything to do with the SNES.

I've been tempted to create a memory expansion for the PS1, like the Saturn had for the capcom games. All my PS1 dev gear is out of reach at the moment though. I just won't claim it sticks to the spirit of 90's technology, if I used anything that wasn't possible in the 90's.
 
Last edited by smf,
  • Like
Reactions: nashismo

raging_chaos

Well-Known Member
Member
Joined
Oct 27, 2020
Messages
424
Trophies
0
XP
1,427
Country
United States
It's clear you're using insults to try to win an argument. But that kind of shit just makes me want to argue with you more, so it's pointless.

If the co-processor is doing all the work and it's modern and expensive, then what is the challenge? Just hook your pc up to the snes and it's running windows and linux on the snes right? I can imagine the click bait youtube videos already.

It's not an insult, its very clear you have issues with others discussing and enjoying this. What's the challenge? Being able to do it while using the bottlenecks of the SNES hardware to work with. This news wasn't targeted towards you at all. Here's simple PC terms for you, any child should be able to follow:

SNES Ricoh CPU = Ryzen CPU
SNES PPU = Integrated Graphics
SNES SPU = Integrated Sound
RTX Chip = RTX 3090
SNES Console = PC

Is the Ryzen chip calculating real time ray tracing? No. Is the Ryzen chip just sitting there idle doing nothing? No. Is the Ryzen CPU based PC system running ray traced Cyberpunk? Yes. No one anywhere would say, "that Ryzen chip is just sitting there while the RTX 3090 is doing all the work, that's not impressive." The PC is running a ray trace capable game, and by extension the SNES is running a ray trace capable homebrew app. This isn't hard to follow, if data is being feed into and read from the SNES's buffer, then its running it. You're intent on just being negative on this subject, just move on.

Genesis controller? I could swear that looks like a SNES controller plugged into the port to me. Completely rewrite game code? Here is where I know you have no clue what you are talking about. Plotting simple points and having it calculated in parallel as existing code isn't rewriting. The MSU-1 chip didn't rewrite any code, it replaced existing assets in real time. Ever seen a boss that's being fought on a black background? In most cases the background is black because the boss is actually being drawn in the background by the chips responsible for background effects and rotations. In a case like this you replace the 2D assets with ones from the RTX chip in the buffer. Anyone want any Ikaruga style bosses in 2D shooters? This chip could make swapping those assets possible.

snes-ray-tracing.jpg
 
Last edited by raging_chaos,
D

Deleted User

Guest
Ben Carter plans to release the code under an open source license.
I wonder if this could be implemented into Snes9x like the MSU-1 support?
 

raging_chaos

Well-Known Member
Member
Joined
Oct 27, 2020
Messages
424
Trophies
0
XP
1,427
Country
United States
  • Like
Reactions: Deleted User
D

Deleted User

Guest
More than likely this will be supported by emulators first, like the ones from Byuu. I wouldn't expect any real hardware until homebrew support by the community is well underway.
I would love to see this running on Snes9x for the Nintendo Wii.
I hope the code is not too "heavy" on the hardware.
 

smf

Well-Known Member
Member
Joined
Feb 23, 2009
Messages
6,643
Trophies
2
XP
5,861
Country
United Kingdom
Being able to do it while using the bottlenecks of the SNES hardware to work with. This news wasn't targeted towards you at all. Here's simple PC terms for you, any child should be able to follow:

Again, with the insults.

So you're saying the challenge is in sending a rendered frame to the SNES, like the Super FX did in 1993? Well they say simple things please simple minds. Oh shit, you've dragged me to your level.

A standalone version without the SNES interface would be cool though, without all the click bait. Then anyone with a mister could play with it & in 24 bit at > 20fps it would look better.
 
Last edited by smf,

raging_chaos

Well-Known Member
Member
Joined
Oct 27, 2020
Messages
424
Trophies
0
XP
1,427
Country
United States
Again, with the insults.

So you're saying the challenge is in sending a frame to the SNES, like the Super FX did in 1993?

The challenge is in writing the code. Is your challenge just to be a troll?

The command program itself is uploaded from the SNES and stored in a local 4K RAM buffer - animation is performed by writing modified commands into this buffer as required. Once a frame is rendered, the PPU converter module turns the framebuffer into a format that can be DMAed directly to the SNES VRAM for display. Stop hating on it, unless you can code an example of you doing something better just move on. You have nothing to add to this discussion.
 
Last edited by raging_chaos,

smf

Well-Known Member
Member
Joined
Feb 23, 2009
Messages
6,643
Trophies
2
XP
5,861
Country
United Kingdom
The challenge is in writing the code. Is your challenge just to be a troll?

I have a habit of mirroring people, so probably that is how I come across to you.

Genesis controller?

Yes?

https://arstechnica.com/gaming/2020...n-unmodified-snes-revved-up-with-ray-tracing/

His setup also splits out to display debug information via HDMI, and that visual feed is controlled, amusingly enough, with a Sega Genesis controller, since Carter found that kind of controller was easier to connect directly to a De-10 Nano FPGA board.

Plotting simple points and having it calculated in parallel as existing code isn't rewriting.

But sending an entire world view up to the Super RT, so that it can reflect things outside the visible space, is not just a case of replacing "plotting simple points" in a game. If you don't rewrite the games then you will be left with the same 90's popup and objects disappearing from reflections as soon as they go behind the camera. You might be faster than a stock Super FX, but a 57mhz overclocked Super FX will give you a run for it's money.

But I look forward to seeing how you solve the issues when you port Star Fox.
 
Last edited by smf,

raging_chaos

Well-Known Member
Member
Joined
Oct 27, 2020
Messages
424
Trophies
0
XP
1,427
Country
United States
I have a habit of mirroring people, so probably that is how I come across to you.
Was that supposed to be an attempt at... anything? This is what you are degrading to? You don't even challenge yourself to come up with something meaningful?

As for the edit you added, the Genesis controller is for debugging. Do you even know what that means? A mouse and keyboard could have been used for debugging. An Atari controller with the same exact interface could have been used. Anyone that's ever soldered an adapter for classic controllers would understand this. You're also conveniently leaving out the second display being used for that debugging and ignoring the part where he clearly says "The SNES is firmly in the driver's seat here," Carter remarks, "but the FPGA add-on board still picks up largely where the SNES left off." Just stop this is too far above you.

Here's the blog from the man himself:
https://www.shironekolabs.com/posts/superrt/

Just don't be an asshole and let others enjoy this, if you disagree, great, go somewhere else and do something positive or whatever.

These people are amazing and have done this for all of us Snes users, I will always thank people like this. And sure I must say my greatest dream is to see games ported to the Snes using the SA-1 chip, things like NeoGeo games etc, but this is good because it makes the Snes scene alive! And that is always positive.

Well said, it's unfortunate others can't seem to comprehend.
 
Last edited by raging_chaos,

raging_chaos

Well-Known Member
Member
Joined
Oct 27, 2020
Messages
424
Trophies
0
XP
1,427
Country
United States
You might be faster than a stock Super FX, but a 57mhz overclocked Super FX will give you a run for it's money.

But I look forward to seeing how you solve the issues when you port Star Fox.

You can stop adding useless edits to your post. You are attempting to compare the SFX co-processor to FPGA just because you saw 50Mhz, while still not saying anything meaningful. Anyone that remembers how the PSX handled lighting effects on sprites during ports will know what to expect out of something like this.

Also theres this: "For debugging, I used the HDMI interface on the DE10 board to output data to a second monitor, along with a Megadrive joypad connected to the GPIO pins to manipulate the debug system. Resource constraints mean that this has to be disabled if all three ray engine cores are enabled, however."
Slide4.jpg


Just don't be an asshole and let others enjoy this, if you disagree, great, go somewhere else and do something positive or whatever.
 
Last edited by raging_chaos,

smf

Well-Known Member
Member
Joined
Feb 23, 2009
Messages
6,643
Trophies
2
XP
5,861
Country
United Kingdom
You are attempting to compare the SFX co-processor to FPGA just because you saw 50Mhz, while still not saying anything meaningful.

I'm comparing to the SFX cpu because those are the 3d snes games & ray tracing needs 3d. You're trying too hard to insult me you're missing the obvious points in my posts. I assume you don't cope well with people disagreeing with you. You should work on that.

Anyone that remembers how the PSX handled lighting effects on sprites during ports will know what to expect out of something like this.

So the same slow down, the same amount of popup with some transparency and reflection that drops in and out as polygons appear and disappear from the screen? Certainly that isn't what I expected from the hype in the articles. Maybe should have waited until a game was actually done.
 
Last edited by smf,

raging_chaos

Well-Known Member
Member
Joined
Oct 27, 2020
Messages
424
Trophies
0
XP
1,427
Country
United States
I'm comparing to the SFX cpu because those are the 3d snes games & ray tracing needs 3d. You're trying too hard to insult me you're missing the obvious points in my posts. I assume you don't cope well with people disagreeing with you.



So the same slow down, the same amount of popup with some transparency and reflection that drops in and out as polygons appear and disappear from the screen? Certainly that isn't what I expected from the hype in the articles.

Just stop already, it's beyond clear the technical aspects of the subject you are attempting to discuss is beyond you.

You can stop trying to flesh out your one sentence posts after the fact as well. There's is a post history.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Crowbar?