Nice work mate. Good to see another version of this. <-

albeit the intro fade in/out i skipped over... as i just wanted to test/achieve the inverse blit so that the rasters show through on the text. more learning.
Could you post your code so I can check out the transparent blit method etc? I'm always keen to add new routines to my library. <- sure, check the google drive, its on there. lmk if its missing anything (and if any other PB fanatics want to check out the code... lmk also). the gist of it is, create a new 32bit image to blit to, load/catch your image then blit it to the new 32bit image, then convert the background of it, eg RGB(0, 0, 0) to RGBA(0, 0, 0, 0). this then allows the drawing mode alpha channel to only blit the alpha values leaving the rest of the image untouched. the image must be 32bit (not 24bit) as it needs to use the alpha channel with the PB drawing modes. therefore... you draw the underneath (eg the moving color rasters) with drawing mode all channels (RGBA), then draw the scroller on top of it with alpha channel only (A)... aka 'cut out' effect. very similar how you do it with dx9 and your transparent blit proc.
I've moved from 5.73 x86 to 6.41 x64 as my new AtariAudio music library works with x64 so I doubt i'll use OSME now as it was 20+ years old C and would sometime crash out with memory <- ahh nice. im still using pb 6.2.0 32bit, since the audio (osme and others) work with it still... as for PB 64bit nope, and PB 6.4.0+ nope. :/ and i dont have the skillset to update/compile my own libraries for use. i did test out bass.dll, and it works, but i dont want an extra .dll floating around (or have it unpack in a temp dir at runtime)... i just want it all packed within the .exe as it has always been and then unpack to memory.
AtariAudio adds an additional 300k to the exe compared OSME but I can live with it! <- ah yeh... so be it i guess. an extra 300k, it is what it is... for the convenience.