Commit Graph

135 Commits

Author SHA1 Message Date
Lucas Scharenbroich
4c1dba0f68 Complete Dynamic Tile renderer 2022-06-21 23:13:28 -05:00
Lucas Scharenbroich
553fd3c02a Tweaking updated sprite dispatch flow 2022-06-21 07:29:18 -05:00
Lucas Scharenbroich
364af7bc57 Misc updates of local work 2022-06-09 07:41:03 -05:00
Lucas Scharenbroich
83ec527b06 Make the test demo more sophisticated; multiple sprites 2022-06-01 22:24:45 -05:00
Lucas Scharenbroich
a938639c1b Fix initialization bug in TileStore 2022-06-01 13:55:04 -05:00
Lucas Scharenbroich
dec50bc6fc Fix several bugs; biggest one in the SpriteStamp routine 2022-05-31 22:53:33 -05:00
Lucas Scharenbroich
7909113a97 Checkpoint 2022-05-26 19:36:40 -05:00
Lucas Scharenbroich
e52ef4f7cf Add message output for debugging 2022-05-19 23:39:19 -05:00
Lucas Scharenbroich
755ac3fbfd Move most data storage to separate bank; fix many banking bugs 2022-05-18 21:00:06 -05:00
Lucas Scharenbroich
01e92a7b62 Update; tool is compiling while referencing new rederer pipeline 2022-05-18 00:34:25 -05:00
Lucas Scharenbroich
7f6e5d1b1f Work checkpoint 2022-04-29 12:38:04 -05:00
Lucas Scharenbroich
4d6f11a9ba Initialize the graphics screen via the toolset 2022-04-25 17:11:48 -05:00
Lucas Scharenbroich
76180b6feb Basic working user tool framework 2022-04-24 14:45:07 -05:00
Lucas Scharenbroich
1f9f2aee0c Thank to Kelvin Sherlock for pointing out that the source files were not setting the register state directive 2022-04-23 15:41:25 -05:00
Lucas Scharenbroich
e2710ace85 Refactor to support building a tool and new demo to try and use it [not working] 2022-04-23 00:47:13 -05:00
dependabot[bot]
adceac1390
Bump minimist from 1.2.5 to 1.2.6 in /demos/zelda
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-01 14:51:18 +00:00
Lucas Scharenbroich
df0d0ccada Commit to a huge unrolled loop to do bitfield -> render function 2022-02-25 17:05:32 -06:00
Lucas Scharenbroich
56bfdc4236 Fix sprite VBUFF offset calculation 2022-02-21 15:58:16 -06:00
Lucas Scharenbroich
7f9f4de228 Add sprite back into initialization 2022-02-21 10:29:57 -06:00
Lucas Scharenbroich
bb83e7f7c5 Background rendering again 2022-02-18 20:43:55 -06:00
Lucas Scharenbroich
260b2097c2 Continue fixing code issues; strange relocation error happening 2022-02-18 13:42:37 -06:00
Lucas Scharenbroich
d96928e562 Add separte TileStore bank 2022-02-18 12:11:22 -06:00
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
Lucas Scharenbroich
dcf93892a7 Reorg some more files and tweak paths 2021-08-26 16:45:23 -05:00
Lucas Scharenbroich
2e11ba74ee Rename memory init file 2021-08-26 16:43:14 -05:00
Lucas Scharenbroich
02eff2c612 Move all assets into shell demo 2021-08-26 16:30:14 -05:00
Lucas Scharenbroich
1263375095 Move test app into its own demo folder 2021-08-26 16:24:46 -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
023332dfe6 Update fatdog demo to use shared GTE Core 2021-08-25 09:35:54 -05:00
Lucas Scharenbroich
99e4505a34 Consolidate all of the project macros into one folder; merlin32 only takes one macro path on the command line 2021-08-25 09:34:26 -05:00
Lucas Scharenbroich
31ab86b7fc Wire up skeleton build framework; prove 2MG image in the emu/ folder as a buld target 2021-08-21 16:59:43 -05:00
Lucas Scharenbroich
0b4373469e Use new sprite sheet from fatdog; wire up MrSprite to generate sprite code for now 2021-08-21 14:25:44 -05:00
Lucas Scharenbroich
a0055cee46 Add demo assets from Slack thread 2021-08-21 10:01:35 -05:00
Lucas Scharenbroich
0650c7dddc Fix package description 2021-08-19 00:03:36 -05:00
Lucas Scharenbroich
c6491dc38c Remove binary file 2021-08-18 21:30:00 -05:00
Lucas Scharenbroich
b382c20147 Create a skeleton for experimenting with Pa-Man playfields 2021-08-18 21:29:02 -05:00