GP2X Porting Doom


sand_man

Active Member
Joined
Nov 4, 2005
Messages
727
I have never ported anything before but I know SDL pretty well. Anyway, yesterday I grabbed the Linux Doom source, rumaged through it and thought, "Wow this going to be a lot of work!". I think I should just push my way through it bit by bit but I don't know where to start. Should I comment out the sound functions and work on the display first? Do I need any knowledge of raycasting to port something like this?
Any advice will be helpful.
 
Completely depends on how the original code was written. Personally however, I'd just ignore sound for now, grab the Zodiac's Doom port, and do a straight port to the 2x, ignoring SDL completely. Shouldn't take more than a couple of hours tops.

You don't need an knowledge of raycasting, but knowing how the original program updates the frame buffer will help :)
 
I have never ported anything before but I know SDL pretty well. Anyway, yesterday I grabbed the Linux Doom source, rumaged through it and thought, "Wow this going to be a lot of work!". I think I should just push my way through it bit by bit but I don't know where to start. Should I comment out the sound functions and work on the display first? Do I need any knowledge of raycasting to port something like this?
Any advice will be helpful.

Doom was already ported to SDL by Sam Lantinga, the original SDL author. Running on gp2x should be a simple matter of recompiling with ARM target...

SDL doom
 
Last edited by a moderator:
So when you guys port something, most of the time you aren't actually doing it from scratch so to say?

So a better idea would be to recompile either the SDL port or the Zodiac port and then make various optimisations for the 2x (when I get it)?
 
So when you guys port something, most of the time you aren't actually doing it from scratch so to say?
That would be porting, correct. You port something from one place to another, usually fully intact except for system-specific settings.
 
Sorry, iignotus, if you thought that I mean a rewrite. I meant converting the original source to the gp2x or to SDL. But if there is already the Zodiac port that would make sense to use that.
 
The reason the Zodiac code is the one to start with is simply because it is a system that is remarkably close to the GP2x, I presume - so most code written for it will also work on the 2x (unless it takes advantage of Zodiac-specific hardware).

But from any code-base, re-writing bits of it such that a whole program works on another machine is considered a port.
 
Back
Top