HeyRick / BudgieSoft
Old source code

Something I believe in is that when you finally decide it is not worth continuing with a specific project...
Release the source code!!!
Here it is!


The licence conditions

All of this software includes its licence. The teletext stuff has a stricter licence as it is still 'concurrent' in its Windows incarnation and the projects are not necessarily abandoned.
The other stuff? Basically a "don't rip me off and don't expect any support" licence. Dead easy.



Older stuff (in C) will probably want DeskLib 2.30.
Newer stuff (in C) will probably want DeskLib 2.30[RM/32]. This is an unofficial split from the main codebase to add some Desk functionality, some custom code, and make it 32-bit safe.

Somebody, Peter Naulls?, has made a proper 32 bit version of DeskLib 2.30. I would recommend that you use this version for writing software; however to get my software compiled and up&running as quickly as possible, you'll probably want to download my version of DeskLib. Go here for more info.

You CANNOT use Desk v3.20 (etc) as too much has changed from it's DeskLib origins.


ArcBBS-compatible voting software

This project was removed in October 2008 due to another's use of the name "CastAVote (details here).
March 2009 sees the return of the project sources, this time to be known as CastAWote (and feel free to use Germanic pronunciation ☺).
After some research on the issue, the company concerned was not entirely accurate with their registration of the name. I suspect (and this is only my opinion), that CMS registered the domain name and think that gives them some sort of legal protection over the name. Not so, though it is a fairly common thing to think. Furthermore, as the pre-existing user of the name (tracable to July 1994, well before CMS from their own mailing) I could have answered their communication, which was basically a cease-and-desist, with one of my own. Neither of us have registered the trademark with the relevant authorities, and even if he/I/we did, it could perhaps be anulled with a lot of legal nonsense - though, if I was in a vindictive mood, I could potentially cause any subsequent application to fail by pointing out that the software was incepted in 1994, in use in a number of places by 1998, on my website(s) both Argonet-based and HeyRick all the time, plus for a while (dates not known, circa 1996ish?) there was a small-circulation Fidonet echo devoted to the software. I could thus point out that CMS (or their advisor?) simply didn't do sufficient homework if they failed to find word of it until 2008 - and I wonder if they found it or if it was reported by, perhaps, a customer? Furthermore, I am based in France, so it would need to be, at least, a European trademark registration, not a UK-only one. We're talking big money here.
Whatever. I have experienced a range of emotions over this issue. Fear at receiving the original email, to anger after doing some R&D and homework (and many thanks to MC as well here for the extra help and digging). But now I feel boredom. I am not really interested any longer. I am making these sources available again, under a different name, as I feel I owe at least that to the BBS community that I once was a part of. And, anyway, it only took a Saturday afternoon to do...

Thus, with one exception, this project is now to be called CastAWote. If anybody here has arrived here looking for details and information on CastAVote, then if you are looking for the ArcBBS-compatible add-on for RISC OS (hands up how many of you even know what I'm talking about...?) then you have come to the right place. If you are looking for the professional Internet-based distributed voting system, then asides from CMS deciding to claim the product name as their own and the similarity of "it has something to do with voting", then you are very much in the wrong place - go to www.castavote.co.uk.

The exception?

I will, once again, point out that this project is in NO way, shape, or form connected with the CMS CastAVote product. It is a source release of a small homebrew 'vote system' for a minority BBS on an even-more-minority operating system (which still exists, nerr to Amiga users!). That's all. I can also assure Ian/CMS that I have absolutely no intention of making an Internet version, nor a version for Windows/Linux/blahblah... As far as CastAWote is now is as far as I plan to take it, and that's why I have released the sources. The source release is primarily intended for fixing bugs. Oh, sure, somebody could make an Internet version, but really I think the RISC OS platform needs more urgent things, like a decent browser (NetSurf if the thing did JavaScript at least!?) and a 'free' office suite along the lines of OpenOffice. Not to mention taking the RISC OS sourcecode in hand and giving it a damn good modernisation, though I don't expect this will occur until sufficient source has been released that people can build a proper softload image for RiscPCs and Iyonix alike.


I wish to now present to you the CastAWote project source code...

This was a suite of programs for ArcBBS (running under RISC OS) which provided a "vote on this topic" for the users of the bulletin board.
You can download the sources for:

This is all very specific both to RISC OS and ArcBBS / ArmBBS, so is probably only of value with those working with those bulletin board systems.

In any case:

Download castawote.zip (209Kb)
[includes: !CastAWote (& compatible VoteModule), !CAW_Local, !NVP, and !VoteEdit]
Previous releases required a few patches in order to get it working. This version will work out-of-the-box if you simply amend the !Run file to run the SourceCode file instead of !RunImage...
All other patches have been applied. Call it as door 21 if you don't have a config file to say otherwise.
There is no !RunImage supplied. It would only be a compressed version of the source!

The main menu:

Adding a vote:

The local vote software:

The editor:


The VoteModule source code is available separately (Acorn C/module):

Download votemodule.zip (29Kb)
VERY IMPORTANT: This release of VoteModule is intended to be used alongside CastAWote. Because of the change of name, this has also affected the system variables set for resource location, i.e. <CastAWoteA$Dir>...


The PDF document explaining the VoteModule API is not currently available. It has not been converted to the CastAWote naming. When it has (i.e. once I've found the file...), it will be made available.


The VoteFile tool attempts to fix potential problems with the CastAWote database. Here is the VoteFile source (Acorn C):

Download votefile.zip (17Kb)


Due to the problems BBSs will be facing compared to websites and fixed-price broadband connections, I do not envisage there will be new installations. Because of this, I do not plan to take the time to convert and build 'executable' releases. These can be sourced from BBSs if really required. I have rebuilt VoteModule as it is an important part of the system.
You have all the sources here, to build your own.



I cobbled together bits of the original !Vision software to make a module which can extract a low-resolution monochrome image from the HCCS digitiser. As a module, it can be called from another program, for example to take time-lapse pictures or the like.

I did want to expand this with better quality and colour, however neither HCCS nor the designer ever returned my emails (despite the Vision no longer being in production), and my ability to figure out ARM code was not up to that required to take apart a complex program. So, this is the best we have.

The inner core is properly © HCCS, the rest being my bolt-in. In any case, I don't imagine they'll argue - the code is completely 100% useless if you don't actually have an HCCS Digitiser!

Whatever, here's the code:

Download digitiser.zip (26Kb)

You also get, as an added benefit, a quick'n'simple viewer and a time-lapse program (edit the paths first!) which should be left running (with monitor off) and it will take a small snapshot every 30 seconds. I had a feeling that the landlord was coming into my room and coincidentally stuff was departing my room at roughly the same time frame. This cobbled-up software proved to be somewhat useful...



A C/APCS library for door-related stuff. It is used by Parlez (below).

In order to build, just compile everything into the 'o' directory. Don't worry about missing functions. If any executables were created, delete them - we're only interested in the object files.
Then run the obey file supplied to build the "DoorLib" library. It will leave it there as "o.DoorLib"; which you can then copy into the "o" directory of applications that use DoorLib.

The code:

Download doorlib.zip (22Kb)



I really believed this source to have been lost in a harddisc failure ten years ago. By an amazing touch of serendipity I discovered it when looking for an old Econet driver-thingy.

What FetchMail does is work with Argonet's Posty to manage and pre-process your emails. You can whizz though your emails before Posty gets to see them, deleting those that are undesired, bouncing those you don't want, and so forth.
You can also extract and save mailboxes.
This software was written in C.

Download fetchmail.zip (90Kb)



With a slightly more stringent licence, this was an unofficial 'limited' release about a year ago. I figure now is a good time to share with the world at large...
Go to the OvHTML sources



Parlez is a split-screen user-to-user chat 'door' for ArcBBS. It was one of the first, and I feel one of the best. :-)
This is the second version of Parlez, written in C.

You will need DoorLib - sources above, or go here for prebuilt (APCS/26).

Download parlez.zip (28Kb)

PATCH: You'll first need to copy in a version of the DoorLib library.

Next, you will need to create "s.getstat", which looks like this:

PC  RN 15

        AREA |C$$code|, CODE, READONLY
        EXPORT  arcbbsfiler_get_status_pointer

        SWI     &41014
        MOVS    PC, R14

Amend as necessary if you are building to APCS/32 - though, I don't know if ArcBBS itself ever had an APCS/32 build. I've not used it in a loooong time!

Now amend the MakeFile so the !RunImage is built as follows:

@.!RunImage:   @.o.parlez C:o.stubs DeskLib:o.DeskLib 
     link $(linkflags) @.o.parlez @.o.getstat @.o.doorlib C:o.stubs DeskLib:o.DeskLib
and the parlez object file is built as follows:
@.o.parlez:   @.c.parlez
     objasm $(objasmflags) -from @.s.getstat -to @.o.getstat
     cc $(ccflags) -o @.o.parlez @.c.parlez
It's a crappy makefile, but I can't be bothered to rewrite it - it works as it is...
Oh, and yes, I know it is an odd conjugation; it should properly be parlons (as in "nous parlons", or "we speak") instead of parlez (as in "vous parlez", or "you (plural) speak"). The name was chosen for artistic reasons as I think "parlez" (said like pahr-lay) is a better sounding word than "parlons".



Like Parlez, SysOpChat provides a chat facility to ArcBBS. This time, the system operator can chat with a user. Fully split-screen, I think this was the first split-screen chat door for ArcBBS. It is written in BASIC.

Download sysopchat.zip (126Kb)


Teletext (for RISC OS)

Here are the source codes for the RISC OS teletext software. All of this stuff is better described here.

!Teletext is, in my opinion, the best teletext viewer for RISC OS. The powerful scripting system makes it miles better than the commercial Teletext+... but hey, Paul Skirrow can probably list attributes his software has over mine (if any <grin>!).
In any case, full (BASIC) sources are here:

Download rottx.zip (350Kb)

Note - the teletext driver module is supplied (with kind permission of the author), however it is not mine so please do not ask, nor expect, sources.
Furthermore, if you wish to distribute teletext software that uses this module, you really should ask Colin Granville for permission. Don't ask me, and don't assume "it is okay" - ASK!

TtxHelper is a module designed to provide assistance to my teletext software. It has been written to quickly achieve those tasks that BASIC isn't so zippy with.
I had thought I'd written it in C, so imagine my surprise to discover it is 100% ARM code. Awesome! This is probably my largest assembler project to date, and you can share it too:
Download ttxhlp.zip (38Kb)

TTXEditor was to be a teletext frame editor. Good idea, but didn't run so quickly. Maybe you can optimise it? Whatever, have fun with:
Download ttxed.zip (93Kb)


There's a bunch more BBS doors. Does anybody still use them? D'you want the sources? Have you anything of mine you think I ought to release the sources of?

More to come. If you have any requests - email me!

Return to the software index
Copyright © 2009 Richard Murray