Yay! Another Bad Apple!! demo thingy!
I originally made this last year as an exercise, and oh boy did it turn out to be an exercise in frustration. Simply put, this is the Bad Apple!! shadow art video, displayed on top of Sonic 1 by using the 32X. Because why not.
This is the entire video, at 30 FPS (or 25 FPS in PAL), with its original audio played back via the PWM sound chip. It's displayed with only 2 colors mainly for optimization, meaning cramming 8 images into 1 and then using palette cycling to highlight the pixels of a specific image, by assigning an image per bit in each pixel (because 32X palette mode uses 8 bits per pixel). Helps with storing less data in the ROM, and also makes streaming a lot easier, as I only have to retrieve a new image every 32 frames (not 16, because each video frame is displayed for 2 frames, so yay, bonus time). The video and audio are streamed out into the 32X's memory from cartridge, which uses the Sega (SSF2) mapper to enable bankswitching and be able to store all the data.
In terms of emulation, I only know that it works on PicoDrive and ares, because they support both the 32X and Sega mapper simultaneously. I version of PicoDrive on RetroArch can run this just fine, but not the one on BizHawk, because it's out of date. Kega Fusion will not run this, because it doesn't do the 32X and Sega mapper simultaneously, and it has a 6 MiB limit for the mapper anyways (compared to the actual 32 MiB limit).
In terms of hardware playback, I actually have no idea, because I currently don't have the ability to test right now. I'm admittedly a 32X noob, and the 32X is honestly a massive pain to deal with (there's quite a bit wrong with it, let's put it at that). As a result, I cannot guarantee that it'll run on hardware. In fact, I'd actually be surprised if it does, but I'm not too optimistic, there's probably some kind of problem in the code.
Here. If someone who knows the 32X better than me can point out some problems, I'd like to know.