Cyberdemon
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > 64Doom: Classic Doom on N64
Pages (3): [1] 2 3 »  
Author
All times are GMT. The time now is 03:15. Post New Thread    Post A Reply
Jaxxoon R
Member


Posts: 533
Registered: 03-14


Well, I had no idea this even existed...



Weird. Very weird.

But I can dig it. More info in the video description, I guess. Or here: http://www.assemblergames.com/forum...for-Nintendo-64

Last edited by Jaxxoon R on 09-23-14 at 03:50

Old Post 07-27-14 17:47 #
Jaxxoon R is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Filled with the code of Doom


Posts: 7725
Registered: 07-00


It's just a homebrew port of the original source code release. What's so surprising about this?

Old Post 07-27-14 18:59 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Doomkid
Senior Member


Posts: 1449
Registered: 06-08


I always thought it would have been a good idea to have Ultimate Doom on the N64, back in the day I mean. From a practical point of view, this doesn't serve much purpose, but just as a fun project, this is awesome. Hope he gets further with it, and customizable controls like in Doom64 are a must!

Old Post 07-27-14 19:03 #
Doomkid is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
axdoom1
Junior Member


Posts: 151
Registered: 05-11


The other day, I was playing Doom with a N64 controller hooked up to my computer. This port gives me another reason to buy an Everdrive64 to play games. (the first reason being GoldenEye X)

Old Post 07-27-14 20:01 #
axdoom1 is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 6085
Registered: 08-00


I wonder if it's going to be open source. So far it is not.

Old Post 07-27-14 20:18 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
axdoom1
Junior Member


Posts: 151
Registered: 05-11



Quasar said:
I wonder if it's going to be open source. So far it is not.

The author said: I will be releasing source code as soon as I get it more feature complete.

I hope he won't lose it.

Old Post 07-27-14 20:27 #
axdoom1 is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Ed
Senior Member


Posts: 1275
Registered: 07-01


How is this possible with the N64's minuscule texture cache?

Old Post 07-27-14 21:48 #
Ed is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 6085
Registered: 08-00



axdoom1 said:

The author said: I will be releasing source code as soon as I get it more feature complete.

I hope he won't lose it.


Every time I've heard that from a project, that's precisely what happens. If it's not completely lost, then the author loses interest and disappears.

Old Post 07-27-14 22:16 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Crasger
Member


Posts: 526
Registered: 10-13


So people have only started work on this recently?
That is weird.

I thought this had been done already.

__________________
Wow look at this insignificant text.

Old Post 07-27-14 23:39 #
Crasger is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
axdoom1
Junior Member


Posts: 151
Registered: 05-11



Ed said:
How is this possible with the N64's minuscule texture cache?

The cache is not used. The software renderer has to get every pixels from the textures that are stored in the RAM to draw them to the screen, which is very slow.

Old Post 07-27-14 23:44 #
axdoom1 is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Marnetmar
Forum Staple


Posts: 2838
Registered: 09-10


Have the sounds been modified somehow? For some reason everything sounds more beefy and satisfying yet I can't notice any changes in the sounds.

Am I going nuts?

Old Post 07-28-14 21:39 #
Marnetmar is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
WildWeasel
Resident Castlevania Super-Fanboy


Posts: 2784
Registered: 07-03



Marnetmar said:
Have the sounds been modified somehow? For some reason everything sounds more beefy and satisfying yet I can't notice any changes in the sounds.

Am I going nuts?


I think, by virtue of them being played back at a lower rate, this is what's making things sound "beefier." Explosions and gunfire will sound bassier, since their "pitch" is shifting down towards the lower ends of the audio spectrum.

Old Post 07-28-14 22:41 #
WildWeasel is online now Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
jnmartin84
Warming Up


Posts: 26
Registered: 08-14


I'm the developer of this port.

Just want to clarify that I don't keep the only copy of the code on my desktop.

It is version-ed in a revision control system, and regular backups of that are stored off-site ("the cloud" I guess?).

I am actively working on it.

That video posted is a few weeks out of date.

It runs just about full speed, with the original data files (either Ultimate Doom, Doom 2 or shareware Doom).

The only reason the publicly available builds and videos are all shareware is because it is against the law for me to provide ROM files with the commercial game data files built in.

I am still working out an easy system for end-users to package their own ROM with the game data.

Any more questions, let me know. Now that my account was approved, I will check in from time to time.

I usually post at the following two locations:
http://krikzz.com/forum/index.php?topic=1886.new#new
www.assemblergames.com/forums/showt...or-Nintendo-64/

Last edited by jnmartin84 on 08-08-14 at 01:18

Old Post 08-08-14 01:09 #
jnmartin84 is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
jnmartin84
Warming Up


Posts: 26
Registered: 08-14




Doom 2 running on Nintendo 64, with full sound, music.

Any of the games supported by the original source code release will work with this port.

Old Post 08-08-14 06:27 #
jnmartin84 is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
Average
Member


Posts: 448
Registered: 05-11


Another system, another Doom port. Good stuff. :)

I know there are probably some obvious things stopping it but is there a way that the commercial WADs could be 'injected' in a similar way that hackers use for Wii virtual console titles?

Regardless, good luck with future development. :)

Old Post 08-08-14 07:29 #
Average is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
jnmartin84
Warming Up


Posts: 26
Registered: 08-14


I have a rudimentary toolkit that can take the binary executable file, which is game-agnostic but not in a form that will run on the console yet, and appends the WAD file along with a game identifier tag, producing a V64 file for use with a backup unit/flash cart like the Everdrive64. The only issue with it currently is that it requires a lot of dependencies to be already installed that the average end-user probably wouldn't have. That is one of the issues I am ironing out for when I do an official release. I am still looking for somewhere to host the project at the moment.

Old Post 08-08-14 07:35 #
jnmartin84 is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
jnmartin84
Warming Up


Posts: 26
Registered: 08-14



Ed said:
How is this possible with the N64's minuscule texture cache?


I am bypassing the dedicated rendering hardware entirely. I use the CPU to lookup the original 8-bit pixels from memory, do a look-up into a color table, then write the pixel directly into the area of memory set in the video registers as the current frame buffer.

It is quick enough that the act of rendering the display to screen doesn't cause the game to run any slower than it does with the display turned off (that is, just running the game logic with no video output).

Old Post 08-08-14 18:38 #
jnmartin84 is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 6085
Registered: 08-00


Hey, I was waiting for your account request to get approved. I wanted to suggest taking a look at the Jaguar Doom source if you've not, as it contains a few console optimizations that you might could adapt if you're still looking to squeeze out more speed.

A simple obvious example is to avoid multiplies where possible (shift by nearest lesser power of two and add in a remainder, for example):
code:
x*5 == (x << 2 + x)

If your compiler is good (better than the one that came with the consoles' SDKs >_>) it may be doing that for you already, of course.

A more advanced example is having a pre-baked lookup table of sprites and their rotations to lump numbers, instead of scanning the wad directory for them at startup, which makes R_Init take less time. This might be a bit harder to do when supporting multiple IWADs though, as you'd need one such table for each supported IWAD. It'd also screw with mod support if you have any plans for the ability to merge those into image builds.

Still might be some stuff in there though. You might also talk to Kaiser, who reverse engineered Doom 64. While it works completely differently, it might also have a few nice tricks hiding in it that could be applicable.

Old Post 08-08-14 19:05 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Maes
I like big butts!


Posts: 12648
Registered: 07-06



jnmartin84 said:
The only reason the publicly available builds and videos are all shareware is because it is against the law for me to provide ROM files with the commercial game data files built in.


Actually, to be on the safe side, not even the shareware IWAD should be distributed outside its original installation form (aka two floppies, DOS installer and all, or the Doom95 installer). At least I ceased distributing it with my port quite early, due to concerns.

Old Post 08-08-14 20:18 #
Maes is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Filled with the code of Doom


Posts: 7725
Registered: 07-00



Quasar said:
If your compiler is good (better than the one that came with the consoles' SDKs >_>) it may be doing that for you already, of course.
It would be best to explicitly check if it already is doing this before resorting to such microoptimisations that obscure the code.

Old Post 08-08-14 20:43 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
jnmartin84
Warming Up


Posts: 26
Registered: 08-14



Maes said:


Actually, to be on the safe side, not even the shareware IWAD should be distributed outside its original installation form (aka two floppies, DOS installer and all, or the Doom95 installer). At least I ceased distributing it with my port quite early, due to concerns.



Good to know... I had a sneaking suspicion that was probably true.

I will have to accelerate the timeline on that "doom builder" toolkit I mentioned in a previous post.

Old Post 08-08-14 21:07 #
jnmartin84 is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
jnmartin84
Warming Up


Posts: 26
Registered: 08-14



fraggle said:
It would be best to explicitly check if it already is doing this before resorting to such microoptimisations that obscure the code.


For one specific example, GCC is already changing power-of-2 mults and divs into bit-shifts for MIPS (d = t*128 becomes sll $d, $t, 7). I've looked at the assembly output.

Old Post 08-08-14 21:08 #
jnmartin84 is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
jnmartin84
Warming Up


Posts: 26
Registered: 08-14



Quasar said:
A more advanced example is having a pre-baked lookup table of sprites and their rotations to lump numbers, instead of scanning the wad directory for them at startup, which makes R_Init take less time. This might be a bit harder to do when supporting multiple IWADs though, as you'd need one such table for each supported IWAD. It'd also screw with mod support if you have any plans for the ability to merge those into image builds.


Honestly, processing time at startup is negligible to nonexistent. R_init is basically instantaneous. You can see in the video how long it takes from the entry point of the code on the cart until the game starts drawing, its under a few seconds.

Old Post 08-09-14 03:08 #
jnmartin84 is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 6085
Registered: 08-00



jnmartin84 said:

Honestly, processing time at startup is negligible to nonexistent. R_init is basically instantaneous. You can see in the video how long it takes from the entry point of the code on the cart until the game starts drawing, its under a few seconds.


Cool. No need for gross hacks then.

Old Post 08-10-14 22:52 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Kaiser
Doom64 Guru


Posts: 2859
Registered: 08-00


Interesting. Though I am curious to see how the resources where managed on the N64 hardware...

Old Post 08-11-14 00:31 #
Kaiser is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
jnmartin84
Warming Up


Posts: 26
Registered: 08-14



Kaiser said:
Interesting. Though I am curious to see how the resources where managed on the N64 hardware...


If you have a more specific question/questions, let me know and I will be happy to provide details.

See: http://krikzz.com/forum/index.php?t...g20328#msg20328
and: http://krikzz.com/forum/index.php?t...g20329#msg20329

Last edited by jnmartin84 on 08-12-14 at 06:19

Old Post 08-11-14 00:39 #
jnmartin84 is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
jnmartin84
Warming Up


Posts: 26
Registered: 08-14


I have been busy at work on this over the last few weeks.

Game speed is better than before, sound and music work well, no save game support yet though.

http://www.mediafire.com/download/5..._OWN_64DOOM.zip

This has a shell script and dependencies for running on Windows. All you have to do is run the script/bat file, enter the number of the game you want to build a ROM for, and it does all of the work. No editing files manually.

Old Post 09-05-14 05:40 #
jnmartin84 is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 6085
Registered: 08-00


Have you thought about coming up with a distinct name for your port? Might make it more memorable and easier to find. I wanted to ask before we create a wiki article on doomwiki.org ;)

Old Post 09-05-14 19:09 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Jaxxoon R
Member


Posts: 533
Registered: 03-14


Ultra Doom Engine? Nintendoom 64?

Old Post 09-06-14 00:05 #
Jaxxoon R is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Linguica


Posts: 3947
Registered: 05-00


This is awesome, great work!

Old Post 09-06-14 00:46 #
Linguica is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
All times are GMT. The time now is 03:15. Post New Thread    Post A Reply
Pages (3): [1] 2 3 »  
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > 64Doom: Classic Doom on N64

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.