View Full Version : Polygonal Programming On The SNES
CaryMG
10-27-2005, 12:51 PM
In my excitement for re-developing 3D polygonal software for the SNES -- see Forums > Video Gaming As Life > Video Gaming > "The Underutilization Of The SNES" & "SNES X*BAND Memories"] -- I forgot that all polygonal stuff used the "Super FX" chip.
Would I somehow have to figure out a way to get "Super FX" chips to make SNES gamepaks?
Or could it all be done in software?
Thank you in advance!
:) :) :)
rbudrick
10-27-2005, 02:11 PM
The Super FX chip was basically another procesor. So, no, you can't do it all in software, unfortunately.
-Rob
CaryMG
10-27-2005, 02:43 PM
The "SuperFX" chip was basically another processor.
So, no, you can't do it all in software, unfortunately.
OK ....
Would it be possible, somehow, to obtain these chips & make 3D polygonal SNES games?
I have a super cool idea that'd be lauded worldwide ....
Later!
:) :) :)
ice1605
10-27-2005, 03:00 PM
The "SuperFX" chip was basically another processor.
So, no, you can't do it all in software, unfortunately.
OK ....
Would it be possible, somehow, to obtain these chips & make 3D polygonal SNES games?
I have a super cool idea that'd be lauded worldwide ....
Later!
:) :) :)
Yes, of course. Scrap a StarFox or other SuperFX cart. If you can figure out how to program it, you can just turn old SuperFX carts into homebrews. But, SuperFX carts can be rare, so if you could find someone who could duplicate chips (just kidding, of course). Good Luck!
Ice
CaryMG
10-27-2005, 03:33 PM
Yes, of course.
Scrap a "StarFox" or other "SuperFX" cart.
If you can figure out how to program it, you can just turn old "SuperFX" carts into homebrews ... if you could find someone who could duplicate chips.
Good Luck!
Ice
I was thinking ....
What about SNES ROMs?
As I type this, I'm playing "Stunt Race FX" (http://www.mobygames.com/game/snes/stunt-race-fx/screenshots) -- the quintessential SNES "SuperFX" game -- via a ROM.
There's no hardware of any kind in a ROM, yet the implementation of the "SuperFX Experience", if you will, is flawless.
Can't I do whatever's done in a ROM softwarewise to maintain the "SuperFX"-ness myself?
Later!
kevin_psx
10-27-2005, 03:38 PM
I thought the emulator was running 2 CPUs at the same time?
- snes cpu
+ superfx cpu
essentially a processor + coprocessor
rbudrick
10-27-2005, 03:44 PM
Yes, kev, that's right.
CaryMG, if you are running roms in an emulator, that's a different story....yes, the Super FX chip can be emulated. However, I thought you were talking about running it on the real thing. If you wanted to "make" a real superFX out of off the shelf components, you're kind of out of luck. It is honestly a whole lot less expensive to remove the roms from Starfox carts or other Super FX carts and put whatever game you make in an eeprom, then insert that in the cart..
However, if you are wanting to use the SuperFX chips for some other purpose, fill us in. :-)
-Rob
kevin_psx
10-27-2005, 03:59 PM
How does Nintendo run SuperFX games on the GBA? Use the GBA's GPU as a pseudo-superFX chip?
k
rbudrick
10-27-2005, 04:37 PM
The SNES used a 3.58mhz processor, I believe. The GBA is far more powerful processor-wise, so it really was a snap to emulate the actions of the SuperFX coprocessor. The GBA uses the following: CPU: 16 Mhz 32-bit RISC-CPU + 8-bit CISC-CPU (not sure of the speed of that one).
-Rob
CaryMG
10-27-2005, 05:57 PM
... I thought you were talking about running it on the real thing.
I was ! lol
If you wanted to "make" a real "SuperFX" out of off the shelf components, you're kind of out of luck. It is honestly a whole lot less expensive to remove the roms from "Starfox" carts or other "SuperFX" carts and put whatever game you make in an eeprom, then insert that in the cart.
Man....
There goes my idea ... lol
However, if you are wanting to use the "SuperFX" chips for some other purpose, fill us in. :-)
No ....
Using it for a homebrew SNES gamepack's what I had in mind ....
... sigh ....
Guess doin' it via ROM's the way ta go, then.
So -- how would one go about making a SNES homebrew gamepack via a ROM so it'd be useable in an SNES emulator?
:) :) :)
badinsults
10-27-2005, 10:20 PM
Considering the current state of snes game homebrews, Super FX support is a long way off. There is some progress being made in creating a psudo-C compiler for the snes (although all it does is convert the C code to assembler). So far the only snes homebrews are simple test programs made purely in assmebler.
Ed Oscuro
10-28-2005, 12:40 AM
There is some progress being made in creating a psudo-C compiler for the snes (although all it does is convert the C code to assembler).
And from there just translate opcodes and link, right? *snaps fingers*
badinsults
10-28-2005, 02:20 AM
There is some progress being made in creating a psudo-C compiler for the snes (although all it does is convert the C code to assembler).
And from there just translate opcodes and link, right? *snaps fingers*
I have no idea. You could have a look here:
http://snescentral.edgeemu.com/snesrpg/
PS, I didn't write anything on that subsite.
Cauterize
10-28-2005, 04:38 AM
What about the Super Wild Card?
My version has these two options:
Disk To Cassette
Cassette To Disk
(Cassette being the Cart...)
Can the Super Wild Card Really write to Carts if theyre writeable carts? If so, then would making a writeable cart work on the SWC? Maybe thats your solution
hydr0x
10-28-2005, 07:01 AM
nah adam, afaik that doesn't work ;)
@cary
dear god, please, before you even THINK about programing a SuperFX game go and do a good 2D-platformer. If you are able to do that, you can go on...
kevin_psx
10-28-2005, 07:23 AM
Yeah I'd rather see a beautiful hi-res 2D game vs. another Starfox suffering from poor polygons & slowdown. I don't like 3D that looks like Sh__.
I wonder if the SuperFX could be recreated with an FPGA? Just dump the cpu core into the fpga?
roushimsx
10-28-2005, 07:25 AM
How does Nintendo run SuperFX games on the GBA? Use the GBA's GPU as a pseudo-superFX chip?
They rebuilt the games from the ground up for the GBA's cpu, negating the need for a secondary CPU. The Doom port on GBA was actually based on the Jaguar version, of all ports. The Doom II version was built off of the original Doom sourcecode, though.
On a tangent, IIRC the GBA's main limitation is in the audio compression it supports, which is why large chunks of space on the carts is taken up by poorly-compressed low quality audio (also pretty much the only drawback to Max Payne; they could have ported over a hell of a lot more levels if they didn't waste so much space with the voice work that sounded like a bunch of guys talking through tin cans and wax string).
On a further tangent, how do you go from co-developing the SuperFX line of chips and kickstarting the Starfox franchise to making... "Malice". Jesus.
kevin_psx
10-28-2005, 07:32 AM
The Doom port on GBA was actually based on the Jaguar version, of all ports.
Why???
rbudrick
10-28-2005, 10:26 AM
I wonder if the SuperFX could be recreated with an FPGA? Just dump the cpu core into the fpga?
Good question....modding an fpga to a SNES cart in conjuction to the wiring of a SuperFX chip would be a pain in the ass...custom boards would have to be made, which isn't too expensive once the design is planned out. Getting the finished fpgas produced might be another story though...hard to say. The designer would need some pretty advanced fpga-based design training, that's for sure. It's not like the Super FX chip is some simple circuit like some of the NES mappers.
So -- how would one go about making a SNES homebrew gamepack via a ROM so it'd be useable in an SNES emulator?
Learn 6502 assembly coding. Study SNES architecture and apply your knowledge 6502 to it. Study the code of dumped SNES games. As far as SNES coding goes, SuperFX coding can be pretty difficult (to put it lightly), you are better oof making a bunch of demos and applying that toward making some simpler, non-special-chip based games. I would reccomend you get a flash cart from tototek.com so you can run your creations on the real thing.
-Rob
badinsults
10-28-2005, 02:59 PM
Actually, the snes uses 68c516 assmebly. The NES uses 6502, I believe. If you want to start programming for the snes, this may be a good start:
http://en.wikibooks.org/wiki/Super_NES_Programming
CaryMG
10-28-2005, 06:31 PM
Learn 6502 assembly coding.
Study SNES architecture and apply your knowledge 6502 to it.
Study the code of dumped SNES games.
As far as SNES coding goes, "SuperFX " coding can be pretty difficult (to put it lightly), you are better of making a bunch of demos and applying that toward making some simpler, non-special-chip based games.
I would reccomend you get a flash cart from tototek.com (http://www.tototek.com) so you can run your creations on the real thing.
kk, Rob -- tototek.com (http://www.tototek.com) it is, then!
And thanks so much for all the help, guys!
Later!
:) :) :)
rbudrick
10-30-2005, 08:37 AM
Actually, the snes uses 68c516 assmebly.
Wow, really? I remember a lot of folks saying the snes is just a nes with more colors and ram with a faster processor. I even remember people saying, many NES games are almost easily ported to SNES, but I never really saw any evidence of this. I just assuned the programming languages were the same. for these reasons. I'm surprised I didn't know that, heh heh.
-Rob
suppafly
10-30-2005, 10:14 AM
The SNES used a 3.58mhz processor, I believe. The GBA is far more powerful processor-wise, so it really was a snap to emulate the actions of the SuperFX coprocessor. The GBA uses the following: CPU: 16 Mhz 32-bit RISC-CPU + 8-bit CISC-CPU (not sure of the speed of that one).
-Rob
Oh, im sure it isnt emulated. The games ARE reprogrammed to run on GBA hardware. A 16 mhz cpu (gba) doesnt have the power to emulate a 10 mhz (sfx) chip...not in a million years!
kevin_psx
10-30-2005, 06:03 PM
Actually, the snes uses 68c516 assmebly.Wow, really? I remember a lot of folks saying the snes is just a nes with more colors and ram with a faster processor.
68c516 is the 16-bit version of the 6502 so they are related same way as 80186 and 8088
CartCollector
10-30-2005, 06:22 PM
First of all, Cary, how many console homebrews, or even demos, have you written? No offense, but I'm guessing none. To me, you appear quite naive on programming/electrical engineering/etc. If that's the case, you should try to do some more simple games than jumping straight in to the deep end of difficult programming projects. Of course, I could be wrong.
Also, you might be able to get more help on this from the technical documents at Zophar's Domain (http://www.zophar.net) and the forums at XGameStation.com (http://205.158.110.70/ubbcgi/ultimatebb.cgi?ubb=recent_user_posts&u=00000002).
CaryMG
10-30-2005, 08:08 PM
First of all, Cary, how many console homebrews, or even demos, have you written?
None.
No offense ....
None taken! lol
To me, you appear quite naive on programming/electrical engineering/etc.
... you should try to do some more simple games rather than jumping straight in to the deep end of difficult programming projects.
It's my sheer love for the SNES -- which I look at as a "Plug & Play AMIGA" -- that forlornly looks at it's underappreciativeness & underutilization and makes me want to program for it & realize all of it's potential.
Can you imagine this classic on the SNES? > "Eye Of Horus" (http://www.mobygames.com/game/dos/eye-of-horus/screenshots)
I've wriiten programs in BASIC in high school, so I have a feel for coding & would be willing to learn whatever language is necessary to develop software for the SNES.
And thanks for those 2 websites ya gave me!
They look very intersting & informative!
Thanks Again!
:) :) :)
badinsults
10-30-2005, 09:23 PM
I hate to burst your bubble, but programming in ASM is far more complicated than BASIC. If it was easy, then you would see more homebrew snes games. Right now the most complicated snes homebrews are simple pong clones.