I've been thinking about a possible flash cart that would load games from either an SD card or a Compact Flash card. It would really depend on how fast I want the roms to load into RAM. Compact Flash would be faster though. Also, a chip that could emulate most SNES mappers and other co-processors would be awesome. I'm not sure if this is technically correct but would an FPGA be able to emulate mappers and/or co-processors such as the Super FX or Capcom chip? I did some research to see how the PowerPak worked and saw that it uses an FPGA or a PLD to emulate the specific mappers for different games. I am not sure exactly how large the unit would be, but it may end up turning into something like a modern copier/homebrew device with SD/Compact Flash support.
Please note that at the given moment, I am not 100% educated on the ins and outs of the SNES hardware so it may be a while until I can start on a prototype. Also, I need to think of how I could do this cost effectively.
I think this is a great idea. If i could build something like this I would! but i'm just a 2 bit user in a 64bit world. this one guy i ran across is trying it though. Here, check
it out.
pcmantinker wrote:
I've been thinking about a possible flash cart that would load games from either an SD card or a Compact Flash card. It would really depend on how fast I want the roms to load into RAM. Compact Flash would be faster though. Also, a chip that could emulate most SNES mappers and other co-processors would be awesome. I'm not sure if this is technically correct but would an FPGA be able to emulate mappers and/or co-processors such as the Super FX or Capcom chip? I did some research to see how the PowerPak worked and saw that it uses an FPGA or a PLD to emulate the specific mappers for different games. I am not sure exactly how large the unit would be, but it may end up turning into something like a modern copier/homebrew device with SD/Compact Flash support.
Please note that at the given moment, I am not 100% educated on the ins and outs of the SNES hardware so it may be a while until I can start on a prototype. Also, I need to think of how I could do this cost effectively.
I would check to see how mash-mods.com did theirs, Tomy from ToToTek did his and how how the guys at optixx.org are coming along with theirs (and eventually their SDcard Daughter Board).
That would jump start your work for sure.
I'm sure in theory somewhere there is an FPGA that could fit a clone of the SNES coprocessor chips. Who knows what it would cost but not to mention it's not like you can just copy the chip. You'd have to understand how to use a FPGA which I imagine you don't.
Another thing is the SNES doesn't have "mappers". Games use LoROM and HiROM mapping but that's not the same thing as the NES and memory mappers.
If you want to make something like this you're going to need to know alot of things which I'm guessing you don't know how to do right now. For example just making a Copier like you'd find on the used market today for SNES which is just a seemingly basic unit such as the GDSF3 or Super UFO.
Just remember if it was that easy someone else would have already done it. There is a project going on to basically do what you want with loading off a SD card. I remember they made test code and modified BSNES as a testing ground. I'm guessing that is the optixx.org project Matthew mentioned.
With my current knowledge of the subject, I don't really know how to interface with an FPGA let alone most of the SNES hardware. I have more of a software background with high level compilers like C or C++. I will have to study how the low level hardware works before attempting to get too involved in the project. I understand the basics of a computer system, but low level hardware accessing is a bit past my expertise right now.
Well you have to think, do you want to build something like this or do you just want to have something like this? If you just want to have something like this you have options and if you wait there may be more options.
If you are actually interested in building one yourself go right ahead, learn the things you need to know.
I'm trying to make a SNES flash cart that can hold multiple games with SD card + (potentially) onboard DSP1 support. My first simplified prototype has run its course and I'm currently ordering prototypes of the full (hopefully final) version. I'm having fun and would like to share my work with others, but it is quickly becoming apparent that I will have to risk quite a bit of money and charge ~ $120 per cart just to hope to break even. I don't care if I lose too much money, as the main point is to hopefully share my fun with others, but I wouldn't be willing to risk too much ... What I'm trying to say, is that if my experiences have shown me anything, it is that you probably won't be seeing an affordable SFX and SA1 and C4 and SDD1 and etc. capable cart with FPGA anytime soon.
If someone does make an "everything" SNES hardware emulator cart, it will either be a personal project, or will be something like what Kevin was shooting for a couple years ago with his awesome hardware console emulator in that it will be: probably be a short run of pre-orders, with a significant cost, and only for those that understand exactly what they are buying (ie. somewhat capable of programming it themselves).
For those wanting to tinker with other co-processors, it seems more reasonable to me for them to modify a cart to make a dedicated EEPROM (or flash) cartridge for those purposes ... because the jump from handling all the memory mapping capabilities, to emulating a full co-processor, is very far from being a small step in price and capability.
(EDIT: For those interested, my current design's intended features:
- fits in a PAL and NTSC cartridge shell
- has a microcontroller to read the SD card
- microcontroller can act as a simple co-processor if one so chooses (more useful for homebrew -- do not expect emulation, but I'm trying DSP1 and can currently play MarioKart and some of PilotWings)
- 128Mbit flash, which can support up to 31 games on the cart (so you don't have to wait for flash programming every frickin time)
- 2Mbit SRAM, battery backed, and can support multiple games
- and to make it easy on those really wanting to fiddle with it ... both the microcontroller code and CPLD are fully reprogrammable / updatable without the need for special programming cables (after my initial programming of course)
I don't know how much free time I'll have, but a lot of programming is already done from previous version. Maybe I can start releasing it in 2 months?
)
What about sticking a GBA SuperCard inside a cartridge, converting the voltage, and hoping it works?
Obviously you'd need a mapper, because the 32MB address space is too big, and there would need to be a way to switch the supercard bewteen BIOS/IO mode and RAM mode. Can't do that without twiddling the highest address bits.
Probably would also need a custom BIOS which would run SNES code instead of GBA code.
Using a SuperCard would have complications:
- The BIOS issue, as Dwedit pointed out.
- The interface circuitry would need something to translate between the roughly N64-RAMBUS-ish 16-bit multiplexed address and data bus in the GBA and the non-multiplexed 8-bit bus on the Super NES cart edge. I don't think the SuperCard has anything like the hardware on the old Visoly cards that allowed the GB Bridge to work at GBC speeds.
- With 4 wait states (at 16.78 MHz) for random access, the SuperCard's RAM runs at an effective (1000/16.78)*(4 + 1) = 300 ns, which isn't even fast enough for SlowROM. How fast is your SuperCard in memtestARM?
neviksti wrote:
- has a microcontroller to read the SD card
- microcontroller can act as a simple co-processor if one so chooses (more useful for homebrew -- do not expect emulation, but I'm trying DSP1 and can currently play MarioKart and some of PilotWings)
I think that's really cool way to do the DSP chip. What MCU are you using?
On my Squeedo NES cart, with it's PIC18, at one point I had considered replicating some functions of the SNES DSP. But I'm not a math person at all, and the application of some of it's functions are a little beyond me (plus maybe of questionable use on NES). Mostly it just provided a kind-of well documented framework that seemed interesting.
I'm using PIC24H for the mcu. I needed something large enough and fast enough to handle the SD card okay. Due to unknown and or undocumented issues with the pic chip (I've already found one undocumented bug/"feature") the timing doesn't seem to work as planned for supporting some DSP1 emulation features. It may still be possible, but I'm not going to waste anymore time on it right now. (Some games expect crazy fast response, such as write command, write data, read response ... absolutely no pause. They don't wait for RQM at all.)
For as simple as SNES mapping is, I was amazed at how much logic it took to make a simplified version of the SF3 was. I got the design to fit in the CPLD, so I should be good to go, but I'd really like to use some of its features better ... but I'm struggling with the Xilinx's software. Their support department refuses to talk to students, and their support documents are aweful. The software sent with a cpld kit was actual outdated enough that it couldn't be installed, and their tutorials don't match versions currently available. I'd like to reduce the mA needed, but the fitter completely ignores my timing constraints and just does what it wants. So currently I can only get it to work if I set everything to fast and just accept the additional power usage. If anyone is familiar with Xilinx software, and would be interested in helping look over the design, please let me know.
Neviksti, would your flash cart be able to run your 96mbit Star Ocean hack? That would be amazing. Currently, I am playing it on my SF7.
pcmantinker wrote:
Neviksti, would your flash cart be able to run your 96mbit Star Ocean hack? That would be amazing. Currently, I am playing it on my SF7.
Yes. My mapper design is not as versatile as the SF7, but it should be able to play that.
neviksti, sent you a PM here that you might be interested in re: your SD cart idea.
electrochip wrote:
any update neviksti?
I'm not sure what the point would be now that there is a SNES Powerpak.
Quote:
I'm not sure what the point would be now that there is a SNES Powerpak.
To do it yourself.
NESter wrote:
I'm not sure what the point would be now that there is a SNES Powerpak.
I can think of several reasons.
- Price competition
- Regulatory competition (for example, anything made in Brazil is likely to be far cheaper for people in Brazil to buy due to Brazil's import duty)
- Feature competition
- Ship date competition (ability to ship while competitor's product is out of stock)
Case in point: SuperCard DS One and CycloDS Evolution still sold, despite R4 producing a microSD adapter for DS first, because they offered different features and may have been in stock when a retailer was out of R4 cards.
Quote:
I'm not sure what the point would be now that there is a SNES Powerpak.
To support neviksti and I would much rather use an SD card than compact flash.