User Tag List

Страница 1 из 5 12345 ПоследняяПоследняя
Показано с 1 по 10 из 66

Тема: Вектор 06Ц: внешнее ПЗУ на шине "ВУ"

Комбинированный просмотр

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

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Вектор 06Ц: внешнее ПЗУ на шине "ВУ"

    У svofski "Лешадок помпе" сидит на шине "ВУ", и эмулирует ПЗУ загрузчика.
    Захотелось аналогично подключить внешнее ПЗУ загрузчика, так сказать без разборки Вектора, но относительно простыми средствами рассыпухи микросхем логики.

    Первое что обнаружил, это сигнал CAS подаётся на "ВУ" только при наличии активного сигнала "БЛК" от внешнего устройства.
    ...

    Добавлено:

    Сообщение с вариантом схемы модуля внешнего ПЗУ с автостартом модуля.
    Воспринимается пользователем как полная подмена штатного ПЗУ Вектора.
    https://zx-pk.ru/threads/32321-vekto...=1#post1152018

    Во вложении упрощенная схема без автостарта/автосброса, не требующая доработок самого Вектора. Запускается последовательным нажатием ВВОД+БЛК и СБР+БЛК. Отключается после очередного СБР+БЛК.
    Вложения Вложения
    Последний раз редактировалось KTSerg; 26.04.2022 в 05:10.

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

  3. #2

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,062
    Спасибо Благодарностей отдано 
    580
    Спасибо Благодарностей получено 
    469
    Поблагодарили
    252 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Первое что обнаружил, это сигнал CAS подаётся на "ВУ" только при наличии активного сигнала "БЛК" от внешнего устройства.
    Безусловно, на "первом" Векторе CAS на ВУ формируется в РЕ3, на "втором" -- логикой (Д97.3 в частности), в обоих случаях без БЛК сигнала CAS на ВУ не будет.

    Потом (если это не так, то старшие товарищи меня поправят), на Векторах без доработок на ПЗУ 32кБ, при адресе обращения <1000h сигнал разрешения ПЗУ имеет приоритет по отношению к БЛК и блокирует обращение на чтение к памяти...
    Цитата Сообщение от KTSerg Посмотреть сообщение
    Как можно сформировать полноценный адрес из двух байт до чтения данных, если такая фигня с RAS/CAS ???
    Только подключаться к процессору напрямую, но тогда будет конфликт со встроенным ПЗУ. Другой вариант: написать свою прошивку ПЗУ для Вектора, которая будет проверять и передавать управление на внешнее ПЗУ на шине ВУ.
    Цитата Сообщение от KTSerg Посмотреть сообщение
    Нет, понятно, что можно по сбросу системы сбрасывать регистры формирующие адрес, но это-же просто полный...
    Адрес формируется в процессоре, при сбросе он =0000h, если что...

  4. #3

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    Безусловно, на "первом" Векторе CAS на ВУ формируется в РЕ3, на "втором" -- логикой (Д97.3 в частности), в обоих случаях без БЛК сигнала CAS на ВУ не будет.

    Потом (если это не так, то старшие товарищи меня поправят), на Векторах без доработок на ПЗУ 32кБ, при адресе обращения <1000h сигнал разрешения ПЗУ имеет приоритет по отношению к БЛК и блокирует обращение на чтение к памяти...
    Только подключаться к процессору напрямую, но тогда будет конфликт со встроенным ПЗУ. Другой вариант: написать свою прошивку ПЗУ для Вектора, которая будет проверять и передавать управление на внешнее ПЗУ на шине ВУ.
    Адрес формируется в процессоре, при сбросе он =0000h, если что...


    Я решил сделать это так...
    Запускается Вектор, ВВОД+БЛК - рестарт и запуск штатного загрузчика, сброс схемы моего ПЗУ в режим готовности.
    СБР+БЛК - сброс и переход к выполнению программы из ОЗУ, моя схема формирует "БЛК" и начинает выдавать на ШД содержимое из своего (внешнего) ПЗУ.
    Когда нужно перейти на выполнение реальной программы из ОЗУ, ещё раз нажимаем СБР+БЛК - сброс Вектора и начало выполнения программы из ОЗУ, моя схема внешнего ПЗУ отключается и переходит в спячку до следующего нажатия ВВОД+БЛК.

    Фактически на ШАПП посадил две микросхемы регистров и записываю в них содержимое ШАПП по RAS и CAS соответственно.
    Такая была идея... , "но что-то пошло не так"...
    По данным логгера вижу, что программа из внешнего ПЗУ начинает выполняться, но потом, после начала записи данных в ОЗУ, зацикливается, т.к. команды из ПЗУ читаются не из тех адресов.

  5. #4

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,387
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Фактически на ШАПП посадил две микросхемы регистров и записываю в них содержимое ШАПП по RAS и CAS соответственно.
    И все? А "перепутывание" и инверсии?

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

    Можно по схеме посмотреть, но вот тут есть сразу в более удобном виде

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

    Для пзу, кстати, можно попробовать обойтись без перепутывания линий адреса, если заранее перетасовать данные прошивки.

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

    Заканчиваю капитанить, но все же еще один момент. Если объем пзу<=16 Кб, то можно взять младшую половину адреса с ШАВВ, а старшие 6 бит - стробированные RASом, т.е. в этом случае можно обойтись без CAS.

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если объем пзу<=16 Кб, то можно взять младшую половину адреса с ШАВВ, а старшие 6 бит - стробированные RASом, т.е. в этом случае можно обойтись без CAS.
    Хотя нет, самый старший бит адреса нужен и без CAS не обойтись. Тем более сейчас стал смутно вспоминать, что вроде ШАВВ в векторе берут со старшей половины адреса
    Последний раз редактировалось ivagor; 12.10.2020 в 10:32.

  6. #5

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    И все? А "перепутывание" и инверсии?

    Можно по схеме посмотреть, но вот тут есть сразу в более удобном виде

    Для пзу, кстати, можно попробовать обойтись без перепутывания линий адреса, если заранее перетасовать данные прошивки.

    Заканчиваю капитанить, но все же еще один момент. Если объем пзу<=16 Кб, то можно взять младшую половину адреса с ШАВВ, а старшие 6 бит - стробированные RASом, т.е. в этом случае можно обойтись без CAS.
    Перепутывание сделано уже с выхода регистров. Инверсия только одного бита, до записи в регистры.

    К сожалению, на сколько я понял, младший байт адреса ШАПП состоит в основном из CAS, и только младшие два бита из RAS.

    Со старшим байтом адреса вообще проблем нет, его можно взять с ШАВВ, даже записывать никуда не надо, только инвертировать.

  7. #6

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Цитата Сообщение от KTSerg
    Фактически на ШАПП посадил две микросхемы регистров и записываю в них содержимое ШАПП по RAS и CAS соответственно.
    И все? А "перепутывание" и инверсии?
    Так и не понятно, почему на всех схемах Вектора ШАП на разъёме "ВУ" обозначена как инверсная...
    При сохранении ШАП в регистрах по RAS/CAS нужно инвертировать только ШАП7. А если предполагается использовать ПЗУ до 8КБ включительно, то ШАП7 вообще не нужен, а оставшиеся биты ШАП используются в прямом виде.
    Упускаю тот факт, что для записи в регистры, сами управляющие сигналы RAS/CAS нужно инвертировать, но это просто от используемых регистров зависит. Есть регистры, которые спадом фиксируют инфу. Хотя справедливости ради, нужно сказать, что для данного применения такие регистры не подходят. Лучше использовать регистры с фиксацией по фронту и инвертировать RAS/CAS.
    Последний раз редактировалось KTSerg; 11.04.2022 в 05:57.

  8. #7

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,062
    Спасибо Благодарностей отдано 
    580
    Спасибо Благодарностей получено 
    469
    Поблагодарили
    252 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Так и не понятно, почему на всех схемах Вектора ШАП на разъёме "ВУ" обозначена как инверсная...
    Смею процитировать это:
    Цитата Сообщение от svofski Посмотреть сообщение
    В двух словах:
    RA = {a9,a10,a11,a12,a13,a1,a2,~a14}
    CA = {a3,a4,a5,a6,a7,a8,a16,~a15}
    Но, по большому счёту, это не проблема -- думаю, проще будет пересортировать прошивку ПЗУ в соответствии с этим порядком адресных линий, чем аппаратно что-то исправлять.

    А в общем схема мне нравится, думаю, её надо повторить...

  9. #8

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,062
    Спасибо Благодарностей отдано 
    580
    Спасибо Благодарностей получено 
    469
    Поблагодарили
    252 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Фактически на ШАПП посадил две микросхемы регистров и записываю в них содержимое ШАПП по RAS и CAS соответственно.
    Там достаточно одной микросхемы, можно запоминать только один байт (8бит) по сигналу RAS, а по сигналу CAS формировать полный адрес, я так делал в своей схеме КД.

  10. #9

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,387
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    первый CAS приходит уже после того как прочитана первая команда программы из памяти, т.е. после сигнала "ЧТЗУ".
    Как можно сформировать полноценный адрес из двух байт до чтения данных, если такая фигня с RAS/CAS ???
    Сигнал чтения из памяти можно взять из слова состояния

  11. #10

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Сигнал чтения из памяти можно взять из слова состояния
    Слово состояния я уже использую, для того, чтобы отличать чтение ПЗУ (кода программы) от чтения данных из ОЗУ по тем-же адресам.

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

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

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

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

Похожие темы

  1. Вектор-06Ц - Доработка сигнала "ВВОД"
    от KTSerg в разделе Вектор
    Ответов: 0
    Последнее: 26.08.2020, 21:05
  2. Ответов: 2
    Последнее: 06.10.2018, 20:40
  3. Эмулятор "Вектор-06Ц" на "Dingoo A-320"
    от Tim0xA в разделе Вектор
    Ответов: 44
    Последнее: 15.04.2013, 20:28
  4. Ответов: 11
    Последнее: 23.02.2011, 05:55
  5. Ответов: 21
    Последнее: 23.10.2009, 18:03

Ваши права

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