Jim has already run the Spaceballs video on real hardware and confirmed for me that it works - I needed that before I released it. I don't know how well because I don't have any hardware to test on, but he says it was clear and he timed it for me, and it was within margin of Classic99's playback time, so it must be pretty close. The one difference is there is probably slightly more distortion in the audio, because there is a 50+khz carrier frequency underneath the audio that I don't emulate. But it should also be pretty close.
Audio is running at roughly 13khz. The converter first converts the audio from whatever it is in the video to 8-bit unsigned, and then my own packing tool maps the 8-bit unsigned to the 4-bit logarithmic attenuation of the TI sound chip. It does NOT do a fully accurate conversion, rather it does a manually-tuned scaling, softer sounds are made louder, and louder sounds compressed into the remaining space. I did this after a lot of experimenting, and noticing how soft sounds became crackly or outright lost when cut down to 4-bit. I changed it so a single step on the 8-bit scale became a step on the 4 bit scale, so you could hear it. (Otherwise you needed a step of 16!) While this increases the noise of noisy tracks, it made such an improvement that I kept it. (And if you listen to the 8 bit audio, you'll hear it's not so far off anyway!) I'm still learning what tricks the ear likes and which ones it doesn't, but this one works. I'd still like to test trying to keep the noise channel flat for digital playback, but I don't have a console right now.
After that it's easy. The playback happens in stages. There's a total of 6k of data to send to the screen per frame, split into 8 chunks (four for each table). 6 of the chunks are because we need to change VDP address, and the other two are just to keep all the chunks the same size, which helps a little with the flicker. It sends a chunk of pattern, then the related chunk of color, and then repeats. Every four bytes of video, one byte of audio is sent. And to keep the audio smooth, each time we need to reload the VDP address, we also send an audio byte. (There are no-ops in those areas that we'll eventually need to replace with counters so the video doesn't just loop ).
As noted, the 378 bank switch mechanism will support up to 32MB (that's just how many address lines we have, just need to shoehorn in another 378 (and probably another ROM with associated select circuitry). I'm working on the bigfilehack on and off.
I'm glad you enjoyed, I hope I can see your video.