User Tag List

Страница 1 из 7 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,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    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,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    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

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

    По умолчанию

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

  7. #6

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

    По умолчанию

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

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

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

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

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

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

  8. #7

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

    По умолчанию

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

  9. #8

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

    По умолчанию

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

  10. #9

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

    По умолчанию

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

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

    И еще не понимаю, зачем различать чтение пзу от чтения данных из озу по тем же адресам. Разве только для какой-то новой прошивки, в которой возможность читать из под пзу востребована. Можно детектить код команды и если, например команда mov a,m то следующее за чтением кода команды обращение (чтение) относится к озу. Можно завести под это дело отдельную пзушку и детектить и обрабатывать все команды, но это пожалуй чересчур.

  11. #10

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Каким образом, если не секрет? M1 позволяет опознать чтение кода команды, что хватит для однобайтовых, а как с многобайтовыми типа lxi?
    ...
    Поскольку штатные загрузчики ничего не читают из ОЗУ с адресов, где сами находятся, то пока подробности этой фичи упущу...
    Да суть именно такая, ловлю в слове состояния подготовку к чтению команды, отлавливаю определённый код команды, при совпадении снимаю блокировку со следующего чтения для ОЗУ и отключаю на это время ПЗУ.

Страница 1 из 7 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

Ваши права

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