Jeff's VIC 20 Book
Re: Jeff's VIC 20 Book
Mine should be here next Monday!
- CommodoreZ
- Vic 20 Drifter
- Posts: 20
- Joined: Mon Aug 30, 2021 4:01 am
- Website: https://commodorez.com
Re: Jeff's VIC 20 Book
Picked up my copy in person at VCF Midwest. I was fortunate enough to have a table next to Jeff, it was a pleasure to meet you sir! I foresee this book becoming an essential part of my VIC experience.
Re: Jeff's VIC 20 Book
I found Jeff's book when I got the Commodore News Pages in the mail this week, https://commodore-news.com/news/item/11744/en/desktop .
I've ordered it and am looking forward to it!
I've ordered it and am looking forward to it!
Re: Jeff's VIC 20 Book
Just ordered from Lulu...
EDIT: Thanks! Great work! p.s.: The board software seems to auto-rotate images.
EDIT: Thanks! Great work! p.s.: The board software seems to auto-rotate images.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
https://github.com/SvenMichaelKlose
Re: Jeff's VIC 20 Book
THank you for the support! Lulu is clearly the way to go, I just figured out the Amazon version has frustrating format issues.
BTW, I have had similar orientation issues with phone pics here.
Re: Jeff's VIC 20 Book
I just ordered a copy from Amazon. I can't wait to get it!
"A slave is one who waits for someone to come and free him." -- Ezra Pound
- Soloman
- Vic 20 Amateur
- Posts: 65
- Joined: Fri Sep 22, 2023 1:46 am
- Location: Bilthoven, Netherlan
- Occupation: Data-analyst
Re: Jeff's VIC 20 Book
I ordered a spirald one!
It can help me a lot during programming. Now I am looking up things in PDF-books.

It can help me a lot during programming. Now I am looking up things in PDF-books.
Re: Jeff's VIC 20 Book
I bought myself a spiral version for Christmas. Thanks again for making this book, Jeff!
- Soloman
- Vic 20 Amateur
- Posts: 65
- Joined: Fri Sep 22, 2023 1:46 am
- Location: Bilthoven, Netherlan
- Occupation: Data-analyst
Re: Jeff's VIC 20 Book
I received my copy today!
Pretty fast. It exceeds my wildest expectations. The table at page 4 and further, that ... is... handy...! DEC, HEX, PETSCII, 6502-instruction and the bit-pattern! I have the spiraled one, so this is terrific while programming the VIC, As I browsed further in the book I was more surprised. Page 26 and 27: the keys belonging the graphics, Jeff knows what an emulator-user needs. Screen adresses, pokes and then page 39: the bits-patterns of reprogramming the characters, It shouldn't get any crazier. And yes it does: examples! Memory maps, instructions, everything is there! And to please is: A set of games with only 5 BASIC-lines.
This book is crazy!
What I learned is that an integer-variable takes the same space compared to the floating point: 7 bytes (page 18). I didn't believe it, because I use a lot of %-variables to save space. I tried it out and the book is correct: An integer takes te same amount of space, but during the test I saw it uses one byte more than his floating point-brother. Ah, of course the %-sign. I didn't know that.
Integers in arrays use only 2 bytes per element. Phheww....

Pretty fast. It exceeds my wildest expectations. The table at page 4 and further, that ... is... handy...! DEC, HEX, PETSCII, 6502-instruction and the bit-pattern! I have the spiraled one, so this is terrific while programming the VIC, As I browsed further in the book I was more surprised. Page 26 and 27: the keys belonging the graphics, Jeff knows what an emulator-user needs. Screen adresses, pokes and then page 39: the bits-patterns of reprogramming the characters, It shouldn't get any crazier. And yes it does: examples! Memory maps, instructions, everything is there! And to please is: A set of games with only 5 BASIC-lines.

This book is crazy!
What I learned is that an integer-variable takes the same space compared to the floating point: 7 bytes (page 18). I didn't believe it, because I use a lot of %-variables to save space. I tried it out and the book is correct: An integer takes te same amount of space, but during the test I saw it uses one byte more than his floating point-brother. Ah, of course the %-sign. I didn't know that.
Integers in arrays use only 2 bytes per element. Phheww....
- AndyH
- Vic 20 Afficionado
- Posts: 439
- Joined: Thu Jun 17, 2004 5:51 am
- Website: https://www.hewco.uk
- Location: UK
- Occupation: Developer
Re: Jeff's VIC 20 Book
Floating point variables are faster too, because I understand basic is converting integer variables to/from floats which slows things down.
It's a shame integer variables aren't smaller and faster in general but I'd guess they went the float route for better support and keeping the basic ROM to 8k they had to make compromises.
I'm a bit rusty on my Commodore v2 basic but I remember watching a video last year from 8bit show and tell that covered this topic, including what you found with integer arrays.
This book is a treasure trove of information, Jeff has done a wonderful job on it and it's had contributions from the community here at denial, it's hard to think what information it's doesn't contain. A definitive must have for Vic 20 owners.
It's a shame integer variables aren't smaller and faster in general but I'd guess they went the float route for better support and keeping the basic ROM to 8k they had to make compromises.
I'm a bit rusty on my Commodore v2 basic but I remember watching a video last year from 8bit show and tell that covered this topic, including what you found with integer arrays.
This book is a treasure trove of information, Jeff has done a wonderful job on it and it's had contributions from the community here at denial, it's hard to think what information it's doesn't contain. A definitive must have for Vic 20 owners.
- Soloman
- Vic 20 Amateur
- Posts: 65
- Joined: Fri Sep 22, 2023 1:46 am
- Location: Bilthoven, Netherlan
- Occupation: Data-analyst
Re: Jeff's VIC 20 Book
It certainly is. This book is a pearl. I bought it for only putting it beside my keyboard when I am programming the VIC. I didn't expect too much, but I was quite surprised when I received it. It is a treasury of information that I can lookup within seconds. Now I don't have to scroll in reference guides or searching in Compute!'s magazines. Compute! is for reading and learning. This guide is really perfect.
VIC-BASIC... The IBM Basic interpreter of IBM PC in the 80's took a lot more space. So I understand we cannot have everything.
VIC-BASIC... The IBM Basic interpreter of IBM PC in the 80's took a lot more space. So I understand we cannot have everything.
Re: Jeff's VIC 20 Book
THank you, all! Your support is very much appreciated. I am open to any corrections or suggestions should a future edition be wanted.
- Soloman
- Vic 20 Amateur
- Posts: 65
- Joined: Fri Sep 22, 2023 1:46 am
- Location: Bilthoven, Netherlan
- Occupation: Data-analyst
Re: Jeff's VIC 20 Book
Because the book is so complete, I expect über-completeness. This is a tip: To plot the cursor on position x,y on the screen: X position is on allocation 211 decimal and Y on 214. But it doesn't work because what is needed is a print HOME and a PRINT after POKE 214,Y-1.
It took me hours to find out. I found the answer in Compute!'s Gazette of december 1983. By the way, magnificent magazine.
I use your book everytime I'm programming the VIC-20! I am worried about that one day the book will be worn out. Yesterday I was surprised I read the SYS address for the Scott Adams-adventures-package after loading!

- Mike
- Herr VC
- Posts: 5130
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: Jeff's VIC 20 Book
These POKEs to addresses 211 and 214 first of all throw wrenches into the gears of the screen editor. The KERNAL also holds some other state information about the cursor (position/address, on/off state, colour 'under' cursor) which is not automatically synced from changed values in those two addresses.Soloman wrote:This is a tip: To plot the cursor on position x,y on the screen: X position is on allocation 211 decimal and Y on 214. But it doesn't work because what is needed is a print HOME and a PRINT after POKE 214,Y-1.
It took me hours to find out. I found the answer in Compute!'s Gazette of december 1983. By the way, magnificent magazine.
There exists an official KERNAL call to position the cursor, PLOT ($FFF0), with documented interface (see the VIC-20 Programmer's Reference Guide, p. 197) and you should use that instead.
BTW, Compute!'s Gazette et alii only count as tertiary sources at best (as does Jeff's VIC-20 book).
-
- Vic 20 Devotee
- Posts: 270
- Joined: Mon Feb 04, 2008 6:06 am
Re: Jeff's VIC 20 Book
looking at the PDF version 1.2 the joystick section seems to have errors
The address of Port A is wrong and the bits and buttons are for the wrong ports.
I think it should be
Code: Select all
$911F 37151 Port A R------- Joy Right
$9120 37152 Port B --FLDU-- Joy Fire, Left, Down, Up
I think it should be
Code: Select all
$9111 37137 Port A --FLDU-- Joy Fire, Left, Down, Up
$9120 37152 Port B R------- Joy Right
Change is inevitable except from a vending machine.