VIC 20 Graphics Artist

Basic and Machine Language

Moderator: Moderators

User avatar
MrSterlingBS
Vic 20 Enthusiast
Posts: 174
Joined: Tue Jan 31, 2023 2:56 am
Location: Germany,Braunschweig

VIC 20 Graphics Artist

Post by MrSterlingBS »

Hello,

I found an very interesting site at the WWW and like to Share it with you.

https://www.neilhuggett.com/vic20/mnth_int.html


Best regards
Sven
User avatar
AndyH
Vic 20 Afficionado
Posts: 364
Joined: Thu Jun 17, 2004 5:51 am
Website: https://www.hewco.uk
Location: UK
Occupation: Developer

Re: VIC 20 Graphics Artist

Post by AndyH »

Wow, he did some amazing things with a little Vic 20.
--
AndyH
HEWCO | Vic 20 blog
User avatar
highinfidelity
Vic 20 Nerd
Posts: 644
Joined: Thu Jul 28, 2011 2:34 am
Website: http://www.hirtel.it
Location: Torino, Italy.

Re: VIC 20 Graphics Artist

Post by highinfidelity »

Indeed. To the point that I wonder if he used real hardware. A decade ago I have also written a "spirograph"-type program, and I remember it being a nightmare with circles and points getting out of the screen area and thus generating a flood of errors. I wonder how he managed to circumvent them.
GOD is REAL. Unless declared DOUBLE PRECISION.
User avatar
AndyH
Vic 20 Afficionado
Posts: 364
Joined: Thu Jun 17, 2004 5:51 am
Website: https://www.hewco.uk
Location: UK
Occupation: Developer

Re: VIC 20 Graphics Artist

Post by AndyH »

He did, there's quite a read on his site. He created a bank switching expansion to support printing large bitmap graphics.
--
AndyH
HEWCO | Vic 20 blog
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: VIC 20 Graphics Artist

Post by Mike »

highinfidelity wrote:I remember it being a nightmare with circles and points getting out of the screen area and thus generating a flood of errors. I wonder how he managed to circumvent them.
At least two methods come into question: using a virtual screen that exceeds the normal video output in its dimensions, or clipping lines or (circle/ellipse) arcs to the edges of the graphics display. Neither of these two methods would be considered rocket science.
AndyH wrote:He created a bank switching expansion to support printing large bitmap graphics.
On one page (link), Mr. Huggett explicitly states, that all the presented pictures were produced with WinVICE 2.1, with just an ordinary full RAM expansion. Especially, no banking (as would have been provided by his one-of-a-kind external memory expansion) in BLK5 was in play:
Neil Huggett wrote:Something worthwhile noting however, is that all of the images produced for this display were captured by taking screen captures of WinVice 2.1 running on my laptop. I haven't added anything special to WinVice to reproduce the custom hardware expansion that I had built, so all of the images shown in this display have been produced by software running on a standard Vic-20 computer, but with available memory blocks added. None of the images presented here required addressing the switching between multiple block 5 RAM blocks.
So there ...
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Re: VIC 20 Graphics Artist

Post by orion70 »

He doesn't elaborate further about the flight sim, but it does look great from the screenshot.
User avatar
MrSterlingBS
Vic 20 Enthusiast
Posts: 174
Joined: Tue Jan 31, 2023 2:56 am
Location: Germany,Braunschweig

Re: VIC 20 Graphics Artist

Post by MrSterlingBS »

The screenshot can't be of a VIC. It includes the color grey. This is not possible on the VIC. Correct?
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: VIC 20 Graphics Artist

Post by Mike »

There is no need to overstate this. The picture in question is merely a greyscale screen capture, for whatever reason Mr. Huggett chose to do so, given that the other screenshots on that page are in colour. The original screen likely is put in colour.

BTW, there are actually some ways to obtain greyscale output from VIC, other than turning down the saturation knob on the monitor/TV. You may want to read a recent discussion about that in Forum64.
User avatar
pixel
Vic 20 Scientist
Posts: 1358
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: VIC 20 Graphics Artist

Post by pixel »

Fun to spend time on reading. I bet the half-tone images would have been more detailed if he had used a Bayer matrix instead of whatever that is with sines (I'd love to know tho).
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
MrSterlingBS
Vic 20 Enthusiast
Posts: 174
Joined: Tue Jan 31, 2023 2:56 am
Location: Germany,Braunschweig

Re: VIC 20 Graphics Artist

Post by MrSterlingBS »

Hello,

I have asked Neil for the source Code and Hope he will Share it with us.

BR
Sven
Neil Huggett
Vic 20 Newbie
Posts: 5
Joined: Sat Nov 04, 2023 7:07 pm
Website: https://www.neilhuggett.com/index.html
Location: Adelaide, Australia
Occupation: retired

Re: VIC 20 Graphics Artist

Post by Neil Huggett »

Hi Sven,

I tried to reply to your email, but your email service blocked my reply. I tried from a different email account, but heard back nothing.

Firstly, all of the Vic-20 graphics on my website are genuine.

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.

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.

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.

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.

Kind regards,
Neil
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: VIC 20 Graphics Artist

Post by Mike »

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
User avatar
pixel
Vic 20 Scientist
Posts: 1358
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: VIC 20 Graphics Artist

Post by pixel »

Neil Huggett wrote: Sat Nov 04, 2023 7:43 pm Hi Sven,

I tried to reply to your email, but your email service blocked my reply. I tried from a different email account, but heard back nothing.
Hey Neil. Very nice of you. But I didn't send you a mail at all. Mine would be pixel@hugbox.org.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: VIC 20 Graphics Artist

Post by Mike »

pixel wrote:But I didn't send you a mail at all.
It was the other Sven in the start post who tried to initiate the contact. ;)
User avatar
pixel
Vic 20 Scientist
Posts: 1358
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: VIC 20 Graphics Artist

Post by pixel »

Mike wrote: Sun Nov 05, 2023 11:46 am
pixel wrote:But I didn't send you a mail at all.
It was the other Sven in the start post who tried to initiate the contact. ;)
I see. Had bad experiences thanks to people writing mails in my name. There just was a breeze of panic.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
Post Reply