Lucas Scharenbroich
29838abb40
Shorter size-agnostic implemention of SetDataBank
2023-06-27 21:30:30 -05:00
Lucas Scharenbroich
2cc839b2c6
Add offset for the interrupt entry point
2023-06-27 21:29:50 -05:00
Lucas Scharenbroich
9c24715217
Enable interrupt processing in the lite blitter
2023-06-27 21:29:32 -05:00
Lucas Scharenbroich
cb5e9b0b25
Add interrupt breaks in the lite blitter to allow music to keep playing
2023-06-26 17:17:23 -05:00
Lucas Scharenbroich
6a0b8cbdc1
Fix restore code field bug. SMB demo can use renderer
2023-06-26 14:15:20 -05:00
Lucas Scharenbroich
eb548343a7
Fix offset calc
2023-06-26 13:19:12 -05:00
Lucas Scharenbroich
2013771524
Lite render mode bugfixes
2023-06-26 11:21:05 -05:00
Lucas Scharenbroich
94dafd2093
Checkpoint
2023-06-25 21:45:34 -05:00
Lucas Scharenbroich
28016b6780
Move error check outside of loop
2023-06-17 12:33:22 -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
56b66033a7
Add support for sprite priority
2023-05-22 13:55:56 -05:00
Lucas Scharenbroich
b40bc0dd2b
Don't crash on OOB
2023-05-22 00:04:50 -05:00
Lucas Scharenbroich
d3a7eecc6e
Mostly working PPU integration with GTE rendering pipeline
2023-05-21 17:50:05 -05:00
Lucas Scharenbroich
64f7106143
Fix absolute address issue in rom
2023-05-19 20:40:52 -05:00
Lucas Scharenbroich
310c3487ca
Support the sprite palette select bits in OAM
2023-05-17 12:59:07 -05:00
Lucas Scharenbroich
25c82cc44b
Initial palette work; fix memory init bug
2023-05-16 22:38:54 -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
a5498e07eb
Update the shadow renderer to use the common scnaline management routines
2023-04-28 00:35:35 -05:00
Lucas Scharenbroich
c7a143b488
Remove unneeded padding from some data arrays
2023-04-28 00:14:03 -05:00
Lucas Scharenbroich
869d80af1e
Comment cleanup and minro refactoring
2023-04-28 00:13:05 -05:00
Lucas Scharenbroich
515ec5280b
Remove dead code
2023-04-28 00:11:46 -05:00
Lucas Scharenbroich
57f57ce533
Restore shadow reg instead of overwriting
2023-04-27 23:38:26 -05:00
Lucas Scharenbroich
e013ff03fd
Fix off-by-one error in overlay
2023-04-26 08:47:56 -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
44c51217a1
Checkpoint of object list resolver
2023-04-25 23:39:09 -05:00
Lucas Scharenbroich
dc5742dd11
Remove dead code from codebase
2023-03-14 09:23:01 -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
065603a758
Core updates for BG1 scanline support
2023-03-11 03:41:41 -06:00
Lucas Scharenbroich
d31bd30649
Implement full per-scanline offset support for BG1
2023-03-11 03:41:12 -06:00
Lucas Scharenbroich
7dd690ac04
Implement fix for scanline mode compensation in BG1
2023-03-10 19:00:26 -06:00
Lucas Scharenbroich
9021ee4506
WIP of BG1 scanline effects
...
A static BG1 is stable with BG0 offset values. A seam in BG1
needs to be closed up by taking into account the BG1XOrigin value
when setting the :shift_value.
Also, several routines were hard-coded for the scanline case. These
hanges need to be reverted and properly parametereized.
2023-03-10 15:50:42 -06:00
Lucas Scharenbroich
e3409f92fa
Add per-scanline offset rendering.
2023-03-09 15:29:58 -06:00
Lucas Scharenbroich
3a78398ea7
Remove dead label
2023-03-09 00:26:31 -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
c533d846d7
Be more cautious when manipulaitng the sorted list
2023-03-08 20:09:57 -06:00
Lucas Scharenbroich
6c5e133b17
Fix some linked-list manipulations
2023-03-08 16:29:12 -06:00
Lucas Scharenbroich
029ab62f0c
Fix accidental double-addition of the screen origin
2023-03-08 14:15:11 -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
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
dd9ced08f1
Transition to fixed snippets
2023-03-02 23:24:03 -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
31ca627c14
Make sprite pre-calc rotines more specific and fix x,y argument ordering in AddSprite
2023-01-08 01:30:51 -06:00
Lucas Scharenbroich
4b50fa8318
checkpoint
2023-01-02 11:04:26 -06:00