05 июля 2015

      Эмуляция 1818ВГ93
Alone Coder 

         Есть целых 5 способов остановить
      вращение диска в дисководе:
        1. Подать на вход СБРОС микросхе─
      мы 1818ВГ93 логический ноль.
        2. Записать в регистр команд мик─
      росхемы 1818ВГ93 команду.
        3. Сгенерировать на входе IP мик─
      росхемы  1818ВГ93 несколько импуль─
      сов.
        4. Вытащить диск из дисковода.
        5. Выключить питание.
         Все   способы,  кроме  последних
      двух, работают на всех контроллерах
      Beta Disk интерфейса.
                                       fkO

   Компьютер Pentagon 2.666 (автор King of
Evil )- довольно необычное устройство. Да─ 
же если не обращать внимание соседство со─
ветской  микросхемы К561ЛН2 с периферийным
контроллером на архитектуре ARM или на на─
дпись"DEATH TO NATO", которая может поме─
шать его экспорту в некоторые страны :)
   С одной  стороны, Pentagon 2.666  похож
по организации на девборду, поскольку пос─
троен на ПЛИС. С другой - это не девборда,
поскольку  никаких  других прошивок, кроме
спектрумовской, не  планируется.  С  одной
стороны, Pentagon 2.666  существует давно.
С другой - многие о нём узнают только сей─
час.
   Сейчас, как  и  ZX Evolution , Pentagon
2.666  совместим  с классическими  клонами 
Pentagon и ATM Turbo 2+, с поддержкой рас─ 
ширенной памяти по стандарту "АТМЗ" (порты
#x7F7 и#BF )и как бонус - ещё с расширен─ 
ной палитрой от DDp. К сожалению,поддержки
фирменных таймингов нет,но со временем это
тоже может появиться. Особенно если кто-то
решится производить компьютер серийно...

   История была такая. Разработка аппарат─
ной  части  началась в 2007 году по следам
Pentagon 102ЧSL v2.2  (одно  время  компо─ 
машина на DiHalt и Chaos Constructions ) и
устройства Z-Controller от того же автора.
Целью  было существенно ускорить компьютер
и  перейти  на  доступную  периферию (PS/2
клавиатура и мышь, SD-карта),не теряя сов─
местимость с устройствами под ZX-BUS. Было
задумано  два варианта: 4-слойный с реаль─
ным процессором  Z80 (2.666) и 2-слойный с
процессором  внутри ПЛИС (2.6ббLE). Версия
2.666 появилась летом 2008 года, 2.6ббLE - 
летом 2009 года.Обе платы были показаны на
DiHalt 2009. На 28 MHz  демонстрировалась 
игра Wolfenstein 2004.
   Изначально было неясно,получится ли до─
стичь полной совместимости, имея процессор
в ПЛИС. Оказалось,что это реально. Специа─
льно доработанное ядро Т80 не показало от─
личий ни на одной программе. Нетехнологич─
ная 4-слойная версия  была отброшена в по─
льзу 2-слойной.

   Казалось бы,успех.Но перед превращением
платы в продукт стояло большое препятствие
- как загружать программы,не имея реально─
го дисковода, с SD-карты.
   Плата  имеет 2 МБ ОЗУ (рассматривается
вопрос  расширения  до4 МБ ), но не имеет
ПЗУ, доступного  для  процессора  (то есть
для ПЛИС). Между ПЛИС и ARM тонкий одноби─
тный интерфейс, через который передаются и
данные  для начальной загрузки, и команды-
данные для периферии, и даже текстовый эк─
ран  отладчика (который крутится в ARM). В
итоге  ПЗУ  реализовано через ОЗУ. Из 2 МБ
ОЗУ, а точнее, из верхнего мегабайта -64К
(в перспективе  и больше) выделено под ПЗУ
и защищено  от записи. Остаток этого верх─
него мегабайта занимает рамдиск.
   Что в этих64К ? 48K, 128K, TR-DOS 6.xx
(с рамдиском) - это  понятно. Сброс произ─
водится в  Mr Gluk Reset Service - это ещё
16K. Для  загрузки  образов  в  рамдиск  в
Mr Gluk Reset Service  добавлена  ещё одна 
строчка - вызов  копировщика Fatall (автор
- Savelij13 ).Он перебрасывается в опреде─
лённую страницу ОЗУ при старте.

   Далеко не все программы работают с рам─
диска. Для  этого  надо использовать вызов
#3D13. Никаких турболоадеров или загрузчи─
ков с музыкой. Или всё-таки можно?
   Существуют прошивки  ПЗУ, которые в той
или  иной мере перехватывают вызовы, испо─
льзуемые  в турболоадерах. Какие-то из них
имеют  дополнительные  ветки  в #2A53 или
других  процедурах  (так  делают vTR-DOS и
Evo DOS ), какие-то с помощью дополнитель─ 
ного  железа  при попытке доступа к портам
передают управление теневому ПЗУ (схема от
JtN ). И там, и там недостаток один - про─ 
цессор  выполняет  дополнительные команды,
то есть совместимость  с экзотическим соф─
том не полная.
   Полная  совместимость  получается, если
эмулировать железом связку 1818ВГ93 (конт─
роллер  дисковода, "ВГшка" ) + дисковод. И
это тоже было сделано.

   Работает это так.

   С помощью прямого доступа к памяти реа─
лизуется  доступ  на  чтение-запись  ячеек
ОЗУ,минуя процессор. В определённом режиме
схема может читать данные из ячейки,делать
их доступными  через порт#7F и переходить
к  следующему адресу. В другом режиме нао─
борот - писать  данные в ячейку при записи
в порт#7F  и тоже переходить к следующему
адресу. Это основная часть интерфейса про─
цессор - 1818ВГ93 - дисковод.
   Под  другие порты контроллера дисковода
выделены соответствующие регистры,их можно
читать и писать. Это регистры сектора, до─
рожки, команды и статуса. Также реализован
системный  регистр  бетадиска (главное его
назначение - он управляет стороной "диске─
ты", то  есть  номером головки дисковода).
Содержимое  всех  этих  регистров, а также
регистров  модели дисковода, можно посмот─
реть во встроенном отладчике.
   Как должна вести себя ВГшка? ВГшка при─
нимает  команды и возвращает статус. ВГшка
общается с дисководом (точнее, с его моде─
лью), двигая его "голову". ВГшка имеет оп─
ределённые  задержки при позиционировании.
C дисковода (точнее,его модели) ВГшка при─
нимает  сигналы"tpekO" и "индексный импу─
льс" и возвращает их в статусе.
   Дальше вопрос касается дисковода.Треки-
секторы  диска  спроецированы на  память в
соответствии  с расположением  в ней  рам─
диска. Когда дисковод "спозиционирован" на
такую-то дорожку, выбрана такая-то "голов─
ка" и дана команда читать такой-то сектор,
адрес чтения формируется из этих трёх эле─
мектов.

  Конечно,реальный дисковод имеет опреде─
лённую  скорость вращения и доступа к дан─
ным. Реальная  дискета  имеет определённое
расположение секторов (то или иное). Нужны
какие-то  задержки, которые  ещё предстоит
подобрать.
  Но  софт уже работает. Шаг сделан. Дело
за поддержкой  со стороны комьюнити. Доку─
ментация  для производства  платы свободно
доступна.
  Пишите:KingOfEvil<dog>yandex/ru 



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
New - A new game: Operation PP v1.01.
aria - Collection of the best songs of the coolest rock band 'Aria' (Part Two).

В этот день...   21 November