Сначала инициализировал системные переменные (взял код из ПЗУ по адресам по адресам 11EF-12A2).
Дальше взял кусок кода из процедуры LD-PROG. Формирую header бейсик файла, подставляю туда нужные данные (длина файла, длина бейсик-части, стартовая строка), дальше, если я правильно понял, в коде резервируется место для альтернативного header'а, куда сохраняются данные о текущей бейсик-программе в памяти, на основании которых удаляется текущая бейсик-программа и резервируется место для новой программы.
Потом загружаю бейсик программу в нужные адреса памяти, загружаю указатель стека из системной переменной ERR-SP: LD SP,(23613) и делаю переход на 0x1B7d, "STMT-R-1".
Программа запускается (у меня простейшая программа, выводящая числа на экран в цикле). Но как только я её останавливаю через Break, всё виснет.