Commit Graph

109 Commits

Author SHA1 Message Date
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
Quinn Dunki
b3f9fdfd7d Merge branch 'master' of https://github.com/blondie7575/HiSprite 2017-05-28 11:56:27 -07:00
Quinn Dunki
d9cb4bd8af Optimization and fleshing out of demo app 2017-05-28 11:55:20 -07:00
blondie7575
b1828eaa91 Merge pull request #1 from robmcmullen/master
pypng on my platform returns an iterator for pixelData
2017-05-01 09:03:06 -07:00
Rob McMullen
ffcfab2ca2 pypng on my platform returns an iterator instead of a sequence of bytes, so have to force pixelData to a list 2017-04-29 19:36:01 -07:00
Quinn Dunki
f031405e33 Working parallel sprite demo 2017-04-02 19:54:51 -07:00
Quinn Dunki
537e1e0544 Put an old optimization back in 2017-03-26 11:02:22 -07:00
Quinn Dunki
2d92fa90cf Revert 2017-02-26 20:18:20 -08:00
Quinn Dunki
110760c8b1 Proof of concept for page flipping 2017-02-26 20:17:22 -08:00
Quinn Dunki
9284814222 Cleanup, early support for page 2 2017-02-25 16:30:30 -08:00
Quinn Dunki
386b338c23 Code cleanup
- Also fixed a bug with high bit determination
2016-12-25 13:43:14 -07:00
Quinn Dunki
56e75f426e Fixed background save/restore for 6-byte sprites
Also added interesting background test image and utility functions
2016-12-22 14:28:46 -08:00