God I love this! I was afraid to learn how to use UberASM, but this stuff makes me want to experiment more. The best thing about this patch is that it considerably reduces the processing cost compared to the lightbulb sprite.
The only issue I had in moderation was if I enabled the transition, it would not insert due to a branch out of bounds. I fixed that upon approval, so no more worries there. Also made it easier to change the sound effect channel and cleaned up the SA-1 compatibility.
NOTE: Doesn't work with vanilla light switch and dark room.
Fixed the bug where pausing the game will keep the effect going (bugging the music in the process), also did a better gif. No major changes in the code were done. Ironic how the requester of this code fixed its bug, right?