Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: Инициализация TR-DOS

  1. #1
    Member
    Регистрация
    27.01.2005
    Адрес
    С.-Петербург
    Сообщений
    93
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Инициализация TR-DOS

    Вплотную подошёл к тому, чтобы разрабатываемая программа считала наконец-таки что-то с диска. Пишу на IAR-C, компилирую в sna-формат, а посему вопрос:
    Какие системные переменные нужно инициализировать, чтобы потом можно было вызывать TR-DOS через 0x3D13. В "ZX-Spectum и TR-DOS для пользователей и программистов 3-е издание, Питер, С-Петербург, 1994" на странице 179 написано:
    Точка по адресу 15649 (прим. valker: 0x3D21)... её назначение - установка системы TR-DOS. При этом в памяти открывается область системных переменных и происходит её инициализация.
    Следовательно вопрос такой:
    Какие переменные должны быть установлены ПЕРЕД вызовом 0x3D21?

    Заранее спасибо.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Master
    Регистрация
    27.04.2005
    Адрес
    Москва
    Сообщений
    886
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Логично предположить, что программу ты уже загрузил с диска. При этом TR-DOS уже была инициализирована и делать ничего не надо. Просто работаешь и все.
    Это нужно только в том случае, если первым обращением было обращение к #3D13 после команды NEW или USR 0. Это возможно только если мы имеем резидент, оставшийся после NEW, или загрузили нашу программу с магнитофона. Это редкость.
    Я сам никогда этим не пользовался. Можешь почитать дизассемблер - там я писал все параметры. Кажется ничего не надо (хотя подразумевается что бейсик-48 жив и здоров). Только тогда надо еще кучу всего делать - определять дисководы например.
    В общем гемор. Если действительно не надо - не связывайся.

  4. Этот пользователь поблагодарил Sonic за это полезное сообщение:

    Barmaley_m (05.02.2022)

  5. #3
    Member
    Регистрация
    27.01.2005
    Адрес
    С.-Петербург
    Сообщений
    93
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sonic Посмотреть сообщение
    Логично предположить, что программу ты уже загрузил с диска. При этом TR-DOS уже была инициализирована и делать ничего не надо. Просто работаешь и все.
    Это нужно только в том случае, если первым обращением было обращение к #3D13 после команды NEW или USR 0. Это возможно только если мы имеем резидент, оставшийся после NEW, или загрузили нашу программу с магнитофона. Это редкость.
    Я сам никогда этим не пользовался. Можешь почитать дизассемблер - там я писал все параметры. Кажется ничего не надо (хотя подразумевается что бейсик-48 жив и здоров). Только тогда надо еще кучу всего делать - определять дисководы например.
    В общем гемор. Если действительно не надо - не связывайся.
    Видимо, при загрузке на реальном спектруме так и будет. НО! Дело в том, что я работаю под эмулятором (unreal) и гружу подготовленный образ в sna-формате. В нём по всем адресам системных переменных и бейсика и TR-DOS лежат банальные нули.

  6. #4
    Guru
    Регистрация
    16.11.2005
    Адрес
    Санкт-Петербург
    Сообщений
    2,893
    Спасибо Благодарностей отдано 
    1,125
    Спасибо Благодарностей получено 
    343
    Поблагодарили
    190 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от valker Посмотреть сообщение
    В нём по всем адресам системных переменных и бейсика и TR-DOS лежат банальные нули.
    Проинициализируй все, сохрани все эти переменные. А потом запихивай их каждый раз в sna-файл.

  7. Этот пользователь поблагодарил Evgeny Muchkin за это полезное сообщение:

    Barmaley_m (05.02.2022)

  8. #5
    Member
    Регистрация
    06.05.2019
    Адрес
    г. Подольск
    Сообщений
    87
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Скиньте dump нужных инициализированных переменных системы и tr-dos, чтобы из .sna работать с tr-dos. Другое решение, тоже подойдёт.

  9. #6
    Veteran Аватар для Bedazzle
    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,487
    Спасибо Благодарностей отдано 
    219
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    115 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Biland Посмотреть сообщение
    Скиньте dump нужных инициализированных переменных системы и tr-dos, чтобы из .sna работать с tr-dos. Другое решение, тоже подойдёт.
    Если в лоб, то

    1. Загрузить эмуль
    2. Выполнить randomize usr 15619: rem: list
    3. Сохранить область системных переменных
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

  10. #7
    Veteran Аватар для Raydac
    Регистрация
    16.08.2005
    Адрес
    Estonia,Tallinn
    Сообщений
    1,128
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    179 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вроде SNA формат ничего не знает про трдос и у него нет флага должна или нет быть активирована пзу трдоса, даже в 128к расширении там только добавлен PC счетчик и 7ffd

  11. #8
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,773
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    1,178
    Поблагодарили
    774 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Raydac Посмотреть сообщение
    вроде SNA формат ничего не знает про трдос и у него нет флага должна или нет быть активирована пзу трдоса, даже в 128к расширении
    перечитай описание формата

  12. #9
    Veteran Аватар для Raydac
    Регистрация
    16.08.2005
    Адрес
    Estonia,Tallinn
    Сообщений
    1,128
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    179 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    перечитай описание формата
    и где там?

  13. #10
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,773
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    1,178
    Поблагодарили
    774 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию sna128

    Offset Size Description
    ------------------------------------------------------------------------
    0 27 bytes SNA header (see above)
    27 16Kb bytes RAM bank 5 \
    16411 16Kb bytes RAM bank 2 } - as standard 48Kb SNA file
    32795 16Kb bytes RAM bank n / (currently paged bank)
    49179 2 word PC
    49181 1 byte port 0x7ffd setting
    49182 1 byte TR-DOS rom paged (1) or not (0)
    49183 16Kb bytes remaining RAM banks in ascending order
    ...
    ------------------------------------------------------------------------
    Total: 131103 or 147487 bytes

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Инициализация системы
    от breeze в разделе Программирование
    Ответов: 13
    Последнее: 24.03.2005, 10:03

Ваши права

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