PDA

View Full Version : QuakeDS Released - Quake Ported to Nintendo DS



wraggster
February 18th, 2007, 17:33
Simon J Hall (http://www.dcemu.co.uk/vbulletin/showthread.php?t=47864&highlight=quakeds) a Coder here at DCEmu has released the first release of the Port of Quake to the Nintendo DS

Firstly heres some screens

http://nintendo-ds.dcemu.co.uk/current_status.jpg

http://nintendo-ds.dcemu.co.uk/current_status2.jpg

HELP SPREAD THE WORD ABOUT THE BIGGEST DS HOMEBREW RELEASE THIS YEAR

Press the DIGG IT (http://digg.com/gaming_news/Quake_Ported_to_Nintendo_DS) Button

http://digg.com/gaming_news/Quake_Ported_to_Nintendo_DS

Now heres all the info:


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 total conversions and mods should work, assuming they respect the tiny memory size networking currently has been removed, but will return at a later date

Graphics

the majority of the software renderering has been moved over to using the 3D hardware
world textures are display nearly-correctly, there are however still plenty of texture-coordinate bugs!
fake-lightmapping is currently broken, and needs some time spent on it. As a result, the game is flat-shaded
there's no dynamic lighting yet

there are no textures on the Alias models yet
sprites and particles got hacked in yesterday (17/02/07) and are only partially hardware-accelerated, and have no textures
no water, teleporter or sky animations yet

Sound

sound effects support is about 80% finished, so expect to hear pops, clicks, the occasional screech etc
CD music is currently being investigated

the existing solution requires the CD soundtrack to be ripped to your flash card
uses an MP3 decoder, running on the second processor
...but the file streaming slows down the primary processor a bit too much

Tech info

uses the libfat DLDI interface, so should hopefully work on all supported flash cards
built using the latest toolchain, devkitARM r20
in-game performance is still not hot, but is being actively worked on - expect to see it run twice as fast in the finished build
performance is timed using a custom function-instrumenting profiler (a bit like gprof)

Downloads

Shareware Version of Quake (http://www.idsoftware.com/games/quake/quake/index.php?game_section=demo)
Binary and Source Download Via Comments - ADDED CONFIG FILE TOO


How to play
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.

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!

Controls

The game is not currently finished, so there's no control customisation, bar what you can hack up in in_null.c and config.cfg. You will be able to properly change the controls in the finished version.
Current controls:

touching the screen changes the camera view
using the D-pad emulates the WSAD control method, so use up and down to move forward and backward, left and right to strafe left and right
B is bound to escape, so this will bring up/hide the menu
A is bound to enter, so can be used to select entries in the menu...and also jump
X/Y are weapon cycle up/down
L is fire
R is bound to god mode

Download and Give Feedback Via Comments
via simon hall (http://quake.drunkencoders.com/)

kcajblue
February 18th, 2007, 18:44
its finally out now! :D
keep up the good work.

EDIT: ive been trying to get it to work on my DS Link for a while now, but i always get this message.

wraggster
February 18th, 2007, 20:00
DID you try the config file ?

ive just uploaded it

simonjhall
February 18th, 2007, 20:05
What hardware do you have?

Sigma83
February 18th, 2007, 20:20
Thank you Simon, this is look very promising! I have it running on my Supercard DS One. I used your config. As of right now I can't turn at all haha, but I can move around, shoot etc. Would it be possible for you to release a config in the next version that would setup the DS controls as best they can be?

I runs very smoothly, I just don't have graphics on the gun, i can see a white axe, white enemies, the sound is great, and all in all, this looks awesome and so happy to see it being ported.

Very much looking forward to the next release, thanks again Simon and Wraggster for uploading this :).

wraggster
February 18th, 2007, 20:21
congrats on the port Simon, looks awesome

getting Quake to run on the DS is some great coding :)

kcajblue
February 18th, 2007, 20:29
DID you try the config file ?

ive just uploaded iti already tried it.


What hardware do you have?im using my ds link.

fingolfin666
February 18th, 2007, 21:00
Wow, this is really cool. Kudos!

Am I wrong or is the game running too fast?

kcajblue
February 18th, 2007, 21:30
i guess is just doesnt work for the DS Link. because i just tried it with my M3 CF and it worked.

Raither
February 18th, 2007, 21:34
Nice work.
It's working perfectly on my Supercard Sd.
I hope there will be texturesfor enemies in a later version but apart from that very nice game.
Why can't comercial developers develope games liek that for ds? These Ports show that it's possible!

Keep it up!
(sorry for my English)

voteforpedro36
February 18th, 2007, 21:54
What is the link to the sharware version? Is that the original game, where I can supposedly get the wad file? Where is the wad file in it?? I'm confused...

kcajblue
February 18th, 2007, 22:11
did you read the instructions.
it explains everything you need to do.

jester13
February 18th, 2007, 22:24
It wont work on my M3 SD lite. Got the same message as the filipino guy

EDIT - nvm got it working

kcajblue
February 18th, 2007, 22:35
did you patch it with the right DLDI file.

simonjhall
February 18th, 2007, 22:38
Sorry to the people who can't get it to run on their hardware - I can only imagine it being a problem with the DLDI driver that's getting used. Hopefully there may be something simple that I can get it to work but it'll probably require me getting the hardware...

Sigma83 - you can't turn? Do you mean like the dragging on the screen isn't working? Which hardware are you using?

EDIT: I've just seen that my 'message' thing has been changed to "QuakeDS Coder" - AWESOME! I've never had anything other than the generic name which changes depending on your post count :-)

kcajblue
February 18th, 2007, 22:48
yeah. having a title you like is awesome!

anyway. i can play it on my M3 CF.
i cant wait for future releases for this. :D

basilb
February 18th, 2007, 22:51
I've just seen that my 'message' thing has been changed to "QuakeDS Coder" - AWESOME!



Congratulations :D

TeenDev
February 18th, 2007, 23:04
tysvm (Thank you so very much)

firedemon727
February 18th, 2007, 23:53
To all the people that own a Max Media Dock, Quake DS does work on it. Also it works on the M3 Lite.

Tennisgy
February 18th, 2007, 23:58
Sweet! I may have to ask Nintendo to get my DS back faster just to play this ^_^

ChuckMcB
February 19th, 2007, 00:33
Working well on my DS-Xtreme (http://www.ds-xtra.com/Quake_DS_pre-release_1).

Chuck

Kiwiclx
February 19th, 2007, 00:40
Works fine of the M3 DS Simply.

Great work, Simon. May the fixes be easy on you! :)

TeenDev
February 19th, 2007, 01:13
To all the people that own a Max Media Dock, Quake DS does work on it. Also it works on the M3 Lite.


i get a white and black screen when i try to run it. ive patched it and everything. i still haven't gotten the shareware wad yet. my PC has a virus so i cant have it hooked up to the net til i figure it out. Is there a shareware wad around where you just get the wad file? cuz i have to use my Mac and I cant install quake on it or anytning.

Mr_Biggs
February 19th, 2007, 01:21
This is awesome simon, ive been following this project for as long as ive been in the ds homebrew scene, and this has me all shits and grins. I dumped the file to my M3 SD's card without patching and it ran just fine. i played it all the way through the first chapter in one hour, without any problems aside from no jump button. The framerate is great, makes the enemies' movement more fluid. 3D is really solid, texture bugs seem random but no real impact on gameplay. BTW, why doesnt the shotgun or supershotgun render on the screen? just curious since everything else seems fine. Great job, i wish you well on future updates, and pray to god noobs dont start asking you for n64 emulators ;D


BTW: who actually has the original quake disk, with it's music and all?

Xcliber
February 19th, 2007, 02:04
How long does it take to load on Supercard SD Lite
I'm using the full Quake pak0.pak and pak1.pak and the supplied config file and have patched the binary with the correct DLDI driver, but all i get is:
Starting up
fat init...ok
Init ARM7...done
done
Host_Init, memory base at 0x020d
79e8
3.1 megs of memory available
/id1/pak0.pak has 424 files

and thats all.
it just stops there...

the shareware version works though...

I'm amazed at the high framerates
can't wait for further (more compatable) releases!

Junixx
February 19th, 2007, 03:43
:thumbup: This works great! can't wait for everything to be textured and a left handed mode :rofl: Great release. good job! :D

crookedmouth
February 19th, 2007, 07:48
To all the people that own a Max Media Dock, Quake DS does work on it. Also it works on the M3 Lite.

I've got a MMD, works like a charm, except whats usual for all. Meaning enemies are non-textured, my gun was invisible.
Sound is very nice and It runs incredibly smooth and fast, could you imagine team fortress on wi-fi ds. Would something like that be possible?

thebawp
February 19th, 2007, 09:13
Got this working with little effort on my supercard SD - fantastic work so far - particularly considering the sound is working as well.

tomqman
February 19th, 2007, 09:47
thanks for great release looking foward to next release running fine on my r4 (cant wait for graphics on monsters and guns) also jump should be a double tap with the stylus

simonjhall
February 19th, 2007, 10:06
I just put out a phat post here:
http://forum.gbadev.org/viewtopic.php?p=119049#119049

What do people want fixing first?
Should I make a poll?!

Xcliber
February 19th, 2007, 12:57
better compatability...
i still get errors with fullversion/mods
only the shareware works on my supercard SD Lite (TF)

which sucks because i do have the full version of quake...

are there different versions of the quake pak files? (i.e. v1.06 v1.04 or something like that?)

oh yeah!
limit speed. runs TOOO fast in some places to play.
and as mentioned before, jump should be set for double tap like in metroid hunters
also
how much health and ammo do i have left?!

this is easily one of the greatest homebrews of all time!

simonjhall
February 19th, 2007, 13:26
Yes there are different versions of the pak files.
We originally had bags of problems with the Supercard SD and they mysteriously went away. (I have a Supercard SD (MiniSD) btw) Maybe you're having the same problem?

I'm sure there would have been an error message if Quake had a problem with a pak file, so I'd guess it was a FAT thing. Have you tried reformatting the card? I also had problems with DLDI until I upgraded the firmware on my card.

But anyway, there's a hack that which should hopefully work - I modified the code to allow you extract your pak files into the id1 directory, so you don't need paks and it instead accesses the files directly.
So to do this get some pak-extraction program and extract both pak files into the id1 directory, maintaining the pak directory structure (if y'know what I mean). Then remove the pak files from that directory. Then start the game :-)

Load times will be about twice as long and I've not yet tested this method with libfat but it should hopefully work...


this is easily one of the greatest homebrews of all time!Thank you very much :-)

simonjhall
February 19th, 2007, 13:28
Also, for those people who can't get it to work at all, I've been pointed at some alternate DLDI drivers. Maybe y'all could try these if you're having problems?
---
Supercard SD Moonhsell DLDI patch.
http://mdxonlinemirror.dyndns.org/resources/20070101_dldi_scsd_ver10_20070101.zip

DS LInk Moonhsell DLDI patch.
http://mdxonlinemirror.dyndns.org/resources/20061230_dldi_dlms_ver10_20061230.zip

there's also an ewin patch though i've not had any feedback regarding that one.

here's the link if anyone needs it.
http://mdxonlinemirror.dyndns.org/resources/20061229_dldi_ewsd_ver10_20061229.zip
---
Thanks go to Spike for the heads up.

GMParSki
February 19th, 2007, 15:06
This works with M3 SD.

look
February 19th, 2007, 15:27
Also, for those people who can't get it to work at all, I've been pointed at some alternate DLDI drivers. Maybe y'all could try these if you're having problems?
---
Supercard SD Moonhsell DLDI patch.
http://mdxonlinemirror.dyndns.org/resources/20070101_dldi_scsd_ver10_20070101.zip

DS LInk Moonhsell DLDI patch.
http://mdxonlinemirror.dyndns.org/resources/20061230_dldi_dlms_ver10_20061230.zip

there's also an ewin patch though i've not had any feedback regarding that one.

here's the link if anyone needs it.
http://mdxonlinemirror.dyndns.org/resources/20061229_dldi_ewsd_ver10_20061229.zip
---
Thanks go to Spike for the heads up.
Totally amazing stuff. how likely is wifi deathmatch?

Can confirm that scsd using kingston 1gb works when patched with

http://www.cryptosystem.org/projects/nds/scsd_moon.dldi

something to do with the type of card

THANKS!

bassCore
February 19th, 2007, 16:30
I get the same error as kcajblue, even though i am using a M3 CF as he did when it worked.

bassCore
February 19th, 2007, 16:50
Never mind! i got it to work now by changing DLDI patch. Iam not really sure what device i got, but apparently it is a GBA Movie Player and it has always been. Or is M3 and GBA Movie Player the same thing?

talesyuan
February 19th, 2007, 17:12
it works well on my m3l
thank you~
hoping the next version :-)

Xcliber
February 19th, 2007, 17:20
AWSOME!!!!
Extracting the .pak files worked!

Thanks!
Keep up the good work!

I can confirm this to work with the full version of Quake on Supercard SD Lite (TF).

Junixx
February 19th, 2007, 18:17
Never mind! i got it to work now by changing DLDI patch. Iam not really sure what device i got, but apparently it is a GBA Movie Player and it has always been. Or is M3 and GBA Movie Player the same thing?

Yea the M3 CF and the GBAMP CF are almost the same when it comes to homebrew

Himura
February 19th, 2007, 19:22
Works perfectly on my Supercard CF. If possible, I'd love to see some gun and enemy textures. That would be phenomenal.

Sigma83
February 19th, 2007, 21:54
What are you guys using for controls? With the config uploaded here, I couldn't turn left and right, could only straf left straf right.

Thanks.

simonjhall
February 19th, 2007, 22:04
Using the pen on the screen should allow you to change the viewing angle.

bassCore
February 19th, 2007, 22:04
Have you tried to use the stylus to turn left and right?

Arghh! simon was faster than me.

One more thing, i tried to edit the Config.cfg in notepad, but i dont really get it, I would like lefthanded controls but i dont get how to edit.

Sigma83
February 19th, 2007, 22:16
Using the pen on the screen should allow you to change the viewing angle.

Great job again Simon, I didn't realize you'd introduced the stylus as well. This is remarkable work. How do people do this....:thumbup:

simonjhall
February 19th, 2007, 22:44
I'm sure I put in the readme that the screen controlled the view :-)
Anyway, enjoy the game!

kcajblue
February 19th, 2007, 23:08
Have you tried to use the stylus to turn left and right?

Arghh! simon was faster than me.

One more thing, i tried to edit the Config.cfg in notepad, but i dont really get it, I would like lefthanded controls but i dont get how to edit.you cant change the controls yet.

Mr_Biggs
February 20th, 2007, 00:54
So, now that we have quake on the DS, can we expect to see a surge of level packs and mods? i.e, new games on the QuakeDS Engine and improvements to game code, like footstep sounds.

Xcliber
February 20th, 2007, 01:19
Ok iv'e been playing around with mods and the config and quake.rc file and have managed to get Quake Done Quick speed run to work with this!
It's freakin awsome!
It's too bad that quake only allows for a maximum of 8 demos in the loop...
so u have to keep going back to quake.rc and changing what levels it plays by deleting the first 8 entries in the demo list as listed below:
i.e. e1m1 through e1m8...



// load the base configuration
exec default.cfg

// load the last saved configuration
exec config.cfg

// run a user script file if present
exec autoexec.cfg

//
// stuff command line statements
//
stuffcmds

// start demos if not allready running a server
startdemos e1m1 e1m2 e1m3 e1m4 e1m5 e1m6 e1m7 e1m8 e2m0 e2m1 e2m2 e2m3 e2m4 e2m5 e2m6 e2m7 e3m0 e3m1 e3m2 e3m3 e3m4 e3m5 e3m6 e3m7 e4m0 e4m1 e4m2 e4m3 e4m4 e4m5 e4m6 e4m7 e4m8 end

by unpaking the .pak files u should be able to access the default.cfg, quake.rc, and config.cfg
u can edit anyone of them in notepad!

I'm thinkin key rebindings and console commands!

Their has to be a way to limit the game speed too in this manner

simonjhall
February 20th, 2007, 09:14
So did you try running QDQ then?
I'd *really* love to know which levels load and which don't! I haven't got the time to test each one myself.

JellyBean101
February 20th, 2007, 15:27
Great mod but the controls are very hard especially seeing as we dont have a crosshair :( still great mod!

Kraton
February 20th, 2007, 16:35
Not working. I get this screen kcajblue screen (http://www.dcemu.co.uk/vbulletin/attachment.php?attachmentid=15908&stc=1&d=1171826645)

im using M3miniSD v3 and im using dlditool too.

Xcliber
February 20th, 2007, 20:53
all of episode 1 works fine
havn't tried the others yet!

Oh also i can't save my games!

Miika
February 21st, 2007, 13:15
I love this port ;) I hope a new release is out in a short time :D I made a video of it:

http://www.youtube.com/watch?v=nNIKneo11o4

Xcliber
February 21st, 2007, 22:54
Host_Error: CL_EntityNum: 400 is
an invalid number
Stopping sounds. . . . . .done

and the game just freezes there.
This error occured on map e2m7: the Underearth while watching QDQ.
the rest of the levels in episode 2 work fine.

Hope my input helps!

edit:
mod_numknown == MAX_MOD_KNOWN
and freezes.
this occured while loading map e3m4: Satan's Dark Delight while watching QDQ.

edit2x:
No message but When exiting e3m5: The wind Tunnels while watching QDQ the top screen fades to Green and the game freezes.

edit3x:
map e3m6: Chambers of Torment
No freezing but MANY missing textures (and im not talking about the # of enemies in Nightmare skill)

all other levels in episode 3 are confirmed to work!
...more to come (about to test episode 4 and hopefully shub's pit)

edit4x:
map e4m3: The elder God Shrine
mod_numbknown == MAX_MOD_KNOWN
then freezes.

edit5x:
map e4m8: the Nameless City
mod_numbknown == MAX_MOD_KNOWN
then freezes
all other Episode 4 maps work.

edit6x:
map end.bsp: Shub-Niggurath's Pit
works fine until the animation of shub being destroyed. camera does not display it. instead it displays another part of the level.

Well thats every singleplayer level done on nightmare skill, killing all enemies, and getting all secrets.
All but the aforementioned levels work!
QDQ itself puts the hardware to the test as it displays massive numbers of monsters and animations and explosions on the screen all at once without freezing.

Reaaaaaally looking forward to the next release!

simonjhall
February 22nd, 2007, 09:49
Wow, that's really comprehensive. Thanks very much!
To replicate this I'm gonna need to have the same setup as you. Which QDQ files are you using (there seem to be countless runs) and how exactly are you loading them into the game?

It's good to know that you get the MAX MOD thing on only a few levels. Hopefully I won't have to increase the max model count too much to get them to run.

Hopefully these obscure freezes will be catchable!

And is the whole QDQ runthrough done in Nightmare? Cos if so that's gotta be a lot of bad guys! Are there any disappearing enemies as a result?

Missing textures: this sounds weird. Do you mean that they look weird/stretched/black or are you getting a checkerboard? Checkerboard means you're outa VRAM, anything else means I haven't coded it yet :-)
Do you get these texture problems if you load the level directly, rather than playing a few levels before that level?

And not too sure when the next release is. I'm moving house soon, so that's taking up a load of time. I've also spent every night this week on Q2 - the only Q1 thing I've done is to make someone a left-handed build!

Tripsk8er333
February 23rd, 2007, 06:35
To Simonjhall,

How do you port and code games. Is it possible to port older games from the N64 to the NDS . If you have the time to, could you please go into full detail on how to do this. I would really like to learn how to port my N64 games to my NDS. :)

Here is my email address: [email protected]

If you can please send the reply there. I really want to learn how to do this.


Also: GREAT WORK!!!!!! :)

simonjhall
February 23rd, 2007, 13:11
Err...I'm guessing you're not a programmer, right?
If you want to port a game, then you really need the original source code. If you don't have it then you have to reverse engineer the game, which is a huge mission.

Assuming you've got the source, you've got to somehow compile it. I was lucky with Quake 1/2 as it works under several platforms, so they had abstracted away all the platform-specific stuff. That way I only had to write a small amount of code to get it to run. It was shockingly slow (ie 1-2 fps) but that's enough to get you started.

I spent the next few months getting the game to fit into the memory and increasing the performance.

If you want to port something that was only ever on a (single) console then that's likely to be seriously hard as the code will be tailored for the target machine. Changing it to run on the platform you want would be tough-as. Just boot up your N64 and save yourself a year's worth of work.

Tripsk8er333
February 23rd, 2007, 18:05
Thanks, I guess I just have to boot up the old N64. ;)

wizard
February 23rd, 2007, 22:21
I just ripped the sound track from the CD. Where do I need to put it on my flash card for QuakeDS to find it? Is there anything else I need to do to get the music working in the game?

simonjhall
February 23rd, 2007, 22:56
I just ripped the sound track from the CD. Where do I need to put it on my flash card for QuakeDS to find it? Is there anything else I need to do to get the music working in the game?CD music isn't enabled in the build you have, sorry!
Keep a hold of it though, as I'll prob have it in the next version though.

wizard
February 23rd, 2007, 23:32
CD music isn't enabled in the build you have, sorry!
Keep a hold of it though, as I'll prob have it in the next version though.

Oh ok, thanks for the quick reply. Great work so far!

Tripsk8er333
February 24th, 2007, 04:13
Does anyone know if there will ever be a GTA ported to the NDS?

Kraton
February 24th, 2007, 12:04
i got this working and looks nice!

There's no weapon and enemy graphics yet? :S

This guy runs too fast, Can u make him slower?

Lman94
February 24th, 2007, 20:44
i get the same message kcajblue got. im using a R4 DS please respond. (it says it cant load GFX.wad) :(

Lman94
February 24th, 2007, 20:55
o never mind i got it workin.
all you have to do is patch it with DLDI

Xcliber
February 25th, 2007, 16:24
would it be legal to upload the entire id1 folder from my flashcard in zip format?
(with a password)

yes, it is all on Nightmare with all secrets and all kills

just all lot of black spots on a certain few levels mentioned above (no checkerboards though)

I haven't actually tried to load individual levels though.

I will have an upload link shortly...(if it's legal, I assume u already have the full version of quake so ill just email the link to u. Is megaupload ok?)

EVILMARIO23
March 25th, 2007, 17:44
does it with 'games 'n' music'?

rille
March 25th, 2007, 19:08
Runs ok. I got a R4.

Can't wait until the next release.
*Better menus*