Nov.13.2017I've begun coding a DOS-like ES/1 operating system as a precursor to my ES/2 kernel. It will be a simple text-based kernel in real-mode allowing me to port compilers, assemblers, linkers, debuggers, to that system, allowing me to test code in a simple environment, one I can easily mimic in IBM PC DOS 7.
ES/1 will also be released as a simple public OS people will be able to download and use for FAT12 and FAT16 disks. It will also natively allow serial port networks. :-)
I've revisited this plan and have been working on the ES/1 kernel again. I'm working in IBM PC DOS 7 with Open Watcom 1.9 on the graphics engine. ES/1 will support basic graphics (windows, controls, be event-driven), as well as console windows displayed in a graphics window.
I'm currently working on my FAT12/16 driver to allow hard disk access without BIOS support. Once that is completed, I'll begin working on supporting many functions present in the DOS INT 21h API, and will present a system people can download and try.
My goal is to use ES/1 as a platform for developing base ES/2 algorithms, but real development on ES/2 won't begin until late 2019 or so. I'd like to have ES/1 booting, accessing hard disks, using VESA to support video modes, and handling all forms management in software, and get it working on as many types of machines as possible (those with traditional BIOS).
Once it's up and running, I'll begin creating tools which work in the ES/1 environment, and if there are others who would like to port other tools then I can extend the API to support whatever they need.
ES/1 intends to be a fully pre-emptive 32-bit multi-tasking OS running on a single core initially, with SMP added in mid-/late-2019. It will support 16-bit and 32-bit code, including real mode code in v86. I may never make a 64-bit ES/1 version, but ES/2 will be a 32-bit / 64-bit hybrid out of the box. The user will actually be able to choose to boot into either the 32-bit or 64-bit kernel with a startup option.