A new version of the learning tool OS MikeOS is available, sporting a new BASIC interpreter with 24 instructions. You can run BASIC code from inside the text editor by pressing F8. See the App Developer Handbook for a guide to the BASIC dialect (somewhat similar to old 8-bit BASICs, nostalgia fans), and the User Handbook for info on running MikeOS from a USB key, floppy or CD.
Going to download and play with this!
Given the fact that on 8-bit machines there were already quite advanced BASIC dialects, and on 16-bit machines (which is what MikeOS is aiming at, being a 16-bit OS) we had things like GW-BASIC and QuickBASIC, I find this extremely simple BASIC variant to be a bit disappointing, especially given the fact that it takes up 32KB! Something like this could be written in 1KB.
I don’t suppose you have done better yourself? Its an open source teaching OS made freely available to the public along with documentation. It really doesn’t deserve derision.
Well, I think it is valid criticism for an assembly OS. Bill Gates wrote a BASIC interpreter for the 8080 in 4kb in the 1970s.
I miss line numbers and a line editor. This is not the RAD we were used to in 8-bit computers.
“I miss line numbers and a line editor.”
Originally MikeOS BASIC used line numbers, but I decided to switch it to text labels as they’re more descriptive.
It wouldn’t be hard for someone to implement a line editor (I wrote a simple one ages ago), but I would imagine most people coding would prefer a full-screen editor.
Mike
Edited 2009-11-23 10:10 UTC
Yes, I have done better myself, I developed a BASIC interpreter in 4KB for a self-designed 16-bit home computer. But that’s beside the point. MikeOS is a fantastic piece of work, and I applaud it’s goals. It’s because of this that I’m a bit disappointed about this BASIC.
That’s pretty sweet, my hats off to you
Hi!
“I find this extremely simple BASIC variant to be a bit disappointing, especially given the fact that it takes up 32KB!”
1) The MikeOS kernel has 32K RAM of allocated, and the kernel binary itself is 13K. The BASIC interpreter is just over 2K (2295 bytes).
2) QuickBASIC and GW BASIC were commercial products developed by paid developers. MikeOS is a one-man part-time hobby project that’s given away for free. There’s bound to be a big difference in functionality!
Mike
Edited 2009-11-23 10:10 UTC
Ok, 2K is better, although it’s still a bit on the large side for such a simple BASIC. Like I said, I like MikeOS, and I realize it’s just largely a one-man project.
I could make it considerably smaller. I could remove the variety of error messages and replace them with a single “Syntax error”. I could do some hackish stuff with the code to ultra-optimise it.
But you have to remember that MikeOS is a learning tool, so code clarity and structure is always more important than shaving bytes off at every opportunity. I’m writing something that people can (hopefully!) learn from – not trying to wow people with l33t asm skillz.
Mike
Point taken. Error message can indeed add quite some space, and in a teaching OS there’s indeed no room for too much trickery.
So write up some code, offer it to him, and see if by your powers combined you can create something iteratively better?
Edited 2009-11-23 17:08 UTC
Very cool project. Can’t wait to check out the OS (especially all the documentation!!!) over thanksgiving break!!! (<– college student)
Really cool project. Fastest OS I ever used. I don’t have much free time right now, but I’ll try to make some cool basic examples when I get some spare time.
Old scholl developers, download and have fun!