SNES Doom Source Released! Now What?

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
calima
Posts: 1156
Joined: Tue Oct 06, 2015 10:16 am

Re: SNES Doom Source Released! Now What?

Post by calima » Wed Jul 22, 2020 1:42 am

As long as we're handwaving, the next step is clearly putting a 486 on a cart.

https://ohol.se/snes-cartridge-power says a normal ROM cart pulls 30 mW, and the biggest SuperFX 520 mW. So 490 mW is clearly allowed. 486s were available as low as 1 W at the then-current 1000nm production. It doesn't take many shrinks to halve the power consumption, and 486 patents are all expired. Large processes like 180nm, 360nm are cheap nowadays, and there are the reimplementations like Vortex86.

User avatar
Nikku4211
Posts: 66
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: SNES Doom Source Released! Now What?

Post by Nikku4211 » Wed Jul 22, 2020 11:23 am

calima wrote:
Wed Jul 22, 2020 1:42 am
As long as we're handwaving, the next step is clearly putting a 486 on a cart.

https://ohol.se/snes-cartridge-power says a normal ROM cart pulls 30 mW, and the biggest SuperFX 520 mW. So 490 mW is clearly allowed. 486s were available as low as 1 W at the then-current 1000nm production. It doesn't take many shrinks to halve the power consumption, and 486 patents are all expired. Large processes like 180nm, 360nm are cheap nowadays, and there are the reimplementations like Vortex86.
That's cool, though at that point, you might as well put a DOS Doom source port like DOSDoom or Boom or MBF or SMMU or perhaps even early versions of Eternity into there.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

93143
Posts: 1192
Joined: Fri Jul 04, 2014 9:31 pm

Re: SNES Doom Source Released! Now What?

Post by 93143 » Wed Jul 22, 2020 3:16 pm

calima wrote:
Wed Jul 22, 2020 1:42 am
As long as we're handwaving, the next step is clearly putting a 486 on a cart.
I'm sorry; I've let the thread drift from being about the SNES Doom source release to being about what I think could be done in a re-port. More focus on the thread topic might be warranted.

Over at Doomworld they've really gotten busy. Aside from a more complete version of the circle-strafing hack, the same guy has been trying to port SNES Doom levels to PC.

Apparently there's a bit of "archive rot" (as Randy puts it - he's posting in that thread) that's happened and there's more work to do to get the ROM to assemble.
Nikku4211 wrote:
Tue Jul 21, 2020 11:11 pm
How much of the game is already handled by the 65816? Because I'm sure the game logic itself could already be.
I may have missed something, but from what I could tell by looking at the source, it seemed like the SNES wasn't doing much more than control input and PPU and audio interface tasks. Randy said something similar in the interview. I think the heavy-duty engine work like BSP and blockmap is done by the GSU.

But I'd have to get much deeper into the code to really be sure of the exact task allocation scheme.
Interesting. Yoshi's Island uses a lot less power than Vortex. I wonder if this means it was a GSU2-SP1 - some Yoshi's Island carts used a chip labeled as such, and it's suspected to be a die shrink. This suggests more headroom for using large amounts of FastROM together with a controller and mouse... but I wonder if this might be the reason they started offering CPU-ROM in the first place...
486s were available as low as 1 W at the then-current 1000nm production. It doesn't take many shrinks to halve the power consumption, and 486 patents are all expired. Large processes like 180nm, 360nm are cheap nowadays, and there are the reimplementations like Vortex86.
What I would aim for is to maximize period SNES hardware. I figure that if it's not an official configuration, and you can't convince higan to run it with just a manifest file, you're cheating. (Unfortunately this excludes my clock trick: GSU2 in 10.7 MHz mode + 42.8 MHz crystal = 21.4 MHz GSU2 with 3-cycle memory access (FastROM-equivalent) instead of 5...)

But the GSU2 + 2 MB GP-ROM + 6 MB CPU-ROM configuration was actually official from Nintendo, and it might not have taken much convincing to add a few KB of fast SRAM mapped to the free parts of $2000-$5FFF as a high-speed scratch pad. The GSU2 supports up to 128 KB of GP-RAM (Doom used 64 KB), and you can have up to 128 KB of save RAM as well (Doom famously didn't use any).

So the question is: what can be done with those resources? IMO this limitation is the only thing that makes the question interesting. Somebody made a Doom cartridge for NES that was literally just a Raspberry Pi running regular Doom and feeding it to the NES like a fancy mapper, and while that's kinda fun to see, it's obviously not a NES port of Doom; it's just a hardware trick to display video from a Raspberry Pi on a NES.

Technically you could have put a reasonably quick Pentium in a SNES cartridge in 1995, as long as the cart had its own power supply. But nobody would have done that. The MSU1, or at least a reasonable approximation of the capabilities of the audio half, is much more plausible (at least as a separate CD-based add-on), which is why I'd want to include MSU1 audio support as an option to see what the SNES sound module can do when concentrating on sound effects.

User avatar
Nikku4211
Posts: 66
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: SNES Doom Source Released! Now What?

Post by Nikku4211 » Wed Jul 22, 2020 4:32 pm

93143 wrote:
Wed Jul 22, 2020 3:16 pm

I may have missed something, but from what I could tell by looking at the source, it seemed like the SNES wasn't doing much more than control input and PPU and audio interface tasks. Randy said something similar in the interview. I think the heavy-duty engine work like BSP and blockmap is done by the GSU.

But I'd have to get much deeper into the code to really be sure of the exact task allocation scheme.
Well, I think someone should get to porting Doom's basic internal game logic to the 65816.
93143 wrote:
Wed Jul 22, 2020 3:16 pm
What I would aim for is to maximize period SNES hardware. I figure that if it's not an official configuration, and you can't convince higan to run it with just a manifest file, you're cheating. (Unfortunately this excludes my clock trick: GSU2 in 10.7 MHz mode + 42.8 MHz crystal = 21.4 MHz GSU2 with 3-cycle memory access (FastROM-equivalent) instead of 5...)
Ah, the 'cheating' argument. I'm sure there's some people out there who consider any add-on, even official ones, as 'cheating'.
I personally wouldn't care what expansion is used as long as someone writes an OG SD2SNES FPGA solution for it.

Besides, price, power consumption, and how well the chip can work with the SNES itself are all already enough of a challenge.
93143 wrote:
Wed Jul 22, 2020 3:16 pm
Technically you could have put a reasonably quick Pentium in a SNES cartridge in 1995, as long as the cart had its own power supply. But nobody would have done that. The MSU1, or at least a reasonable approximation of the capabilities of the audio half, is much more plausible (at least as a separate CD-based add-on), which is why I'd want to include MSU1 audio support as an option to see what the SNES sound module can do when concentrating on sound effects.
but wuldnt that be cheating bc msu1 nevar exsistd back den in teh good ol days??/?

I mean, you can say that the MSU-1 is like the CD add-on, but the add-on never came out, so it's not really period hardware.

It doesn't seem like the 'cheating' argument works well in this case.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

93143
Posts: 1192
Joined: Fri Jul 04, 2014 9:31 pm

Re: SNES Doom Source Released! Now What?

Post by 93143 » Wed Jul 22, 2020 6:50 pm

Nikku4211 wrote:
Wed Jul 22, 2020 4:32 pm
It doesn't seem like the 'cheating' argument works well in this case.
That's why I emphasized "option". The game would be complete and playable without the MSU1, and even the enhanced sound effect mode could be accessed by turning off the S-DSP-based music. The MSU1 is just an easy way to add back the music without losing the environment-based stereo positional reverb (or alternately 8 simultaneous sound effects). It takes nothing away from the fact that the game runs on period hardware; it's just a nice extra. You could get a similar result with the Voicer-kun, but you'd lose looping and resume, not to mention controller+mouse and split-screen deathmatch...

As I've discussed elsewhere, I believe that if you're porting an easily accessible game to a retro system like the SNES, it can't be just because you want to play it but can't afford a computer. It has to be at least partly to explore the limits of what the target platform can handle. Otherwise what's the point of all that effort?

That's why the "cheating" argument applies differently to different situations. The guy who did NES Doom wasn't trying to pass it off as Doom running on a NES; he was pretty open about what was in the cart. That's why I say it wasn't a Doom port - because it could have been any game; the point was the video technique. And in that context he wasn't cheating. But I'm not personally interested in the challenge of engineering a 486-based SNES cartridge - I want to see what can be done software-wise without relying on breaking the bounds of what hardware could reasonably have been available for this purpose back in the day.

If you just want SNES Doom at a decent frame rate... well, like I said above, there's a guy working on porting the SNES levels to PC, and I doubt he'll stop there; there's been talk of a source port...

User avatar
Nikku4211
Posts: 66
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: SNES Doom Source Released! Now What?

Post by Nikku4211 » Wed Jul 22, 2020 7:40 pm

93143 wrote:
Wed Jul 22, 2020 6:50 pm
As I've discussed elsewhere, I believe that if you're porting an easily accessible game to a retro system like the SNES, it can't be just because you want to play it but can't afford a computer. It has to be at least partly to explore the limits of what the target platform can handle. Otherwise what's the point of all that effort?
It is partly to explore the limits of the platform, but another part of it is what kind of stuff you can put into a cartridge and have it still be affordable and work properly with less resistance. I'm thinking about much more than just the period the platform was still being sold in. I'm thinking about the limitations of money in modern times, and how well you could use a hobby like that to both prove what can be done on the platform in a way that people can experience themselves.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

93143
Posts: 1192
Joined: Fri Jul 04, 2014 9:31 pm

Re: SNES Doom Source Released! Now What?

Post by 93143 » Wed Jul 22, 2020 8:01 pm

Okay, but Doom might be a bad test case for that. It's not really in question that you could pack a cheap modern low-power-draw ARM processor in a SNES cartridge and run the original Doom at as high a locked frame rate as the SNES can handle at whatever resolution you choose. With stereo audio pins in the cartridge slot, there's no reason to even use the onboard audio.

Now, if you were porting the 2016 version of Doom to the SNES, it might be a halfway interesting exercise... maybe you could use a video mode based on DMA direct colour with a subtractive luminance mask, so as to get fullscreen 60 fps. Fitting something powerful enough to run Doom 2016 at 240p (or 480i) and a real-time Fantom Video encoder into a SNES cartridge without a separate power supply could be a nice challenge...

calima
Posts: 1156
Joined: Tue Oct 06, 2015 10:16 am

Re: SNES Doom Source Released! Now What?

Post by calima » Thu Jul 23, 2020 12:04 am

Nikku4211 wrote:
Wed Jul 22, 2020 4:32 pm
Well, I think someone should get to porting Doom's basic internal game logic to the 65816.
I personally wouldn't care what expansion is used as long as someone writes an OG SD2SNES FPGA solution for it.
:lol:

User avatar
Nikku4211
Posts: 66
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: SNES Doom Source Released! Now What?

Post by Nikku4211 » Thu Jul 23, 2020 11:24 am

calima wrote:
Thu Jul 23, 2020 12:04 am
Nikku4211 wrote:
Wed Jul 22, 2020 4:32 pm
Well, I think someone should get to porting Doom's basic internal game logic to the 65816.
I personally wouldn't care what expansion is used as long as someone writes an OG SD2SNES FPGA solution for it.
:lol:
Yeah, it might sound contradictory, but I do think it'd be interesting if Doom's basic internal game logic was ported to the 65816, if it'd make the actual Doom game on SNES run better.

But in general, I usually welcome expansions of any kind as long as it works on OG SD2SNES.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

calima
Posts: 1156
Joined: Tue Oct 06, 2015 10:16 am

Re: SNES Doom Source Released! Now What?

Post by calima » Fri Jul 24, 2020 12:44 am

You completely missed the point. Coming to a dev forum and making posts that entitled.

coto
Posts: 47
Joined: Wed Mar 06, 2019 6:00 pm
Location: Chile

Re: SNES Doom Source Released! Now What?

Post by coto » Fri Jul 24, 2020 1:06 am

calima wrote:
Fri Jul 24, 2020 12:44 am
You completely missed the point. Coming to a dev forum and making posts that entitled.
I guess he/she wants to develop something sometime? Don't be so harsh. Back then I also used to talk like a real dev when i barely could write in PHP. lol

User avatar
Nikku4211
Posts: 66
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: SNES Doom Source Released! Now What?

Post by Nikku4211 » Fri Jul 24, 2020 11:00 am

calima wrote:
Fri Jul 24, 2020 12:44 am
You completely missed the point. Coming to a dev forum and making posts that entitled.
I don't actually expect anyone to do those things, as that takes some real effort, I am aware, though it would be nice if that were to happen.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

93143
Posts: 1192
Joined: Fri Jul 04, 2014 9:31 pm

Re: SNES Doom Source Released! Now What?

Post by 93143 » Sat Jul 25, 2020 3:22 am

Uh...

It appears Randy Linden has been reading my posts. I got linked on Doomworld and now he says he likes my mosaic trick for low-detail mode.

It's stuff like this that reminds a person that There Is Only One Internet... maybe I should have taken coto slightly more seriously when he tried to lecture me about making performance delta estimates...

...

Anyway, I've been playing a bit of the latest version of the circle-strafe hack in no$sns. It doesn't have the texture bug, but it also doesn't have accurate GSU compute speed, so it's a bit of an optimal middle ground. I gotta say, this one change (circle-strafing) is a huge improvement - apparently "get it into stores for the holidays" is serious $#!+...

User avatar
Nikku4211
Posts: 66
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: SNES Doom Source Released! Now What?

Post by Nikku4211 » Sat Jul 25, 2020 4:24 am

93143 wrote:
Sat Jul 25, 2020 3:22 am
Uh...

It appears Randy Linden has been reading my posts. I got linked on Doomworld and now he says he likes my mosaic trick for low-detail mode.
Time to shill my very own SNES homebrew. Hey Lindy! Are you reading? My YM2413 mixtape is lit!
93143 wrote:
Sat Jul 25, 2020 3:22 am
I gotta say, this one change (circle-strafing) is a huge improvement - apparently "get it into stores for the holidays" is serious $#!+...
I agree, I wish that the Christmas holiday would be delayed so that they would give people more time to work on such awesome games and awesome ports like this.

Circle-strafing is a huge improvement too. Now it's time to talk about that input lag.

At least it's not Stadia. :kappa:
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

User avatar
Señor Ventura
Posts: 113
Joined: Sat Aug 20, 2016 3:58 am

Re: SNES Doom Source Released! Now What?

Post by Señor Ventura » Sun Jul 26, 2020 1:31 pm

Good news about that mosaic rendering style to save performance and bandwidth, it seems that an enormous port of doom could arrive someday.



Willing to daydream, i think a couple of things:

-At 256x224 seems unnecessary to use the mode 7 to scale the background to fit it in to the screen, cause the picture occupies already all the screen, so the PPU1 multipliers are free to use it with the cpu.

-Taking advantage of the FPGA characteristics, maybe could be implemented an super fx at higer frequencies, but i don't know how easy is to make the program running at its own speed, and not at the clock speed (to improve the smooth, and not the speed of the action, i'm sure you know what i mean).

Post Reply