Screen Graphics 64

From C64-Wiki
Jump to navigationJump to search
Screen Graphics 64
Cover
Developer Roy Wainwright
Company Abacus Software
Publisher Adamsoft, Abacus Software, CCI Software[1]
Release 1983
Licence Full version
Platform C64
Genre BASIC Expansion
Operation Keyboard
Media Datassette Diskette
Language(s) Language:english
Information

Screen Graphics 64 is an extension software written by Roy Wainwright of Abacus Software. It adds 24 graphics commands to Commodore 64 BASIC. These include switching to high resolution and multicolour screens, sprite manipulation tools, and commands for drawing pixels, lines, boxes and circles.

The disk or tape contains the "Screen Graphics 64" interpreter, a demo program and a tutorial program and also a small manual book (about 25 sides).

Color table[edit | edit source]

Screen Graphics 64 used a modify color table for the color in the new commands:

Number  | Color  
 1      | black
 2      | white
 3      | red
 4      | cyan
 5      | purple
 6      | green
 7      | blue
 8      | yellow
 9      | orange
10      | brown
11      | light red
12      | dark gray
13      | medium gray
14      | light green
15      | light blue
16      | light gray 

The new commands can use 3 paintbrushes A (color 1-16) , B (101-116) and C (201-216). This table is similar to the C64 color table, but not like the color address for the POKE command (normally from 0-15) in CBM-BASIC.

Function Keys[edit | edit source]

The function keys called this functions of Screen Graphics 64:

  • F2  - Save a graphic screen
  • F4  - Load a graphic screen
  • F5  - Switch to text screen (normal BASIC screen)
  • F7  - Switch to graphic screen

Command Summary[edit | edit source]

Hires/Multicolor Commands[edit | edit source]

  • HIRES sc, bc - setup HiRes screen with screen color sc and border color bc
  • MULTI sc, bc - setup multicolor screen
  • TIC x, y, c - tic mark the screen edges with x (0-319) and y (0-199)
  • DOT x, y, c - plot a single point
  • DRAW x1, y1, x2, y2, c - plot a line
  • BOX x1, y1, x2, y2, c - plot a box
  • CIRCLE x, y, r, c - plot a circle with radius r
  • CHAR g, x, y, c, "string" - display graphic text characters with textstyle g (1-4)
  • BLOCK x1, y1, x2, y2, c - block fill
  • MODE a - set plot mode with a (0 = normal; 1 = erase; 2 = reverse)
  • FILL x,y,c[,a] - fill an area with e (0-2; not in multicolor!)
  • PIXEL(x,y) - function which tests for point on/off

Screen Control Commands[edit | edit source]

  • DUMP"filename"[,device] - save graphics display
  • GREAD"filename"[,device] - load graphics display
  • NORM - switch screen to normal text screen
  • GRAPH - switch screen to graphic screen

Sprite Commands[edit | edit source]

  • COPY sp, linenumber - copy sprite sp (0-15) from line number (first line with definition by command BIT, COLORS, HEX, SDATA
  • SPRITE n, sp, mc, pr, ex, ey, mc1, mc2, mc3 - turn on sprite with multicolor mode mc (0,1) priority pr (0,1), expanding ex and ey (0,1) and multicolors mc1, mc2, mc3
  • OFF n - turn off sprite n (1-8)
  • PLACE n, sx, xy - move sprite n (1-8) to position x, y

Sprite Picture Definitions[edit | edit source]

  • BIT"bbbbbbbbbbbbbbbbbbbbbbbb" - single hires definition requires 21 lines with b (0 or 1)
  • HEX"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh" - alternate hires definition requires 21 lines with h (0 - F)
  • COLORS"cccccccccccc" - multicolor definition requires 21 lines with c (0 - 4) for the 4 multicolors
  • SDATA"val,val,val,..." - alternate data definition requires 63 values (0 - 255)

Memory Map[edit | edit source]

The "Screen Graphics 64" BASIC expansion used the following memory map:

Decimal		Hex		Description
 2048- 7424	S0800-S1DOO	Screen Graphics 64 interpreter
 7552-32767	SlD80-S7FFF	Your BASIC program area
32768-33727	$8000-$83BF	Sprite pattern area
33728-33791	$83CO-S83FF	Graphics chip register save area
33792-34815	$8400-$87FF	Graphic screen pointers
34816-35839	$8800-S8BFF	Graphic screen color save
35840-36863	$8COO-$8FFF	Area for BASIC screen
36894-40959	$9000-$9FFF	Character ROM
40960-49151	SAOOO-SBFFF	Bit mapping area
55296-56319	$D800-SDBFF	Color memory dynamic area 

Links[edit | edit source]

References[edit | edit source]