mirror of
https://github.com/KrisKennaway/ii-vision.git
synced 2025-02-22 15:29:06 +00:00
scheduling audio + video. Use a combined "fat" audio + video opcode that combines several features: - constant cycle count of 73 cycles/opcode (=14364 Hz) - page and content are controlled per opcode - each opcode does 4 offset stores (hence 57456 stores/sec) - tick speaker twice per opcode, with varying duty cycles 4 .. 70 in units of 2 cycles - thus 32 opcodes, or 5-bit audio @ 14364 Hz The price for this is that we need per-page variants of the opcodes, and at 53 bytes/opcode they won't (quite) all fit even in AUX RAM. The good news is that with some further work it should be possible to reduce this footprint by having opcodes share implementation by JMPing into a common tail sequence. Also introduce some ticks in approximately correct places during the ACK slow path, as a proof of concept that this does mitigate the clicking. This works and gives reasonable quality audio!
Description
Streaming video and audio for Apple II
Languages
Python
71.4%
Assembly
14.5%
Makefile
7.2%
Shell
4.9%
AppleScript
2%