Merge branch 'master' into scanline-offsets

This commit is contained in:
Lucas Scharenbroich 2023-03-06 15:14:39 -06:00
commit 594b36a953
2 changed files with 109 additions and 18 deletions

View File

@ -220,17 +220,15 @@ GEM
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
mini_portile2 (2.8.0)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.15.0)
multipart-post (2.2.0)
nokogiri (1.13.6-x64-mingw32)
racc (~> 1.4)
nokogiri (1.13.6-x86_64-linux)
racc (~> 1.4)
nokogiri (1.12.5-x86_64-linux)
nokogiri (1.13.9)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
octokit (4.24.0)
faraday (>= 1, < 3)
@ -270,7 +268,6 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unf_ext (0.0.8.2-x64-mingw32)
unicode-display_width (1.8.0)
wdm (0.1.1)
zeitwerk (2.5.4)

View File

@ -89,7 +89,11 @@ style: toolref
</tr>
<tr>
<td><a href="#GTECreateSpriteStamp">GTECreateSpriteStamp</a></td>
<td> Creates a sprite stamp from the tile set</td>
<td>Creates a sprite stamp from the tile set</td>
</tr>
<tr>
<td><a href="#GTECompileSpriteStamp">GTECompilepriteStamp</a></td>
<td>Created a compiled sprite from a sprite stamp</td>
</tr>
<tr>
<td><a href="#GTEAddSprite">GTEAddSprite</a></td>
@ -794,12 +798,12 @@ style: toolref
<tr>
<td class="bot">width</td>
<td><em></em></td>
<td><em>Word</em>&mdash;Width of the playfield in pixels. Must be even.</td>
<td><em>Word</em>&mdash;Width of the playfield in bytes. Must be even.</td>
</tr>
<tr>
<td class="bot">height</td>
<td><em></em></td>
<td><em>Word</em>&mdash;Height of the playfield in pixels.</td>
<td><em>Word</em>&mdash;Height of the playfield in scanlines.</td>
</tr>
<tr>
<td class="bot"></td>
@ -1424,6 +1428,90 @@ style: toolref
</div>
</div>
<div class="api">
<h4 class="tn">$2DXX</h4>
<h4 id="GTECompileSpriteStamp">GTECompileSpriteStamp</h4>
<p>
Creates a compiled sprite in a special compilation buffer from an existing sprite stamp. The return value
is an address token that can be passed into the AddSprite function in place of the vBuffAddr parameter as
long as the `SPRITE_COMPILED` flag is set.
</p>
<div class="section">
<h5>Parameters</h5>
<table class="stack">
<colgroup>
<col class="col-1">
<col class="col-2">
<col class="col-3">
</colgroup>
<tbody>
<tr>
<th>Stack before call</th>
</tr>
<tr>
<td class="top">previous contents</td>
</tr>
<tr>
<td class="bot">wordspace</td>
<td></td>
<td><em>Word</em>&mdash;Space for result</td>
</tr>
<tr>
<td class="bot">spriteIdent</td>
<td></td>
<td><em>Word</em>&mdash;sprite identifier word</td>
</tr>
<tr>
<td class="bot">vBuffAddr</td>
<td></td>
<td><em>Word</em>&mdash;Location in the sprite vitual buffer.</td>
</tr>
<tr>
<td class="bot"></td>
<td><em></em></td>
<td><em>SP</em></td>
</tr>
</tbody>
</table>
<table class="stack">
<colgroup>
<col class="col-1">
<col class="col-2">
<col class="col-3">
</colgroup>
<tbody>
<tr>
<th>Stack after call</th>
</tr>
<tr>
<td class="top">previous contents</td>
</tr>
<tr>
<td class="bot">addr</td>
<td></td>
<td><em>Word</em>&mdash;Location in the sprite compilation buffer.</td>
</tr>
<tr>
<td class="bot"></td>
<td><em></em></td>
<td><em>SP</em></td>
</tr>
</tbody>
</table>
</div>
<div class="section">
<h5>Errors</h5>
<p>None</p>
</div>
<div class="section">
<h5>C</h5>
<p><tt>extern pascal Word GTECompileSpriteStamp(spriteIdent, vBuffAddr)</tt></p>
<p><tt>Word spriteIdent;</tt></p>
<p><tt>Word vBuffAddr;</tt></p>
</div>
</div>
<div class="api">
<h4 class="tn">$10XX</h4>
<h4 id="GTEAddSprite">GTEAddSprite</h4>
@ -1451,9 +1539,19 @@ style: toolref
<td class="top">previous contents</td>
</tr>
<tr>
<td class="bot">spriteDescriptor</td>
<td class="bot">spriteSlot</td>
<td></td>
<td><em>Word</em>&mdash;Sprite descriptor word that is used to set the status bits.</td>
<td><em>Word</em>&mdash;The slot to assign the sprite to. There are 16 slots and sprites in lower slots are drawn above the sprites in higher slots.</td>
</tr>
<tr>
<td class="bot">spriteFlags</td>
<td></td>
<td><em>Word</em>&mdash;Sprite flags that define the sprite's properties.</td>
</tr>
<tr>
<td class="bot">vBuffAddr</td>
<td></td>
<td><em>Word</em>&mdash;Sprite address in the VBUFF space, or a compiled sprite address</td>
</tr>
<tr>
<td class="bot">x</td>
@ -1465,11 +1563,6 @@ style: toolref
<td></td>
<td><em>Word</em>&mdash;Signed vertical sprite position on the playfield.</td>
</tr>
<tr>
<td class="bot">spriteSlot</td>
<td></td>
<td><em>Word</em>&mdash;The slot to assign the sprite to. There are 16 slots and sprites in lower slots are drawn above the sprites in higher slots.</td>
</tr>
<tr>
<td class="bot"></td>
<td><em></em></td>
@ -1505,11 +1598,12 @@ style: toolref
</div>
<div class="section">
<h5>C</h5>
<p><tt>extern pascal void GTEAddSprite(spriteDescriptor, x, y, spriteSlot)</tt></p>
<p><tt>extern pascal void GTEAddSprite(spriteSlot, spriteFlags, vBuffAddr, x, y)</tt></p>
<p><tt>Word spriteSlot;</tt></p>
<p><tt>Word spriteDescriptor;</tt></p>
<p><tt>Word vBuffAddr;</tt></p>
<p><tt>Word x;</tt></p>
<p><tt>Word y;</tt></p>
<p><tt>Word spriteSlot;</tt></p>
</div>
<div class="example">
<h5>Sprite Descriptor</h5>