Jeff's VIC 20 Book

Discuss anything related to the VIC
Post Reply
User avatar
srowe
Vic 20 Scientist
Posts: 1340
Joined: Mon Jun 16, 2014 3:19 pm

Re: A New Draft

Post by srowe »

Some remaining bugs
  • 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
Forbidden64
Vic 20 Hobbyist
Posts: 146
Joined: Sun Feb 28, 2016 9:59 pm
Location: CA USA

Re: A New Draft

Post by Forbidden64 »

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.
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Re: A New Draft

Post by Jeff-20 »

srowe wrote: Fri Sep 09, 2022 1:33 am Some remaining bugs
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!
High Scores, Links, and Jeff's Basic Games page.
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Re: A New Draft

Post by Jeff-20 »

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.
Of course! When this is all done, the PDF will be print ready hopefully.
High Scores, Links, and Jeff's Basic Games page.
User avatar
chysn
Vic 20 Scientist
Posts: 1205
Joined: Tue Oct 22, 2019 12:36 pm
Website: http://www.beigemaze.com
Location: Michigan, USA
Occupation: Software Dev Manager

Re: A New Draft

Post by chysn »

I have to Google the SYS for Scott Adams every. Single. Time.

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
DarwinNE
Vic 20 Devotee
Posts: 231
Joined: Tue Sep 04, 2018 2:40 am
Website: http://davbucci.chez-alice.fr
Location: Grenoble - France

Re: A New Draft

Post by DarwinNE »

It's a great job!!! I really like it and it is a very useful book!
User avatar
Mayhem
High Bidder
Posts: 3027
Joined: Mon May 24, 2004 7:03 am
Website: http://www.mayhem64.co.uk
Location: London

Re: A New Draft

Post by Mayhem »

I do a lot of proofing, I'll try to have a look at this when I can in the next week 8)
Lie with passion and be forever damned...
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Re: A New Draft

Post by Jeff-20 »

Mayhem wrote: Tue Sep 13, 2022 10:13 am I do a lot of proofing, I'll try to have a look at this when I can in the next week 8)
New draft below.
DarwinNE wrote: Fri Sep 09, 2022 7:23 am It's a great job!!! I really like it and it is a very useful book!
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?
High Scores, Links, and Jeff's Basic Games page.
User avatar
srowe
Vic 20 Scientist
Posts: 1340
Joined: Mon Jun 16, 2014 3:19 pm

Re: A New Draft

Post by srowe »

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
User avatar
huffelduff
Vic 20 Hobbyist
Posts: 118
Joined: Sat Sep 05, 2020 9:14 am

Re: A New Draft

Post by huffelduff »

Jeff-20 wrote: Thu Sep 08, 2022 1:35 pm new draft of my book project...
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
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Re: A New Draft

Post by Jeff-20 »

Updated PDF... I don't want to waste anyone's time finding the same corrections.

Thank you! Great notes:
srowe wrote: Thu Sep 15, 2022 1:51 pm [*]Page 31, I see a pair of vertical bars between 7935 and 7936
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.
srowe wrote: Thu Sep 15, 2022 1:51 pm [*]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
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.
srowe wrote: Thu Sep 15, 2022 1:51 pm [*]Page 99, PLOT has different behaviour depending on C (like MEMBOT, MEMTOP);TKSA should have SA/$60 in .A
I am not sure if I understand this. Could you demonstrate how it should look?
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.
Thanks for checking it out!

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.
High Scores, Links, and Jeff's Basic Games page.
User avatar
srowe
Vic 20 Scientist
Posts: 1340
Joined: Mon Jun 16, 2014 3:19 pm

Re: A New Draft

Post by srowe »

Jeff-20 wrote: Fri Sep 16, 2022 1:17 pm
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.
No, showing the page boundary makes sense.
srowe wrote: Thu Sep 15, 2022 1:51 pm [*]Page 99, PLOT has different behaviour depending on C (like MEMBOT, MEMTOP);TKSA should have SA/$60 in .A
I am not sure if I understand this. Could you demonstrate how it should look?
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
A suggestion for this table: it is useful to know which calls are through a RAM vector. Could you use bold or italics on the label to indicate that?

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 ..."
User avatar
JonBrawn
Vic 20 Devotee
Posts: 225
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

Post by JonBrawn »

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):

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
rhurst
Omega Star Commander
Posts: 1371
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Tech & Innovation

Re: A New Draft

Post by rhurst »

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.
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
rhurst
Omega Star Commander
Posts: 1371
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Tech & Innovation

Re: A New Draft

Post by rhurst »

Someone sees this hardcopy laying about and will likely ask, "What's a VIC 20?" :P
Suggest moving the technical screen map off the cover and replace it with an image, such as:
Image

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
Post Reply