User Tag List

Показано с 1 по 10 из 26

Тема: Почему не стартует TR-DOS если только она и зашита в ПЗУ?

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #17

    Регистрация
    08.12.2009
    Адрес
    Харьков
    Сообщений
    58
    Спасибо Благодарностей отдано 
    23
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вроде бы проясняется... термин BASIC 128 не очень удачный. Уместнее говорить, что пока выбрано ROM-0 запустить TR-DOS нельзя и это реализовано аппаратной дешифрацией с учетом 5-го разряда порта 0x7FFD. Когда именно выбрано ROM-0, а когда - ROM-1 - дело "очень тонкое"... и к интерператору языка программирования БЕЙСИК отношение напрямую не имеющее, хоть 128К, хоть 48К версии. В ROM-0 по адресам входа в TR-DOS находится, начиная с 0x3CFE, процедура разбора строки, введенной в редактор-128 на соответствие синтаксису. Т.е. если гипотетичски некоторый код попытается, не переключив страницу ПЗУ, обратиться к 15616 и далее-вызов TR-DOS действительно не произойдет, т.к. 5-й разряд порта не даст.
    Другое дело, что обработка команд при работе интерпретатора БЕЙСИК сопряжена с переключениями страниц ПЗУ между ROM-0(там, откуда стартовали, где меню, 128К редактор и т.д.) и ROM-1(где немного изменённый традиционный 48К, который в основном команды и выполняет)
    Таким образом в момент выполнения любой команды даже из редактора 128 фактически, на момент работы, выбирается ROM-1, а 5-й разряд порта (регистра) дает затенять ROM-1 на TR-DOS.
    Для чего в самом коде TR-DOS обработка посимвольных команд и как они могут туда попасть-не очень пока понятно.

    Посмотрел прошивку ROM-0 Pentagon, там где TR-DOS в главном меню. Реализовано так: по адресу 0x3C16 (15382) в ROM-0 (т.е.той же странице, где меню и откуда стартуем) хранится строка в виде токенов RANDOMIZE USR VAL "15616". Эта строка после выбора пункта меню "TR-DOS" передается на исполнение интерпретатору, вызывая переключение страниц ПЗУ и разрешение затенения ROM-1. Вот это и имелось в виду, когда говорилось, что из BASIC 128 невозможно вызвать TR-DOS...
    Последний раз редактировалось idc; 13.03.2021 в 02:08.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 5
    Последнее: 15.02.2020, 02:28
  2. Ответов: 5
    Последнее: 27.06.2018, 16:50
  3. ZX-Spectrum (Львовский вариант) - не стартует при вставленных ПЗУ
    от andreysur в разделе Несортированное железо
    Ответов: 3
    Последнее: 07.07.2016, 22:23
  4. Зашита от записи в ZXMAK
    от zxmike в разделе Эмуляторы
    Ответов: 1
    Последнее: 16.08.2013, 18:17

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •