| View previous topic :: View next topic |
| Author |
Message |
M-Saunders Moderator

Joined: Mon Apr 11, 2005 1:14 pm Posts: 2883
|
Posted: Sat Nov 21, 2009 9:42 am Post subject: MikeOS 4.0 released with BASIC interpreter |
|
|
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 |
|
| Back to top |
|
 |
Bazza LXF regular

Joined: Sat Mar 21, 2009 11:16 am Posts: 1392 Location: Loughborough
|
Posted: Sat Nov 21, 2009 10:57 am Post subject: |
|
|
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... |
|
| Back to top |
|
 |
M-Saunders Moderator

Joined: Mon Apr 11, 2005 1:14 pm Posts: 2883
|
Posted: Sat Nov 21, 2009 11:30 am Post subject: |
|
|
| 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 |
|
| Back to top |
|
 |
Bazza LXF regular

Joined: Sat Mar 21, 2009 11:16 am Posts: 1392 Location: Loughborough
|
Posted: Sat Nov 21, 2009 11:59 am Post subject: |
|
|
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... |
|
| Back to top |
|
 |
M-Saunders Moderator

Joined: Mon Apr 11, 2005 1:14 pm Posts: 2883
|
Posted: Sat Nov 21, 2009 12:34 pm Post subject: |
|
|
| 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 |
|
| Back to top |
|
 |
Bazza LXF regular

Joined: Sat Mar 21, 2009 11:16 am Posts: 1392 Location: Loughborough
|
Posted: Sat Nov 21, 2009 1:17 pm Post subject: |
|
|
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... |
|
| Back to top |
|
 |
| View previous topic :: View next topic |
|