Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
system_routines:screen_handler [2016/06/10 23:04] ex_writer [RELAB1] |
system_routines:screen_handler [2016/06/10 23:05] (current) ex_writer [Screen Handler System Routines] |
||
---|---|---|---|
Line 15: | Line 15: | ||
| [[#fill|FILL]] | Fill a contiguous memory range with a constant | | | [[#fill|FILL]] | Fill a contiguous memory range with a constant | | ||
| [[#rectan|RECTAN]] | Paint a rectangle of specified size, color, and coordinates | | | [[#rectan|RECTAN]] | Paint a rectangle of specified size, color, and coordinates | | ||
- | | [[#relab1|RELAB1]] | Non-Magic RELABS | | ||
| [[#relabs|RELABS]] | Relative to absolute conversion | | | [[#relabs|RELABS]] | Relative to absolute conversion | | ||
+ | | [[#relab1|RELAB1]] | Non-Magic RELABS | | ||
| [[#restore|RESTOR]] | Restores area previously saved (using SAVE) | | | [[#restore|RESTOR]] | Restores area previously saved (using SAVE) | | ||
| [[#save|SAVE]] | Preserves specified screen area that is 'underneath' a moving pattern | | | [[#save|SAVE]] | Preserves specified screen area that is 'underneath' a moving pattern | | ||
Line 169: | Line 169: | ||
Lance Squire: "RELABS converts X/Y to MAGIC RAM addresses plus sets the shift bits for | Lance Squire: "RELABS converts X/Y to MAGIC RAM addresses plus sets the shift bits for | ||
the MAGIC register." | the MAGIC register." | ||
+ | |||
+ | ==== RELAB1 ==== | ||
+ | |||
+ | CONVERT RELATIVE ADDRESS TO ABSOLUTE NORMAL ADDRESS | ||
+ | |||
+ | | Calling Sequence: | <code z80>SYSTEM RELAB1</code> or <code z80>SYSSUK RELAB1 | ||
+ | DB (Magic register value)</code>| | ||
+ | | Arguments: | A = Magic register value to combine with shift amount\\ D = Y-coordinate\\ E = X-coordinate | | ||
+ | | Output: | A = Combined Magic register value\\ DE = Absolute normal address (non-Magic) | | ||
+ | | Description: | This routine is identical to [[#relabs|RELABS]] except that a non-Magic address is returned, and the hardware [[hardware:magic system|Magic register]] is not set. The flopped bit is interrogated, and the flopped coordinate system is used, if optioned. | | ||
+ | |||
+ | Lance Squire: "RELABS1 converts X/Y to SCREEN RAM addresses. Any pixel shifting is up | ||
+ | to the user." | ||
==== RESTOR ==== | ==== RESTOR ==== | ||