Brief Description:
This independent app allows the user to plot text characters on either the Lo-Res or Double-Lo-Res screen. Written in and assembled by the "ProDOS EdAsm r1.1 01-May-85" assembler; last revised 5/20/2014, it occupies memory $5000 - $637C, which includes the built-in demo.

The following files are located in the K-Fest-SlidesD1.dsk (bootable to ProDOS / contains the executable files) and K-Fest-SlidesD2.dsk (ProDOS formatted but not bootable / contains the assembly source files). Both dsk images are in
Program Description
GRPCDBL.0 the bin file described above - GRaphics Plot Char for DBL-lo-res
GRPCRPI.0 the bin file used for Linux LinApple on Raspberry Pi (no Aux mem color conversion)
GRPC.DEMODBL BASIC program that uses the GROCDBL.0 file - demos how to interface to the bin
GRSRTN.0 lo-res & dbl-lo-res GRaphics Screen-wipe Routines (used by the BASIC demo)
this is a companion to the plotting app but not needed by it

BRUN GRPCDBL.0 (Demo #1) CALL -151, then [Ctrl]-Y [Return] (Demo #2)

run GRPC.DEMODBL (Lo-Res selected) run GRPC.DEMODBL (Dbl-Lo-Res selected)

font #0 font #1 font #2

More Details:
If you run the GRPC.DEMODBL program, you can see both the plotting app and the screen wipe app working. You can also pick apart the BASIC code to see what memory locations are used for passing parameters.This web page focuses on the plotting app. The screen wipe app is described in more detail on the Dbl-Lo-Res screen wipe effects web page. When you BRUN the GRPCDBL.0 app, it sets up the Ctrl-Y vector and does a brief, one page demo in dbl-lo-res. After the Ctrl-Y vector is set up, you can CALL -151 to the system monitor, then press Ctrl-Y [Enter] to launch the 2nd built in demo. This demo allows you to type to either lo-res or dbl-lo-res, depending on which flags are set. By default, the dbl-lo-res flags are set.

Memory Usage:
Start End Description
  $5000 jump to demo
$5003 $5014 parameters
  $5009 Double Lo-Res Graphics {0,1}
  $500A Center justify flag
  $500B Select Font {0,1,2}
  $500E Tkr mode {$00 or $FF} activating
  $500F Background color {0..15}
  $5010 Foreground color {0..15}
  $5011 GR screen column index (like VTAB)
  $5012 GR screen row index {must be EVEN}
  $5013 PlotCharacter {0..110}
  $5014 ASCII Character {0..127}
  $5015 plot routine for ASCII char value {0..127}
  $5018 plot routine for BMP char value {0..110}
$5003 $5765 code, parameters, buffer space, tables used by the app
$5766 $5B4C font 0 bitmap definitions (3x7 font)
$5B4D $5F33 font 1 bitmap defs (4x7 font)
$5F34 $623C font 2 bitmap defs (3x5 font)
$623D $625C Demo#2 called by [Ctrl]-Y - lets you type on the screen
$625D $637C Demo#1 displays page when app is BRUN

Although you can set the parameters and then call the desired plot routine, the app was designed to work with a stream of characters, including control characters that set the parameters for you. That is how Demo#2 works. For example, you can type [Ctrl]-Q to clear the screen, then [Ctrl]-F followed by 1 (to select font #1), then [Ctrl]-A followed by 4 (to pick the color green) and then you can start typing away (see control codes below): If you just pass a stream of characters, then you only need to set a character value at $5014, then call the plotting routine at $5015. It's that simple!

Code Description
Ctrl-A, followed by one digit foreground/character color {0..9,A..F} base-16
Ctrl-B, followed by one digit Background color {0..9,A..F} base-16
Ctrl-L, followed by one letter secial character {A..I} (to plot a heart or pi for example)
Ctrl-F, followed by one digit Font {0,1,2}
Ctrl-T, followed by two digits horizontal position {00..39} base-10
Ctrl-V, followed by two digits Vertical position {00..39} base-10
Ctrl-R, followed by two digits character/ticker Rate {00..FF} 0=fast base-16
Ctrl-M carriage return, line feed
Ctrl-G bell/chirp
Ctrl-Q home cursor & clear screen
Ctrl-/ ticker tape scroll mode 0=off
Ctrl-] ticker tape scroll mode 1=on
Ctrl-P toggle between ticker/scroll mode
Ctrl-U (right arrow) move +1 GrAdCol column
Ctrl-H (left arrow) move -1 GrAdCol column
Ctrl-J (down arrow) move +2 GrAdRow row
Ctrl-K (up arrow) move -2 GrAdRow row
Ctrl-I Inverse (swap foregnd/bkgnd colors)
Ctrl-W toggle between 40 & 48 lines
Ctrl-E toggle between 40 & 80 columns
Ctrl-Y toggle center justify (simple / imperfect - requires padding)