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

User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 21

Тема: ПК8000 - создание тестового ПЗУ и методики типовой проверки

  1. #11
    Activist Аватар для cy6
    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    372
    Спасибо Благодарностей отдано 
    251
    Спасибо Благодарностей получено 
    56
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, я тут подумала что теорию (о независимом выводе на экран и регенерации видеоконтроллером) легко проверить двумя командами.
    Код:
    DI
    HLT
    Запрещаем прерывания процессора и вводим его в ступняк.
    Если на экране будет все хорошо, значит теория верна. Значит процессор не нужен для этой работы, а только для инициализации.

    Не показатель, конечно. Но на эмуляторе Виктора все сработало.
    wtf

  2. #12
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,852
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,835
    Поблагодарили
    1,052 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от cy6 Посмотреть сообщение
    теорию (о независимом выводе на экран и регенерации видеоконтроллером) легко проверить двумя командами
    Какая же это теория, если это давно и многократно проверено на практике. Много классических игр (например ALIBABA, BINARY LAND, ERIC, NINJYA KAGE и т.д.) прекрасно работают при запрещенных прерываниях.

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

    cy6 (28.02.2023)

  4. #13
    Activist Аватар для cy6
    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    372
    Спасибо Благодарностей отдано 
    251
    Спасибо Благодарностей получено 
    56
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Какая же это теория, если это давно и многократно проверено на практике.
    Я то в игры не лазила. А явно об этом никто не написал, или я пропустила.

    Проверила на физике, все именно так и работает. Значит, магические байты нужны для видеоконтроллера. А задача процессора в прерываниях лишь инициализация работы видеоконтроллера.
    На команду RET не обращайте внимания, она для "феншуя".
    Нажмите на изображение для увеличения. 

Название:	photo_2023-02-28_12-08-49.jpg 
Просмотров:	37 
Размер:	28.5 Кб 
ID:	78538

    Теперь интересно было бы двигаться дальше. Например, как работает неинициализированный видеоконтроллер.
    Коли порты занулены, режим по умолчанию 1 (32/24). А вот с адресами в портах 90-93 интересный вопрос. Они же тоже нулевые.
    Последний раз редактировалось cy6; 28.02.2023 в 12:31.
    wtf

  5. #14
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,852
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,835
    Поблагодарили
    1,052 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если подходить не с практической точки зрения, а с академической, то некоторые вопросы с регенерацией еще ждут своих ответов.
    Например:
    1. Выполняется ли регенерация в интервалы верхнего и нижнего бордюров, и если да, то интересны некоторые детали.
    1.1. Когда активная область заканчивается, то с какого адреса продолжается (если продолжается) выборка символов. Дальше до границы 1 (SCR1/2) или 2 (SCR0) килобайт, а потом заворот?
    1.2. По тестам в кадре ПК8000 308 строк. (308-192)/8=14.5, т.е. целое число высот тайлов не укладывается. Это не принципиальная проблема, но источник возможных неоднозначных вариантов реализации.
    1.3. В принципе регенерация на верхнем и нижнем бордюре не строго обязательна. Да, это грубое нарушение требований к РУ5, но скорее всего работоспособность так будет сохраняться.
    2. По поводу выборки крайних (служебных) символов в SCREEN 0 тоже есть вопросы.
    2.1. В строке 160 тактов. (160-40*3)=40 тактов остается на "бока". По тестам там (в отличие от активной области SCREEN 0) 4х тактные циклы, т.е. могли бы выбирать и 10 символов. То, что не меньше 8 - это точно, но есть небольшая вероятность, что 9 или 10.
    2.2. В какие моменты выбираются эти боковые символы. До начала активной области (и потом заворот на начало), в конце "встык", в конце через 2 символа и потом начинается следующая строка или как-то иначе?

    Я не к тому, что надо обязательно и срочно в этом разобраться, но подобные академические вопросы есть и их можно еще придумать.

    - - - Добавлено - - -

    Цитата Сообщение от cy6 Посмотреть сообщение
    Коли порты занулены, режим по умолчанию 1 (32/24)
    Это интересный вопрос, который уже возникал в связи с портом 80. После ресета, как уже уточнили, порты ВВ55 на ввод, если бы при этом порты A, B, C выдавали нули наружу, то схема начального пуска в ПК8000 не была бы нужна, но она есть. Поэтому насчет видеорежима до инициализации ВВ55 не уверен.
    Последний раз редактировалось ivagor; 28.02.2023 в 12:54.

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

    cy6 (01.03.2023)

  7. #15
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,852
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,835
    Поблагодарили
    1,052 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати, если бы даже после ресета ВВ55 выдавала четкие нули наружу, на экране не было бы видно ничего содержательного (типа мусора), т.к. было бы активно гашение (порт 86).
    Последний раз редактировалось ivagor; 28.02.2023 в 18:03. Причина: убрал повтор слова

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

    cy6 (01.03.2023)

  9. #16
    Activist Аватар для cy6
    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    372
    Спасибо Благодарностей отдано 
    251
    Спасибо Благодарностей получено 
    56
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ага. Также, нужны сигналы с ВВ55: GRAPH (графический режим), K0 и K1 (А14 и А15 видео-ОЗУ). Они идут на верхнюю плату, прямо с порта.
    Сигнал гашения DSCR используется только на нижней, для записи в РУ2 цветов, а также для включения/выключения выходных каналов цвета DD28-DD31.

    Но синхра GI/ (КГИ+СГИ) должна присутствовать сразу, так как она ничем не ограничена. Как и сам "видеоадаптер" не выключаемый.
    То есть, при неисправной нижней плате, мы должны видеть blank (пустой экран) с нормальной синхронизацией.
    А вот при сбросе, интересное изображение появляется, напоминающее букву Н.

    - - - Добавлено - - -

    На реальной Суре. Набрала команды
    Код:
    screen 1
    color 0, 0, 15
    Получила такую же H.
    Изменила цвет
    Код:
    color 0, 4, 15
    При кнопке сброс, отображается с тем же цветом, вместо символов - мусор.
    Ну тут понятно, цвет хранит РУ2 и сброс на него никак не влияет.

    Получается, что стартует все таки в режиме 1?
    Если где то в ПЗУ, не происходит временное переключение сначала в него, а потом в режим 0.

    У меня цвет не подключен (ч/б и серый). На цветном все сразу должно быть очевидно.
    wtf

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

  11. #17
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,852
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,835
    Поблагодарили
    1,052 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от cy6 Посмотреть сообщение
    Получается, что стартует все таки в режиме 1?
    Если где то в ПЗУ, не происходит временное переключение сначала в него, а потом в режим 0.
    Если речь теперь про штатное пзу, то вернемся к началу инициализации
    В обоих вариантах по out 87h порт A (84) настроится на вывод и там будет 0, соответственно режим 1 (но штатная процедура включения режима не вызывается и не производится штатная для этого режима инициализация видеопамяти). Потом тратится некоторое время на разные действия и включается режим 0 уже штатной процедурой.

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

    cy6 (01.03.2023)

  13. #18
    Activist Аватар для cy6
    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    372
    Спасибо Благодарностей отдано 
    251
    Спасибо Благодарностей получено 
    56
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от cy6 Посмотреть сообщение
    Получается, что стартует все таки в режиме 1?
    Если где то в ПЗУ, не происходит временное переключение сначала в него, а потом в режим 0.
    Пробежалась логическим пробником (ИЛЗ-01) и вот какая картина.

    После включения ПЭВМ, выводы DD32 находятся в третьем состоянии (настроены на ввод).
    Любые получатели сигналов с нее, получают только собственную входную подтяжку, если она у них есть.
    Именно поэтому, горит светодиод ALF, который получает свой ноль с выхода инвертора DD1.2. А сам инвертор, на вход ничего не получает, но вход подтянут к логической единице.

    Для видео режима, имеем такую картину: SYMB40=1, SYMB32=0. Кажется, что активен режим 0.
    Но выход GRAPH, не буферизован логикой, и не имеет сигнала (Hi-Z). У адресатов с подтяжкой, он оказывается равен 1. А это значит, активен тот самый, никому неизвестный режим 3 (который скорее всего не существует, так как создает противоречия).

    Итого, при удачном старте, режимы переключаются так: Режим 0/3 => режим 1 => режим 0.

    Выбор ПЗУ происходит корректно, так как работает схема начального запуска. То есть, карта памяти с неинициализированной DD33 (в состоянии Hi-Z), отключена схемой начального запуска.
    wtf

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

    ivagor (07.03.2023)

  15. #19
    Activist Аватар для cy6
    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    372
    Спасибо Благодарностей отдано 
    251
    Спасибо Благодарностей получено 
    56
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Теперь, после выяснения основных принципов работы ПК8000, можно сказать следующее.

    1) Использование посторонних схем "шагалок", это мой личный бред. Встроенная шагалка уже есть.
    2) Чтобы иметь возможность видеть не только первую команду, нужно ее доработать включением в разрыв КТ.
    3) Сигнал READY, ничем кроме ПЛМ, генерироваться не должен никогда, поскольку процессор на ПК8000 полностью подчинен видеоадаптеру.
    (Видеоадаптер состоит из генератора частот, формирователя сигналов на ПЛМ, шины цветности, видеопамяти и системы сериализации точек)
    (Процессор управляется видеоадаптером с помощью тактовой частоты F1+F2 и сигнала торможения READY, то есть система разгон-торможение)
    4) По нажатию кнопки "шаг", должно активироваться разрешение на пропуск только одного сигнала READY, формирование которого от нас не зависит.

    Термин "видеопамять", здесь используется не как в стандартной инструкции.
    По сути, вся ОЗУ является видеопамятью, в первую очередь. Потому что, окно видеопамяти можно установить на любую его область.
    На железном уровне, видеоадаптер обладает исключительным правом доступа ко всей области ОЗУ.
    А процессору только иногда разрешается туда заглядывать.
    К тому же, процессор лазает туда через карту памяти, а видеоадаптер напрямую.
    Видеоадаптер нельзя остановить, он обращается к видеопамяти независимо от состояния процессора. Так как видеоадаптер подчиняется лишь собственному генератору частот.

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

Название:	Sura-Mick-DD18.1.jpg 
Просмотров:	21 
Размер:	17.7 Кб 
ID:	78638
    То это вроде уже готовая шагалка, синхронизированная по Sync-Strobe и по F1?
    Есть КТ, которую можно не разрывать, а пропускать в нужный момент лишь один фронт 1=>0 (шаг).
    Сам же фронт делает родная схема, выходит некий "феншуй" соблюдается.
    - - - Добавлено - - -

    Также, есть мысль по поводу тестового ПЗУ.

    Конечно же, лучше всего ее подключать сразу через разъем расширения.
    Но как быть с тем, что схема запуска принудительно выбирает встроенное ПЗУ при старте?
    Которое, между прочим, может быть совсем неисправно.

    Для этого, на нижней плате есть КТ, при разрыве которого выбор встроенного ПЗУ снимается.
    А это значит, что на выставленные процессором на ША адреса, можно спокойно выставлять на ШД данные прямо с разъёма расширения.
    Остается только доработать КТ, для автоматического ее "разрыва", при подключения внешнего картриджа ПЗУ.

    Само собой, если ПЗУ тестовое, то первым делом нужно обнаружить ПЗУ встроенное.
    А именно, его версию (1.0/1.1/1.2) и проверку контрольных сумм на блоке каждого чипа.
    Последний раз редактировалось cy6; 22.03.2023 в 02:09.
    wtf

  16. #20
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,852
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,835
    Поблагодарили
    1,052 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от cy6 Посмотреть сообщение
    К тому же, процессор лазает туда через карту памяти, а видеоадаптер напрямую.
    Это на чтение, на запись процессор тоже напрямую.

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

    cy6 (22.03.2023)

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 76
    Последнее: 22.08.2019, 21:33
  2. Ответов: 6
    Последнее: 30.07.2018, 09:04
  3. Ответов: 29
    Последнее: 24.10.2013, 19:32
  4. Посоветуйте софт для проверки HDD
    от ZXMAK в разделе Внешние накопители
    Ответов: 0
    Последнее: 03.06.2012, 18:42
  5. Ответов: 33
    Последнее: 22.07.2008, 10:46

Ваши права

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