Jump to content

On DSDoom


Recommended Posts

Hey, so this post has a very, very small target audience, but I just wanted to talk about it. It's about the DsDoom port.

 

First of all, I just want to say that the people who made both PrBoom+ and the DS port thereof are all much smarter and experienced in programming than I am, so I I'm open to the possibility that I'm just overlooking something.

 

But I recently got into Doom and its source code and fell in love with the many cool tricks it uses to be able to run on 1993 hardware. I decided to try to port it to the DS, but found out that a port already exists: DsDoom. I had a look at the source code and noticed that it basically just uses PrBoom+ to render frames in software and then writes them into a frame buffer onto the top screen of the DS.

I looked further into the architecture and noticed that not only does the DS house 4 seperate layers of backgrounds even though DsDoom only uses 1 that it writes everything to, but it also houses a seperate 3D engine that could be used to offload much of the rendering process currently being done in software.

 

I think that with some further studying on how both the DS hardware and Doom engine rendering process work, I could get this game running as smoothly as Mario Kart or Nintendogs.

 

I'm well aware that I'm trying to make a port for a 30 year old game to a 20 year old console, so it's not exactly like the target audience for this is enormous, but looking at this kind of rekindled my love for programming that I kinda lost for a while.

 

You guys have any thoughts?

 

(P.S, this is my first post here, lovely to meet you!)

Share this post


Link to post

I played DS Doom wayy back in the day during car trips and so on, and it always ran like shit with pwads so this seems cool to me! Not sure when I would use it though besides for making a youtube video about it or something :P If you are into fixing it up then go for it!

Share this post


Link to post

Sometimes, programming and working within limitations can be a fun challenge. And if it helps, Carmack thinks the act itself is noble:

 

Quote

There is something noble about developing on a dead platform – it is so completely for the joy of the development, without any commercial motivation.

 

Share this post


Link to post
5 hours ago, Dark Pulse said:

Sometimes, programming and working within limitations can be a fun challenge. And if it helps, Carmack thinks the act itself is noble:

 

 

Oh my God what a wonderful reply. That really made my day. Thanks so much for the motivation.

Share this post


Link to post

"I realise that the audience for playing an old game on obsolete hardware is small..."

Where do you think you are? This is the community that got a game running on a pregnancy test.

Share this post


Link to post

I mean, somebody remade Counter-Strike with actual networking functions (An not just a Doom tc running in dsdoom like I remember) on the DS way after people really care about it.

 

So anything is possible at thos point, you maybe want to look about porting the PSX version due the DS have similar specs (slighty better), at least the rendering method :P

Share this post


Link to post

I recently tried playing on my 3DS, it was an okay experience, anything that makes playing on a handheld better is good in my books!

Share this post


Link to post

Doom on DS (and 3DS) has easily been one of the more novel Doom experiences I've ever had. One of my all-time favorite ways to experience Doom was @Revenant's own PrDoom port for 3DS which, while sadly shelved before it was completed, was still (at the time of its release) much more robust and clean compared to the version of DsDoom that had been ported to the 3DS — and it has forever spoiled me with its support for automap on the second screen, a feature that even most PC ports don't support!

 

It'd be awesome to see a port that runs in-hardware, the DS can be a surprisingly little powerhouse. I'd also argue that since DS is well and truly past the point of receiving long-term support updates from Nintendo, the homebrew experience will be very stable on DS. (You might also get free 3DS homebrew attention too, as it is backwards-compatible with DS/DSi games)

Edited by Lollie

Share this post


Link to post
14 hours ago, Lollie said:

Doom on DS (and 3DS) has easily been one of the more novel Doom experiences I've ever had. One of my all-time favorite ways to experience Doom was @Revenant's own PrDoom port for 3DS which, while sadly shelved before it was completed, was still (at the time of its release) much more robust and clean compared to the version of DsDoom that had been ported to the 3DS — and it has forever spoiled me with its support for automap on the second screen, a feature that even most PC ports don't support!

 

It'd be awesome to see a port that runs in-hardware, the DS can be a surprisingly little powerhouse. I'd also argue that since DS is well and truly past the point of receiving long-term support updates from Nintendo, the homebrew experience will be very stable on DS. (You might also get free 3DS homebrew attention too, as it is backwards-compatible with DS/DSi games)

I mean, the 3DS eShop shut down not too long ago - so needless to say, the DS is long dead by Nintendo's standards.

 

Then again, the original DS didn't even technically have easily flashable firmware. (It was possible to do it, but it required a hardware hack, and was risky.) So yeah, ain't no firmware updates coming to mess with that; Nintendo themselves only updated the firmware as they produced new units.

Edited by Dark Pulse

Share this post


Link to post
On 6/20/2023 at 12:21 AM, Dark Pulse said:

There is something noble about developing on a dead platform – it is so completely for the joy of the development, without any commercial motivation.

John Karl-Marx! :D

 

It makes me wish both the NDS and the PSP could have gotten their own exclusive Doom games, like the Nintendo 64 did with Doom 64.

Share this post


Link to post
8 hours ago, Rudolph said:

John Karl-Marx! :D

 

It makes me wish both the NDS and the PSP could have gotten their own exclusive Doom games, like the Nintendo 64 did with Doom 64.

To be fair, Doom was very commercially dead by the time those came out. I'm frankly surprised they even hit the GBA, but at least there it was impressive because the GBA wasn't really built to do 3D-like stuff.

 

On DS and (especially) PSP, you had no shortage of shooters that looked fancier. Doom wouldnt have made commercial sense.

 

Didn't stop homebrew though, of course. :)

Edited by Dark Pulse

Share this post


Link to post
4 minutes ago, Dark Pulse said:

Doom wouldnt have made commercial sense.

I know. I was reacting to John Carmack praising game development without a commercial motivation.

 

Although Id Software could have definitely commissioned Doom 3 tie-in games for the GBA or the NDS, just like mobile phones got the Doom RPG titles. Maybe the GBA ports happened as the result of a renewed interest due to Doom 3's then-recent announement?

Share this post


Link to post
5 hours ago, Dark Pulse said:

To be fair, Doom was very commercially dead by the time those came out.

Doom on Xbox Live Arcade though, 2006! NDS and PSP came out just a couple years prior!

Doom on DS probably would've still been much less commercially viable, but Doom re-releases always manage to find their audience.

 

18 hours ago, Dark Pulse said:

Nintendo themselves only updated the firmware as they produced new units.

Not gonna lie, I completely forgot that the DS didn't actually receive firmware updates over Wifi.

Edited by Lollie

Share this post


Link to post
7 hours ago, Rudolph said:

I know. I was reacting to John Carmack praising game development without a commercial motivation.

 

Although Id Software could have definitely commissioned Doom 3 tie-in games for the GBA or the NDS, just like mobile phones got the Doom RPG titles. Maybe the GBA ports happened as the result of a renewed interest due to Doom 3's then-recent announement?

Doom 1 GBA came out in October 2001. I know Doom 3's first showing (on GeForce 3 hardware) was also that same year, in February, but IIRC it was some very, very early screenshots. That said, it was known Doom 3 was in development from Carmack's .plan in 2000, so perhaps you're right.

 

I think it's more likely Doom II might've benefitted from this boost, though. That came out about a year later (almost to the day!), and by that point, E3 2002 had shown the first Doom 3 trailer/gameplay.

 

2 hours ago, Lollie said:

Doom on Xbox Live Arcade though, 2006! NDS and PSP came out just a couple years prior!

Doom on DS probably would've still been much less commercially viable, but Doom re-releases always manage to find their audience.

Yeah, but there's a big difference here: That's a digital download. No packaging costs, no cartridge production costs, no distributor costs.

 

At this point in time, digital downloads for handhelds just weren't a thing yet. The DS didn't have that at all (it was the DSi that introduced that, and it really only got fully going with the 3DS), and while the PSP did have it, this was still very much an era where people just weren't used to digital downloads of games yet. Steam was still not really a killer app yet (in fact, it was firmly in its "Why the fuck do I gotta install this to play Half-Life 2?" phase), so the idea was just starting to take hold.

 

(Trivia: Of the 1370 commercially-released PSP games, only 807 were available for digital download. This doesn't count "PSP Mini" games, which all came under 100 MB - Doom would've almost certainly fit into this criteria; there were 294 of those.)

 

2 hours ago, Lollie said:

Not gonna lie, I completely forgot that the DS didn't actually receive firmware updates over Wifi.

I remember it quite well, because one of the ways to tell what firmware your DS had was - I shit you not - pulling a game out while it was running. You basically inserted a game into either the DS or GBA slot, went into a Pictochat chatroom, then yanked the card/cartridge out. Based on what happened to the screens, it told you what firmware you had:

  • v1: Pictochat freezes
  • v2: two greyish blue screens
  • v3: two dark green screens
  • v4: two golden yellow screens
  • v5: two magenta screens
  • v6: two dark blue screens
  • v7: DS system does not crash

That thing that could permanently brick your DS if you screwed it up was called FlashMe, and it set up a modified firmware on the device. The whole point behind doing it was that you did not need what was called a PassMe/Passcard device to boot DS ROMs from the GBA slot anymore. As flash cards began running from the DS slot, this sort of hack became pretty much obsolete.

Edited by Dark Pulse

Share this post


Link to post
16 hours ago, Dark Pulse said:

I remember it quite well, because one of the ways to tell what firmware your DS had was - I shit you not - pulling a game out while it was running. You basically inserted a game into either the DS or GBA slot, went into a Pictochat chatroom, then yanked the card/cartridge out. Based on what happened to the screens, it told you what firmware you had:

  • v1: Pictochat freezes
  • v2: two greyish blue screens
  • v3: two dark green screens
  • v4: two golden yellow screens
  • v5: two magenta screens
  • v6: two dark blue screens
  • v7: DS system does not crash

That thing that could permanently brick your DS if you screwed it up was called FlashMe, and it set up a modified firmware on the device. The whole point behind doing it was that you did not need what was called a PassMe/Passcard device to boot DS ROMs from the GBA slot anymore. As flash cards began running from the DS slot, this sort of hack became pretty much obsolete.

Wow this brought back memories. Some of these aren't actually correct by the way but were commonly spread over the internet (there's no revisions with "dark blue" screens as opposed to "greyish blue" screens) and it's not a reliable way of telling the firmware version as the majority of firmware revisions show a magenta screen - only some early ones show different colours. No idea where the "v1" "v2" etc numbering came from but they don't map to actual firmware revisions. There's 14 (including prototypes and the firmware used for backwards compatibility on the DSi and 3DS) dumped firmware revisions of the DS, as well as 3 more undumped ones.

 

I don't think this was ever intended as a way to check the firmware revision anyway and is a side effect of something else, because the firmware does actually properly store a version number and Nintendo repair centres had a special cartridge to read it back.

Edited by Individualised

Share this post


Link to post
1 hour ago, Individualised said:

Wow this brought back memories. Some of these aren't actually correct by the way but were commonly spread over the internet (there's no revisions with "dark blue" screens as opposed to "greyish blue" screens) and it's not a reliable way of telling the firmware version as the majority of firmware revisions show a magenta screen - only some early ones show different colours. No idea where the "v1" "v2" etc numbering came from but they don't map to actual firmware revisions. There's 14 (including prototypes and the firmware used for backwards compatibility on the DSi and 3DS) dumped firmware revisions of the DS, as well as 2 more undumped ones.

 

I don't think this was ever intended as a way to check the firmware revision anyway and is a side effect of something else, because the firmware does actually properly store a version number and Nintendo repair centres had a special cartridge to read it back.

Yeah, it's obviously not scientifically accurate, but such were the times before people began really doing things like heavy dumping of BIOSes and the like, since again, this wasn't exactly a firmware that was supposed to be end-user updatable.

 

I'm sure someone out there has a more scientific and thorough documentation of what the firmware differences are now. I just didn't have the time to really look for them. :P

 

I did take a gander now though, and I found this listing:

  • [BIOS] iQue DS Firmware (China) (En,Fr,De,Es,It,Zh) (2005-06-09)

  • [BIOS] iQue DS Lite Firmware (China) (En,Fr,De,Es,It,Zh) (2006-04-26)

  • [BIOS] Nintendo DS Firmware (World) (En,Ja,Fr,De,Es,It) (2004-10-05)

  • [BIOS] Nintendo DS Firmware (World) (En,Ja,Fr,De,Es,It) (2004-11-26)

  • [BIOS] Nintendo DS Firmware (World) (En,Ja,Fr,De,Es,It) (2005-02-28)

  • [BIOS] Nintendo DS Firmware (World) (En,Ja,Fr,De,Es,It) (2005-06-06)

  • [BIOS] Nintendo DS Firmware (World) (En,Ja,Fr,De,Es,It) (2005-12-07)

  • [BIOS] Nintendo DS Lite Firmware (Korea) (En,Ja,Fr,De,Es,Ko) (2006-11-09)

  • [BIOS] Nintendo DS Lite Firmware (World) (En,Ja,Fr,De,Es,It) (2006-02-05)

  • [BIOS] Nintendo DS Lite Firmware (World) (En,Ja,Fr,De,Es,It) (2006-03-08)

So apparently, five firmwares for the original DS; three for the Lite (though one of those was a Korean exclusive); and two for the Chinese iQue: one for the regular iQue DS, and one for the iQue DS Lite.

 

And obviously, this doesn't count prototype firmwares, the stuff inside a DSi or 3DS, etc. etc.

Edited by Dark Pulse

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...