M62 – M62-OS

[ Note: The M62-OS is in very early development and is subject to major changes ]

The M62 is a simple operating system which I am currently working on, it is quite an inefficient OS but I’m using it as a learning exercise.

The OS is a single process and non-interrupt driven design.

The basic memory map of the OS is as follows:

M62-OS requires a revision 2 Z80-SBC in order to function correctly as the application space is in the same location as the ROM.

When the M62-OS initializes, it issues the OUT instruction to $00 with the byte $01 to switch bank 0 from ROM to RAM, then it sets up the interrupt vectors in the first 256 bytes of bank 0, finally it starts to the CLI (Command Line Interface).

The CLI is a command line driven interface is an improvement from the single letter menu interface of the BIOS.

Current commands (as of  v1.1.3):

  • cls – Clears the screen
  • memstat – gets the statics of the memory expansion card’s populated chips
  • app – Application control : Loads and executes applications
  • help – Displays a list of all commands (help + command will show command usage for some commands)

As mentioned in several places in this page, this is still in early development, so there will be commands added as we go along.

You can download the source code of the M62-OS here ( Be warned that this is still in very early development! )