Hi, Neil,
first of all, welcome to Denial!
It is always a pleasure to find someone with similar interests, here, graphics programming in particular. I also had (and still have) my share of written tools in that field.
Neil Huggett wrote:My circle plot and linedraw routines are written in machine code, and as I wrote on my web pages, I wrote the code manually on paper. I had about 100 pages of manually written code for one of my graphics programs alone. I didn't then say that I entered the resulting stream of numbers using BASIC loaders, but that is what I did. I didn't use a machine code programming utility to enter the code, though later, I did get a copy of VicMon to look at some of my stuff, and some of the Kernal.
That description pretty much matches how I started out with machine language on the VIC-20, with pen and paper. At that time (around December 1985), I took lists of mnemonics with hard coded address operands. Like you, I transferred the mnemonics into opcode bytes, calculated branch offsets by hand, and then built DATA loaders to POKE the lists of numbers into memory. That is, what the listings in contemporary computer magazines also did, though my machine code programs topped out at a length of maybe 100 bytes maximum.
Shortly after that, I discovered TEDMON on my C116 I got just a few weeks before (in October 1985) and actually made my first steps in cross development: assembling the code in TEDMON on the C116 and using it on the VIC-20! With this method, the size of my machine code program grew to about 1 KB (but not much more). Later, I got a C128 and used a symbolic assembler there. From that time on, the size of the machine code programs I could write was effectively unlimited.
I am happy to send some snapshots from WinVICE 2.1, but I have already spent too much time looking back through my old stuff.
I no longer have my Vic-20 computer, and can only rely on WinVICE to run any Vic-20 stuff. I find that WinVICE 2.1 does a very good job of emulating the real Vic-20.
I started out with 1.09, around 2002, kept 1.16 active for quite some time, and only upgraded to a particular build of 2.4 later, as the in-between versions of VICE had lots of issues with sound output (on my computers at least). Later, I used 3.1 quite for some time, but recently I upgraded to a build of 3.7.1, which is the most recent version of VICE.
Unfortunately, those *.vsf snapshot files are specific to the given version of VICE. It will make some trouble to extract the programs from the snapshots for archiving and curating purposes, but that should be well worth it. Do you have means to scan in the paper material as well? In the end, the programs and any picture files should be stored as either single
*.prg files or grouped in
*.d64 disk images files so they remain readable across all versions of VICE (and could even be written back to storage media for use on real hardware!).
When I did have my Vic-20, I usually ran it connected to a small black and white TV. That is why I presented my Flight program as a greyscale image. When I wrote my Tone Paint program, it was done to mainly look at producing images based on tones, not colours. However, I found the program useful for when I did connect the Vic to a colour TV.
I also got 'banned' from the use of the colour TV set in the living room and had to be content with a small B/W TV set most of the time. Only when I got a C128 in September 1986, I also got a medium size colour TV set - but by that time, the PSU of the VIC-20 had fried and I would not be able to use my VIC-20 for quite some time. I could get it back to service a few years later with a new PSU, and BTW, that very VIC-20 - in working order - still exists!
Lastly, the printouts shown on my website that were produced on my Epson dot-matrix printer connected to my Vic-20 were produced without the custom block switching module I later added. I remember they were often set up to print overnight, because they would each take 6 to 10 hours to complete.
Ouch. I imagine one ("text") line of bitmap data every quarter hour, hammered down to paper. That is an interesting variant of nighttime disturbance.
Greetings,
Michael