It's a 16-bit real mode operating system, written in assembly language, designed as a learning tool with detailed documentation. The big changes for this release are:

* BASIC interpreter with 24 instructions
* Text editor updates -- you can run BASIC code by pressing F8 (like a mini-IDE)
* If there's a file called AUTORUN.BIN or AUTORUN.BAS, the kernel executes it automatically on startup

I implemented system calls to send and receive bytes via the serial port (using BIOS interrupts), so you can use MikeOS as (very simple) terminal. So yes, parallel ports would also be good, providing the code isn't too complex!

Well my assembler code is a subroutine and accesses SPP
status lines to get 4 bit nibbles in two lots to grab 8 bit
data from an ADC0804LCN ADC. It is 67 bytes in size I
think. Your simple OS would have `8 bit` analogue input
too... ;o)

Your notes say that I am to use location 40000 as the start
but I can`t see what the upper limit is for machine code
routines. I can GUESS at 25535 but WILL assume 2048 FTTB.

Bazza wrote:Great stuff, is INT 10 available or is it locked out FTTB?

All interrupts are available. For external programs (written in assembly), the kernel loads them at 32768 -- ie the second half of the 64K segment in which MikeOS lives. It then calls that location, and the program hands back control to MikeOS with a ret.

So you've got 32K - your_prog_size to play around with. If you write a parallel port program (eg parallel.asm) in the programs/ directory, it'll be automatically built and added to the disk image when you run build-linux.sh