# 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    |

