Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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