Added HiRes Collection Documentation

This commit is contained in:
Nathan D Riggs 2021-06-01 17:26:57 -04:00
parent 00ed4c7146
commit 64dff10dea
23 changed files with 3532 additions and 2 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 840 KiB

View File

@ -0,0 +1,38 @@
# Disk #8: Low Resolution Graphics
The LoRes collection contains macros and subroutines for creating and displaying low resolution graphics on the Apple II. This includes macros to:
- plot low resolution pixels
- set the working low resolution page and the viewing low resolution page
- set the low resolution mode: full screen or mixed
- plot horizontal, vertical and diagonal lines
- plot a low resolution circle
- get a low resolution pixel's color value
- print a low resolution character to the screen
---
| MACRO | DEPENDENCY | PARAMETERS | ACTION | DESTROYS | CYCLES | BYTES |
| --------- | ---------- | ------------------------------------------------------------ | ------------------------------------------------- | -------- | ------ | ----- |
| `LWORKPG` | none | ]1 = page number | set the working page | NZCV | 27+ | 20 |
| `LVIEWPG` | none | ]page number | set the viewing page | NZCV | 21+ | 16 |
| `LRGF` | none | none | set full page mode | NZCV | 12+ | 9 |
| `LRGP` | none | none | set mixed page mode (partial) | NZCV | 12+ | 9 |
| `LFCLR` | `LRGFCLR` | ]1 = color code | fill screen with specified color (full screen) | NZCV | 139+ | 92 |
| `LPCLR` | `LRGPCLR` | ]1 = color code | fill screen with specified color (partial) | NZCV | 125+ | 86 |
| `LPLOT` | `LRPLOT` | ]1 = X coordinate<br />]2 = Y coordinate<br />]3 = color code | plot a low resolution pixel to the working page | NZCV | 148+ | 107 |
| `LLINE` | `LRBLINE` | ]1 = X origin<br />]2 = X destination<br />]3 = Y-origin<br />]4 = Y destination<br />]5 = color | plot an arbitrary line | NZCV | 441+ | 297 |
| `LCIRC` | `LRCIRCLE` | ]1 = Center x position<br />]2 = Center y position<br />]3 = Circle radius<br />]4 = Color | plot a circle to low resolution page | NZCV | 2437+ | 520 |
| `LVLIN` | `LRVLINE` | ]1 = Y origin<br />]2 = Y destination<br />]3 = X coordinate<br />]4 = color | plot a vertical line to the low resolution page | NZCV | 250+ | 164 |
| `LHLIN` | `LRHLINE` | ]1 = X origin<br />]2 = X destination<br />]3 = Y coordinate<br />]4 = color | plot a horizontal line to low resolution page | NZCV | 246+ | 161 |
| `LRGET` | `LRGETPIX` | ]1 = X coordinate<br />]2 = Y coordinate | get color value of low resolution pixel | NZCV | 110+ | 71 |
| `LCHAR` | `LRCHAR` | ]1 = X coordinate<br />]2 = Y coordinate<br />]3 = address of 3-byte character<br />]4 = color | plot a large character to the low resolution page | NZCV | 441+ | 439 |

View File

@ -0,0 +1,35 @@
# Disk #9: High Resolution Graphics
The HiRes collection contains macros and subroutines for plotting and displaying high resolution graphics. This includes macros to:
- Flip between HiRes pages, both as working pages and viewing pages
- Plot a single HiRes pixel
- Fill the HiRes page with a given color
- Plot horizontal, vertical and diagonal lines
- Plot text characters to the HiRes screen, individually or as a string
- Plot entire bytes to the HiRes screen, easily allowing for the plotting of tiles
---
| MACRO | DEPENDENCY | PARAMETERS | ACTION | DESTROYS | CYCLES | BYTES |
| --------- | ---------- | ------------------------------------------------------------ | -------------------------------------------------- | -------- | ------ | ----- |
| `HBSET` | none | ]1 = X position<br />]2 = Y position<br />]3 = color | Set a byte on the HiRes page | NZCV | 54 | 37 |
| `HBGET` | none | ]1 = X position<br />]2 = Y position | Get a byte value from the HiRes page | NZCV | 49 | 30 |
| `HVIEWPG` | none | ]1 = Page number | Set the viewing HiRes page | NZCV | 19 | 14 |
| `HWORKPG` | none | ]1 = Page number | Set the working HiRes page | NZCV | 27 | 20 |
| `HPLOT` | `HRPLOT` | ]1 = X position<br />]2 = Y position<br />]3 = Color | Plot a single pixel to the HiRes page | NZCV | 348+ | 14 |
| `HCLR` | `HCLEAR` | ]1 = Color | Fill the HiRes page with the specified color | NZCV | 96+ | 5 |
| `HLIN` | `HRHLINE` | ]1 = X origin<br />]2 = X destination<br />]3 = Y position<br />]4 = Color | Plot a horizontal line to the HiRes page | NZCV | 494+ | 34 |
| `VLIN` | `HRVLINE` | ]1 = Y origin<br />]2 = Y destination<br />]3 = X position<br />]4 = Color | Plot a vertical line to the HiRes page | NZCV | 449+ | 30 |
| `LINE` | `HRBLINE` | ]1 = X origin<br />]2 = Y origin<br />]3 = X Destination<br />]4 = Y destination<br />]5 = Color | Plot a diagonal line to the HiRes page | NZCV | 825+ | 42 |
| `HCHAR` | | ]1 = X position<br />]2 = Y position<br />]3 = byte to print | Plot a text character to the HiRes page | NZCV | 432+ | 296 |
| `HSTR` | | ]1 = X position<br />]2 = Y position<br />]3 = String address<br />]4 = Offset value | Plot a string of text characters to the HiRes page | NZCV | 767+ | 37 |

View File

@ -1,4 +1,4 @@
# Disk 7: LoRes
# Disk 8: LoRes
@ -29,7 +29,7 @@
- [LRGETPIX](#the-lrgetpix-subroutine)
- [LCHAR](#the-lchar-macro)
- [LRCHAR](#the-lrchar-subroutine)
- [Part II: LoRes Collection Demo](#part-ii-lores-collection-demo)
- [Part II: LoRes Collection Demo](#lores-collection-demo)