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

User Tag List

Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 27 из 27

Тема: Общие вопросы эмуляции TR-DOS и ВГ93

  1. #21
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я не вижу здесь #3D13
    Точку входа #3C03 я не знаю
    Работали ли ВСЕ схемы со старыми версиями ПЗУ , я тоже не знаю.
    Просто в некоторых схемах контроллеров сдвиг точки входа на 1 байт вперед приводил к неработоспособности программ.
    Вот пример статьи:
    http://zxpress.ru/article.php?id=1858
    Последний раз редактировалось IanPo; 29.05.2020 в 13:56.
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

  2. #22
    Member
    Регистрация
    31.07.2006
    Адрес
    Kharkov Ukraine
    Сообщений
    178
    Спасибо Благодарностей отдано 
    36
    Спасибо Благодарностей получено 
    52
    Поблагодарили
    24 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Я не вижу здесь #3D13
    Точку входа #3C03 я не знаю
    у оригинальных первых версий контроллеров Beta-Disk V2, V3 и V4 окно доступа было в #3Cxx, это уже в православном V5 AKA Beta-128 его изменили на #3Dxx ради совместимости с 128ми моделями, хотя точки входа #3Cxx оставили в ПЗУ для совместимости с имеющимся софтом, плюс тумблер включающий "старое" окно.

    но смысл абсолютно тот же: 3С00 (15360) делает то же что и 3D00 (15616), 3С03 то же что и 3D03.
    доступ из машинного кода там совсем по-другому, да и вообще он во всех версиях разный, и видимо вообще не предполагалось что разработчики отдизасмят прошивку и будут вызывать оттуда всякое.

    кстати, не поленился проверил все имеющиеся оригинальные прошивки - NOP-ы появились лишь в 5-ой версии, да и то лишь в 3Dxx, а в 3Cxx там RST#38 вместо NOP-ов.

    Цитата Сообщение от IanPo Посмотреть сообщение
    Вот пример статьи:
    http://zxpress.ru/article.php?id=1858
    там в конце такое:
    Наверное, заблуждение с командами выхода в DOS надуманно и,
    скорее, от лукавого. Я сам с такими проблемами не сталкивался и
    ничего более добавить не могу.
    офигенская статья, чо
    Последний раз редактировалось MetalliC; 29.05.2020 в 16:20.

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

    [bETA]mEN (29.05.2020)

  4. #23
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я могу лишь предположить, что NOPы как раз из-за кривых контроллеров и появились,
    а старые версии TR-DOS тестировались на нормальном оборудовании, которое было у разработчиков.
    А в чем вообще смысл копания в старых прошивках?

    И еще момент:
    для входа в TR-DOS адрес должен быть #3Dxx, #3C не пройдет аппаратно. Или так было в старых схемах?
    Последний раз редактировалось IanPo; 29.05.2020 в 21:42.
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

  5. #24
    Member
    Регистрация
    31.07.2006
    Адрес
    Kharkov Ukraine
    Сообщений
    178
    Спасибо Благодарностей отдано 
    36
    Спасибо Благодарностей получено 
    52
    Поблагодарили
    24 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Я могу лишь предположить, что NOPы как раз из-за кривых контроллеров и появились,
    а старые версии TR-DOS тестировались на нормальном оборудовании, которое было у разработчиков.
    фиг его знает почему так, зачем авторы добавили те NOP-ы и почему оно работает и без них на наших клонах.
    можешь поизучать схемы оригинальных контроллеров тут http://zx-pk.ru/showpost.php?p=460139&postcount=56 или там https://cygnus.speccy.cz/popis_trdos-schema.php

    если тыкать от-балды пальцем в небо - могу предположить, что D7 (буфер шины данных, 74LS245 ~аналог 555АП6, появившийся в оригинальной схеме V5 и типично отсутствующий в наших клонах), может вносить какую-то задержку выдачи данных на шину. но это не точно (с)

    Цитата Сообщение от IanPo Посмотреть сообщение
    А в чем вообще смысл копания в старых прошивках?
    типа цифровая археология в частности я щас на досуге ковыряюсь и делаю эмуляцию всех этих разновидностей бета-дисков в MAME, из любопытства, ну и "шоб было".
    а так - всё это по сути древний хлам, вне зависимости от версии.

    Цитата Сообщение от IanPo Посмотреть сообщение
    И еще момент:
    для входа в TR-DOS адрес должен быть #3Dxx, #3C не пройдет аппаратно. Или так было в старых схемах?
    у каждой версии была своя схема/плата.

    add: у родного Beta-128 был режим совместимости, смотри на схеме по ссылке выше, активировался переключателем S1
    NOTES:
    1. R8, R9, VD8 provide compatibility with software on addresses #3C00/#3C03 (15360/15363 dec.) and are not installed on some PCBs.
    но в наших клонах это выпилили.
    Последний раз редактировалось MetalliC; 31.05.2020 в 04:39.

  6. Эти 2 пользователя(ей) поблагодарили MetalliC за это полезное сообщение:

    Djoni (01.06.2020), [bETA]mEN (31.05.2020)

  7. #25
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,406
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MetalliC Посмотреть сообщение
    если мне не изменяет склероз, в некоторых вариантах мейджика бывали проблемы с дребезгом кнопки и длительностью импульса, а не переключением ПЗУ.
    не, меджик то отдельная тема. Там проблема встречалась именно с переключением пзу в момент когда была замаплена обычная пзу бейсика, а процессор начинал выборку из окна перехода в пзу трдос. Я этот глюк сам видел на живом спектруме.

    Сейчас уже сложно сказать из-за чего именно баг происходил, но связан он был с тем что не на всех контроллерах происходило корректное чтение первого байта сразу в момент выборки пзу трдос. Может из-за того что в момент выборки сразу оба пзу (бейсик и трдос) давали свои данные на шину, может из-за длины проводников шины данных/адреса и линии выборки, или еще из-за чего. Но факт такого бага имел место быть...

    Возможно из-за того, что сразу после выборки нового ПЗУ, старое оставалось ещё некоторое время выбранным и возникал конфликт двух ПЗУ на шине. Т.к. в пзу бейсика и в пзу трдос по этому адресу 0, то это не мешает работе. Но если бы в одном из пзу был не 0, то читался бы неправильный опкод.
    Последний раз редактировалось ZXMAK; 09.06.2020 в 06:07.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  8. #26
    Member
    Регистрация
    31.07.2006
    Адрес
    Kharkov Ukraine
    Сообщений
    178
    Спасибо Благодарностей отдано 
    36
    Спасибо Благодарностей получено 
    52
    Поблагодарили
    24 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    не, меджик то отдельная тема. Там проблема встречалась именно с переключением пзу в момент когда была замаплена обычная пзу бейсика, а процессор начинал выборку из окна перехода в пзу трдос.
    странненько, в оригинальных девайсах мейжик срабатывает лишь в моменты доступа процессора к ОЗУ (нажата_кнопка && /MREQ==0 && (A15|A14)). а если код выполняется в ПЗУ и ничего не читает/пишет из области >4000 - жми кнопку хоть до усрачки, никакой магии не будет

    но дальше мутноватая схема на 2х одновибраторах - один генерит /NMI а другой переключает ПЗУ, почему сделано именно так - я хз.
    Последний раз редактировалось MetalliC; 09.06.2020 в 08:27.

  9. #27
    Member
    Регистрация
    31.07.2006
    Адрес
    Kharkov Ukraine
    Сообщений
    178
    Спасибо Благодарностей отдано 
    36
    Спасибо Благодарностей получено 
    52
    Поблагодарили
    24 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    но связан он был с тем что не на всех контроллерах происходило корректное чтение первого байта сразу в момент выборки пзу трдос.
    у меня есть другая теория, более прозаичная

    в схемах многих дисковых интерфейсов для спектрума с активацией при исполнении команд по определенным адресам часто используется синхронное переключение триггера "DOSEN" по переднему фронту /M1 или /MREQ (при переходе с низкого уровня в высокий, заведенному на CLK триггера и дешифрованному адресу на вход D триггера), то есть переключение происходит уже после выборки кода команды из памяти.

    я бы лично поставил на то, что инженеры из TR подсмотрели реализацию у конкурентов и сперва сделали по такому же принципу, и сделали прошивку с учетом этого дела с NOP-ами, но позже упростили схему и сделали асинхронное вкл/выкл через /S и /R триггера, как оно и есть на всех известных на данный момент схемах, с "мгновенным" переключением без задержки, а уже не нужные NOP-ы так и оставили.
    Последний раз редактировалось MetalliC; 16.07.2020 в 20:21.

Страница 3 из 3 ПерваяПервая 123

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

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

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

Похожие темы

  1. Корвет: Общие вопросы
    от DATAsoft в разделе Корвет
    Ответов: 245
    Последнее: 22.10.2023, 05:03
  2. ПК8000 - Общие вопросы
    от Mick в разделе ПК8000
    Ответов: 596
    Последнее: 19.04.2023, 21:02
  3. Общие вопросы по УКНЦ
    от S_V_B в разделе ДВК, УКНЦ
    Ответов: 240
    Последнее: 13.08.2020, 14:26
  4. Ответов: 4
    Последнее: 21.08.2014, 02:52
  5. Общие вопросы по клавиатуре.
    от Viktor2312 в разделе Устройства ввода
    Ответов: 7
    Последнее: 02.01.2014, 23:58

Ваши права

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