Asm and BASIC Fun : HOME
Home RISCOS News Docs CBM128 Files Links Apple2
Site last updated on Apr 10th of 2021.
Welcome to My RISC OS Site with a side of Apple IIgs.
My Name is 'David Cagle'.
In the world of computing I have been known as:
  • Zerro
  • D-Zerro
  • Zerro Below
  • David S
  • Zerroth Dave
  • DS Zerro
With the first 4 being known inside the RISC OS world, and the last two only in the Atari and Amiga worlds. Every once in a while I stumble accross old software that I had written, and as such have decided to allow others who know me under one of my pen names to be able to identify whose page this is. All of my software has always been open source, even before the term 'Open Source' was a well used thing.

I no longer do much related to Atari and I do not have much of my older stuff left. If you find something of mine from the past, enjoy, I hope it meets your expectations. It was pointed out that some people may not be aware of the names that I have used in writing software, the list is above now.

Do not get me confused with the other two people that have the pen name 'Zero' and the pen name that containg 'Zero'. The spelling of the number in my pen name has always been with the double R. This double R has significance from my childhood.

The one thing that i feel is missing from RISC OS is a single tasking GUI. I do feel that cooperative multitasking as provided in the RISC OS WIMP is a great feature to use at times, though there should be the option to run a complete GUI Desktop environment singletasking (single taskin in a very limited way is possible in the RISC OS GUI, though missing most of the features of the desktop environment).

Note that this site is still in its infancy, only being actively updated from December of 2020 on, it has a long way to go before it has significant content.
I enjoy programming in BASIC, so there is a lot of that here. Also some assembly as I like that as well. I also often enjoy doing some stuff in Pascal, especially on the Apple IIgs. Maybe some C when I wish to show a point, not often.

What is RISC OS?
It came to my attention that some people may come accrossed my site not knowing what RISC OS is. So here is a brief explination of the Operating System known as RISC OS.

RISC OS is an operating system originally created by Acorn Computers for there new 32-bit RISC CPU based computer. They had already designed a new RISC CPU known as the ARM (Acorn RISC Machine) for there next generation computer, and an advanced research level OS was taking to much time, and required to much resources from the computer to reasonably ship. Acorn responded by having there languages department develop a simple Operating System for the computer.

Originally intended to be little more than an Acorn MOS like Operating System (fairly advanced 8-bit OS using vectored calls, and control character for graphics etc). It did achieve this goal, and then some. By the time it was released it included a full graphical Windowing System, and bitmapped font manager. Shortly thereafter it gained the first widely used Vector Font Manager, one that some still feel is better than those on other Operating Systems.

RISC OS is more than this though. While they were just attempting to get it working, some of the ideas they invented to get there made for a better OS in many ways than one would expect. One of the most important points being the fact that most of the system was implemented as replacable, relocatable modules that provide services. In RISC OS the Relocatable Module is the basis for just about everything, and makes possible easily doing things that on other Operating Systems take so much more work.

The first version shipped was called Arthur. With version 2 the name was changed to RISC OS. As Arthur did not have everything yet, and was still single tasking, it is common place to consider RISC OS 2 the first full version of RISC OS (if you ever used Arthur OS you would understand how much it is missing).

Many areas of support at the low level are vectorised, including file system support. This makes extending existing parts of the OS very easy to do, as well as other means of modifying the behaviour, or monitoring what is going on.

Do to the use of a multi component vectorised filesystem, usually composed of one or more HW support modules and one or more FS modules, the filesystems support has always been capable of adding support for many different FileSystems. Also this has made common the concept of an Image Filesystem, this is the abiltiy to treate a disk image file or archive as if it is just a directory, so long as there is support for the FS (or archive directory) provided by a filesystem module, and it has support for Image Filesystems (most do on RISC OS).

There are many other details of RISC OS that make it very advanced in concept and model. While it may not be the most modern OS, there is not another OS that is really like it. In many ways it has advanced ways of doing things, many of which are still unique to RISC OS in a maner similar in concept to how the same can be said of Amiga OS. Of course RISC OS is still maintained today, and is now Open Source in the true sense of the phrase (not in the GPL we are going to force open your other things by leagle action way).

A modern BASIC interpreter (known as BBC BASIC V, or ARM BASIC, or BASIC V, or ARM BASIC V), with support for named procedures / functions that take parameters, advanced control structures, and a builtin ARM Assembler (that is kept up to date, and supports all ARM AARCH32 instructions in its current version).

The BASIC is a fully structured language. It is extremely rare to see any code that uses GOTO, GOSUB, or ON GOTO. While the line numbers are present, they can be ignored by the programmer, and most Text Editors that support tokenized BASIC V code on RISC OS have the option to hide the line numbers (as you never need to use them). There is also the point that, while many do use them, there is no need to use DATA and READ anymore, as you can just have values in an initialized array, in a similar manner to what you would do in C or Pascal.

Further BBC BASIC V has support for indirection operators (pointers if you will), and thus does not have or need PEEK or POKE like keywords. The inderection support in BASIC V is very powerful, I feel that it is better than the equilevent support in C though likely close to the same actual level of support for data indirection. Thanks to this support it is possible to reasonably deal with structured data types (BASIC V does NOT support actual structured data types, unfortunately) by use of byte, string, and word (32-bit) inderection operators.

With all the above plus the fact that there are keywords that allow for making any kind of system call, regardless of the module that provides it, it is possible to write any kind of RISC OS program in BASIC, being limited only by the interpreter being a little slower than compiled code. There is a compiler available, called !ABC, it is a bit out of date though still works well.

Even many WIMP programs (those that use windows, menus, buttons, Icons, and the mouse) are written in BBC BASIC V. For example the desktop Calculator that comes in RISC OS is written in BASIC V, as is the !CloseUp program that gives a screen magnifier, and the !Clock program that used to come with RISC OS,as well as many other programs, from many different programmers. RISC OS has managed to make the "All Purpose" part of the BASIC name stick and really mean that it is for any purpose. Using !ABC you can even write modules in BASIC if you want (I do such, as I am one of a few people that try to keep the knowledge of how usable BBC BASIC V is alive).