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

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. There are alternative/modified versions of the following programs:
    1. High Resolution Displays : The program 'char gen 3k.prg' was originally published in High-Resolution Displays (Your Computer, 81-10), and 'plot func 3k.prg' and 'plot lines 3k.prg' were originally published in Vic Colour Graphics (Your Computer, 82-04).
  2. Some programs from this book were also published in Commodore Computing International (CCI) magazine. There are minor differences the listings.
    1. Map : Map (CCI, 83-07).
    2. Move : Move (CCI, 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 14-Dec-2024.