WIP DOS Game Jam Entry
So for some reason I decided to really get my geek on and make an entry for the DOS Game Jam on itch.io.
Whilst the game jam rules are really relaxed, I decided to head straight for making a game for real DOS-era hardware. Then I decided making a game for mode 13h or mode X was a path too well trodden. So I started messing around in mode 12h (640x480 16 colours).
First, the tools: I went for Open Watcom to build and DosBox to run it. They are both mature tools and work well on Ubuntu (Open Watcom under WINE). I very quickly decided I didn't like Open Watcom's code editor though, so I only use the IDE for building the code. Geany is a lovely little editor which I like a lot more.
Thence into the dark realms of x86 interrupts to set the video mode and direct-writes to hard-coded memory locations. Coding ground to a halt immediately as I proceeded to read what felt like the entire internet.
I had to learn about what an I/O port was and how to write to it, how the VGA works from the Black Book, but there were some really good tutorials too.
A load of time was wasted by me trying to optimise my code too early. A mis-identified bottleneck took me down a complete dead-end and wasted a good week and a bit of work.
But eventually I managed to understand using the latches and write mode 3 to get some drawing done in a reasonable time.
Still, mode 12h doesn't support page-flipping, so full-screen 3D was not going to be possible. With that in mind, I decided to aim at an Objects In Space type thing where the 3D wouldn't need to be full-screen and not even all of it every frame.
Things are still going slowly, but I'm getting there!
Whilst the game jam rules are really relaxed, I decided to head straight for making a game for real DOS-era hardware. Then I decided making a game for mode 13h or mode X was a path too well trodden. So I started messing around in mode 12h (640x480 16 colours).
First, the tools: I went for Open Watcom to build and DosBox to run it. They are both mature tools and work well on Ubuntu (Open Watcom under WINE). I very quickly decided I didn't like Open Watcom's code editor though, so I only use the IDE for building the code. Geany is a lovely little editor which I like a lot more.
Thence into the dark realms of x86 interrupts to set the video mode and direct-writes to hard-coded memory locations. Coding ground to a halt immediately as I proceeded to read what felt like the entire internet.
I had to learn about what an I/O port was and how to write to it, how the VGA works from the Black Book, but there were some really good tutorials too.
A load of time was wasted by me trying to optimise my code too early. A mis-identified bottleneck took me down a complete dead-end and wasted a good week and a bit of work.
But eventually I managed to understand using the latches and write mode 3 to get some drawing done in a reasonable time.
Still, mode 12h doesn't support page-flipping, so full-screen 3D was not going to be possible. With that in mind, I decided to aim at an Objects In Space type thing where the 3D wouldn't need to be full-screen and not even all of it every frame.
Things are still going slowly, but I'm getting there!
Comments
Post a Comment