Bad Apple!! in Sonic 1 (32X)

Discussion in 'Showroom' started by Devon, Oct 28, 2023.

  1. Devon

    Devon I'm a loser, baby, so why don't you kill me? Member

    Joined:
    Aug 26, 2013
    Messages:
    1,376
    Location:
    your mom
    Bad Apple!! in Sonic 1 (32X)



    [​IMG] [​IMG]
    [​IMG] [​IMG]

    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 the hell not? I can do whatever the fuck I wanna do.

    Technical Nonsense

    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.

    Compatibility

    In terms of emulation, I only know that it works on PicoDrive and ares, because they allow both the 32X and Sega mapper to be used simultaneously. The version of PicoDrive on RetroArch can run this just fine, but not the one on BizHawk, because it's out of date (in fact, don't use BizHawk for this, because the audio will be corrupted and loud, and the video will only play for a bit and then repeat). 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 on hardware).

    In terms of hardware playback, apparently, according to some people, it does work on hardware! I'm actually really surprised, because I'm admittedly a 32X noob, and the 32X is honestly a massive pain to deal with.

    Wasn't this already released in the mini projects thread?

    ...uhhhh... shhh... This one is slightly different, though, as I did fix the background color so that it converts the Genesis background color value to a 32X color value, and then replaces the white with that. So there's that...?

    Credits
    • Me - Programming
    • ZUN - Composed the original version of Bad Apple!!
    • Alstroemeria Records ft. nomico - Making the famous cover of Bad Apple!!
    • Anira - Creator of the original shadow art video
    • Sega - Made the 32X, the reason for my misery

    Links

    Download
    Source Code
     
    Last edited: Oct 28, 2023