MICRON is a multitasking, portable operating system aimed at 8/16 bit systems. It is designed to be modular, easy to port, and run on just about anything. All operating system components (excluding the kernel itself) are written in MICRON Basic, a simple language I made wrote that is brutally simple to write a compiler for. All applications are also written in MICRON Basic, and can be cross compiled for any architecture without the need for modification.
MICRON features the following:
- Full Preemptive Multitasking
- Easy Portability
- Extremely Low Memory Footprint
- Easy To Use Command Line Interface
- Loadable File System Drivers / Device Drivers
- Easy Hardware Interface
Due to the fact that MICRON is portable, the hardware requirements differ depending on what architecture is being used. For the sake of simplicity and to set a low denominator, I will be using the Z80 CPU as a reference. In order to boot a minimal system, about 16kb needs to be available to load the CONSOLE and have room for some user programs. If any device drivers are being loaded along with it, you will need about 24-32kb to fit everything. The processor should be clocked at around 2MHz in order for it to be useable, though you could easily go under that if you don't mind waiting.
Right now, MICRON is still very much a work in progress. The current version, System/I, is still more or less experimental. While it works as far as I have tested it, it is missing many features I would like to add in later updates. That being said, it is complete enough to where it can start being used.
Honestly, MICRON is more of a learning project than anything. I can't see anybody using this on a regular basis, if at all. Despite that, it still is somewhat of a capible operating system, and if running odd stuff on old hardware is a thing you like to do, then go ahead. I designed this operating system with the TI-8x line of calculators in mind. After I finish porting the system onto one of the calculators, my next plan is to write some sort of network driver for it.
At the moment, the only thing that runs MICRON right now is a Z80 machine emulator I slapped together in a few hours. It is glitchy and is only really meant for testing, but I will include it anything. As for compiling programs, I have a cross-compiler that I whipped up in Java that seems to do the job, but like the emulator it was hastily written, and is very messy. In the future, I will write a compiler that will actually run on MICRON systems, but right now I just use the compiler. In the coming weeks I should also have the TI-84p port completed.