-1

Many popular DOS games were ported from video game consoles:

Video game consoles generally have wildly different hardware than PCs. They have different CPU architectures, graphics modes, and specialized chips for video, sound, and effects that were specifically targeted by the game developers who programmed these games. You can actually notice the difference when playing a port versus a game developed originally for MS-DOS (such as Commander Keen).

Therefore, I have always wondered about the "runtime" environments these DOS ports shipped with. I assume these games were not completely recreated from scratch when they were ported to DOS. At least they could reuse the artwork and level files. But to what extent was the game's original engine reused, or perhaps even emulated, to make the game playable on DOS computers?

5
  • It's behind you is a free and surprisingly good, if occasionally harrowing read, on this subject. Admittedly and the personal computer involved is an 8-bit system but the principles to a range of third-party ports of this vintage. – doynax Dec 30 '20 at 7:28
  • Thank you so much, doynax! I will definitely read it. – Jaap Joris Vens Dec 31 '20 at 1:24
  • Update: I've read "It's behind you" and it was a fantastic first-hand account of porting an arcade game to the ZX Spectrum. The developer used only a VCR recording of someone else playing the arcade version to completely recreate the game from scratch, and in the end got an award for it! – Jaap Joris Vens Dec 31 '20 at 13:39
  • Indeed. It also rather deflates any sense glamour there might have been in the bedroom coders era of game development. Don't you just want to give the guy a hug, or at find him a decent job? – doynax Dec 31 '20 at 17:09
  • I always assumed "porting" meant taking an existing codebase and modifying the necessary parts to make it compile for another system, while according to this book it actually means "recreating from scratch", at least in the 8-bit era. Here's to you, Bob Pape! – Jaap Joris Vens Jan 1 at 1:09
2

I assume these games were not completely recreated from scratch when they were ported to DOS. At least they could reuse the artwork and level files.

Same way they were ported between different consoles.

Reprogrammed while, as mentioned, saving as much resources (graphics, sounds, maps) to keep it the same game.

After all, the PC is just another console with different hardware.

And like with any port to a different hardware the resulting games will differ as they are new implementations. Like Earthwork Jim did from Mega Drive to SNES in many respects - here even in graphic/sound assets. It's a rewrite with a goal to hit the same game play, which is the core value to keep it selling.

The Asteroids port from arcade to 2600 is a great example. While console port is in no technical detail like the original, it brought the same basic gameplay and many hours of fun to the TV screen.

Then again, sometimes this doesn't work out and some ports simply sucked.

5
  • Saying ported games were "reprogrammed" hardly answers the question. What exactly was reprogrammed? How would a port handle a missing FX chip? To what extent was cross-compilation possible in those days, or emulation? – Jaap Joris Vens Dec 22 '20 at 21:42
  • 1
    @hedgie there is no 'the game' nor 'the port', so tehre can't be an answer covering all games, consoles and PCs. And even if you would narrow it down to one specific game, console and PC configuration the answer will be simply 'they programmed a function to replace that FX chip' The question in itself is simply too wide and usecific to give any more detailed answer. – Raffzahn Dec 22 '20 at 21:57
  • 3
    This seems like "how do you port anything?". You keep the parts of the original that work on the target system, and rewrite (or provide emulation layers for) the parts that don't. – another-dave Dec 23 '20 at 3:18
  • Also, nearly from the beginning some games have been at least partly written in portable languages, to allow game logic and such to be moved relatively easily. For example, Infocom using virtual machines for Zork and friends, or Wizardry being written in Pascal. It wasn't unusual to use C on consoles in the 90s. – RETRAC Dec 23 '20 at 19:43
  • 1
    Any code dealing with hardware (graphics, music, handling user input) had to re-done from scratch. And, yes, this was the main challenge when porting to DOS/PC. Hardware-independent game logic could be cross-compiled provided it had been written in a high-level language like C or Pascal. – DmytroL Dec 29 '20 at 15:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.