- Page 2, Quick Start, "Scott Adams" (single d), "Programmers Aid" (no e)
- Page 3, Disk specifications, I'm not sure what "Metadata in sector 0" is supposed to mean. Perhaps it is referring to the BAM etc which is in Track 18, Sector 0?
- Page 7, PETSCII column, have you checked the katakana characters? I found several mistakes in the VIC-1001 manual
- Page 12, "DEF FN" should be "DEF FN<name>(<variable>)=<expression>"
- Pages 30&31 and 34&35, I don't know if it's just my PDF reader but the centre rows have a different border, is that deliberate?
- Page 39, unexpanded column, the 3K region should be blank (like BLK123 are)
- Page 40, perhaps mention that interlace is NTSC only
- Page 59, I know various sources suggest that 4800 (and sometimes higher) is implemented but the highest baudrate in the KERNAL table is 3600
- Page 60, bits 3 & 5 of RSSTAT are unused
- Page 63, VIA1PB, typo "Clear To Send"
- Page 86, DEX and DEY set N and Z appropriately
- Page 105, User Port, pin 9 ATN is always an output. Can the labels on this and the Game Port and Cassette Port be made consistent?
- Page 106, same comment as Page 59
- Page 114, again "Programmers Aid"
- Page 118, Device Status, RS232 again bits 3 & 5 have no use on the VIC-20
Jeff's VIC 20 Book
Re: A New Draft
Some remaining bugs
-
- Vic 20 Hobbyist
- Posts: 125
- Joined: Sun Feb 28, 2016 9:59 pm
- Location: CA USA
Re: A New Draft
This looks pretty cool! I guess the best way to find errors in the book would be to use it.
I have a comb binding machine which makes "lay flat" books a like the original programmers reference guide. Maybe, with permission from the author, I'll print one for myself? I think I even have some thick glossy paper around somewhere.
I have a comb binding machine which makes "lay flat" books a like the original programmers reference guide. Maybe, with permission from the author, I'll print one for myself? I think I even have some thick glossy paper around somewhere.
Re: A New Draft
How did you put this together so fast??? Great notes! I'll get started on these right away! I've also noticed the PDF seems to lose borders or discolor them in some browsers. The effect goes away when I zoom in. It all looks fine when printing, but I'll double check the pages you point out. Thank you!
Re: A New Draft
Of course! When this is all done, the PDF will be print ready hopefully.Forbidden64 wrote: ↑Fri Sep 09, 2022 1:45 am This looks pretty cool! I guess the best way to find errors in the book would be to use it.
I have a comb binding machine which makes "lay flat" books a like the original programmers reference guide. Maybe, with permission from the author, I'll print one for myself? I think I even have some thick glossy paper around somewhere.
- chysn
- Vic 20 Scientist
- Posts: 1204
- Joined: Tue Oct 22, 2019 12:36 pm
- Website: http://www.beigemaze.com
- Location: Michigan, USA
- Occupation: Software Dev Manager
Re: A New Draft
I have to Google the SYS for Scott Adams every. Single. Time.
Count me among those who'd pay for a physical copy.
Count me among those who'd pay for a physical copy.
VIC-20 Projects: wAx Assembler, TRBo: Turtle RescueBot, Helix Colony, Sub Med, Trolley Problem, Dungeon of Dance, ZEPTOPOLIS, MIDI KERNAL, The Archivist, Ed for Prophet-5
WIP: MIDIcast BASIC extension
he/him/his
WIP: MIDIcast BASIC extension
he/him/his
-
- Vic 20 Devotee
- Posts: 233
- Joined: Tue Sep 04, 2018 2:40 am
- Website: http://davbucci.chez-alice.fr
- Location: Grenoble - France
Re: A New Draft
It's a great job!!! I really like it and it is a very useful book!
- Mayhem
- High Bidder
- Posts: 3007
- Joined: Mon May 24, 2004 7:03 am
- Website: http://www.mayhem64.co.uk
- Location: London
Re: A New Draft
I do a lot of proofing, I'll try to have a look at this when I can in the next week 

Lie with passion and be forever damned...
Re: A New Draft
New draft below.
Thanks!
Ok, here's an updated draft. I found time to work on it today and fixed all of the edits srowe listed (except the katakana). Any suggestions are welcome.
Points to address (I will use the PDF page number with actual page numbers in parathesis):
1. Cover - map now uses 2 digits per cell. Is it legible? Or is an empty grid preferred?
2. 36 (33) - I made a smaller hex screen map. Legible? Is there anything I can put in the blank space created?
3. 78 (75) - There's plenty of space left in the memory location listing. Can the listing be expanded or the space used?
4. 109- 115 (106-112) - Is it preferrable to have a split block map or the smaller sideways maps which are harder to see due to resolution?
5. 127 (124) - Originally a space filler, this section is something I would like to expand... Maybe 2 pages.
6. 128 (125) - I am guessing with music section here. Could someone with more experience comment on this?
7. with the block map style resolved, I will have 2 to 4 free pages. How could the space be used?
Re: A New Draft
A few more corrections:
- Page 31, I see a pair of vertical bars between 7935 and 7936
- Page 37, 8K+EXP, SCREEN MAP should be $1000-$11FF
- Page 80, CLC and CLD each clear one bit
- Page 81, LDY should just have N, Z; LSR should have N, Z, C; PHA doesn't modify Z
- Page 87, DEX & DEY modify N & Z (not V)
- Page 88, NOP does not modify C
- Page 99, PLOT has different behaviour depending on C (like MEMBOT, MEMTOP);TKSA should have SA/$60 in .A
- huffelduff
- Vic 20 Enthusiast
- Posts: 154
- Joined: Sat Sep 05, 2020 9:14 am
Re: A New Draft
Hi Jeff-20,
The layout and presentation of the book is fantastic. I have a question:
While perusing the book I came upon some small applications. On p121 there is game called UFO rush.
Who wrote the game? Did you write it? For its size its really good.
Greetings
H
Re: A New Draft
Updated PDF... I don't want to waste anyone's time finding the same corrections.
Thank you! Great notes:
I wrote the game. I made some tiny type-in games as a space filler, but I will likely keep this one. I would still like one more "useful" app in that section.
If there are any suggestions or additions you'd like to see, please tell me. I have 4 more pages to reach the 128 page count goal. I am running out of ideas.
Thank you! Great notes:
I put it there to separate the first block of 255 spaces. I use that when PRINTing, but I will likely remove it if it's distracting.
The cycles and registers were all messed up. After copying and pasting to build the table, I must have forgotton to go back and correct it. Everything should be fixed in this draft.
I am not sure if I understand this. Could you demonstrate how it should look?
Thanks for checking it out!huffelduff wrote: ↑Fri Sep 16, 2022 1:05 am The layout and presentation of the book is fantastic. I have a question:
While perusing the book I came upon some small applications. On p121 there is game called UFO rush.
Who wrote the game? Did you write it? For its size its really good.
I wrote the game. I made some tiny type-in games as a space filler, but I will likely keep this one. I would still like one more "useful" app in that section.
If there are any suggestions or additions you'd like to see, please tell me. I have 4 more pages to reach the 128 page count goal. I am running out of ideas.
Re: A New Draft
No, showing the page boundary makes sense.
With C=1 PLOT returns the current row/column, C=0 sets it. So following your convention for other rows this would be
Code: Select all
PLOT FFF0 C=0 row col C=1 row col
The op codes all look right now, there's just an extra row for BCS on page 84.
Edit: just noticed: Page 85 BVS section says "REL BVC OPER ..."
- JonBrawn
- Vic 20 Devotee
- Posts: 296
- Joined: Sat Sep 11, 2021 10:47 pm
- Website: http://youtube.com/@vicenary
- Location: Austin TX USA
- Occupation: CPU design engineer
Re: A New Draft
I think your description for VIC 6560 register $9005 may be wrong.
Bits 7:4 correspond to bits !15,12:10 of the video address. Bit 9 of the video address comes from $9002 bit 7.
Bits 3:0 correspond to bits !15,12:10 of the character generator's address.
The full functionality of this one register looks like this (I'm not certain how I'd condense this to half a dozen lines, though):
Bits 7:4 correspond to bits !15,12:10 of the video address. Bit 9 of the video address comes from $9002 bit 7.
Bits 3:0 correspond to bits !15,12:10 of the character generator's address.
The full functionality of this one register looks like this (I'm not certain how I'd condense this to half a dozen lines, though):
Code: Select all
$9002[7]=0 $9002[7]=1
0000xxxx => video $8000, $8200 \ Not useful (ROM)
0001xxxx => video $8400, $8600 | Not useful (ROM)
0010xxxx => video $8800, $8A00 | Not useful (ROM)
0011xxxx => video $8C00, $8E00 \ Not useful (ROM)
0100xxxx => video $9000, $9200 / Not useful (I/O)
0101xxxx => video $9400, $9600 | Not useful (I/O)
0110xxxx => video $9800, $9A00 | Not useful (I/O)
0111xxxx => video $9C00, $9E00 / Not useful (I/O)
1000xxxx => video $0000, $0200 - $0000 Watch page 0 and stack
- $0200 Watch KERNAL/BASIC workspace
1001xxxx => video $0400, $0600 \
1010xxxx => video $0800, $0A00 | Not useful (random, no access to RAM)
1011xxxx => video $0C00, $0E00 /
1100xxxx => video $1000, $1200 - RAM, $1000 Used with 8K+ expansion
1101xxxx => video $1400, $1600 - RAM
1110xxxx => video $1800, $1A00 - RAM
1111xxxx => video $1C00, $1E00 - RAM, $1E00 Used with no or 3K expansion
xxxx0000 => chargen $8000 - Useful (ROM Chargen)
xxxx0001 => chargen $8400 - Useful (ROM Chargen)
xxxx0010 => chargen $8800 - Useful (ROM Chargen)
xxxx0011 => chargen $8C00 - Useful (ROM Chargen)
xxxx0100 => chargen $9000 - Not useful (I/O)
xxxx0101 => chargen $9400 - Not useful (I/O)
xxxx0110 => chargen $9800 - Not useful (I/O)
xxxx0111 => chargen $9C00 - Not useful (I/O)
xxxx1000 => chargen $0000 - Sort of useful, watch page zero flickering away
xxxx1001 => chargen $0400 - Not useful (random, no access to RAM)
xxxx1010 => chargen $0800 - Not useful (random, no access to RAM)
xxxx1011 => chargen $0C00 - Not useful (random, no access to RAM)
xxxx1100 => chargen $1000 - Useful (User Chargen in RAM)
xxxx1101 => chargen $1400 - Useful (User Chargen in RAM)
xxxx1110 => chargen $1800 - Useful (User Chargen in RAM)
xxxx1111 => chargen $1C00 - Useful (User Chargen in RAM)
Working on FPGA replacement for 6560/6561
https://youtube.com/@vicenary
https://youtube.com/@vicenary
-
- Omega Star Commander
- Posts: 1375
- Joined: Thu Jan 31, 2008 2:12 pm
- Website: https://robert.hurst-ri.us
- Location: Providence, RI
- Occupation: Tech & Innovation
Re: A New Draft
Can this PDF format support bookmarks? PDF exports often have as an option off any header style formatting.
For example, its cover does not offer me to click on any TOC entry to jump to that page.
For example, its cover does not offer me to click on any TOC entry to jump to that page.
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
https://robert.hurst-ri.us/rob/retrocomputing
-
- Omega Star Commander
- Posts: 1375
- Joined: Thu Jan 31, 2008 2:12 pm
- Website: https://robert.hurst-ri.us
- Location: Providence, RI
- Occupation: Tech & Innovation
Re: A New Draft
Someone sees this hardcopy laying about and will likely ask, "What's a VIC 20?"
Suggest moving the technical screen map off the cover and replace it with an image, such as:

And I see page 30 + 31 offers a nicer screen map already.

Suggest moving the technical screen map off the cover and replace it with an image, such as:

And I see page 30 + 31 offers a nicer screen map already.
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
https://robert.hurst-ri.us/rob/retrocomputing