VOGONS


First post, by bitgamma

User metadata
Rank Newbie
Rank
Newbie

This is my first post here, hope I am in the correct section. I wanted to share with you my new pet project https://github.com/bitgamma/gos.

This is a "library operating system", basically a hardware abstraction layer with a few drivers and a bootloader + some typical operating system services + some tools to make compilation/build image generation easy. A game (or other app) developed with this library will be bootable on x86 computers (requires at least a 486 and a PCI graphic adapter supporting VBE2). So far, it has mostly been tested with 86Box, DOSBox-X, QEMU and the likes but also on an older laptop.

The main reason this was developed was cause I always wanted to get more familiar with the x86 architecture. I also thought it would be interesting to make an open source platform where 32-bit games for older machines could be developed. The project is now at its infancy but I plan to continue working on it in my free time. I have already developed a small game with it (the source code is included in the repo) and it works quite well. I hope somebody will find this useful!

Feedback and comments are much appreciated.

Reply 5 of 5, by bitgamma

User metadata
Rank Newbie
Rank
Newbie
janih wrote on 2021-12-01, 07:27:

Cool project. Lately I've been looking into how to program games that would run on old hardware. Is this the code for this example game: https://github.com/bitgamma/gos/blob/master/maxit/src/game.c ?

Thanks! Yeah that's the game logic itself, while the main.c file is the entry point. The game itself, Summer Numbers, is hosted on itch but I don't know if it is allowed to link here (is free to download though). The laptop in the gif is from 2012, not very old. I was hoping to get my hands on something with a Pentium/Soundblaster/PCI graphic combination to test but for now I have to trust 86Box.

One thing I discovered relatively recently is that the game can run even in a brower-based x86 virtual machine, even on ARM mobile devices . This is cool, cause ironically a system wrote specifically for x86 machines and no OS turns out to be oddly cross-platform in practice.