mirror of
https://github.com/KrisKennaway/ii-vision.git
synced 2024-06-26 00:29:29 +00:00
- For HGRBitmap introduce a packed representation in the form hhHaaaaaaaABbbbbbbbFff where capitals indicate the location of the palette bit. i.e. for header and footer we include the neighbouring 2 data bits as in DHGR but also the palette bit from that byte, which is necessary to understand how these data bits unpack into dots. The nonstandard ordering of the palette bit for the odd data byte (B) is so that the masking by byte offset produces a contiguous sequence of bits, i.e. the 14-bit masked representation is still dense. - Introduce a to_dots() classmethod that converts from the masked bit representation of dots influenced by a screen byte to the actual sequence of screen dots. For DHGR this is the identity map since there are no shenanigans with palette bits causing dots to shift around. - Add a bunch more unit tests, and add back the Sather tests for HGR artifact colours from palette bit interference, which now all pass! - Reduce the size of the precomputed edit distance matrix by half by exploiting the fact that it is symmetrical under i << N + j <-> j << N + i where N is the size of the masked bit representation (i.e. transposing the original (i, j) -> dist metric matrix). |
||
---|---|---|
.. | ||
data | ||
audio.py | ||
colours_test.py | ||
colours.py | ||
frame_grabber_test.py | ||
frame_grabber.py | ||
machine.py | ||
main.py | ||
make_data_tables_test.py | ||
make_data_tables.py | ||
movie.py | ||
opcodes_test.py | ||
opcodes.py | ||
palette.py | ||
screen_test.py | ||
screen.py | ||
symbol_table_test.py | ||
symbol_table.py | ||
video_mode.py | ||
video_test.py | ||
video.py |