Commit Graph

120 Commits

Author SHA1 Message Date
Rob McMullen e04491e324 Added comparison of fast draw and slow draw of fonts 2017-07-05 07:26:31 -07:00
Rob McMullen 25610af2b4 Added fast font demo 2017-07-04 13:36:36 -07:00
Rob McMullen 607c020e7e Added fast font routine using unrolled loops 2017-07-04 13:34:25 -07:00
Rob McMullen 95cd30c5ac Added damage option to supply to user the size of the sprite for background regeneration 2017-07-03 21:22:58 -07:00
Rob McMullen 41ce921322 Changed complicated push/pull to simple EOR to choose a page 2017-07-03 16:33:22 -07:00
Rob McMullen 22d12dc34f Fixed push/pull framework. Works on page1 2017-07-03 07:54:40 -07:00
Rob McMullen 89db8f6406 Optimization: don't have to inx in sprite code, can hardcode the increase in the array position 2017-07-02 21:54:04 -07:00
Rob McMullen d748e2b737 push/pull framework for drawing sprites to either page 2017-07-02 21:38:32 -07:00
Rob McMullen cf5c47e121 Color background test 2017-07-02 19:58:07 -07:00
Rob McMullen c3a9f1478c Added autogeneration of restorebg_init and restorebg_driver 2017-07-01 08:27:06 -07:00
Rob McMullen d7ed49b7c2 Added generated code for backing store save/restore 2017-06-30 22:58:42 -07:00
Rob McMullen 695f589d1b backingstore: mini optimization using smc instead of recomputing the column 2017-06-30 21:56:27 -07:00
Rob McMullen 9725c1bfd4 Ha! Figured out what the _smc suffix means... Self Modifying Code 2017-06-30 21:51:23 -07:00
Rob McMullen c7defdfa81 renderloop: use a round robin so all sprites get the same amount of flicker 2017-06-30 14:43:28 -07:00
Rob McMullen b817b9e1aa Made color selection in PNGs a little more forgiving 2017-06-30 14:13:42 -07:00
Rob McMullen 2704f6f9a4 Updated sample program to alternate between using the delay routine and going full speed 2017-06-30 13:02:47 -07:00
Rob McMullen 18101794b9 Added option to clobber registers in sprite code
* caller has to save what they need, but saves 26 cycles
2017-06-30 12:52:15 -07:00
Rob McMullen 6dfab0efb5 optimization to save the X mod value -- it's the same for every row 2017-06-30 12:33:27 -07:00
Rob McMullen b3a4a5b5b4 generateBlitter: restructured to use self.asm and optimization to remove trailing iny when at the end of a row 2017-06-30 12:32:31 -07:00
Rob McMullen 8951869372 Added multi-file generation in one step using a prefix
* changed testcase to use second type of sprite
* added hand-coded 3x8 backing store
2017-06-29 23:16:49 -07:00
Rob McMullen 6c794b855e Added direction flag instead of using signed bytes. This gets us to 255 horizontal positions for bw sprites 2017-06-29 12:39:29 -07:00
Rob McMullen b2842a1c39 Backing store driver and sample implementation for 3 byte * 11 row sprites 2017-06-29 11:48:25 -07:00
Rob McMullen 5d550a6ef0 HiSprite: fixed binary constant formatting
* MAC/65 does indeed do binary constants
2017-06-26 12:40:19 -07:00
Rob McMullen bb6dcae6fb Added sample disk image 2017-06-26 12:35:44 -07:00
Rob McMullen a4ba45872d Finally working demo of color & bw sprite 2017-06-26 12:32:55 -07:00
Rob McMullen 304d1269b3 Makefile: corrected generated file name & added to clean 2017-06-26 12:32:13 -07:00
Rob McMullen 483b0a5903 Fixed bw column lookup table. We're indexing into a table of addresses, so multiply by 2! 2017-06-26 05:48:52 -07:00
Rob McMullen d6666ff027 Fixed mask for bw sprites 2017-06-25 21:13:58 -07:00
Rob McMullen 4e2fb36ae2 WIP for multiple sprites 2017-06-25 08:29:10 -07:00
Rob McMullen 0b39577fac Added test image 2017-06-22 11:20:42 -07:00
Rob McMullen a2c37117dd Added simple movement for sprite 2017-06-22 11:17:31 -07:00
Rob McMullen a5d08f4284 Added mask and changed filler bit to match mask or sprite 2017-06-22 11:10:39 -07:00
Rob McMullen bb06a8bf65 Changed optimization that skips the byte write to be based on mask value
* if mask is empty, no pixels change, so no need to write that byte
2017-06-22 10:36:04 -07:00
Rob McMullen 2c4a951a27 Determine palette bit from first *non-black* pixel on the row 2017-06-22 10:27:58 -07:00
Rob McMullen a5907dc2e3 Simplified pixel color logic 2017-06-22 10:01:52 -07:00
Rob McMullen 9b9ebfcb0f Added -n argument to specify name of generated subroutine so I don't have to keep changing my test source when changing sprites 2017-06-22 09:39:40 -07:00
Rob McMullen 3fd63c71d4 Added separate makefile for my new tests 2017-06-22 06:24:39 -07:00
Rob McMullen 39ac771959 Percolate png transparent layer up to main loop 2017-06-21 22:44:45 -07:00
Rob McMullen 0820ad7458 Removed dependency on macro source file; expand the macros ourselves here 2017-06-21 14:28:22 -07:00
Rob McMullen 7ca6dd4ccd Added separate flags for row/col lookup table, and can be appended to sprite code 2017-06-21 14:11:48 -07:00
Rob McMullen 8b5a4afeab Added support for BW & Color HGR sprites & framework for supporting other screen types 2017-06-21 14:03:53 -07:00
Rob McMullen 1be718c206 Fixed MAC/65 support because it can't do binary constants 2017-06-20 22:09:27 -07:00
Rob McMullen 0f342f993e Added multiple bytes per line in data statements 2017-06-20 21:46:16 -07:00
Rob McMullen 3afe35febe Added processor and assembler syntax options
* added complete lookup table generation
2017-06-20 20:12:17 -07:00
Rob McMullen d02300573d Initial working object-based generator 2017-06-20 15:59:56 -07:00
Rob McMullen 8a1de40e0e Converted intentation to spaces instead of tabs 2017-06-20 06:37:57 -07:00
blondie7575 d05bc7af85 Merge pull request #4 from robmcmullen/hisprite
HiSprite.py changes only
2017-05-31 18:57:37 -07:00
Rob McMullen b74d5141a1 Modifications to jump table for vanilla 6502 support
* added argparse for argument parsing & printing usage
2017-05-30 14:06:33 -07:00
Quinn Dunki 34e34055d4 Cleaned up BG stuff I’m never going to use 2017-05-29 13:20:47 -07:00
Quinn Dunki ca2bd7c586 Optimization & refinement
- Compiler now tracks cycle counts of blitters
- More interesting sample app
- Better VBL sync macro
2017-05-29 13:14:37 -07:00