VIC-20 Listings

Books > Compute!'s First Book of VIC


Compute!'s First Book of VIC (US)
Compute! Books, 1982

Download all programs from this book on one disk:


Compute VIC1.d64

25 programs

Chapter 1: Getting Started

Program Author Requirements Files Info
Large Alphabet

Pages 24-25.
Doug Ferguson Unexpanded large alphabet.prg
Screenshot
Programming demo, use custom characters to create double-height characters.
Controls:
None.
Using a Joystick

Pages 26-38.
David Malmberg Unexpanded using joystick.t64
Screenshot
Three programs demonstrating how to use a joystick.
Read Joystick: How to read the joystick.
Make a Sketch: Art program, make your own drawings.
Spacewar: You control the purple ship. Shoot your opponent before he destroys you. There are three gravity modes: Sun's gravity, black hole, no gravity. Joystick with Space (hyperspace jump).
Extended Input Devices

Pages 39-45.
Mike Bassman & Salomon Lederman Unexpanded ext input devs.t64
Screenshot
Three routines to read the paddles using Basic and machine code.
Controls:
Paddles.
Game Paddles

Pages 46-56.
David Malmberg Unexpanded game paddles.t64
Screenshot
Four programs showing how to use paddles in games.
Read Paddles: How to read the paddles in Basic.
Screen Motion: Use the paddles to move a ball around the screen.
Breakout: Destroy the bricks with your bat & ball.
Pong: Tennis game, played against the computer or another player.

Chapter 2: Diversions - Recreation and Education

Program Author Requirements Files Info
The Joystick Connection: Meteor Maze

Pages 59-66.
Paul L Bupp & Stephen P Drop Unexpanded meteor maze.t64
Screenshot
Two programs demonstrating how to use joysticks in games.
Joystick Demo: How to read the joystick in Basic.
Meteor Maze: Move your Scout Ship through the meteor field and dock with the Base Ship at the bottom of the screen.
Zap!!

Pages 67-71.
Dub Scroggin Unexpanded zap.prg
Screenshot
Collect as many objects as possible within two minutes, but do not touch the asterisks. When you start moving, you cannot stop but you can change direction.
Controls:
Crsr-Down (left), Crsr-Right (right), F5 (up), F7 (down).
Starfight3

Pages 72-77.
David R Mizner Unexpanded starfight3.prg
Screenshot
Star Trek-style game. Move the Enterprise through the galaxy and fire photon torpedos to destroy the Klingon ships. The Klingons will fire at you if you take too long to issue a command.
Controls:
Follow on-screen prompts.
Alphabetizer

Pages 78-79.
Jim Wilcox Unexpanded alphabetizer.prg
Screenshot
Bubble sort routine. Enter a list of items and they will be sorted into alphabetical order.
Controls:
Follow on-screen prompts.
Count the Hearts

Pages 80-86.
Christopher J Flynn Unexpanded count hearts.prg
Screenshot
Counting game for young children. Can you count how many hearts appear on the screen?
Controls:
Type how many hearts are displayed.

Chapter 3: Programming Techniques

Program Author Requirements Files Info
PRINTing With Style
(Checkbook Demo)

Pages 89-96.
James P McCallister Unexpanded checkbook demo.prg
Screenshot
Tutorial demonstrating various PRINT techniques, with a demo program that uses the whole screen.
Controls:
None.
User Input

Pages 99-102.
Wayne Kozun Unexpanded user input.t64
Screenshot
Four programs showing how to read the keyboard with the INPUT, GET and PEEK commands.
Input1: Entering numbers & words.
Input2: A more efficient way of using INPUT statements.
Get: Wait for a keypress.
Peek: Reading the keyboard using PEEK(197).
Amortize

Pages 103-105.
Amihai Glazer Unexpanded amortize.prg
Screenshot
Calculate loan payments with an unusual input technique.
Controls:
Follow on-screen prompts.
Append

Pages 106-108.
Wayne Kozun Unexpanded append.prg
Screenshot
Subroutine to merge multiple Basic programs together from tape.
Controls:
Load and run this program, then use it to load each program that you want to append. When you are finished, delete lines 1-5 and check for common/duplicated line numbers.
Printing the Screen

Pages 109-112.
C D Lane Unexpanded & 1515 printer print screen.prg
Screenshot
Prints an exact copy of the screen onto a VIC1515 printer.
Controls:
Either add the routine to your own program, or modify a program to load & run this routine without disturbing the screen.
Alternate Screens
(Dual Screen)

Pages 115-118.
Jim Butterfield Unexpanded dual screen.prg
Screenshot
Programming demo, showing how to store two screens in memory.
Controls:
Type anything on the screen, and switch between the two screens by pressing F1.
Timekeeping

Pages 119-124.
Keith Schleiffer Unexpanded timekeeping.t64
Screenshot
Three programs showing how to use the TI and TI$ variables.
Timing: Calculate the elapsed time between two keypresses.
Countdown Timer: Countdown for five seconds.
Blackout:Blank the screen for twenty seconds.
Renumber BASIC Lines The Easy Way

Pages 125-126.
Charles H Gould Unexpanded renumber.prg
Screenshot
Renumber the lines in your program. It only changes the line numbers, not GOTO statements etc.
Controls:
Append this subroutine to the program you want to renumber, then RUN10000.
Automatic Line Numbers

Pages 127-128 .
Jim Wilcox Unexpanded auto line num.prg
Screenshot
Subroutine to automatically generate line numbers to help when typing in programs.
Controls:
Run this program, enter the required starting line and increment, then type in your own program.

Chapter 4: Color and Graphics

Program Author Requirements Files Info
Kaleidoscope And Variations

Page 147.
Kenneth Knox Unexpanded kaleidoscope.t64
Screenshot
Two short graphics routines that could be used to write a kaleidoscope program.
Controls:
None.
High Resolution Plotting

Pages 148-153.
Paul F Schatz Unexpanded/3K hires plot 3k.t64
Screenshot
Plot high resolution graphics with two resolutions. The 128x128 plot runs unexpanded, and the 176x160 plot requires 3K memory expansion.
Controls:
None.
VIC Color Tips
(Another Rainbow)

Pages 154-156.
Charles Brannon Unexpanded another rainbow.prg
Screenshot
Displays all the different combinations of screen and border colours.
Controls:
None.
The Window
(Border)

Pages 157-159.
Charles Brannon Unexpanded border.prg
Screenshot
Subroutine for use in your own programs, draws a colourful border around the screen.
Controls:
None.
Custom Characters for the VIC

Pages 160-169.
David Malmberg Unexpanded custom chars.t64
Screenshot
Character editor, to create your own user-defined characters. The demo program displays the Greek alphabet.
Controls:
Follow on-screen prompts.

Chapter 5: Maps and Specifications

Program Author Requirements Files Info
VIC Memory - The Uncharted Adventure
(Display Demo)

Pages 195-201.
David Barron & Michael Kleinert Unexpanded display demo.prg
Screenshot
Programming demo showing how to smoothly scroll the screen.
Controls:
None.

Chapter 6: Machine Language

Program Author Requirements Files Info
Tinymon1

Pages 195-201.
Jim Butterfield Unexpanded tinymon1.prg
Screenshot
Machine language monitor, to enter, edit, run, load and save machine code programs.
Controls:
.R (display registers), .M FFFF TTTT (display memory from-to), .X (exit to Basic), .G AAAA (execute address), .L"PPPP" (load filename), .S"PPPP",01,FFFF,TTTT (save filename, device, from, to).

Notes

  1. These programs were originally published in Home and Educational Computing!, Compute! and Compute!'s Gazette magazines.
  2. A slightly different version of Renumber BASIC Lines The Easy Way (p. 125-126) was published as Renumber (VIC, 83-02).

With thanks to DLH's Commodore Archive for making this book available in PDF format.

VIC-20 Listings <http://www.vic20listings.freeolamail.com/>
Copyright (C) R.M. Smedley 2024, All Rights Reserved.
This page was last updated 10-Feb-2024.