Doom is geport naar SNES, maar dan op basis van Raspberry Pi-controller

Doom draait natuurlijk op alles, maar wat dacht je van Doom draaien op de SNES? Nu denk je misschien: dat is geen meme, want daar begon deze hele meme toch mee? Dat klopt, maar een paar knutselaars hebben het voor elkaar gekregen Doom via een Raspberry Pi-controller te modden naar een SNES-cartridge.

Doom Snes 1De makers van Limited Run Games hebben Doom geport naar de Super Nintendo, de originele console waar de game in 1993 voor uitkwam. En ja, daar hadden ze natuurlijk de originele cartridge voor kunnen pakken, maar 'Doom SNES 2025' is toch wel een iets andere port. Dat is namelijk een aangepaste versie van de game, met een hogere framerate van 20fps, veertien nieuwe levels, cirkel-strafing en trillingen in de controller.

Dat hebben de makers gedaan met een Raspberry Pi-microcontroller, specifiek de RP2350-chip die vorig jaar uitkwam op de Raspberry Pi Pico 2. Die chip vervangt de Super FX-chip, de grafische processor die in de originele SNES-cartridge zit. De RP2350 emuleert de Super FX-chip. De makers zeggen dat ze eerst een fpga wilden gebruiken voor die emulatie, maar de RP2350 blijkt beter te werken omdat die goedkoper is, meer gpio-programmeeropties heeft voor geheugenapparatuur en omdat de sdk ervan opensource beschikbaar is.

De RP2350 heeft daarmee volgens de makers meerdere voordelen en functies binnen de cartridge. De chip is een interface tussen verschillende geheugenmodules, emuleert de Super FX-chip en doet de grafische conversie. Een bijkomend voordeel van de chip is dat die meer opslag- en geheugenruimte openlaat na het porten, zodat het mogelijk werd veertien nieuwe levels en nieuwe features toe te voegen aan het spel.

Het resultaat is een werkende SNES-cartridge die op de oude console kan worden gespeeld, maar dan in een modern jasje. Kan die toch weer mooi worden toegevoegd aan alle andere apparaten waar Doom op draait.

Doom Snes2

Door Tijs Hofmans

Nieuwscoördinator

30-08-2025 • 11:45

36

Reacties (36)

36
36
22
3
0
12
Wijzig sortering
Die 20fps halen ze doordat de RP2350 tijdens elke V-blank zo’n 33 kilobyte grafische data door de SNES-bus duwt. Dat zit echt op het randje van wat de hardware aankan. En wat hier eigenlijk gebeurt: die cartridge is niet alleen opslag, maar gedraagt zich als een kleine coprocesor. Hij emuleert de Super FX, regelt de datastroom en doet de grafische conversie. Het is dus minder een simpele port, maar meer een complete architectuurhack in cartridgevorm.
Kleine correctie: deze nieuwe cartridge emuleert geen SuperFX, maar is een nieuwe ARM port van Doom die op de Raspberry draait. De ARM port rendert tussentijds naar bitmap die vervolgens omgezet wordt naar een tilemap. De tilemap wordt via DMA naar het VRAM in de SNES gekopieerd. DMA bandbreedte is beperkt waardoor niet meer dan 20fps gehaald kan worden. Het omzetten van bitmap naar tilemap is overigens iets wat de originele SuperFX ook doet, maar er is geen noodzaak om de SuperFX processor (instructieset) te emuleren.

[Reactie gewijzigd door ari3 op 30 augustus 2025 19:22]

So if somebody opens this cartridge up and sees the Raspberry Pi in there, it’s important to note that you're not just running the game on the Raspberry Pi.

Randal Linden  
Exactly. We’re using a Raspberry Pi to simulate and emulate the Super FX chip. We take the original Super FX code, process it, and run it on the Raspberry Pi. Crucially, it also emulates the chunky-to-planar graphics conversion logic, along with the SRAM and ROM. In effect, it emulates the entire cartridge - rather than relying on a dedicated chip like an FPGA. This setup allows us to be more efficient with the code, optimize it further, and ultimately achieve 20 frames per second.
Maar een stukje daarboven in hetzelfde interview zegt Linden:
Randal Linden
The improvements were twofold: first, I re-optimized the entire engine to eke out some additional performance. Second, we’re now using a Raspberry Pi 2350 to simulate the Super FX chip. Essentially, we take the original Super FX code, run it through a tool that generates equivalent C code, then compile that for the Raspberry Pi. The result is a cartridge that behaves just like a Super FX chip when interfacing with the Super Nintendo. Thanks to both the code optimizations and the significantly faster processor, we’ve hit the maximum theoretical frame rate - 20 frames per second.

Ze emuleren dus niet de SuperFX chip, maar vertalen ze compileren de code die op de SuperFX zou draaien naar native ARM code. Het is dus een port van de SuperFX code naar ARM zonder dat de SuperFX zelf geëmuleerd hoeft te worden.

[Reactie gewijzigd door ari3 op 30 augustus 2025 19:24]

"...that behaces just like the Super FX chip..."

Voor mijn gevoel is dat nog steeds een vorm van emulatie
SuperFX chips zijn niet meer te krijgen. Ze hebben wel wat enhancements toegevoegd zoals een grotere rom en hogere clock (2 naar 3 mhz). Maar voor zover ik begreep had deze SuperFX chip destijds gemaakt kunnen worden maar was dat te duur en ook niet perse nodig voor wat men toen nodig had.

En nu hebben ze dus voor emulatie van de chip gekozen. De game zelf draait ‘gewoon’ op de snes hardware.

Overigens zijn er wel games/cartridges geweest zoals jij beschrijft waarbij de complete game op de Pi draait en de output naar de snes wordt gestuurd. Dit project is net even anders.
Leuk detail is dat Randy Linden, degene achter de originele SNES port, hier ook de drijvende kracht achter was. Geen onbelangrijk detail.

Tevens degene die verantwoordelijk was voor Bleem en die de homebrew / emulatie scène altijd een warm hart heeft toegedragen. Heb hier nog een aantal gesigneerde Bleemcast schijven liggen gewoon spontaan als dankjewel voor de inzet voor de Dreamcast homebrew en emulatie scène jaren terug. Erg tof om te zien dat hij hier dus z’n SNES meesterwerk nog eens mocht verbeteren met een tweede versie!

Volgens mij is er nog een MVG of Digitale Foundry special te vinden op YouTube over hem en z’n werk. Erg aan te bevelen.
Ik vind Bleem nog steeds een mooie herinnering! Erg knap hoe hij PlayStation op de Dreamcast kon laten afspelen.
Dit had ik leuker gevonden op een MSU-1 chip. Dan kunnen we er thuis ook nog iets mee. Dit is wel leuk, maar ga je natuurlijk niet zo snel thuis na maken.


Verder wel knap natuurlijk!
Het staat je natuurlijk vrij om zelf de uitdaging aan te gaan! ;) Dan krijg je vast ook een artikel alhier erover! :+
Je hoeft hem niet zelf na te maken, want dit gaat gewoon als product verkocht worden door Limited Run Games, zie https://limitedrungames.com/collections/doom. Verwachte levering februari 2026.
Hij is al uitverkocht, dus later online via scalper prijzen te krijgen.
Of voor €5 met de €5 steeksleutel methode.
Nu wachten op iemand die een versie van doom native op de RP2350 in de cartridge draait met de snes als passthrough.

[Reactie gewijzigd door AnonymousGerbil op 30 augustus 2025 12:25]

Net als de reverse NES emulator, die SNES games kan draaien op een ongemodificeerde NES. YouTube: Reverse emulating the NES to give it SUPER POWERS!
Het doet me denken aan het Gradius III project. Die staat er om bekend zeer traag te zijn.

Nu heeft een modder met legale hardware en wat programmeer werk een versie gemaakt met een superfx chip, zodat er meer rekenkracht is.

Je hebt dus een starwing of superfx racing nodig als donor board. Originele rom dumpen, patch eroverheen en dan met een ouderwetse chip programmeerder chip programmeren.
Dit zou dan ook op een Flash Card moeten werken toch? Scheelt weer donor spellen. En als je een Super FX 2 chip hebt, werkt het waarschijnlijk ook nog sneller. Ik weet niet of die sowieso al gebruikt moet worden, of dat versie 1 voldoende is?
Het klopt dat je de rom ook op een flashcard kan spelen zelfs met een emulator. Maar das niet zo leuk als sleutelen aan cartridges.


https://github.com/VitorV...ter/Gradius-III/README.md

[Reactie gewijzigd door Dj Neo Ziggy op 30 augustus 2025 20:23]

de Super Nintendo, de originele console waar de game in 1993 voor uitkwam
Doom kwam oorspronkelijk uit voor MS-DOS. De SNES port kwam pas in 1995. En dat was pas na de Sega 32X en Atari Jaguar ports.

[Reactie gewijzigd door Robtimus op 30 augustus 2025 13:31]

Voor degenen die de internals van Doom interessant vinden kan ik het Game Engine Black Book: DOOM van Fabien Sanglard van harte aanbevelen! Hierin staat haarfijn uitgelegd waarom de oorspronkelijke SNES port zo'n uitdaging was. Geeft wat context!
Doom is gewoon officieel uitgekomen op de SNES zoals gemeld. Het was als ik het mij goed kan herinneren een bijzonder slechte port maar Doom op de SNES is dus niet iets nieuws. Maar goed toch mooi dat er nu een andere manier gevonden is om Doom te spelen op de SNES.
Dat staat toch letterlijk in het artikel?
@TV_NERD Ja ik was nog niet goed wakker. Ik las de openingsalinea totaal verkeerd.

[Reactie gewijzigd door jumbos7 op 30 augustus 2025 11:52]

Het was als ik het mij goed kan herinneren een bijzonder slechte port maar Doom op de SNES is dus niet iets nieuws
Het is al een wonder dat de ontwikkelaar DOOM aan de praat kreeg op de SNES. Overigens is de engine volledig custom geschreven voor de SNES en zat het tegen de grenzen aan van wat de hardware aan kon.
Klopt, de ontwikkelaar had geen toegang tot de originele code en ook geen Super FX-chip waar hij gebruik van kon maken. Dus het is inderdaad een klein wonder dat het hem is gelukt. Sowiso is Game Engine Black Book DOOM een goed book die de hele geschiedenis van doom mooi kadert net als zijn tig ports.
Geen Super FX chip, maar wel een Raspberry Pi op de cart die veel krachtiger is.
@istealyourgun bedoelt (denk ik) de originele DOOM-port voor de SNES uit de 90s.

Die draaide een custom engine, waarbij de geometrie en texturemapping door een SuperFX2 chip werd geregeld en omgezet in een tilemap. Met die tilemap werd in een klein raster (ik meen 160*144, maar pin me er niet op vast) een background opgebouwd, die vervolgens middels Mode7 “ingezoomd” naar full screen.
Het was misschien vergelijkenderwijs een slechte port maar als kind heb ik me er toch kostelijk mee vermaakt destijds. Je wist niet beter.
Dat staat toch letterlijk in het artikel? :)
En ja, daar hadden ze natuurlijk de originele cartridge voor kunnen pakken, maar 'Doom SNES 2025' is toch wel een iets andere port.
Wat ik minder goed begrijp is deze quote:
trillingen in de controller.
De SNES controllers hebben geen haptic feedback en het gaat hier om een cartridge mod. Waar komen die trillingen in de controller dan vandaan?

[Reactie gewijzigd door TV_NERD op 30 augustus 2025 11:52]

Uit het gelinkte artikel: "and even vibration effects with our new rumble game controller". Dus naast de cartridge is ook een nieuwe controller ontwikkeld.
Ja maar dan staat er wel weer "Kan die toch weer mooi worden toegevoegd aan alle andere apparaten waar Doom op draait"... Het artikel leest een beetje alsof de auteur zich na het schrijven realiseerde dat er al een snes port was en dit er nog even bij gezet heeft.
Dit is toch a "ouder" nieuws?

YouTube: Doom on SNES Upgraded + Updated With New SuperFX "Chip"

Interview op DF van maand geleden?
edit:
geen interview, maar wal nieuws erover met beelden naast elkaar van originele plus de port. Groot verschil wel

[Reactie gewijzigd door Nees op 31 augustus 2025 04:51]

Serieuze vraag, zitten mensen hier echt op te wachten?
Tuurlijk is het allemaal mooi dat het kan laten we dat voorop stellen.
Hiervoor kom je toch naar Tweakers? Hoewel hier misschien wel GEEK: voor had mogen staan in de titel.
nou, vond het een gaaf artikel zal wel iets met mijn generatie te maken hebben, denk dat jij wat jonger bent.


Om te kunnen reageren moet je ingelogd zijn