Boris van Schooten Remembers the VIC-20; On the PCVIC Emulator°
- from an interview conducted by Rick Melick on December 27, 1996
° - Requires DOSbox on Windows XP. D-Fend is the frontend I use to DOSBox.
>Where do you live and what do you do for a living?
I live in Enschede, Holland. I am currently working on my master's thesis in computer science on the subject of neural networks.
>How old are you now, and when did you start programming computers?
I'm 24 now, but I still remember entering my first instruction on a friend's ZX-81 when I was 8 or 9 years old. It was, err... 'PRINT 2+2'.
>What are some of the computers you have used?
I learned BASIC on a TRS-80. My first home computer was a ZX-81, on which I soon learned to program assembler, thanks to the user's manual in which the instruction set is included right next to the ASCII table. After that I got a C-64, then a Vic-2O, and later an Amiga 1000. I bought a Vic-2O even though we had a C-64 because me and my brother were always bickering over whose turn it was to play with the computer. Also, The Vic-2O seemed like a great machine to write BASIC games on (which it is!), because I still used BASIC a lot. I learned to write proper assembler on my Amiga, and it is for this machine that I wrote my biggest assembler projects, including some unpublished games and a Kickstart operating system with built-in assembler and editor which a friend an I programmed on together. I got my PC last, including some upgrades which I borrowed, stole and begged together (in that order).
>What makes the VIC-20 computer so special?
I love the big characters. You don't actually have to design a lot of graphics because the resolution is so low. Even so, Vic-2O graphics tend to be very colorful. Also, one character is large enough to form a sprite. This makes character-based graphics attractive, which are fast and easy to program.
Secondly, the memory limitation actually has its advantages. For example, I often found myself getting bigger and bigger ideas about my cool, new, (and largely conceptual) program, and in the end it never got finished... With a Vic-2O this is not a problem: a program is finished when the memory runs out. This helps keep programs small and to-the-point.
>How was the VIC marketed in your area, and was it well received?
Well, about all I can remember is that they usually had one in computer shops. Like the mischievous little boy I was, I used to anger the shop attendants by cluttering the screen with funny characters by entering some strategic Pokes. They usually thought I had crashed the computer. I hope that didn't affect sales too much...
>How would you like to see the VIC-20 remembered?
The Vic-2O is an ideal machine for the kind of games I like. Even though the Vic-20 is no longer being produced, I would like to see it live on as a virtual (games) machine. As virtual machines go, it has a number of advantages: it doesn't cost too much processing power to emulate, the already existing software base makes testing easier and writing emulators more attractive, and there is a 'real thing' which has the final say if any compatibility problems occur.
>What were some of the unique challenges to programming PCVIC?
One thing was getting the emulation fast enough to run on my (former) 386SX-20. It was a real challenge, because I really didn't know whether it was possible. Even though I've been thinking long and hard before I started coding the 6502 engine, it took a couple of rewrites before I got it running at 100% speed.
Getting the odd screen width to fit was also a problem. I was lucky to have stumbled upon the 'clock switch' trick that gave me just that little extra screen width without having to violate standard VGA frequencies.
Thirdly, working out the missing parts of the hardware specifications involved much trying and disassembling programs. Actually, it was very educative looking at other people's code. I've learned several new 6502 optimization tricks.
>Why do you offer PCVIC as "freeware" instead of charging a fee?
I am fond of the good old Vic-20 and its games, and to honor them I offer this emulator for free so everyone will have free access to them.
>What kind of feedback have you received concerning the emulator?
It's been very positive. Some people just mailed to say they liked the program. Several people even offered help and sent software.
>Has any of the e-mail you've received surprised you?
I'm sort of surprised I didn't receive any nasty mail. Well, there was one thing that kind of upset me: I received several spam mails advertising for, guess what, a mail spammer! There appeared to be a bug in their own spammer tough, because each time I got two identical copies of the message, anyway I was not amused.
>Do you have any clue as to how many people may be using the emulator?
>What is the future of PCVIC, and how much longer will you work on it?
I suppose I will work on it as long as I use it myself. I try to include any future plans in the documentation and I keep any suggestions I have received in a log file.
>How would you like to see PCVIC used and remembered?
I would like to see new games developed for the machine. I wish to add a debugging environment and documentation to the emulator to facilitate using the PC as a cross-development tool.
My software is also more or less a statement in programming style just to show that it is not necessary for programs to be big and slow to achieve something. It's a reaction to the seeming indifference with which some of the recent commercial software I've seen throws away resources. Users shouldn't really need to buy faster computers just because software houses are more occupied with marketing than with producing quality software. A program is programmed once, but has to be used many times: sloppy software just seems to indicate that the software house doesn't expect its own software to have a long life, or is not taking its users seriously.