Forth as OS

Talk about the operating system (EhBASIC, FAT library, ...)
Zbigniew
Posts: 8
Joined: Fri Dec 27, 2013 2:12 pm

Forth as OS

Postby Zbigniew » Sat Dec 28, 2013 1:02 pm

I'm aware, that Forth isn't "en vogue" nowadays, but it could be perfect solution for such design, as yours.

Forth "likes" to be an OS, having under control the entire machine. It needs actually only a few quite basic words to be defined in assembler - then the rest of the Forth can be written in... Forth. The one being created. And if creating the software for Kiwi in Forth, still it would be easy to port it to another hardware revision - even, if this will be significantly different hardware.

Forth is much faster than any BASIC, offering the performance closer to assembler rather. Yes, I realize, that it can look kinda "cryptic" to the ones "non Forth-speaking" - but a simple BASIC interpreter can be created in only 5 KB or so Forth code (I've got the listing somewhere). It'll resemble spartan CBM BASIC V2, offering AFAIR about 20-30 basic instruction, still such command set allows to operate the machine even without Forth knowledge (and can be developed further, in case of need).

Anyway: even, if you decide to stick with BASIC, it would be worthy to separate the "kernal" part from the interpreter part of OS, similar way we know from C-64 - exactly to allow easy switch to other language as the main way of communication with the machine.

simon
Site Admin
Posts: 744
Joined: Thu Sep 13, 2012 9:35 am
Location: Luedenscheid, Germany
Contact:

Re: Forth as OS

Postby simon » Sat Dec 28, 2013 5:31 pm

Well, for me the Basic was just a start. It was/is easy to test the hardware with POKE and PEEK in the first. At the moment I am more into a "full" OS like EmuTOS or uClinux. But I could imagine to have a port of Forth or any other OS. It is only a question of contribution. At the moment there is only one (my) Kiwi. Maybe this situation will change and with more Kiwis there will be more developers. If you plan to build a Kiwi you should be aware that this isn't a ready to use computer with plenty of software. It's more like a platform to play with. You should be able to program yourself. Thus if you want a Forth, just port a Forth. :)

Simon

Zbigniew
Posts: 8
Joined: Fri Dec 27, 2013 2:12 pm

Re: Forth as OS

Postby Zbigniew » Sat Dec 28, 2013 6:33 pm

I'm pretty aware of this. Regarding porting Forth: yes, this may be exciting experience - although I'm not yet that experienced in Forth (still learning) - and it'll take me some time - but why not? They say, you can consider the end of first stage of learning Forth when you are able to create your own. ;)

That's why I would to have direct access to hardware; I can create programs for Linux (or even for supposed GEM-port) on my PC, which I won't dispose of the day I'll receive PCB for Kiwi. :mrgreen: Therefore - it's my personal opinion - neither uClinux nor EmuTOS are as interesting options, as having "bare metal" available, like "back in the goold old days"; this is the main appeal of such project. You know: actually I don't need another computer for Linux. What for? Got several PCs already. :D Any Unix-like OS means isolation from hardware, and... losing the difference.

Even any GUI doesn't seem (to me) to be that necessary, since it was novelty late 80s (at the times of Geos on C-64, or Amiga Workbench, or GEM on Atari ST). Nowadays we've got 50 (or maybe hundred) window-managers for Linux to choose from. Of course, it won't hurt to be able to say: "we can do it too, no problem" - and maybe indeed for several people it would be interesting to run the existing software for Atari ST.

simon
Site Admin
Posts: 744
Joined: Thu Sep 13, 2012 9:35 am
Location: Luedenscheid, Germany
Contact:

Re: Forth as OS

Postby simon » Sun Dec 29, 2013 10:41 am

Ok, uClinux would just be a proof that it is possible. I believe that Kiwi is too slow to be useful. At least if one wanted graphics.
But EmuTOS can be very useful. Porting means I have to access the hardware at the lowest level and it's still like "in the old days" as TOS for example was popular in the mid 80ies. It is useful to have tools available where the main work isn't accessing the hardware but creating data structures and algorythms. Think of an editor, assembler, archivier, probably most tools... Wouldn't it be fun to use a text editor to write a document, pushing it afterwards through LaTeX and sending it to a postscript laser printer? Professional typesetting by a homebrew computer...
For other programs like games or demos you would have to access the hardware direct though to gain most speed. Just like in the old days on Amiga or Atari ST...

Simon

Zbigniew
Posts: 8
Joined: Fri Dec 27, 2013 2:12 pm

Re: Forth as OS

Postby Zbigniew » Sun Dec 29, 2013 2:53 pm

simon wrote:Ok, uClinux would just be a proof that it is possible. I believe that Kiwi is too slow to be useful. At least if one wanted graphics.

Depends what kind of graphics you mean: I don't expect Kiwi to be able to act as competitor to PCs with Adobe Photoshop - but for typical business graphics, gaming, and for all we know from micros of the 80s Kiwi should be a perfect fit. For gaming even single microcontroller will do (think Gameduino) - then Kiwi offers even more.

Besides: 4 MB of memory is actually a whole lot! It is exactly 32 times more, than Commodore 128 had. Yes: not two times more, not 10x more - but over thirty times larger memory area! Actually, it is hard to imagine, how nowadays computer RAM is wasted. To use - say - Abiword under Linux I need at least 256 MB RAM - two thousand times more RAM than C-128 had. I agree, that Abiword has larger capabilities, than StarTexter 128 had, but - honestly - for most uses (like write and print a letter, or a text several pages long) such StarTexter would do even today. And I don't get the feeling, that Abiword is "two thousand times better".

But EmuTOS can be very useful. Porting means I have to access the hardware at the lowest level and it's still like "in the old days" as TOS for example was popular in the mid 80ies. It is useful to have tools available where the main work isn't accessing the hardware but creating data structures and algorythms. Think of an editor, assembler, archivier, probably most tools...

That's why I proposed Forth as a "layer" allowing programmer to concentrate on data structures /algorithms creation - and an OS at the same time (you surely read/heard about Jupiter Ace micro?) - while still not separating him from his machine (unlike Unices do). And please note, that every decent Forth has built-in assembler as well. It's not that difficult to create text editor in Forth: even at my current level of Forth-knowledge I created s.c. block-editor completely in Forth; it's quite short.

Wouldn't it be fun to use a text editor to write a document, pushing it afterwards through LaTeX and sending it to a postscript laser printer? Professional typesetting by a homebrew computer...
For other programs like games or demos you would have to access the hardware direct though to gain most speed. Just like in the old days on Amiga or Atari ST...

Yes, I'm not opposed - just made a remark, what my particular area of interest is.


cron