MikeOS 4.0 released with BASIC interpreter

Help and discussion about non-Linux operating systems

Moderators: ChrisThornett, LXF moderators

MikeOS 4.0 released with BASIC interpreter

Postby M-Saunders » Sat Nov 21, 2009 9:42 am

Hi everyone,

I've released version 4.0 of MikeOS: http://mikeos.berlios.de

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

A complete guide to the BASIC interpreter is here: http://mikeos.berlios.de/handbook-appdev-basic.html

See the end for some example programs. Also of note is that this release is confirmed to boot and run from USB keys -- see the User Handbook on the site for more information.

If you loved to code in BASIC during the classic 8-bit days, give it a go and send me your efforts -- I'd love to put more BASIC apps/games on the disk for the next release :-)

Cheers,
Mike
User avatar
M-Saunders
LXF regular
 
Posts: 2893
Joined: Mon Apr 11, 2005 12:14 pm

Postby Bazza » Sat Nov 21, 2009 10:57 am

Thanks Mike, Cool...

Judging by what I have seen with your BASIC interpreter
the PEEK and POKE and CALL staements look highly
interesting...

I`ll give it a pasting after this weekend as I am away...

I`ll see if I can get direct access to my parallel port on
this quad core nail with it...

Would you be interested in that if it is possible?
73...

Bazza, G0LCU...

Team AMIGA...
User avatar
Bazza
LXF regular
 
Posts: 1483
Joined: Sat Mar 21, 2009 11:16 am
Location: Loughborough

Postby M-Saunders » Sat Nov 21, 2009 11:30 am

Bazza wrote:Would you be interested in that if it is possible?


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!

M
User avatar
M-Saunders
LXF regular
 
Posts: 2893
Joined: Mon Apr 11, 2005 12:14 pm

Postby Bazza » Sat Nov 21, 2009 11:59 am

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

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.

A lot can be done in 2048 bytes... ;o)
73...

Bazza, G0LCU...

Team AMIGA...
User avatar
Bazza
LXF regular
 
Posts: 1483
Joined: Sat Mar 21, 2009 11:16 am
Location: Loughborough

Postby M-Saunders » Sat Nov 21, 2009 12:34 pm

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

M
User avatar
M-Saunders
LXF regular
 
Posts: 2893
Joined: Mon Apr 11, 2005 12:14 pm

Postby Bazza » Sat Nov 21, 2009 1:17 pm

Well downloaded and ISOed to CD, did some simple stuff
and it is wonderful fun. Reminds me of Tiny Basic, but UGH,
CGA colours are soooo yesterday... LOL.

This I like, I`m away for a few days but will screw it for all
it`s worth when I get back. :D
73...

Bazza, G0LCU...

Team AMIGA...
User avatar
Bazza
LXF regular
 
Posts: 1483
Joined: Sat Mar 21, 2009 11:16 am
Location: Loughborough


Return to Other OS

Who is online

Users browsing this forum: No registered users and 1 guest

cron