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 K-Fest-Slides.zip |
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) |