Commit Graph

70 Commits

Author SHA1 Message Date
Lucas Scharenbroich
2cc839b2c6 Add offset for the interrupt entry point 2023-06-27 21:29:50 -05:00
Lucas Scharenbroich
94dafd2093 Checkpoint 2023-06-25 21:45:34 -05:00
Lucas Scharenbroich
fa307e5542 Better support for user-defined tiles 2023-06-02 00:38:35 -05:00
Lucas Scharenbroich
aeb620fb7b Added sprite and background disable control bits 2023-05-28 07:49:37 -05:00
Lucas Scharenbroich
64f7106143 Fix absolute address issue in rom 2023-05-19 20:40:52 -05:00
Lucas Scharenbroich
cb13c2ae2d Secret sauce 2023-05-16 12:34:18 -05:00
Lucas Scharenbroich
4ee67fb8be Add hook for VBL callback 2023-05-09 10:16:58 -05:00
Lucas Scharenbroich
b449d983ee Checkpoint for WIP scanline render fix for overlays+sprites and user-defined tiles 2023-04-26 00:41:17 -05:00
Lucas Scharenbroich
02bc6fe493 Comment cleanup; rename FRINGE tile control bit 2023-03-14 09:11:53 -05:00
Lucas Scharenbroich
b154bcf361 Sync up header files and add back CopyToBG1 behavior as a selectable feature 2023-03-12 15:39:41 -05:00
Lucas Scharenbroich
d31bd30649 Implement full per-scanline offset support for BG1 2023-03-11 03:41:12 -06:00
Lucas Scharenbroich
e3409f92fa Add per-scanline offset rendering. 2023-03-09 15:29:58 -06:00
Lucas Scharenbroich
39163ea786 Expose the ability to select which rendering order to use for sprites 2023-03-09 00:23:12 -06:00
Lucas Scharenbroich
536959619f Refine the horizontal dispatch
Find small optimizations to improve the average performance of the
blitter, especially in the odd-aligned case.

 - Odd-aligned PEA exit is 2 cycles faster per line
 - Odd-aligned JMP exit is 2 cycles faster per line
 - Odd-aligned LDA exit is 6 cycles faster (eliminated long store)
 - Merged setting the entry opcode and offset to convert 2 8-bit
   store into a single 16-bit store (save 6 cycles per line)
 - Load and save the full word for the high bytes. Cost 2 cycles
   but enabled the 6 cycles saved for the LDA case.
2023-03-07 17:32:46 -06:00
Lucas Scharenbroich
5697737a93 Add workable overlay support to the scanline renderer 2023-03-06 14:39:23 -06:00
Lucas Scharenbroich
6832c7f405 Update dynamic tile rendered to use fixed snippets. Add DAMAGES flag for the one render that doesn't fit the mold 2023-03-03 21:44:39 -06:00
Lucas Scharenbroich
c14f3c7283 Functional compiled sprites in demo-5 2023-03-01 13:18:37 -06:00
Lucas Scharenbroich
e2e30dfcf4 Checkpoint for initial framing for compiled sprite support 2023-02-28 11:17:43 -06:00
Lucas Scharenbroich
981182592e Shadow based rendering working in demo-5 2023-02-27 15:30:56 -06:00
Lucas Scharenbroich
4b50fa8318 checkpoint 2023-01-02 11:04:26 -06:00
Lucas Scharenbroich
b8a7641307 Add in all linked list operations 2022-09-08 21:51:00 -05:00
Lucas Scharenbroich
3fce46872d Checkpoint; blitter failing 2022-08-14 07:45:58 -05:00
Lucas Scharenbroich
e378dc6e26 Checkpoint with TF4 demo framework 2022-08-11 14:14:25 -05:00
Lucas Scharenbroich
97fa45589b Allow GTEStartUp caller to specify whether tool is loaded as a system or user tool 2022-08-01 22:00:54 -05:00
Lucas Scharenbroich
5a0e0e447e Change GTESetScreenMode to use bytes for the width 2022-07-26 00:21:22 -05:00
Lucas Scharenbroich
18da2546bd Add horizontal scaling to the background rotation 2022-07-22 02:01:34 -05:00
Lucas Scharenbroich
3063ab88f9 Fix sprite stamp rendering for 8x16 and 16x8 sprites 2022-07-21 22:51:25 -05:00
Lucas Scharenbroich
23f3626293 Fix issues preventing BG1 per-line offsets from working 2022-07-16 16:42:41 -05:00
Lucas Scharenbroich
0ab7fa9d81 Two layer demos 2022-07-16 15:22:23 -05:00
Lucas Scharenbroich
e9a2b8569b Fix drift between public macro file and internal definitions 2022-07-07 17:57:05 -05:00
Lucas Scharenbroich
48fa068dfd Add routines for dirty tile rendering 2022-07-04 23:55:32 -05:00
Lucas Scharenbroich
a7dad98d50 Additional tweaks to get old sprite demo working 2022-06-27 11:24:04 -05:00
Lucas Scharenbroich
8aafd5812b Work to expose times via Toolset 2022-06-26 22:08:42 -05:00
Lucas Scharenbroich
bcdc543241 Add in all the two-layer tile renderers; update complete. Just need to test 2022-06-23 11:31:42 -05:00
Lucas Scharenbroich
76a9710114 Add dynamic rendering functions 2022-06-21 15:28:58 -05:00
Lucas Scharenbroich
1f9c9b3f5b Checkpoint of final tile proc reorg for generalize new infrastructure for different engine modes 2022-06-20 15:55:09 -05:00
Lucas Scharenbroich
d3da96a834 Add in the special Tile 0 render routines 2022-06-14 08:12:33 -05:00
Lucas Scharenbroich
7af4a216a0 Add modular dispatch for copy routines; add initial support for tile priority bit 2022-06-12 05:28:12 -05:00
Lucas Scharenbroich
b6202ca44c Implement framework for adjusting VBuff tables to handle boundary transitions 2022-06-06 11:23:00 -05:00
Lucas Scharenbroich
e6251f05a3 Clean up constants and fix bad addressing mode 2022-06-02 13:06:26 -05:00
Lucas Scharenbroich
4f557230c6 Remove some dead code and streamline some addressing. Fix bug in dispatch macro 2022-06-02 12:28:49 -05:00
Lucas Scharenbroich
cde517bcc9 Fix single-step vertical displacement issue 2022-06-01 07:50:19 -05:00
Lucas Scharenbroich
78d7dafe14 Another checkpoint; converging on the working implementation 2022-05-31 08:43:26 -05:00
Lucas Scharenbroich
7909113a97 Checkpoint 2022-05-26 19:36:40 -05:00
Lucas Scharenbroich
5577105be8 Complete unrolled loop for clearing sprites from the tile store 2022-05-23 15:18:34 -05:00
Lucas Scharenbroich
9da3616c1d Start working to bring sprites rendering back into the pipeline 2022-05-22 23:54:47 -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
7f6e5d1b1f Work checkpoint 2022-04-29 12:38:04 -05:00
Lucas Scharenbroich
1522922abe Complete initialization sequence. 2022-04-25 16:35:47 -05:00
Lucas Scharenbroich
76180b6feb Basic working user tool framework 2022-04-24 14:45:07 -05:00