VIC-20 Listings

Books > VIC Graphics


VIC Graphics (GB)
Nick Hampshire
Gerald Duckworth, 1983

Download all programs from this book on one disk:


VIC Graphics.d64

35 programs (100% complete)

Chapter 1: Colour Plotting

Program Author Requirements Files Info
Random Colours

Pages 14-15.
Nick Hampshire Super Expander+3K rand cols se3k.prg
Screenshot
Draws a constantly changing pattern from randomly coloured blocks moving in a random direction.
Controls:
None.
Map

Pages 16-18.
Nick Hampshire Super Expander+3K map se3k.prg
Screenshot
Draws a map of USA, showing the borders with Canada and Mexico.
Controls:
None.
Rainbow

Pages 19-21.
Nick Hampshire Super Expander+3K rainbow se3k.prg
Screenshot
Draws a high resolution rainbow.
Controls:
None.
Fan

Pages 22-25.
Nick Hampshire Super Expander+3K fan se3k.prg
Screenshot
Draws a constantly changing colourful pattern.
Controls:
None.
Colours

Pages 26-28.
Nick Hampshire Super Expander+3K colours se3k.prg
Screenshot
Draws a filled circle in the specified colour.
Controls:
Type a colour (0-7) and press Return, or type a negative number to exit the program.

Chapter 2: High Resolution

Program Author Requirements Files Info
High Resolution Displays

Pages 30-43.
Nick Hampshire 3K expansion char gen 3k.prg
plot func 3k.prg
plot lines 3k.prg
Screenshot
Draws a graph of a mathematical function, and uses lines & circles to draw a picture.
Controls:
None.
Line

Pages 44-47.
Nick Hampshire Super Expander+3K line se3k.prg
Screenshot
Draws a high resolution line with user-defined spacing between the dots. Note: The routine only appears to work for the first line that you draw.
Controls:
Type the X,Y coordinates for the start point and end point, dot spacing, then press D to draw or E to erase.
Rectangle 1

Pages 48-50.
Nick Hampshire Super Expander+3K rectangle1 se3k.prg
Screenshot
Draws a rectangle by reading a coordinate matrix from data statements.
Controls:
None.
Polygon

Pages 51-53.
Nick Hampshire Super Expander+3K polygon se3k.prg
Screenshot
Draws a nine-sided polygon by reading a coordinate matrix from data statements.
Controls:
None.
Polygon 2

Pages 54-57.
Nick Hampshire Super Expander+3K polygon2 se3k.prg
Screenshot
Draws a series of N-sided polygons by using data statements to read the centre coordinates, radius, angular offset and number of sides.
Controls:
None.
Rectangle 2

Pages 58-62.
Nick Hampshire Super Expander+3K rectangle2 se3k.prg
Screenshot
Draws a rectangle using Pythagoras' Theorem.
Controls:
Type the X,Y coordinates for the first corner, X,Y coordinates for the second corner, and the length of one side.
Circle

Pages 63-66.
Nick Hampshire Super Expander+3K circle se3k.prg
Screenshot
Draws a circle using the POINT command.
Controls:
Type the X,Y coordinates for the centre, the radius, and dot spacing.
Ellipse

Pages 67-70.
Nick Hampshire Super Expander+3K ellipse se3k.prg
Screenshot
Draws a ellipse using the POINT command.
Controls:
Type the X,Y coordinates for the centre, the radius, the dot spacing, and the X,Y offsets to determine the degree of ellipse.
Arc 1

Pages 71-74.
Nick Hampshire Super Expander+3K arc1 se3k.prg
Screenshot
Draws a arc using the POINT command.
Controls:
Type the X,Y coordinates for the centre, the radius, the dot spacing, and the start,end angles for the arc.
Disk 1

Pages 75-78.
Nick Hampshire Super Expander+3K disk1 se3k.prg
Screenshot
Draws a filled circle using the POINT command.
Controls:
Type the X,Y coordinates for the centre, the radius, and the dot spacing.
Segment

Pages 79-82.
Nick Hampshire Super Expander+3K segment se3k.prg
Screenshot
Draws a filled segment using the POINT command.
Controls:
Type the X,Y coordinates for the centre, the radius, the dot spacing, and the start,end angles.
Piechart

Pages 83-86.
Nick Hampshire Super Expander+3K piechart se3k.prg
Screenshot
Draws a pie chart with variable dot spacing to differentiate the segments.
Controls:
None.

Chapter 3: Graph Plotting

Program Author Requirements Files Info
Graph

Pages 88-91.
Nick Hampshire Super Expander+3K graph se3k.prg
graph2 se3k.prg
Screenshot
Two programs that use high resolution graphics to draw a graph of SIN(X) and SIN(X) with COS(X).
Controls:
None.
3D Graph

Pages 92-94.
Nick Hampshire Super Expander+3K 3d graph se3k.prg
Screenshot
Draws a 3D graph of a mathematical function.
Controls:
None.
Interpolate

Pages 95-98.
Nick Hampshire Super Expander+3K interpolat se3k.prg
Screenshot
Draws a line graph by interpolating data from a series of DATA statements.
Controls:
None.

Chapter 4: Using the Video Memory

Program Author Requirements Files Info
Hi-Res Cursor

Pages 100-105.
Nick Hampshire Super Expander+3K hres crsr se3k.prg
hres crsr2 se3k.prg
Screenshot
Two programs that move a hi-res sight around the screen. The second program does not disturb the background.
Controls:
Program 1: 7 (up), 6 (down), 5 (left), 8 (right).
Program 2: F1 (up), F7 (down), F3 (left), F5 (right).
Character Building

Pages 106-111.
Nick Hampshire 3K expansion char build 3k.prg
Screenshot
Character editor, design your own user defined graphics. Characters can be saved into the program as DATA statements.
Controls:
Follow on-screen prompts. Cursor keys (move), + (set pixel), - (erase pixel), = (update), R (review), Q (quit), B (add data statements).
Big Character

Pages 112-115.
Nick Hampshire Super Expander+3K big char se3k.prg
Screenshot
Uses the POINT command to draw a large character on the screen, reading the pixels from DATA statements. Note: The routine sometimes distorts the graphics while drawing them on the screen.
Controls:
Type the X,Y coordinates where you would like the character to be drawn.

Chapter 5: Scaling and Stretching

Program Author Requirements Files Info
Scale 1

Pages 118-121.
Nick Hampshire Super Expander+3K scale1 se3k.prg
Screenshot
Draws a simplistic picture of a tree scaled to any required size.
Controls:
Type the scale factor, e.g. 1 or 0.8 etc.
Scale 2

Pages 122-125.
Nick Hampshire Super Expander+3K scale2 se3k.prg
Screenshot
Draws a hexagon scaled to any required size, without moving the object when it is scaled.
Controls:
Type the scale factor, e.g. 1 or 0.5 etc.
Stretch 1

Pages 126-130.
Nick Hampshire Super Expander+3K stretch1 se3k.prg
Screenshot
Draws a hexagon that can be stretched horizontally and vertically.
Controls:
Type the X,Y stretch factor.
Stretch 2

Pages 131-135.
Nick Hampshire Super Expander+16K stretch2 se16k.prg
Screenshot
Draws a rectangle that can be stretched horizontally and vertically, while controlling the angle of stretching.
Controls:
Type the X,Y stretch factor, and angle.

Chapter 6: Rotating and Moving

Program Author Requirements Files Info
Rotate

Pages 138-141.
Nick Hampshire Super Expander+3K rotate se3k.prg
Screenshot
Animation showing a small cross that rotates in a clockwise direction.
Controls:
Type the X,Y coordinates of the centre of rotation, x,Y coordinates of the point to be rotated, and the angle of rotation.
Rotate 2

Pages 142-146.
Nick Hampshire Super Expander+3K rotate2 se3k.prg
Screenshot
Rotates a line around a fixed axis.
Controls:
Type the X,Y coordinates of the centre of rotation, relative x,Y coordinates for start of line, relative X,Y coordinates for end of line, and the angle of rotation.
Rotate 3

Pages 147-152.
Nick Hampshire Super Expander+16K rotate3 se16k.prg
Screenshot
Rotates a shape around a fixed axis.
Controls:
None.
Move

Pages 153-157.
Nick Hampshire Super Expander+3K move se3k.prg
Screenshot
A transformation matrix that can be used to rotate, move and scale a shape.
Controls:
None.

Chapter 7: 3D Displays

Program Author Requirements Files Info
Three Dimensional Shape 1

Pages 160-166.
Nick Hampshire Super Expander+16K 3d draw1 se16k.prg
Screenshot
Draws a 3D cube. The scale and angle of rotation can be changed by modifying variables in the program.
Controls:
None.
Three Dimensional Shape 2

Pages 167-172.
Nick Hampshire Super Expander+16K 3d draw2 se16k.prg
Screenshot
Draws a 3D cube without the lines that are hidden behind the front surfaces. The scale and angle of rotation can be changed by modifying variables in the program.
Controls:
None.
Three Dimensional Shape 3

Pages 173-179.
Nick Hampshire Super Expander+16K 3d draw3 se16k.prg
Screenshot
Draws a 3D cube with solid sides. The scale and angle of rotation can be changed by modifying variables in the program.
Controls:
None.
Three Dimensional Shape 4

Pages 180-185.
Nick Hampshire Super Expander+16K 3d draw4 se16k.prg
Screenshot
Draws a 3D object with a perspective effect, so that one end appears to be further away. The scale and angle of rotation can be changed by modifying variables in the program.
Controls:
None.

Notes

  1. The following 2 programs were also published in Commodore Computing International: Map (p. 16-18) and Move (p. 153-157). There are minor differences in the listings.
  2. High Resolution Displays (p. 30-43): The program 'char gen 3k.prg' was previously published in High-Resolution Displays (Your Computer, Oct 1981), and the programs 'plot func 3k.prg' and 'plot lines 3k.prg' were previously published in Vic Colour Graphics (Your Computer, Apr 1982).

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 2022, All Rights Reserved.
This page was last updated 4-Jun-2022.