Welcome to my THE PLATFORM.


You are the whatever? visitor to my home page!

Joel's Operating systems page. I thought I'd better type this stuff in, so when I tell people about `my' operating system idea, I can tell them to read the web page, and not go through it thousands of times.
  • Well, anyway, my operating system is basically an assembler, or cross assembler which uses a script file (that I call a Virtual Machine Specification) to translate from a universal Object Oriented Assembly language, into the language of the machine it is running on. The entire of the operating system is written in this Virtual Machine language, and objects (devices drivers, schedulers, memory managers, etc) my be loaded/run or unloaded at any time.
  • So, for example, you could start off with a completely unprotected machine, where the kernel is basically a protected mode setup shell, then load up an object which implements protection, and run a program under it, then exit the program, and unload the object, to return to a completely unprotected environment. A program may be run in a virtual console, then you may run a window manager object (which itself runs in a virtual console) and place the original program in a window, on the window manager's console.
  • So much for the fantasy - this is my goal, so all attempts have been made to realise it Theoretically - hopefully, once written, it will be infinitely extensible, and be able to do all of the above from a user's point of view.
  • I have worked with the idea of This OS working as an operating environment under another operating system as well - making the programs created truly portable (at a binary level - that's the goal), allowing you to develop across all platforms at once, keeping your speed up in all of them.
  • Games (or real-time graphical applications, as I call them) would be the test of this system. It should be portable for fast action games - hopefully utilizing the idea of programming by Method rather then Code/Procedure.
  • Topics which I will write up later ;
    (a) basic assembler kernel.
    (b) assembly language information (OOA - Object Oriented Assembler)
    (c) Virtual Machine Specifications (VMS)
    (d) Using VMS' for hardware description - hardware abstraction layer in kernel assembler level.
    (e) Implementation in stated platforms (below) experience.
    (f) problems so far - bugs, unknowns, to be researched furthers.
    (e) GUI development tools.
  • The platforms I hope to develop and test this under are the following OS/ hardware/formats/etc ;
    OS - Should run as stand alone from disk or Hard drive, as well as under - MSDOS with pmode loader and Win95. Hopefully Linux, WinNT and OS/2 as well.
    Hardware - The VMS covers hardware as well (microprocessor is considered a special case of hardware in the VMS) - i386, i486, Pentium, as well as hopefully one other processor (68K, R4000, Alpha, or PowerPC) with I hope, 64 bit operation, to test the portability of the system. Graphics hardware - VGA Mode 13, VGA 16 colour modes, VGA Mode X, VESA SVGA, specific SVGA drivers, and accelerated SVGA (last two are I hopes). I/O - Keyboard, mouse, joystick, printer, modem and Network cards (I hope. Sound - Sound blaster and Gravis ultrasound. maybe pc speaker, and other sound cards - depending on if anyone I know has them ! Disk Drives - IDE and SCSI (I hope) as well as floppy disks (3 half, 5 and quarter).
    Formats - The VMS covers file formats as well - thus `drivers' can be written for file formats - and I'm working on a form of automatic conversions, called connectors, which can pass files around for conversion until the needed format has been produced. Graphics formats - JPG, PCX, BMP, GIF2, PNG (last couple are I hopes) plus some made up ones (good adult statement - made up ones). Sound files formats - WAV, VOC, MOD, MIDI (?), S3M, XM. Text formats - TXT, Word 6 (I hope, if its not proprietry) RTF (again), HTML, Postscript, TeX (or whatever it uses). Compression file formats - ZIP, ARJ, LHA, plus some ... made up ones, specific to the OS needs - assembly language compressor - that sort of thing.
  • Okay, that's all I feel like writing for now. I'll link various things, and write more later. But for now ... mail me at
  • joelu@oocities.com
  • and tell me if you're interested/what you think/want to help/and suggestions/ ideas/not intelligent enough to understand/too intelligent to bother/bored/ like typing/want to meet new people/think I'm stupid/want to flame me.
  • All flames will be kept in a special place for future reference. If the OS ever gets big, all your names will be implanted in its core, and if you run it, your hard disk will be rendered unhappy. He he he.