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.
Post Reply
User avatar
Nikku4211
Posts: 137
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

SNES Doom Source Released! Now What?

Post by Nikku4211 » Tue Jul 14, 2020 8:54 pm

Good news, guys! Randy Linden just released the Doom SNES source!

https://github.com/RandalLinden/DOOM-FX ... 609/source

Naturally, not all of the code was released, as it seems all of the copyrighted Doom assets were removed from it.

And of course, since it's 1990s code, this stuff isn't going to automatically work in modern 65816 assemblers like WLA-DX or CA65.

So I'm thinking: is it possible to convert this code over to work with CA65?

A good amount of this code is for the SuperFX chip, so we can't use CA65. Or can we?

You see, ARM9 has made a SuperFX macro assembler for CA65 some time ago, and it seems LibSFX has Super FX support as well.

Can we please work together to convert the code over?
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

User avatar
aa-dav
Posts: 106
Joined: Tue Apr 14, 2020 9:45 pm
Location: Russia

Re: SNES Doom Source Released! Now What?

Post by aa-dav » Tue Jul 14, 2020 9:33 pm

AFAIR Randy made it's own toochain to compile all this stuff (including asm for SuperFX) and this is why this release of sources are marked as 'phase 1'.
Because there will be 'phase 2' or more with tools and compilers.
The problem is (AFAIR again) they are for some Amiga PC.

User avatar
Quietust
Posts: 1624
Joined: Sun Sep 19, 2004 10:59 pm
Contact:

Re: SNES Doom Source Released! Now What?

Post by Quietust » Wed Jul 15, 2020 6:01 am

aa-dav wrote:
Tue Jul 14, 2020 9:33 pm
The problem is (AFAIR again) they are for some Amiga PC.
In case you're not familiar with it, the Commodore Amiga was a semi-popular personal computer from the late 80s and early 90s, and emulating it (with UAE) isn't terribly difficult as long as you can get a suitable Kickstart ROM image and a matching OS floppy.
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.

User avatar
Nikku4211
Posts: 137
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 15, 2020 9:28 am

Quietust wrote:
Wed Jul 15, 2020 6:01 am
aa-dav wrote:
Tue Jul 14, 2020 9:33 pm
The problem is (AFAIR again) they are for some Amiga PC.
In case you're not familiar with it, the Commodore Amiga was a semi-popular personal computer from the late 80s and early 90s, and emulating it (with UAE) isn't terribly difficult as long as you can get a suitable Kickstart ROM image and a matching OS floppy.
I... don't know. The idea of having to use an emulator every time you want to compile something DoomFX related just sounds a bit inconvenient.

I'd rather open up MSYS2 and just type in 'make' instead and let the makefile do everything.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

secondsun
Posts: 16
Joined: Tue Jul 31, 2018 9:37 am

Re: SNES Doom Source Released! Now What?

Post by secondsun » Wed Jul 15, 2020 10:30 am

Nikku4211 wrote:
Wed Jul 15, 2020 9:28 am

I... don't know. The idea of having to use an emulator every time you want to compile something DoomFX related just sounds a bit inconvenient.

I'd rather open up MSYS2 and just type in 'make' instead and let the makefile do everything.
There's no reason `make` can't start a VM, command that VM to checkout and build the source from the host, then copy the binary back to the host, then close the VM. We do this in enterprise software all the time.

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

Re: SNES Doom Source Released! Now What?

Post by 93143 » Wed Jul 15, 2020 2:34 pm

Doomworld got hold of it, and there's already a (slightly imperfect) patch to add circle-strafing.

https://www.doomworld.com/forum/topic/1 ... nt-2158679

If this keeps up, they'll have released The Ultimate Doom with dynamic lighting by the time I get around to assembling the vanilla ROM...

naI
Posts: 113
Joined: Fri Jun 26, 2009 4:58 pm

Re: SNES Doom Source Released! Now What?

Post by naI » Wed Jul 15, 2020 3:17 pm

I'm hoping some wizards will be able to recreate the X-Band multiplayer patch, presumably with a more accessible networking framework.

User avatar
Nikku4211
Posts: 137
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 15, 2020 9:29 pm

93143 wrote:
Wed Jul 15, 2020 2:34 pm
Doomworld got hold of it, and there's already a (slightly imperfect) patch to add circle-strafing.

https://www.doomworld.com/forum/topic/1 ... nt-2158679

If this keeps up, they'll have released The Ultimate Doom with dynamic lighting by the time I get around to assembling the vanilla ROM...
I just wish they will eventually be able to reduce the input lag. I've just played the patch on my SD2SNES and I still couldn't bear the lag. Well, that and the fact that L and R strafe and left and right on D-pad turn rather than vice-versa.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

User avatar
tokumaru
Posts: 11895
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: SNES Doom Source Released! Now What?

Post by tokumaru » Wed Jul 15, 2020 11:08 pm

Nikku4211 wrote:
Wed Jul 15, 2020 9:29 pm
Well, that and the fact that L and R strafe and left and right on D-pad turn rather than vice-versa.
At the time Doom was released, turning was the primary form of side-to-side movement, as established by Wolfenstein 3D and earlier games that didn't even have strafing. If I'm not mistaken, strafing only became the norm when aiming with the mouse became the norm. For people who never got into modern FPSs, such as myself, turning with the D-pad feels very natural.

noyen1973
Posts: 30
Joined: Sat Oct 06, 2018 10:15 am

Re: SNES Doom Source Released! Now What?

Post by noyen1973 » Wed Jul 15, 2020 11:55 pm

In the source I see the use of 'mode' to set the 8 or 16-bit modes for A/X/Y however I also see an exclamation '!' sometimes. Does the use of '!' tell the assembler to generate the appropriate REP/SEP code? I also see '@A@X', any clues as to what the '@' is for? Maybe only generate REP code?

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

Re: SNES Doom Source Released! Now What?

Post by Señor Ventura » Thu Jul 16, 2020 2:46 am

Maybe now can be displayed at 256x190 or so. An overclocked super fx (from the sd2snes) could run it.

Even could run in chuncks of 8 megs until 64 megs of total rom under super fx memory directioning using the mapper function of the msu1 (i think). But the first task here is the recognized lack of optimization.

Oziphantom
Posts: 931
Joined: Tue Feb 07, 2017 2:03 am

Re: SNES Doom Source Released! Now What?

Post by Oziphantom » Thu Jul 16, 2020 6:27 am

Does anybody know what the SNES assembler that came with the devkit for Amiga was? All the snes devs I know have SNASM kits.

User avatar
aa-dav
Posts: 106
Joined: Tue Apr 14, 2020 9:45 pm
Location: Russia

Re: SNES Doom Source Released! Now What?

Post by aa-dav » Thu Jul 16, 2020 7:42 am

Phase two adds a lot of new files: https://github.com/RandalLinden/DOOM-FX

noyen1973
Posts: 30
Joined: Sat Oct 06, 2018 10:15 am

Re: SNES Doom Source Released! Now What?

Post by noyen1973 » Thu Jul 16, 2020 7:50 am

There's 68000 code in the source directory as well as C alongside the 65816/SuperFX stuff. The docs directory has a nice summarized version of the SuperFX instruction set.

User avatar
aa-dav
Posts: 106
Joined: Tue Apr 14, 2020 9:45 pm
Location: Russia

Re: SNES Doom Source Released! Now What?

Post by aa-dav » Thu Jul 16, 2020 8:21 am

Loool. He used assembler to write RIPDOOM for Amiga. Assembler too.
C code (right now) is used to generate precalculated tables (like sin/cos) only! Lol. I think it's because of 'double' math support. :)
Right now project heavily uses 3 kinds of assembler for 3 different CPUs and a little bit C for floating point tools. xD

Post Reply