Streaming video and audio for Apple II
Go to file
kris 6e2c83c1e5 Introduction more general notion of update priority used to increase
weight of diffs that persist across multiple frames.

For each frame, zero out update priority of bytes that no longer have
a pending diff, and add the edit distance of the remaining diffs.

Zero these out as opcodes are retired.

Replace hamming distance with Damerau-Levenshtein distance of the
encoded pixel colours in the byte, e.g. 0x2A --> GGG0 (taking into
account the half-pixel)

This has a couple of benefits over hamming distance of the bit patterns:
- transposed pixels are weighted less (edit distance 1, not 2+ for
  Hamming)
- coloured pixels are weighted equally as white pixels (not half as
  much)
- weighting changes in palette bit that flip multiple pixel colours

While I'm here, the RLE opcode should emit run_length - 1 so that we
can encode runs of 256 bytes.
2019-03-04 23:09:00 +00:00
ethernet/ethernet Write symbol table to .dbg file when assembling player 2019-02-27 12:10:14 +00:00
simulator - Allow HGR ROM entry point 2019-02-27 22:46:53 +00:00
audio.py Encode audio file into cycle timings and emit tick opcodes. Amazingly, 2019-02-27 14:49:21 +00:00
frame_grabber.py Refactor the various representations of screen memory (bitmap, (x,y) 2019-03-03 22:21:28 +00:00
main.py Refactor the various representations of screen memory (bitmap, (x,y) 2019-03-03 22:21:28 +00:00
memory_map.py Refactor the various representations of screen memory (bitmap, (x,y) 2019-03-03 22:21:28 +00:00
opcodes_test.py Update cycle timing from working ethernet player. 2019-02-23 23:38:14 +00:00
opcodes.py Introduction more general notion of update priority used to increase 2019-03-04 23:09:00 +00:00
scheduler.py Introduction more general notion of update priority used to increase 2019-03-04 23:09:00 +00:00
screen.py Refactor the various representations of screen memory (bitmap, (x,y) 2019-03-03 22:21:28 +00:00
server.py Send contents of out.bin file 2019-02-23 23:28:33 +00:00
symbol_table_test.py Write symbol table to .dbg file when assembling player 2019-02-27 12:10:14 +00:00
symbol_table.py Write symbol table to .dbg file when assembling player 2019-02-27 12:10:14 +00:00
video_test.py Refactor the various representations of screen memory (bitmap, (x,y) 2019-03-03 22:21:28 +00:00
video.py Introduction more general notion of update priority used to increase 2019-03-04 23:09:00 +00:00