So, I have been developing the cortex-accelerator hardware for quite some time. It is meant to be a development tool and platform for different consoles and PC, mainly targetting Nintendo and Sega consoles like NES, SNES, Game Boy, Sega Master System and Sega Mega Drive/Genesis. The idea is to have it's environment allow to use (mostly) the same code base to run on different targets.
The hardware was initially based on a STM32F1 microcontroller and moved to the more capable STM32F4 microcontroller. After the RP2040 was released however, seeing how powerful it's peripherals are, I ultimately moved to it.
For the past few years (work began around 2019, indicated by my posts around that time) I focused on setting up a proper development environment to develop a full game based on my hardware and have some kind of demonstration for it. The current result is Katana Quest, a game I announced a long time ago. It has reached MVP status (I guess), implementing many features I had planned for it, but development has been stale for a year or so. Currently it lacks content.
Another demonstration I always had in mind was running DOOM on the cortex-accelerator, fulfilling the "does it run DOOM" requirement. I had actually dreamt of having the hardware be released with a much more capable port of DOOM on both Super NES and Sega Mega Drive, dubbed "Super DOOM" and "Mega DOOM" respectively.
After the recent announcement of the re-release of SNES DOOM and seeing that Bitmap Bureau came up with basically the same hardware design plus some support hardware for replicating the original DOOM cartridge, I thought I might reveal what I was up to until now. After a few weeks of digging into the RP2040 port of Chocolate DOOM I was able to get DOOM running on the cortex-accelerator: Super DOOM - Chocolate DOOM on Super NES
Some pictures of the cortex-accelerator hardware:
Second revision using a STM32F4:
STM32F4 hardware running an old build of Katana Quest:
Last iteration using a RP2040:
The latest version is a properly cartridge PCB that fits into a SNES cartridge shell. I updated to a RP2350, added a SD card slot and some expasion pins on top to attach more hardware if I come up with something:
Running DOOM2 on the new hardware:
cortex-accelerator - A new Super NES co-processor
Forum rules
- For making cartridges of your Super NES games, see Reproduction.
-
elseyf
- Posts: 85
- Joined: Sat Dec 01, 2012 4:10 am
cortex-accelerator - A new Super NES co-processor
You do not have the required permissions to view the files attached to this post.
Last edited by elseyf on Fri Sep 12, 2025 4:42 am, edited 1 time in total.
-
Zonomi
- Posts: 79
- Joined: Wed May 09, 2007 12:45 pm
Re: cortex-accelerator - A new Super NES co-processor
The whole game logic runs on the Pi ? How does the Pi communicate with the SNES ?
-
elseyf
- Posts: 85
- Joined: Sat Dec 01, 2012 4:10 am
Re: cortex-accelerator - A new Super NES co-processor
Exactly, the logic runs on the co-processor. The dev environment is set up to allow programming both the co-processor and the host system, ie. the SNES. For Katana Quest, the code base is written in C++. If something very specific needs to be done on the host system, native assembly can be used to implement these things and run on the SNES.
The co-processor acts as memory to the host, so in this case an area of memory on the SNES has been designated to communicate with the co-processor.
I wrote a command interface, in which the co-processor requests the SNES to do something, like write a register. After acknowledging it, the co-processor proceeds with the next command.
The co-processor acts as memory to the host, so in this case an area of memory on the SNES has been designated to communicate with the co-processor.
I wrote a command interface, in which the co-processor requests the SNES to do something, like write a register. After acknowledging it, the co-processor proceeds with the next command.
-
Dwedit
- Posts: 5257
- Joined: Fri Nov 19, 2004 7:35 pm
Re: cortex-accelerator - A new Super NES co-processor
Would it have been able to transfer graphics any faster if it was designed to use the extra cartridge pins?
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
-
elseyf
- Posts: 85
- Joined: Sat Dec 01, 2012 4:10 am
Re: cortex-accelerator - A new Super NES co-processor
Which pins do you mean? If you mean the expansion connectors on either side of the cart edge, usually found on carts with co-processors, then no, that would not allow it to transfer data any faster as far as I can see.
The pins labeled PA0 to PA7, /PARD and /PAWR would only help to reduce logic for decoding the currently accessed address of the SNES.
The pins labeled PA0 to PA7, /PARD and /PAWR would only help to reduce logic for decoding the currently accessed address of the SNES.
-
Oziphantom
- Posts: 1980
- Joined: Tue Feb 07, 2017 2:03 am
Re: cortex-accelerator - A new Super NES co-processor
so this is a 2040 based cart? vs the SuperFX RP2350B based cart. So its a Super FX2.5?
-
elseyf
- Posts: 85
- Joined: Sat Dec 01, 2012 4:10 am
Re: cortex-accelerator - A new Super NES co-processor
You could title it as such. I had a fully 3D engine running as a test and got something like 5 fps out of it because it used floating point math and the RP2040 does not have fp hardware to accelerate calculations.
The design has been made long before the RP2350 came out. I have plans to migrate to the RP2350 at some point to take advantage of the better hardware, essentiall making an FX3 cartridge.
The design has been made long before the RP2350 came out. I have plans to migrate to the RP2350 at some point to take advantage of the better hardware, essentiall making an FX3 cartridge.
-
Memblers
- Posts: 4149
- Joined: Mon Sep 20, 2004 6:04 am
- Location: Indianapolis
Re: cortex-accelerator - A new Super NES co-processor
Cool project, congrats on getting to run something. Doom, no less.
If I was playing around with this, I would try compiling a 65816 emulator for it, then use that command interface to run an SNES game on the SNES.
If I was playing around with this, I would try compiling a 65816 emulator for it, then use that command interface to run an SNES game on the SNES.
-
elseyf
- Posts: 85
- Joined: Sat Dec 01, 2012 4:10 am
Re: cortex-accelerator - A new Super NES co-processor
Thanks.
This sounds like suckerpinche's Reverse emulating the NES to give it SUPER POWERS! project. He shows Super Mario World running through the NES.Memblers wrote: Mon Aug 25, 2025 12:48 pm f I was playing around with this, I would try compiling a 65816 emulator for it, then use that command interface to run an SNES game on the SNES.
-
spaceharrier
- Posts: 82
- Joined: Wed Jan 19, 2022 9:52 am
Re: cortex-accelerator - A new Super NES co-processor
I am working on a similar cartridge using a dual core STM32H745 and I would love to compare notes.
-
Hamtaro126
- Posts: 837
- Joined: Thu Jan 19, 2006 5:08 pm
Re: cortex-accelerator - A new Super NES co-processor
Good Gravy!!! This project looks very good, And DOOM runs on it?!? "CHOCOLATE DOOM" - I'd be happy to have such fun one game of your SNES DOOM for a day, Other than that, Great job on the announcement!!!
Then you should consider trying the NES's Rainbow mapper, It has dream features you can see coming straight from MMC5, But can have a bit more sprite and background CHR (via Special external ram) than SNES can, but the palette still is left to be desired...elseyf wrote: Mon Aug 25, 2025 12:59 pm This sounds like suckerpinche's Reverse emulating the NES to give it SUPER POWERS! project. He shows Super Mario World running through the NES.
AKA SmilyMZX/AtariHacker.
-
elseyf
- Posts: 85
- Joined: Sat Dec 01, 2012 4:10 am
Re: cortex-accelerator - A new Super NES co-processor
I have updated the cartridge hardware to a RP2350 (pictures in the first post).
I put an SD Card slot on it as I want to tinker with streaming data off of it, like the MSU-1 expansion. I think streaming video and audio should be possible, so something like Super Road Blaster and other FMV games should be within reach with my hardware design.
I put an SD Card slot on it as I want to tinker with streaming data off of it, like the MSU-1 expansion. I think streaming video and audio should be possible, so something like Super Road Blaster and other FMV games should be within reach with my hardware design.