
MiMOS - the simple Mini Memory Operating System, by Neville Watkin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Memory Operating Systems, unlike Disk Operating Systems, do not require the
presence of any mechanically-rotating media (disk drives) or any other mass
storage devices.

Memory Operating Systems assume everything is in physical memory (RAM),
just as Disk Operating Systems assume everything is on a disk (hard disk or
"live" disk).

Physical memory should no longer be thought of as a limited resource.
It is more plentiful now than hard disk space was just a few years ago.

MiMOS is very small - only 9Kb which includes 6 applications!


MiMOS was written for the flat assembler "Real OS construction contest"
ref: http://board.flatassembler.net/topic.php?p=90018#90018

MiMOS was tested using Bochs 2.2.4 and also on real hardware after writing
the image to a 1.44Mb floppy disk using RAWRITE. On some real hardware the
READSECTOR implementation fails due to timing errors. This is indicated by
an "F" being printed in the bottom left corner of the screen when booting.


The MiMOS kernel contains only a few basic interrupt functions for console
I/O mainly, and the user interface is really just a menu selection system.
However it is capable of being self-developed because one of the apps is
a simple Memory Editor with basic "monitor" functions. For more information
run the Memory Editor Help application in MiMOS. The interrupt numbers are
the corresponding BIOS interrupt numbers plus 80H e.g. video services are at
INT 10H+80H = INT 90H.

I intended to do a lot more for this contest, but as usual the deadline of
25 August 2009 beat me. So it's text mode only... I really wanted to support
at least Modes 3 and 13 so I could include some half-decent 320x240x256c
graphics applications. Maybe later...

There is also no support for the keyboard shift status - currently all alpha
keys return lower case codes only. Meanwhile function keys F1 to F10 return
the shifted numeric characters !@#$%^&*().

MiMOS runs in pure real mode. Not even flat real mode like FAMOS. But having
to write some basic console I/O routines for this contest, I guess I could
now more easily have a go at some serious PMode implementaions? Then later,
if I get even more desperate, Long Mode? Maybe. I think MiMOS should even
run on a 4.77MHz IBM PC with 8088 CPU. I don't think I've used any 386 or
even 286 instructions.

The files in the archive are:

        README.TXT
        MIMOS.ASM
        MIMOS.IMG
        BLOADER.INC
        MEMED.INC
        KEYCODE.INC
        PROGHELP.INC
        MEMEDHLP.INC
        MEMMAP.INC
        VISTADEM.INC


NW
24/8/2009

