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

User Tag List

Страница 82 из 86 ПерваяПервая ... 787980818283848586 ПоследняяПоследняя
Показано с 811 по 820 из 852

Тема: Реверс-инжиниринг БМК 1515ХМ1,2

  1. #811
    Veteran Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    1,859
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    274
    Поблагодарили
    140 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Vslav, вопрос, а возможностей девайсов MiST / MiSTer (DE10-Nano + платы расширений) для УКНЦ хватит?
    Да много каких недорогих плат хватит, если всю память УКНЦ получится на 16-битной SDRAM реализовать. MISTer тоже, конечно, потянет.
    Затык в том, что УКНЦ надо 192К памяти, доступ от двух процессоров плюс видеоконтроллер.

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

    nzeemin (27.07.2020)

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

  4. #812
    Master Аватар для xolod
    Регистрация
    01.02.2010
    Адрес
    Москва
    Сообщений
    591
    Спасибо Благодарностей отдано 
    60
    Спасибо Благодарностей получено 
    86
    Поблагодарили
    41 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Vslav, вопрос, а возможностей девайсов MiST / MiSTer (DE10-Nano + платы расширений) для УКНЦ хватит?
    Бонусом тут идёт поддержка набора уже готовых ядер для домашних компьютеров и игровых консолей.
    https://github.com/MiSTer-devel/Main_MiSTer/wiki
    У MISTERа SDRAM тоже 16bit,
    Зато BRAM целых 5,570Kbit., тоесть можно весь RAM и ROM запихнуть в саму FPGA. Но это не спортивно.

  5. #813
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    11,787
    Спасибо Благодарностей отдано 
    394
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    310 сообщений
    Mentioned
    31 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Сперва не будет, а после устранения проблем уже не в полном соответствии с оригиналом.
    Это поймут не только лишь все)
    По документация, а потом уже в неполном соответствии с оригиналом работают эмуляторы.
    Тоже, но в железе, я думаю, мало кого заинтересует.

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

    Цитата Сообщение от xolod Посмотреть сообщение
    ПЗУ от прототипа УКНЦ Тут.
    Теперь надо совершить еще более важный подвиг - отдать ХМ1-033 на реверс)

  6. #814
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    11,787
    Спасибо Благодарностей отдано 
    394
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    310 сообщений
    Mentioned
    31 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Очень полезный журнал. Благодаря ему, стало понятно, что я расшифровал схему формирования видеосигнала правильно)



    Тут все видно, что после 288 линий экрана идут 3 пустые строки (строчный синхроимпульс отрицательный), затем идут 3 строки кадрового синхроимпульса, во время которого идут инверсные строчные синхроимпульсы, как мне видится, все же удвоенной частоты. Ну а затем опять 18 строк пустых. Всего 24 строки VBLANK. Все тайминги определил правильно, все строки правильно. Ура) Теперь надо найти стандарт на сихнросмесь, чтобы понять, зачем во время кадрового синхроимпульса, строчные инверсные и удвоенные.

    Уточненные времянки строчных и кадрового синхроимпульса:



    VSYN_V_SYNC - это строчные синхроимпульсы во время кадрового синхроимпульса. Всего 3 периода по 3 синхроимпульса. Итого - 9 синхроимпульсов. Частота импульсов утроена, период не стабилен. Импульсы похожи на уравнивающие синхроимпульсы, но непонятно, зачем такие нестандартные.

    VSYN_NO_V_SYNC - это строчные синхроимпульсы во время всех остальных строк. При этом во время кадрового гасящего импульса (3 линии после экрана, 3 линии кадрового синхроимпульса, 18 линий в начале экрана), нет уравнивающих строчных синхроимпульсов с удвоенной частотой. В принципе, оно и понятно, т.к. это необходимо для чересстрочной развертки, но как к этому отнесутся телевизоры - неизвестно.

    Итого:
    1. Передних уравнивающих синхроимпульсов нет (3 линии в конце экрана).
    2. Кадровый синхроимпульс нестандартен, наполнен строчными синхроимпульсами условно утроенной частоты с неодинаковым периодом (3 линии).
    3. Задних уравнивающих синхроимпульсов нет (18 линий в начале экрана).

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

    Что касается уровня видеосигнала, то судя по номиналам деталей в схеме, уровень белого действительно около 1В, а уровень черного несколько завышен, около 0.55В (по стандарту 0.3В). Таким образом, мы имеем размах где-то около 0.45В, вместо 0.7В. Это большая яркость изображения, и меньшая контрастность.

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

    Alex_K (01.08.2020), nzeemin (01.08.2020), Ynicky (02.08.2020)

  8. #815
    Activist
    Регистрация
    27.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    472
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    35
    Поблагодарили
    28 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всё прописано в госте - "мутно", но есть
    http://docs.cntd.ru/document/gost-7845-92

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

    Titus (01.08.2020)

  10. #816
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    11,787
    Спасибо Благодарностей отдано 
    394
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    310 сообщений
    Mentioned
    31 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Нашел ошибочку в реверсе 136-й (особенно это касается @Ynicky, который делает FPGA по еще не оптимизированным реверсам).
    У элемента A61.2 надо инвертировать выход, а то сигнал WE будет инверсным.
    Это справедливо, как для неоптимизированной схемы, так и для оптимизированной.

    Обычно на реверс у меня где-то 2-3 ошибки, которые исправляются в процессе оптимизации и проверки. Это весьма неплохой результат, учитывая общее количество элементов и соединений.

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

    Ynicky (02.08.2020)

  12. #817
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    11,787
    Спасибо Благодарностей отдано 
    394
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    310 сообщений
    Mentioned
    31 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Вопрос к PDP-шникам - зачем шины адреса ОЗУ подтянуты через резисторы на +5В? Ведь на этих шинах нет ни одного устройства с открытым коллектором, только комплиментарные выходы. Может быть, чтобы меньше звенели в моменты, когда шина в Z-состоянии?

    И еще, не обратил внимания сразу - адреса и данные памяти инвертированы)

  13. #818
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    11,787
    Спасибо Благодарностей отдано 
    394
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    310 сообщений
    Mentioned
    31 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    ХМ1-136: Растактовка команды записи в регистр планов 1 & 2.



    Описание:

    Операция начинается по команде WRITE_PLANE12 (RQ = 1, CC0 = 1, CC1 = 0). Используется при записи в регистр планов 1&2 (PLANE12, адрес 177014), а также при записи в регистр октета (OCTET_MASK, адрес 177024).


    Слот видеоконтроллера:
    Такты 4..7 - чтение видеоконтроллером ОЗУ ПП и ЦП.

    Слот ПП и ЦП:
    Такт 8 - контроллером ПП на шину AG0..AG7 выставляется старшая часть слова данных.
    Такт 8.5 - контроллером ПП на шину DG0..DG7 выставляется младшая часть слова данных.
    Такт 9..10 - защелкивание данных в регистрах DC_H, DC_L по сигналу A_D_LATCH.

    Такты 12..20 - устанавливается сигнал CPU_REQUEST, во время которого блокируется сигнал PSC.

    Слот видеоконтроллера:
    Такты 12..15 - чтение видеоконтроллером ОЗУ ПП и ЦП.

    Слот ПП и ЦП:
    Такт 16 - на шину AC0..AC7 выводится младшая часть адреса из регистра PLANE_ADR_L. Сигнал WE установлен, что означает запись в ОЗУ.
    Такт 16.5 - на шину DC0..D15 выводятся данные из регистров DC_H, DC_L.
    Такт 17 - устанавливается сигнал NRAS, по которому в ОЗУ защелкивается адрес строки (младшая часть адреса).
    Такт 17.5 - на шину AC0..AC7 выводится старшая часть адреса из регистра PLANE_ADR_H.
    Такт 18 - устанавливаются сигналы CAS1, CAS2, по которым в ОЗУ защелкивается адрес столбца (старшая часть адреса).
    Такт 19.5 - снимается сигнал NRAS, по которому данные запоминаются в ОЗУ.

    Такт 20 - завершение операции.


    Замечания и особенности работы:

    1. За пол-такта до перевода шин адреса AC и AG в Z-состояние, на шину адреса выставляется значение 0x00 (высокие уровни на шине), и уже потом через пол-такта шина переводится в Z-состояние. Вероятнее всего это сделано для уменьшения шума на шине, т.к. в Z-состоянии шина также притягивается через резисторы к плюсу питания.
    Однако, в контроллере ОЗУ ПП, работающем на той же шине, такой особенности не реализовано.

    2. Отличается логика выставления старшей части адрреса на шины AC и AG (сигнал SEL_ADR_HIGH) для слотов видеоконтроллера, и слотов ПП и ЦП. Смысл этого непонятен, т.к. в слотах ПП и ЦП шины AC и AG в Z-состоянии, и любые внутренние манипуляции с адресами бессмысленны. Возможно, это побочный эффект избыточной логики, которая уже встречалась в данном чипе (проверка наличия одновременно двух сигналов - CLCA и PCLC_8 в F73.2.D69 и E73.D67, хотя эти сигналы абсолютно идентичны).

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

    Alex_K (02.08.2020), nzeemin (02.08.2020), Ynicky (02.08.2020), yu.zxpk (03.08.2020)

  15. #819
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    11,787
    Спасибо Благодарностей отдано 
    394
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    310 сообщений
    Mentioned
    31 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    ХМ1-136: Растактовка команды записи в регистр адреса планов.




    Описание:

    Операция начинается по команде WRITE_PLANE_ADR (RQ = 1, CC0 = 0, CC1 = 0). Используется в первой фазе при записи в регистр адреса планов (PLANE_ADR, адрес 177010).


    Слот видеоконтроллера:
    Такты 4..7 - чтение видеоконтроллером ОЗУ ПП и ЦП.

    Слот ПП и ЦП:
    Такт 8 - контроллером ПП на шину AG0..AG7 выставляется старшая часть регистра адреса планов PLANE_ADR.
    Такт 8.5 - контроллером ПП на шину DG0..DG7 выставляется младшая часть регистра адреса планов PLANE_ADR.
    Такт 9..10 - защелкивание данных в регистрах PLANE_ADR_H, PLANE_ADR_L по сигналу A_D_LATCH.

    Такты 12..20 - устанавливается сигнал CPU_REQUEST, во время которого блокируется сигнал PSC.

    Слот видеоконтроллера:
    Такты 12..15 - чтение видеоконтроллером ОЗУ ПП и ЦП.

    Слот ПП и ЦП:
    Такт 16 - на шину AC0..AC7 выводится младшая часть адреса из регистра PLANE_ADR_L.
    Такт 17 - устанавливается сигнал NRAS, по которому в ОЗУ защелкивается адрес строки (младшая часть адреса).
    Такт 17.5 - на шину AC0..AC7 выводится старшая часть адреса из регистра PLANE_ADR_H.
    Такт 18 - устанавливаются сигналы CAS1, CAS2, по которым в ОЗУ защелкивается адрес столбца (старшая часть адреса). В течение активного сигнала CAS, данные с шины DC0..DC15 защелкиваются в регистрах DC_H, DC_L, причем, DC_H защелкивается в инверсном виде.
    Такт 19.5 - снимается сигнал NRAS.

    Такт 20 - завершение операции.


    Замечание:
    Команда ХМ1-136 записи в регистр адреса планов (Command Code - WRITE_PLANE_ADR) вовсе не то же самое, что запись в регистр адреса планов для ХМ1-032.
    Запись в регистр адреса (PLANE_ADR, адрес 177010) состоит из двух последовательных команд:
    1. WRITE_PLANE_ADR - запись адреса планов в видеоконтроллер, и чтение планов 1 и 2 в регистр данных видеоконтроллера.
    2. READ_PLANE12 - чтение регистра данных видеоконтроллера контроллером ПП.

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

    Цитата Сообщение от Titus Посмотреть сообщение
    1. За пол-такта до перевода шин адреса AC и AG в Z-состояние, на шину адреса выставляется значение 0x00 (высокие уровни на шине), и уже потом через пол-такта шина переводится в Z-состояние. Вероятнее всего это сделано для уменьшения шума на шине, т.к. в Z-состоянии шина также притягивается через резисторы к плюсу питания.
    Немного поразмышляв, я понял, что это сделано затем, чтобы разнести по времени изменения на шинах адреса, относительно других процессов, которые в большинстве своем синхронизированы с CLCA, и наступают на пол-такта позднее. Таким же образом разнесена установка данных на шинах АG и DG. На DG данные выставляются на пол-такта позже.

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

    Alex_K (03.08.2020), nzeemin (03.08.2020), Ynicky (03.08.2020)

  17. #820
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    11,787
    Спасибо Благодарностей отдано 
    394
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    310 сообщений
    Mentioned
    31 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    ХМ1-136: Растактовка команды чтения планов 1 и 2.




    Описание:

    Операция начинается по команде READ_PLANE12 (RQ = 1, CC0 = 0, CC1 = 1). Используется во втрой фазе при записи в регистр адреса планов (PLANE_ADR, адрес 177010).

    Слот видеоконтроллера:
    Такты 4..7 - чтение видеоконтроллером ОЗУ ПП и ЦП.

    Слот ПП и ЦП:
    Такт 8 - на шину AG0..AG7 выводится старшая часть регистра DC_H в инверсном виде.
    Такт 8.5 - на шину DG0..DG7 выводится младшая часть регистра DC_L.
    Такты 8..10 - информация с шин AG и DG защелкивается в контроллере ПП, в регистрах PLANE2_DATA и PLANE1_DATA, соответственно.

    Такт 16 - завершение операции.

    Замечания:
    1. При операции записи в регистр адреса планов, старший байт данных планов 1&2 внутри видеоконтроллера хранится в инверсном виде. Очевидно, это сделано для упрощения схемы.
    2. Не смотря на то, что между слотом видеоконтроллера и слотом ПП и ЦП, шина адреса AG не переходит в Z-состояние, из-за недоработки в схеме, за пол-такта до слота ПП и ЦП, на шину AG выводится байт 0x00, после чего через пол-такта на шину выводится старшая часть регистра DC_H. Методика, которая изначально была рассчитана на сокращения шумов на шине, в данном случае наоборот порождает лишние шумы.

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

    Alex_K (03.08.2020), nzeemin (03.08.2020), Ynicky (03.08.2020)

Страница 82 из 86 ПерваяПервая ... 787980818283848586 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Реверс-инжиниринг игры Boovie
    от Oleg N. Cher в разделе Программирование
    Ответов: 37
    Последнее: 13.09.2019, 16:53
  2. Ответов: 36
    Последнее: 11.03.2018, 22:46
  3. Реверс МК-92
    от Случайность в разделе Программируемые калькуляторы
    Ответов: 51
    Последнее: 13.06.2017, 06:41
  4. реверс sinclair scientific
    от skyther в разделе Зарубежные компьютеры
    Ответов: 0
    Последнее: 31.08.2013, 16:56
  5. Куплю 1515ХМ1-6006, 1515ХМ1−6008
    от moxjemi в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 10.01.2012, 17:23

Ваши права

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