Commit Graph

467 Commits

Author SHA1 Message Date
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 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