Xargon port

As the Xargon source code was released in 2008, I decided to try porting it to SDL so that it can run natively on modern PCs. There are still a few bugs to work out before it is playable, but the majority of the port (graphics, sound and music) now mostly works.

You can grab the code from the GitHub repository or check out progress on the RGB Classic Games forum thread. It will only work on little-endian (Intel) platforms at present, and has only been tested under Linux and Windows.

Early screenshot of Xargon port, showing some graphical corruption which has now been fixed.
Early screenshot of Xargon port, showing some graphical corruption which has now been fixed

Comments

How about the *original* bugs?

Xargon itself was impressively bug ridden. Episode 1, level 2 (Strange New Dimension) would hang my PC if I took a running jump at the laser bullet. One level would wipe your special objects if you died, another one would remove your laser bullet if you died.

The score would go through the roof, the score table and saved games would end up full of bits of other disc sectors:

http://telcontar.net/Screenshots/botm.php?entry=2006-08-06

(Screenshots from DOSBox, but the bugs are preserved faithfully from when it ran on my 486 -- I just copied the whole hard drive to DOSBox and the bugs came with it)

One time (at Xargon Camp) I found a corrupted save game that put me inside a GNDN cave deep below the surface of the landscape. Never got a screenshot -- couldn't get screenshots of it in native DOS, and I didn't have a screenshots site at the time.

Nonetheless this remains one of my favourite games. It will be interesting if you actually get the chance to fix all of Epic's own bugs ;-)

Still there

Interesting! Maybe some of these explain why the game crashes now in certain situations. It is very much hard coded to rely on being run in a DOS 16-bit environment. If the bugs are still there in the version that was released as open source then they're still there in the port. That random disk information would have actually been random memory locations (which happened to contain old data from an earlier disk read, in your case.) Modern operating systems don't allow that, so you just get a crash instead - a lot less interesting!

FYI the multitude of batch files you mention in your link (which originated with the Xargon engine's predecessor Jill of the Jungle) are used by the episode selection screen. Rather than have it launch the game .exe file directly, it's all done with batch files (many DOS menu systems used to do the same thing - have one batch file launch your menu app followed by a second different batch file. That second .bat would be written out by the menu app before it terminated, thus the menu could control which app would be launched after it exited. The second .bat would also call the first one when it was done, reloading the menu when you exited your program. This was the only way you could do it where the menu app didn't take up memory while the target program was running - very important when you only had 640k available. Works exactly the same here, where the episode selection screen is the "menu".)