Doom for Nintendo 64

Discussion in 'Nintendo Game Development' started by jnmartin84, Jul 3, 2014.

  1. pwl

    pwl You don't need a reason to help someone

    Joined:
    Jul 4, 2014
    Messages:
    64
    Likes Received:
    28
  2. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Thanks for the info, friend.

    I had a feeling the fs code was the load time culprit, but hadn't had time to do a deep-dive of the DFS code yet.

    On a side note, we have something in common, we both worked on Doom ports to the Dreamcast.
     
    Last edited: Jul 15, 2014
  3. Zoinkity

    Zoinkity Site Supporter 2015

    Joined:
    Feb 18, 2012
    Messages:
    499
    Likes Received:
    108
    Incidentally, the officially-released WAD games (Doom, Quake, etc.) all do that. They copy the filetable into rdram, byteswapping some data for the N64's sake. When a file is needed they look it up, compute the address, work out the size, load it directly to destination if uncompressed or to a dedicated address for decompression. Some versions load compressed files in one chunk, but a few (and in fact many N64 titles) read them in blocks (0x1000, 0x2000 or 0x4000 bytes are common) at a time and stream in more on-demand.
     
    Last edited: Jul 15, 2014
  4. Narann

    Narann Member

    Joined:
    Jun 17, 2014
    Messages:
    10
    Likes Received:
    0
    Impressive!

    Do you think some of your low level works could be pushed to libdragon? This lib is important for the N64 community but lack of many implementations (specially on the 3D side).
     
  5. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Keep hitting me with the knowledge, guys. Every bit helps. :)
     
  6. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    I changed my build to just append the WAD directly to the end of the ROM.

    I use my memcpy routine to move data back and forth. Everything works.

    Also it only takes about 1 second to get to the title screen when running in MESS now, instead of 2 minutes.

    See first post for link to build.

    Note that I have a new bug now, game freezes when you finish the first level, right when the second level would start loading.
     
    Last edited: Jul 15, 2014
  7. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Crashing in P_SetupLevel. Fun for tomorrow.
     
  8. Syclopse

    Syclopse .

    Joined:
    Dec 17, 2013
    Messages:
    1,508
    Likes Received:
    537
    Try a different .WAD file?
     
  9. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    It isn't necessarily the wad file. It worked with dfs. It is an artifact introduced when I changed how I read the wad file from the ROM.
     
    Last edited: Jul 16, 2014
  10. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Thanks to ChillyWilly and the help he has provided over on the krikzz forums, I was able to get a version built using raw DMA and no filesystem. It starts up basically instantly and does not hiccup during gameplay anymore. Try it out by downloading from the link in the first post.
     
    Last edited: Jul 16, 2014
  11. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    New build coming later tonight. No more debug stuff on screen. Supports shift/running. More optimized overall. Possibly performs better?
     
  12. kuze

    kuze Peppy Member

    Joined:
    Sep 28, 2011
    Messages:
    371
    Likes Received:
    6
    Nice dude! Can't wait to try it out. Any progress on getting sound working?
     
  13. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Digital sound effects are in, they just sound bad/choppy. No music yet, haven't figured out how I am going to do it yet.
     
  14. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    new build in first post
     
  15. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    0128.png

    so you can beat the game in one sitting without saving... I just did :eek:
     
  16. Narann

    Narann Member

    Joined:
    Jun 17, 2014
    Messages:
    10
    Likes Received:
    0
    lol you build it, you finished it! I personnaly never finished Doom. Great job! :)
     
  17. justice99

    justice99 Spirited Member

    Joined:
    Nov 18, 2011
    Messages:
    123
    Likes Received:
    24
    Thanks for the work again!
    One question, how can you upgrade textures from 240p to 480p ?
    Is it difficult to do? Will it slowdown the game?
    Thanks.
     
  18. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    I'm not sure what you're asking. I'm pretty sure the answer is, I'm not.
     
  19. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    I had posted an RDP enabled build but apparently it just showed a blank screen on real hardware.
     
    Last edited: Jul 21, 2014
  20. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Last edited: Jul 21, 2014
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page