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

User Tag List

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

Тема: Корвет: Загрузка из внешнего ПЗУ

  1. #1
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Корвет: Загрузка из внешнего ПЗУ

    Всем привет, опишу тут эту особенность Корвета.

    Корвет умеет грузиться из подключенной к левому разъему XS1 - блока ПЗУ

    для этого надо нажать F2+Reset или без нажатия кнопки после тестов.
    (т.е. если внешнее ПЗУ подключено и корректно - загрузка из него !!!!)

    без внешнего пзу он обругает, иначе попробует загрузить из него что-то и передать управление.

    в реальной жизни я слышал про 2 применения
    1-е КТДП - тестовая программа
    2-е LINTECH сеть, которая была сильно быстрее родной.

    начнем с железа.
    боковой порт, он назван XS1 ("Расширение") в документации, из интересного нам выведено
    1. все 3 порта PPI3 к580вв55 (ниже 0-7)
    A: XS1:34,35,36,37,19,18,17,16
    B: XS1:3,2,1,20,21,22,23,24
    C: XS1:7,6,5,4,8,9,10,11

    2. питание (+5,+12,-12, GND) (XS1:25,26, XS1:28, XS1:29)

    3. IRQ0 - запрос на прерывание (XS1:33)

    4. старший бит(7) порта С PPI2 (XS1:32) (кстати в тех. описании написано что XS1:32 не подключен, а на схеме он есть)

    и еще не нужный нам тут но полезные 2mhz и выход канала 0 таймера ВИ53

    исходя из загрузчика схема подключения следующая

    порт А - шина данных ПЗУ
    порты B и C - шина адреса ПЗУ
    отсюда 64к пзу

    + XS1:32 судя по комментарию (; ВКЛЮЧ. ПЗУ) в исходнике заведен на CS чипа

    этот же вывод заведен на XS1:33 - IRQ0
    и используется для определения подключен ли блок пзу.
    собственно вот и вся схемотехника.

    как ОПТС грузит его, пошаговое описание

    если нажато при старте пзу F2 (или после ОПТС тестов без F2)

    1. установили PPI2.C7=0, проверили что в регистре контроллера прерываний нет запроса IRQ0
    2. установили PPI2.C7=1, проверили что в регистре контроллера прерываний есть запрос IRQ0
    3. (оставили PPI2.C7=1)

    4. если это выполнено то блок подключен.
    иначе если F2 нажато не было то просто грузим как обычно ОПТС (эт для автостарта EXT ROM)
    или если было нажато F2 то обругались.
    ОПТС 1.1 - "Подключите внешнее ПЗУ"
    ОПТС 2.0 - "нет внешнего ПЗУ"

    5. далее читаем из блока ПЗУ по адресам
    0x0004 - DW Start addr (куда будет передано управление)
    0x0006 - DB Page to read (xx00) (старший байт адреса куда грузить)
    0x0007 - DB Page count (сколько 256байтных страниц грузить)

    6. далее считаем сумму всех байт которые будем грузить, их сумма должна быть 0xff, если это не так то пишем
    ОПТС 1.1 - "Внешнее ПЗУ неисправно"
    ОПТС 2.0 - "ошибка КС"

    7. теперь грузим что надо из пзу в RAM
    8. а теперь сравним, то что загрузили в память с тем что в ПЗУ
    если есть отличия, то выводим их на экран и вешаем машину.

    9. если все ОК то передаем управление тому что загрузили.

    теперь комментарии.

    шаг 8 по очень актуален для загрузки теста в память.
    т.е. в ситуации битого RAM он не даст запустить бред.
    по шагам получается что мы считаем что CRC совпало, значит эта часть железа нормальная, значит битый RAM.

    собственно то что ПЗУ отключаемо, делает возможность
    вешать на этот порт что угодно, а в пзу записать загрузчик этого

    можно даже сделать "супер ROM диск" на много к, например повесив регистр, в который при отключенном ПЗУ можно записать старшую часть адреса.
    ну и прочее
    хоть HDD подключить, благо портов там много разных.

    а сама идея такого использования порта достаточно красивая ...
    получается достаточно удобный и функциональный порт расширения, без выноса шины даных/адреса наружу.


    в аттаче дизасмы этой части ОПТС 1.1 и ОПТС 2.0
    и кусок исходника R002.asm

    korvet_extrom.zip


    (кстати у нас в харьковском Пед институте был класс из 2х партий корветов,
    у одних это разъем был "Папа" у других "Мама", у тех что "папа" - народ заклеивал разъем, иначе шаловливые ручки студентов совали туда ключи и палили платы).

    ---- 2014-07-07
    Огромное спасибо Serebriakov, за СХЕМУ
    в общем она подтвердила теорию
    схема на 8 кб (2x4k)

    оргинал схемы

    [свернуть]
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	EXTROM_SCHEMATIC_SMALL.jpg 
Просмотров:	1914 
Размер:	23.0 Кб 
ID:	48653  
    Последний раз редактировалось esl; 28.04.2015 в 12:21.

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

  3. #2
    Veteran Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    esl, Спасибо за экскурс!

    Цитата Сообщение от esl Посмотреть сообщение
    1-е КТДП - тестовая программа
    Извини за оффтоп, была у меня кипа распечаток на своеобразной зелёной бумаге, не помню куда закинул... переезды блин. А вот коробочку с внешним ПЗУ так и не довелось увидеть, а она ходила очень-очень рядом, у мужиков из КазВТИ.

    Цитата Сообщение от esl Посмотреть сообщение
    2-е LINTECH сеть, которая была сильно быстрее родной.
    Я почему-то считал, что Линтех работал по родному интерфейсу...

    Цитата Сообщение от esl Посмотреть сообщение
    в реальной жизни я слышал про 2 применения
    А ещё к этому разъёму цеплялась магическая коробочка Элемент управления ЭУ8040 и мышки всякие, родные.
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  4. #3
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KokaF77 Посмотреть сообщение
    esl, Спасибо за экскурс!


    Извини за оффтоп, была у меня кипа распечаток на своеобразной зелёной бумаге, не помню куда закинул... переезды блин. А вот коробочку с внешним ПЗУ так и не довелось увидеть, а она ходила очень-очень рядом, у мужиков из КазВТИ.
    я тоже очень давно видел только схему (точнее сейчас понимаю что это была схема ее)

    Цитата Сообщение от KokaF77 Посмотреть сообщение
    Я почему-то считал, что Линтех работал по родному интерфейсу...
    их было две, одна поверх обычной сети
    вторая скоростная

    Цитата Сообщение от KokaF77 Посмотреть сообщение
    А ещё к этому разъёму цеплялась магическая коробочка Элемент управления ЭУ8040 и мышки всякие, родные.
    я имел в виду то что грузится из пзу

  5. #4
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Заметил одну особенность, не обратил на нее внимание когда описывал (и добавл в описание)

    если ExtRom подключен то загрузка его будет произведена даже без нажатия F2 по окончании тестов

    т.е. если при ресете нажат F2 то насильная загрузка с пропуском тестов ОПТС и выводом сообщение про отсутствие внешней ром если ее нет.
    а без F2 - проходят все тесты, и если она подключена то грузим ее

    удобно однако сделано.

  6. #5
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    еще дополнение
    на момент загрузки и старта включена конфигурация памяти 0x14

    NDOS EQU 14H ; ПЗУ 8к, ОЗУ с 2000 по F7FF, область УВВ с F800 по FFFF

  7. #6
    Master Аватар для ILoveSpeccy
    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Может есть у кого нибудь дампы внешних ПЗУ.
    Эту возможность достаточно просто реализовать на FPGA...
    SpeccyLand - тут рождается клон!

    Новый проект: Аркадный автомат своими руками

  8. #7
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я делал, постараюсь найти
    у B2M в эмуляторе работает поддержка внешних пзу.

  9. #8
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    в аттаче ромы для загрузки из внешней ПЗУ

    тест КТДП

    и кучка игрушек

    проверялось в эмуляторе B2M

    запускать: подключить ром,
    нажать ресет и подождать, по окончании теста оно стартует само
    или нажать F2+reset - оно стартует ром без теста железа

    ext-rom-test.zip : тест железa
    ext-rom-games.zip : игрушки

  10. #9
    Master Аватар для ILoveSpeccy
    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сергей, у меня вопрос по внешней ПЗУ. Вы пишите:
    Цитата Сообщение от esl Посмотреть сообщение
    + XS1:32 судя по комментарию (; ВКЛЮЧ. ПЗУ) в исходнике заведен на CS чипа

    этот же вывод заведен на XS1:33 - IRQ0
    и используется для определения подключен ли блок пзу.
    собственно вот и вся схемотехника.
    Это значит что на "картридже" с ПЗУ выводы XS1:32 и XS1:33 соеденены?
    SpeccyLand - тут рождается клон!

    Новый проект: Аркадный автомат своими руками

  11. #10
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    да, он там играет 2 роли
    1) - заведен на IRQ0 (ОПТС проверяет что его состояние изменяется правильно)
    2) - CS для ПЗУ на картридже

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

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

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

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

Похожие темы

  1. Загрузка УКНЦ
    от костя в разделе ДВК, УКНЦ
    Ответов: 73
    Последнее: 05.03.2011, 12:55
  2. Загрузка на рел Commodore 64
    от Zloy в разделе Commodore 16/64/128
    Ответов: 46
    Последнее: 27.07.2009, 12:59
  3. Загрузка с ленты
    от Addison в разделе Разный софт
    Ответов: 15
    Последнее: 17.06.2008, 01:18
  4. Корвет.
    от Mick в разделе Барахолка (архив)
    Ответов: 8
    Последнее: 19.09.2007, 19:58

Ваши права

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