По-моему создать небольшой кодовый блок средствами бейсика (data/read/poke) при старте программы и использовать код - вполне элегантное решение. Это не затрудняет листинг программы (как в предложенном мной варианте) и не требует подгрузки дополнительных блоков. А учитывая что размер кодовых блоков - мизерный, то создание оных в памяти дело пары секунд.
- - - Добавлено - - -
Второй вариант, как предложил я - влепить всё в REM строку первую (нулевую) и вызывать оттуда.
Но тут есть одно НО - вызывать придется не напрямую указывая адрес (например - RANDOMIZE USR 23760) а относительно переменной PROG (не пинайте - не помню точного названия) - ведь могут быть инициализированы переменные TR-DOS или-что-то-там-ещё что отодвигает программу от адреса 23755, соответственно и код двигает. Но вызывать так - не особо удобно - RANDOMIZE USR 5+PEEK PROG+PEEK (PROG+1)*256
- - - Добавлено - - -
Ну и соответственно надо будет сделать так, чтобы процедуры в REM строке был релоцируемыми или же при первом обращении перекидывали куда-нить в память кусок кода и работали оттуда, что вообще извратом попахивает.




Ответить с цитированием