Commit Graph

22 Commits

Author SHA1 Message Date
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 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 4c5b090afe Fix crashing bug when replacing BG1 tiles with BG0 tiles 2021-08-19 01:21:37 -05:00
Lucas Scharenbroich 55e15aa894 Restore full tile dispatcher code 2021-08-17 09:46:45 -05:00
Lucas Scharenbroich b35a2c1e6e Complete masked tile rendering implementation
The core data tables were reworked to pre-reverse all of the
entries to directly match the right-to-left ordering of the code
fields.  This simplified some code but was required for register
reuse in the masked tile renderer.

Also fixed several offset calculation issues in the masked tile
renderer.
2021-08-17 09:33:27 -05:00
Lucas Scharenbroich 2540359f60 Fix plx/pla ordering in tile dispatcher 2021-08-14 21:56:08 -05:00
Lucas Scharenbroich d9133a2170 Switch to using exported Tiled project assets 2021-08-14 20:58:37 -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 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
Lucas Scharenbroich c5eb84ea37 Get the PEI Slammer working for exposing shadowed writes 2021-07-19 22:42:51 -05:00
Lucas Scharenbroich 6fc772ce78 Sorted out BG1 edge artifacts 2021-07-16 17:05:29 -05:00
Lucas Scharenbroich 50f5da5608 WIP on BG0X positioning; fix tile horizonal calculation 2021-07-15 11:01:42 -05:00
Lucas Scharenbroich e03859406e Fix indexing issue with calculating a tile's top line 2021-07-10 20:46:32 -05:00
Lucas Scharenbroich d1e59e81ac Fix off-by-one error when rendering tiles 2021-07-10 20:43:55 -05:00
Lucas Scharenbroich 469e8bb74a Add all minimal function in place; not onto debugging 2021-07-09 15:38:32 -05:00
Lucas Scharenbroich 8ec31631eb Split up source code a bit more; work toward completing render pipeline 2021-07-08 07:46:35 -05:00