Оказывается, бейсик-48 сохраняет рабочие переменные. Ух ты. Не знал про это.
Эксперимент.
> 10 PRINT a
> RUN
2 Variable not found, 10:1
> LET a=100
> RUN
2 Variable not found, 10:1
> LET a=100
> GOTO 10
100
> SAVE "test_save"
> (RESET)
> LOAD ""
> RUN
2 Variable not found, 10:1
> (RESET)
> LOAD ""
> GOTO 10
100
> SAVE "test_save2" LINE 10
> (RESET)
> LOAD "test_save2"
100
Выводы:
1) SAVE сохранил текущие переменные сессии
2) RUN стирает переменные перед запуском
3) Автостарт это GOTO 10, а не RUN 10
4) При парсинге TAP-файлов надо вытаскивать и сохраненные переменные