DOSBox Sees Continued Success
KingofGnG writes "DOSBox, the emulator designed to run DOS games on modern operating systems (and not necessarily on a PC), has been chosen as project of the month for May on SourceForge. It's the latest award granted to a piece of software that 'simply does what it is supposed to do,' as the authors say. After having amassed more than 10 million downloads, it will soon be getting an update that's been awaited for almost two years."
Dosbox is fantastic for those times when you want to relive the moments when you first got into pc games (at least for anyone born before say 1984 or thereabouts).
Many of the games we now regard as classics, were written for DOS. Many of those games even pioneered whole genres of computer gaming.
Such games that come to mind include Wolf3D, Doom, Command & Conquer, Warcraft, Need For Speed, Microprose F1GP and the list goes on.
They may not have been the first in their genre, but they were certainly the games that defined the genre. Current game developers would do well to look to the DOS classics for inspiration, not so much for ideas, but for how to create a true classic.
Dosbox works incredibly well right now and I wish its developers every success in its continued development.
This seemed like a reasonable sig at the time.
This is probably the most common sentiment you'll find in reference to DOSBox. Everyone just loves this project... I think it really is because it has one singular focus and succeeds whole-heartedly at it. Also, the project has done a great job of remaining very gracefully platform agnostic. It's brought back the old Keen series and Little Big Adventure and such to me, on any system I might want to play it on.
Now that even games on Steam are starting to ship packaged with DOSBox, you really have to take some time to reflect on how much this has done for an archive of almost forgotten and still very valuable games.
Ahh, that reminds me. Few years back I did some reverse engineering of Commander Keen using DOSBox.
I tapped the emulation loop and wrote replacement functions for each address. So, for example, whenever address 0x1713 of the Keen segment was executed the function add_monster_1() would be called. It would do its thing and, if I had translated it correctly, the game would appear unchanged. I did this for a lot of functions:
http://www.quantumg.net/keen1.c.txt
The result was much more enlightening than reading asm code. For example, John Carmack used the same code for doors in the game as he did for monsters. In a sense, doors *were* monsters, they just didn't have as complex "thinking" as some of the other monsters in the game. I could also confirm that there were no more "cheat keys" or secret levels in the game than the ones that had already been advertised :)
I later tried to convert this to compilable source code using libSDL for the graphics but that project has been lost to me.. it's probably floating around on one of my old linux machines.
How we know is more important than what we know.