Commit Graph

20 Commits

Author SHA1 Message Date
Lucas Scharenbroich 8aafd5812b Work to expose times via Toolset 2022-06-26 22:08:42 -05:00
Lucas Scharenbroich 4e46a6af85 WIP: manual sprite rendering showing on screen 2021-10-28 21:41:01 -05:00
Lucas Scharenbroich 494673416b Fix several incorrect uses of internal API; work toward functional demo 2021-10-22 00:56:12 -05:00
Lucas Scharenbroich 4e779e71d2 Tile rendering reorganization
This significantly simplifies the dispatch process by creating a
proper backing store for the tiles.  Most values that were
calcualted on the fly are now stored as constants in the tile
store.

Also, all tile updated are run through the dirty tile list which
solved a checken-and-egg problem of which order to do sprites vs
new tiles and affords a lot of optimizations since tile rendering
is deferred and each tile is only drawn at most once per frame.
2021-10-21 08:50:07 -05:00
Lucas Scharenbroich 87ded17e20 Initial Tiled tile animation export support
* Tiled tile animations read from TSX files
* Hooks for initialization generated by the tiled export tool
* Animated tiles implements with dynamic tiles backed by 2KB of direct
  page space in Bank 00
* Animation resolution limited to 1/60th incremenents

TODO
* Fix crasher in the _DoScriptSequ timer callback
* Fix single-line of garbage on the top line of the dynamic tiles
2021-10-06 07:10:09 -05:00
Lucas Scharenbroich a82c1248db Add untested framework for handling fringe tile rendering 2021-08-30 22:14:04 -05:00
Lucas Scharenbroich 69c6104742 Small initialization and jsr/jsl updates 2021-08-26 16:12:08 -05:00
Lucas Scharenbroich fe18759759 Refactor original demo driver to use GTE Core; move functions around 2021-08-26 08:52:43 -05:00
Lucas Scharenbroich 238d2f0a6f Fix banking bug and enable BG1 tile maps 2021-08-20 20:20:47 -05:00
Lucas Scharenbroich e607612344 Add initial build-out of BG1 tile map support 2021-08-19 01:22:36 -05:00
Lucas Scharenbroich ce51563913 Fix small code issues and sync up tool output with code changes. Maps render again with solid tiles 2021-08-13 11:57:41 -05:00
Lucas Scharenbroich 652729081e Stub in more tile rendering functions; does not crash but renders incorrectly 2021-08-13 11:38:06 -05:00
Lucas Scharenbroich 90124b04bc First draft of masked tile support
Need to have the called provide a copy of the base line address to the
masked drawing code and need to verify that the JTable entries are
ordered the same way as the byte offset so the same register can be used
to load the JMP addresses and patch in the LDA (DP),y instructions.
2021-08-13 10:05:28 -05:00
Lucas Scharenbroich e3cb742626 Fix tile rendering
This is not quite correct yet.  IT appears that two rows or columns are
drawn on the edges when only a single solumn or row is necessary.  Also,
this code is based on the old GTE codebase, so the initial rectangle for
rendering tiles is width+1, height+1. This can be improved.
2021-08-10 07:59:14 -05:00
Lucas Scharenbroich 97d05ee926 Fix wrong variable 2021-08-09 09:17:25 -05:00
Lucas Scharenbroich d3b21a91b9 Fix full-screen tile refreshes; incremental tile drawing crashes 2021-08-09 06:08:09 -05:00
Lucas Scharenbroich 8d31720e1c Add an extra column when coordinates are not tile-aligned 2021-08-07 21:21:28 -05:00
Lucas Scharenbroich b8d4ae780b Fix crashing on horizontal tile map rendering; still some off-by-one errors 2021-08-06 15:57:03 -05:00
Lucas Scharenbroich 39639d54b5 Fix some small bugs with tile rendering; tiles display but crash after scrolling 8 bytes 2021-08-06 14:42:18 -05:00
Lucas Scharenbroich 1d17b802ad Add basic tilemap support back in 2021-08-05 08:20:38 -05:00