Commit Graph

63 Commits

Author SHA1 Message Date
Lucas Scharenbroich
89ea425043 Start work on sprite attribute caching 2022-02-04 12:37:05 -06:00
Lucas Scharenbroich
4d7ff46250 Add zelda demo that utilized dirty rectangle updates 2022-02-03 23:46:32 -06:00
Lucas Scharenbroich
4075ed911c Use the 'f' key to have the SPRITE_HIDE flag set every other frame for a flashing effect 2021-11-22 13:27:27 -06:00
Lucas Scharenbroich
2683a91e93 Fix sprite rendering with overlapping sprites. Must erase all sprites first, then re-render 2021-11-20 21:58:09 -06:00
Lucas Scharenbroich
90267e4646 Test updating tile ID in UpdateSprite for a run sequence. 2021-11-20 20:33:27 -06:00
Lucas Scharenbroich
9b5d3da0e4 Let character remain facing the direction they were moving after stopping 2021-11-20 14:03:00 -06:00
Lucas Scharenbroich
b607275089 Separate updating a sprite's position with updating it's flags 2021-11-20 12:16:03 -06:00
Lucas Scharenbroich
e65e6dac8b Fix mask generatino of flipped tiles 2021-11-20 11:59:37 -06:00
Lucas Scharenbroich
0a9eb76ab5 Checkpoint; have old Dynamic Tile Renderers working 2021-11-18 16:23:44 -06:00
Lucas Scharenbroich
ba76b0047c Checkpoint on dynamic tile blitters 2021-11-18 15:36:36 -06:00
Lucas Scharenbroich
9a6eb45b20 Add Masked Sprite Tile blitter and fix some minor issues with the macro 2021-11-15 21:23:15 -06:00
Lucas Scharenbroich
dfd5549918 Sync up with current WIP 2021-11-15 12:23:38 -06:00
Lucas Scharenbroich
596777da8d Enable non-sprite, solid dynamic tiles 2021-11-12 15:11:29 -06:00
Lucas Scharenbroich
bab57f6e43 Add VSYNC toggle 2021-11-12 11:27:43 -06:00
Lucas Scharenbroich
45ad44f1a6 Update Tiled assets 2021-11-12 09:08:18 -06:00
Lucas Scharenbroich
55484fd3e4 Regenerate map and add some priority tiles for testing 2021-11-12 09:06:48 -06:00
Lucas Scharenbroich
678c9a0563 Initial shell of generalize sprite size support; just for marking the dirty tiles 2021-11-11 17:06:38 -06:00
Lucas Scharenbroich
13393965b3 Switch to the 256x128 tileset image 2021-11-02 22:01:31 -05:00
Lucas Scharenbroich
bb5f4493d9 Fully integration simple (8x8) sprites into the render pipeline 2021-11-01 23:36:53 -05:00
Lucas Scharenbroich
e83e8d8a0e Update map assets 2021-10-31 15:44:31 -05:00
Lucas Scharenbroich
83ea7921ff Switch to use Add/Update sprite and rely on Render to place sprites in frame 2021-10-31 15:44:03 -05:00
Lucas Scharenbroich
8f0e82cb04 Update world map and tiles 2021-10-30 19:24:57 -05:00
Lucas Scharenbroich
2f73b9acf5 Small improvements to sprite prototype to fix dirty tiles getting out of sync 2021-10-30 19:24:23 -05:00
Lucas Scharenbroich
33280dc5c5 Add single-step and free-run controls to test harness 2021-10-29 11:12:58 -05:00
Lucas Scharenbroich
b1c11b09fc Make the test sprite movement a bit more interesting
This results in trails being left on-screen and crashed after
a period of time.  The emulator shows writes going to the
bank 01 I/O space ($01/$Cxxx) and there are occational garbage
words written to the screen.
2021-10-29 00:52:54 -05:00
Lucas Scharenbroich
11bbe7be3d Reference sprite updates that do not leave trails 2021-10-29 00:17:23 -05:00
Lucas Scharenbroich
9ecc262c58 First pass at validating erasing the sprite on update 2021-10-28 22:19:18 -05:00
Lucas Scharenbroich
4e46a6af85 WIP: manual sprite rendering showing on screen 2021-10-28 21:41:01 -05:00
Lucas Scharenbroich
160606bcc4 Remove ineffective debug command line arg 2021-10-23 22:29:34 -05:00
Lucas Scharenbroich
71327111ea Remove unused package 2021-10-22 08:22:55 -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
7bf14d4ba8 Fix debug command line parameters 2021-10-22 00:53:33 -05:00
Lucas Scharenbroich
71fd9c29e3 Pull the sprite plane banks into the test build 2021-10-21 08:46:26 -05:00
Lucas Scharenbroich
d84ce1d8ed Fix typo 2021-10-21 08:44:49 -05:00
Lucas Scharenbroich
cc6408b064 Add fixed banks of memory to hold the sprite plane 2021-10-21 08:44:08 -05:00
Lucas Scharenbroich
74f96138d5 Remove BG1 code to simplify the test harness 2021-10-13 17:45:25 -05:00
Lucas Scharenbroich
9dbdeb64fe Ignore build products 2021-10-13 15:14:39 -05:00
Lucas Scharenbroich
25925c4b95 Sample project to focus on sprite development 2021-10-13 15:13:52 -05:00
Lucas Scharenbroich
5b276c5ace Fix overlay implementation 2021-10-11 21:39:30 -05:00
Lucas Scharenbroich
4338b64338 First cut at a non-trivial overlay. Pallettes and tile indexes still to be fixed 2021-10-11 14:09:38 -05:00
Lucas Scharenbroich
2966b1052b Add rendering path for masked dynamic tiles 2021-10-07 23:54:45 -05:00
Lucas Scharenbroich
59f9e61559 Compensate for the fact the Tiled animation IDs are one off of the map TileIDs 2021-10-07 21:57:56 -05:00
Lucas Scharenbroich
d5421afdbd Fix off-by-one issue in tile IDs and make the entry point consistent in the code field generator 2021-10-07 18:33:06 -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
2ef67e0a1c Sample project to demonstrate fringe + base tiles 2021-09-02 16:53:21 -05:00
Lucas Scharenbroich
a72ac83b12 Add skeleton for fatdog RPG demo 2021-08-30 20:31:02 -05:00
Lucas Scharenbroich
529e4a98bc Add a tool to export fatdog's images with embedded palette and SCB information 2021-08-28 16:44:14 -05:00
Lucas Scharenbroich
4d6b97ed2c Small PoC to validate animation timers working 2021-08-26 21:22:42 -05:00
Lucas Scharenbroich
f55192436a Final reorg; all projects build into a unified disk image for testing 2021-08-26 17:15:44 -05:00
Lucas Scharenbroich
dc8697af30 Add separate folder for different demos 2021-08-26 16:46:01 -05:00