насколько я понял zxbasic со спрайтами из коробки не работает (максимум символы UDG), поэтому работа со спрайтами через ассемблерные вставки, благо он позволяет пихать их в функции и процедуры. А сам встроенный ассемблер позволяет инклудить внешние бинарные файлы, но там х.з. я всё же не занимался с zxbasic и в английском токо с автопереводом )) Думаю что нужно поискать или создать подходящие вам процедуры работы со спрайтами.
Есть и уже готовые библиотеки, но конкретно по спрайтам видел только чтото про вывод 2x2 знакоместа.
И решение тоже - ассемблер. Какая музыка кстати - бипер или AY ? Для 48k AY - роскошь- редко встречается, а бипер не играет в фоне во время игры (максимум эффекты короткие).
Не очень понял вопрос. Если программа должна создавать какие-то данные которые нужно сохранить, типо отгрузка состояния в игре или чтото подобное, то неужели в zxbasic нет операторов save ?
https://zxbasic.readthedocs.io/en/docs/load/
А если вам нужно просто область памяти для дальнейшей встройки в программу , то нафига в .tap ? Чем бинарник не устраивает ?