Commit Graph

29 Commits

Author SHA1 Message Date
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
a70412211c Simplify and specialize the even/odd patching
Allows the odd case to be slightly more efficient and the
code is cleaned up by not having to handle both even and odd
alignment cases at multiple points.
2023-03-08 12:49:45 -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
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
e378dc6e26 Checkpoint with TF4 demo framework 2022-08-11 14:14:25 -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
6c531619f9 Merge branch 'fixup-rotations' into kfest-2022 2022-07-21 23:35:53 -05:00
Lucas Scharenbroich
23f3626293 Fix issues preventing BG1 per-line offsets from working 2022-07-16 16:42:41 -05:00
Lucas Scharenbroich
4506f808c9 Restore BG1 rotation code 2022-07-12 21:03:30 -05:00
Lucas Scharenbroich
a7dad98d50 Additional tweaks to get old sprite demo working 2022-06-27 11:24:04 -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
2c409b02a7 Fix lookup tables to fix boundary rendering 2022-06-06 20:10:15 -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
24ebb1f3af Fix Tile Store lookup initialization bug 2022-06-01 21:12:54 -05:00
Lucas Scharenbroich
bba8929db7 PRoperly initialize Lookup tables 2022-05-31 13:01:09 -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
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
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
9692277677 Work on fixing linker / OMF errors 2022-04-23 12:48:13 -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