Release Quake DS

Discussion in 'NDS Homebrew' started by Cha0s Em3rald, Sep 22, 2016.

Reveal download linksprotect your linksHow to like
  1. Cha0s Em3rald

    Cha0s Em3raldCha0s Em3rald is a Verified  Member Retired Admin

    Oct 1, 2015
    Likes Received:
    Quake DS

    This is the home of the homebrew port of Quake - the hit first-person shooter from 1996 - to the Nintendo DS handheld system.

    Due to the limitations of the system, this port has taken a whole lot longer than it should have! Here's why:

    the original game required somewhere between ten and twelve megabytes of RAM, including the loading of the program into memory. The DS has just four megabytes of general-purpose memory - not cool.
    the original game was software-rendered, something which requires a decent amount of computational power, something the DS doesn't have.
    the original game required a math co-processor (also known as an FPU). Neither processor in the DS has an FPU so all floating-point operations must be emulated, which is very slow.

    But here's why there should be a QuakeDS:

    the game runs on, like, every other platform in the entire world, right?
    the DS has hardware which can accelerate 3D graphics
    the DS has a wireless interface built in - anyone for DS-DS deathmatches?

    Current Status, as of 27/10/07
    The game

    the program, working state and game data have been squeezed into the four megabytes of main memory
    it requires either shareware or commercial pak files, Amiga and PC paks have been successfully used
    many total conversions and mods should work with a stock DS, assuming they respect the tiny memory size
    total conversion and mods which refuse to play on a stock DS will play on a DS with a compatible flash card when combined with the EXRAM build
    infrastructure-based wifi network gaming is supported
    ad-hoc DS/DS gaming is currently de-activated in this version
    there is full control configuration
    game saves work, although there may be some corruption using certain DLDI drivers - game saving is not guaranteed to work correctly in the EXRAM build (when used with a slot-2 DLDI)
    there's a crosshair
    there's view snapping and pen sensitivity settings
    there is a proper timebase, so the speed won't be inconsistent any more like it was in pre1
    there's an on-screen keyboard, for use in-game and with the console, and it is much more functional than before
    there are eight user-bindable 'touch buttons'
    access to the command line is now easier
    dodgy QuakeC compatibility has been improved


    all software renderering has been moved over to using the DS' 3D hardware
    world textures are display 99% correctly, there may the occasional non-power-of-two texture wrapping glitch; Alias models are fully textured
    sprites (eg explosions) are now correctly rendered, and they now have their correct animated textures (ie they're not pink any more!)
    particles (eg blood effects) are also correctly rendered, and also come in a shade other than pink
    animated model skins are now (barely) supported
    the game uses faux vertex lighting, derived from the original lightmaps; light animations also work correctly
    there's no dynamic lighting and Alias models are not lit
    there are sky, water, sludge, lava and teleporter animations (the sky is now rendered correctly)
    the console now uses the Quake font from the chosen pak files
    the game uses hardware fogging for a light depth cue above ground, thick fog for below water
    there's a HUD
    GUI elements are transparent (with no more corruption)


    there's a full-blown custom ARM7 sound effects system, and it totally r0x0rs
    the sound system uses proper spatial positioning (it is stereo though...) - plug it into your speakers and subwoofer to hear all the effort I put into this!
    CD music has been dropped from this may return

    Tech info

    uses the libfat DLDI interface, so should hopefully work on all supported flash cards
    built using the devkitARM r20 toolchain
    textures and sounds are loaded from disk on demand - you will notice slow loading if you have certain types of cards, or low quality flash cards
    sound and texture memory is defragged in the background
    in-game performance has been improved but is still not hot, and I think this is as good as it's going to get
    rendering performance is very good (pause the game and move the camera if you don't believe me)
    performance is timed using a custom function-instrumenting profiler (a bit like gprof) and another system is used for recording the exact pad and screen input for later replaying
    the DS is put to sleep when the lid closes (disabled in this build)
    there is no texturing on brush or Alias models or images loaded from individual files - you must use pak files

    How to play
    How to start the game has not changed - if you've played before, just replace the executable with a new one.
    This mini-guide assumes that you are familar with the process of running homebrew on your Nintendo DS. If you don't know how to run NDS homebrew, look online for the answer...

    You need Quake's data files. If you own a copy, that's cool - you'll have full access to the game. If not, then you can download the shareware version of Quake (for DOS) from id's site. This will only allow you to play the levels from the first episode. If you want to play the full game, buy a copy - don't ask me (or others) where you can get these files.
    You cannot use total conversions or mods with the shareware data files.
    In the root of your flash card, make a directory named id1
    If you're using the shareware version, copy pak0.pak from that archive into the id1 directory that you just created
    If you're using a commerical version, copy pak0.pak AND pak1.pak into that directory
    You need a config file to tell the game how buttons are set up, etc. I know that my config file works, so download that from the link above and save it into the id1 directory.
    Visit Chishm's DLDI page (above) and download the DLDI driver file which corresponds to your NDS booting method.
    Download the QuakeDS binary package above, and extract the NDS file into the root of your flash card
    You now need to patch that program so that it will be able to access the files on your card
    For example, on my GBA Movie Player (CF) I download the file named 'mpcf.dldi' from Chishm's page.
    I then run 'dlditool mpcf.dldi k:\QuakeDS.nds' - note K: is the volume where my Compact Flash card is mounted, yours will likely differ
    Now do what you've gotta do to make an NDS start on your card
    For example, on my GBA Movie Player, I need to rename K:\QuakeDS.nds to K:\_boot_mp.nds
    Put the card in your booting hardware and turn on your DS!

    Hidden Content:
    **Hidden Content: You must click 'Like' before you can see the hidden data contained here.**
    Virtua, Deni, Ants2k1 and 1 other person like this.
  • About Us

    Chaos Gamez is a friendly online community with our members sharing all the content you will ever need for your 3DS console including games in .3ds & .cia format, updates, DLC, Homebrew, CFW's, Flashcard firmwares, cheats & a variety of content for other platforms. We have all the downloads and games you'll ever need for your WiiU too! Including WiiU USB Ready Games, WUD Files, Game Tickets, and Homebrew! Same applies for NDS Roms, Wii WBFS, GameCube ISOs, and Retro game console ROMs!
  • Donate to the Server

    The management works very hard to make sure the community is running the best software, best security, and all the other bells and whistles. Care to contribute and support the community? We'd really appreciate it!

    Become a Donor!
  • Disclaimer

    No files are stored on our servers, all links are on external sites. If you have an issue with one of the posts/threads on our site or to make a DMCA report please use the "Contact Us" link at the bottom of the site