
Early Days: The VIC-20 Programmer's Reference Guide - weinzierl
https://rachelbythebay.com/w/2018/04/06/learn/
======
cdumler
The VIC-20 was my first computer. Nothing like working hard on a program only
to hit the memory limit. I read that manual from cover to cover. It was
wonderful that practically everything you could want to know about your
computer was in one book.

You can find it and others at archive.org:
[https://archive.org/details/VIC-20ProgrammersReferenceGuide1...](https://archive.org/details/VIC-20ProgrammersReferenceGuide1stEdition6thPrinti)

~~~
ams6110
> Nothing like working hard on a program only to hit the memory limit

Mine was a TI-99/4a. The "+" symbol was obtained by SHIFT =, as on most
current US-layout keyboards. But if you hit the FCTN key instead of the SHIFT
key, it immediately rebooted the machine. It was easy to do that because the
FCTN key was immediately below the right SHIFT key. Was so frustrating to lose
hours of work that way. First lesson in save early, save often. Of course
saving was to cassette tape, which took several minutes, so you tended to
delay doing it.

EDIT: Also, the quote (") was obtained as FCTN-P, which is very close to the =
key. I think that might have been even more dangerous.

[http://mainbyte.com/ti99/keyboard/keyboard.html](http://mainbyte.com/ti99/keyboard/keyboard.html)

~~~
endgame
And ESDX arrow keys. What was up with that?

------
dade_
I must have had this VIC-20 for nearly 36 years. Generally it works like a
champ, except analog inputs from the paddles aren't handled properly and jumps
around. It is very annoying. If anyone reading this comment has some brilliant
suggestions on fixing it, I would love to know more.

The other problem is all of the cartridges for all of the games. However, in
my search to solve this problem I found [http://www.mega-
cart.com/](http://www.mega-cart.com/) It is amazing, every piece of software
ever written, even demos from 2007 and all of the memory expansions on a
single cartridge. I highly recommend.

Further, the joystick went missing, but Commodore used the same interface as
the Atari, so I could actually by a brand new replacement off the shelf at a
local retro computer store.

~~~
qbrass
The potentiometers get worn and dirty, and the varying resistance from the
dirt and loose contacts causes the jitter. You can try cleaning them with
electronics cleaner or alcohol, but it probably won't work for long, if at
all.

[http://vintagegamingandmore.com/atari-paddle-
repair/](http://vintagegamingandmore.com/atari-paddle-repair/)

Commodore paddles are similar, but use 470k ohm linear pots. You can use 500k
ohm ones if you can't find 470's, but you probably won't have a problem
finding them.

------
cgh
I wish I still had my copies of The Commodore 64 Programmer's Reference Guide
and The Commodore 64 Inner Space Anthology (published by The Transactor
magazine). Such incredible resources. I taught myself assembly when I was
twelve or thirteen years old, although I sort of sucked at it because I grew
up in a tiny, isolated northern town and couldn't get any of my questions
answered. In fact, I am pretty certain I was the only person within a 500 km
radius with any command of 6510 assembly.

Getting that bare-metal knowledge of that machine served me pretty well. I'm
not sure if there's an equivalent path to programmer competency today.

~~~
adam12
This reference?
[https://archive.org/details/Commodore_64_Programmers_Referen...](https://archive.org/details/Commodore_64_Programmers_Reference_Guide_1983_Commodore)

~~~
cgh
Yeah, that's the one. I'm not normally one for nostalgia or memorabilia, but I
spent a LOT of my youth poring over that thing. I think it eventually got
tattered and my mom chucked it when I left for university.

~~~
adam12
I’ve been really nostalgic lately. Just want my old breadin 64. :(

------
rhizome
My first job was demo'ing VIC-20s at Macy's stores in the SF Bay Area when I
was 13 (there was a group of us spread around to different malls). One of the
features of the marketing package was to demonstrate CompuServe, The Source,
and Dow Jones News Retrieval dialup services.

After the summer gig ended, the accounts still worked and that's how I got
online for the first time, before BBSes.

------
thaumaturgy
Thanks, Rachel. A Vic-20 was my first, too, although it and its manuals have
been lost to time and cross-country moves.

I got a Commodore 64 around the same time and, for a while, had a "cool" set
up with a TV, the two Commodores, an Atari 2600, and A/B switches for managing
all the connections. I had a tape drive for the Commodores too, but never
could figure out how to use it (I was young).

I would take trips to the library and pick up secondhand computing magazines
that had code listings in the back, in BASIC, and then carefully copy them in
to one of the computers.

I didn't really grasp everything about it all, but I understood flow control
and loops and basic logic before about 8 or so.

I really wish there was a similar development environment now for beginners.
Everything seems to either dumb things down too far -- confusing drag-and-drop
UIs and so on -- or introduce highly abstract concepts way too early
(Javascript...). I think a big part of the success of Arduino was this same
"learn by tinkering" environment.

~~~
jecel
The goal of block based languages like Scratch is to allow beginners to be
able to worry about logical errors without wasting nearly all of their time on
syntax errors instead. Sinclair was able to get the same effect on his
machines with his multi-mode cursor and one Basic keyword per key (of course,
the horrible membrane keyboards he used made this the only reasonable option).

The main problem with block based languages is that short code fragments take
up the whole screen. This keeps people from ever going beyond trivial initial
examples.

~~~
thaumaturgy
I think a better approach to reducing syntactical complexity is simpler
language.

In traditional basic, a for loop looks like:

    
    
        for i = 1 to 100
            print i
        next i
    

The syntax here is very nearly as simple as possible. There are no
parentheses, no semicolons, no braces or brackets; i is not declared ahead of
time; indentation isn't important.

Every new programming language is developed with its own syntactic dressings
for ever-greater levels of abstraction. More experienced programmers want to
see lambdas and continuations and parallelism and design patterns and so on,
and these concepts are extraordinarily difficult to teach to beginners without
also introducing advanced math. We forget how difficult it is to grasp these
abstractions for the first time; we eat our young.

I don't like graphical languages because they aren't a good stepping stone
towards "real" programming. They are too limited, too verbose, too awkward,
and too slow to build programs with.

We assume that we can't make new languages that are resistant to syntax
errors. But once upon a time, we did. (Despite all its many other limitations,
I don't think I ever had a single syntax error in COBOL.)

------
jackaroe78
I remember working though this with my dad when I was little, very well put
together. That same copy now sits on my shelf as a reminder of where it all
started for me. Still have thar ol Vic & play around on it every now and then.
We've sure come a long way

------
fitzroy
I remember spending all of a Saturday typing in that game in the back of the
book where you're a stationary cursor-sized block at the bottom of the screen
and you have to tap the space bar at the right time to hit the big white block
moving across the top. I was pretty disappointed after all that but I didn't
have a tape or disk drive to save it. So I just sat there pretending it was
fun until I finally bit the bullet and turned off the VIC-20.

Finally got a datasette drive a year later.

------
mthoms
If anyone knows where I can buy a copy of this book I'd appreciate it. My
Email address is in bio.

That computer (and manual) literally changed the course of my life. What fond
memories.

------
breckinloggins
I had the opposite problem.

My first machine was a TRS-80 Model III that my dad bought for me at a garage
sale. It came with an aftermarket BASIC programming manual, but no
programmer's manual for the machine. Without a real reference manual to
explain what was going on, I wasn't able to get past the "programs as magical
incantations" stage until much later.

Also, the machine came with no disk drives or any other storage to speak of. 9
year old me was really impressed at how people apparently retyped their
programs into the machine every time they turned it on.

I also didn't understand what "REM" meant and the author didn't really go into
what comments were and what they were for, so I dutifully typed every comment
from the program listing into the machine word-for-word, being careful to use
the exact same capitalization and punctuation. Then, of course, I wondered why
I had to type all that cryptic stuff in below it if I was already telling the
computer what to do in English!

It's a miracle I persisted long enough to figure this all out and then make a
career out of it.

------
cyberferret
Fond memories indeed, reading that. I cut my teeth on an old VIC-20. I think I
even had that manual, and typed in that BASIC music program. My first foray
into PEEKing and POKEing things into memory with that language.

I think that inspired me to go out and get the '101 BASIC Games' book and
experiment with that code too! "Hammurabi, I beg to report..."

------
brandonmenc
Good memories sitting with dad at the VIC-20 when I was about four years old,
typing in BASIC programs from magazines. Once, we typed in a drawing program
and drew the planets with the joystick. We also went to local computer shows
and brought back programs on data cassettes to try out. Fun times, and I was
hooked!

------
mmphosis
In 1979, my friend's dad got a new Apple II+ with THE APPLESOFT TUTORIAL and
we started at the beginning and _tried everything_ as it came along. At the
age of 13, we both learned how to program. Thank you Caryl Richardson and Jef
Raskin.

~~~
8bitsrule
Those early Apple manuals were probably the best computer manuals ever done.
Friendly hand-holding at its best. When I saw the first Mac manuals ... very
disappointing ...

------
cbm-vic-20
This is the most important book I have ever read.

