Commit Graph

466 Commits

Author SHA1 Message Date
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
594b36a953 Merge branch 'master' into scanline-offsets 2023-03-06 15:14:39 -06:00
Lucas Scharenbroich
011f5c0419 Doc updates 2023-03-06 15:14:22 -06:00
Lucas Scharenbroich
04681447a5 Checkpoint 2023-03-06 14:57:52 -06:00
Lucas Scharenbroich
4bfdeae6aa Update some demos to match new behaviors 2023-03-06 14:39:38 -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
af6e022454 WIP for working through scanline algos 2023-02-23 19:24:09 -06:00
Lucas Scharenbroich
46a88b1d22 Sync old code 2023-02-23 19:23:03 -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
2af4dddb8e Fix common init functions 2023-01-02 20:44:40 -06:00
Lucas Scharenbroich
f8fe9e40cb Merge branch 'master' into scanline-offsets 2023-01-02 20:41:39 -06:00
Lucas Scharenbroich
48bf7145d8 Fix parameters to startup and tile init 2023-01-02 20:40:09 -06:00
Lucas Scharenbroich
50930af362 Re-add tile load 2023-01-02 20:39:40 -06:00
Lucas Scharenbroich
4b50fa8318 checkpoint 2023-01-02 11:04:26 -06:00
Lucas Scharenbroich
50b15a8276 Merge branch 'master' into scanline-offsets 2022-12-04 15:49:47 -06:00
Lucas Scharenbroich
4ea9b5c775
Merge pull request #18 from lscharen/dependabot/bundler/docs/nokogiri-1.13.9
Bump nokogiri from 1.12.5 to 1.13.9 in /docs
2022-11-24 09:28:54 -06:00
Lucas Scharenbroich
ff542c9575 Update docs for GTELoadTileSet 2022-11-24 09:26:26 -06:00
dependabot[bot]
f0110acd84
Bump nokogiri from 1.12.5 to 1.13.9 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.12.5 to 1.13.9.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.12.5...v1.13.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-21 03:42:50 +00:00
Lucas Scharenbroich
b8a7641307 Add in all linked list operations 2022-09-08 21:51:00 -05:00
Lucas Scharenbroich
eaedee546e Remove dead / obsolete code 2022-09-02 20:38:10 -05:00
Lucas Scharenbroich
217a1176a9 Remove obsolete blitter routines 2022-09-02 20:37:26 -05:00
Lucas Scharenbroich
33da3d4a97 Final clean up 2022-08-27 19:51:31 -05:00
Lucas Scharenbroich
0b31e9ead2 Addtweaked files 2022-08-27 19:24:07 -05:00
Lucas Scharenbroich
6bb2c437e3 Add C header file 2022-08-27 19:23:17 -05:00
Lucas Scharenbroich
95cf3d18bb Merge branch 'scanline-offsets' into chrisv 2022-08-27 15:55:14 -05:00
Lucas Scharenbroich
700a3124fd Fix demo-1 init 2022-08-27 15:53:48 -05:00
Lucas Scharenbroich
10729c59a9 Work on ChrisV C demo 2022-08-27 15:53:02 -05:00
Lucas Scharenbroich
1a7fe4bd1a Add ORCA/C output support to png2iigs tool 2022-08-27 14:06:35 -05:00
Lucas Scharenbroich
3fa0f94aaf Commit TF4 demo changes 2022-08-16 19:48:26 -05:00
Lucas Scharenbroich
bd1de7f83c Checkpoint 2022-08-16 19:47:19 -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
4815254d5f Fix typo 2022-08-04 15:25:17 -05:00
Lucas Scharenbroich
273cf2572c Add documentation on the GTEGetTileDataAddr function 2022-08-04 15:23:15 -05:00
Lucas Scharenbroich
093bc738f0 Merge branch 'master' into scanline-offsets 2022-08-01 22:21:52 -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
5883de1f71 Checkpoint 2022-08-01 21:46:00 -05:00
Lucas Scharenbroich
7a6c4e5ff4 Break up Ypos loop into pre/loop/post segment to optimize. Saved ~5,000 cycles/sec. When applied to the other routines will save a few thousand more cycles 2022-07-31 11:51:42 -05:00
Lucas Scharenbroich
4c21d6e217 Merge branch 'master' into scanline-offsets 2022-07-30 11:07:55 -05:00
Lucas Scharenbroich
bc5229b528 Add link to merlin32 1.1.10 2022-07-30 11:07:03 -05:00
Lucas Scharenbroich
0915f5e93b Add note about requiring newer version of merlin32 2022-07-30 11:05:49 -05:00
Lucas Scharenbroich
794bc1fc09 Start adding scanline variants 2022-07-30 11:04:13 -05:00