If you try to include any assembly module more than once, the assembler will complain about duplicate symbols that are defined in each. There are a super huge number of these, including the labels for each section of the image data itself. That's why there are separate modules for multiples of each image type within the titlescreen kernel itself (e.g. 48x1_1_kernel.asm, 48x1_2_kernel.asm, etc.) with the appropriate prefix in each one for the symbols used within each file so that none of them conflict with one another. With multiple titlescreen kernels, all of these would conflict without a massive effort to rename all of them in all of the modules that are used. That was part of my reason for creating the aforementioned splash screen - it's something that's a tiny subset of the titlescreen kernel's functionality, but it uses different symbols so it doesn't conflict in a project that also uses the titlescreen kernel.