Hello all. (and I'm 21 years old)
I'm developing an operating system for PC/386+ machines.
This is probably nowadays quite a waste of time, but as I have nothing
else right now, I love wasting my spare time developing it !
The goal is a operating system only running games (and maybe demos &
intros..).
In my opinion, creating games to be run under multitasking environments
(such as Windowz) is not a good idea. Perhaps someone likes that they
can easily switch between their work in some windows app (when the boss
is visiting), and a game. And then there are those who would rather play
DOS games. The problem is, nowadays, windows has taken over this market
also. However direct the windows drivers are, there is always a loss of
power, much also due to the multitasking. And, then it OCCASIONALLY
crashes..
Linux would otherwise be good, too, but it's also multitasking. Stable
as hell, but...
So, I got this crazy idea.. Single-tasking. Protected mode. Networking
built-in. Run-time linking. Graphics libraries. Sound drivers. Builtin
debugger. Etc... I've got all those working already. And also PnP (it
works!), PCI and other hardware autodetection, so that no (right now) or
minimum configuration is needed. And the funny thing is, it all starts
up in 1-2 seconds.
A little problem is that I've got just one game yet, an Arkanoid(TM)
clone.. A few friends are working on some more. But as I extend the
graphics and other libraries with sprite-routines, texture mapping, 3d,
etc, almost all the time spent can be used to make the game work instead
of wondering how the soundcard has to be programmed. And what's best,
every one can create their own libraries and share them. That includes
that if for example someone has got an audio or video card that is not
yet supported, and he/she is capable of writing the required driver, all
games can start using the new driver directly.
Because of the run-time linking, which means all executables work as
DLLs, bugfixes of libraries require just replacing the old version.
The boot sector is a tiny assembler thingy that only reads a bit more
from the hard disk, jumps to protected mode. The loaded part (which is
mostly C) then sets up the system and loads the kernel (which is also
C). I have also earlier made an OS that was entirely written in
assembler. It was multitasking, but it was far to big to manage, and
wasn't suitable for game playing anyway, so, it's more or less abandoned
right now. Not that it was fun to try it all out.
The only external products needed are Borland's 32-bit C++ compiler
(bcc32.exe) and 4Dos (some batch files, I'll probably convert them
someday),
and DOS of course (because you boot the machine all the time).
Now tell me, am I really wasting my time ? If I got enough interested
people, it could really become something. If you are interested or got
questions (& answers), please mail me. I'm open to any kind of comments.
- xkr~47 / jber...@cc.hut.fi / Finland, Europe