Эмулятор дисковода для Atari на Arduino

    Приветствую. Делюсь опытом изготовления эмулятора дисковода для Atari на базе Arduino Nano. Под катом инструкция по сборке, схема, прошивки и демонстрация работы.




    В нашем музее (подробности в профиле) есть несколько компьютеров Atari, для которых хотелось сделать что-то, позволяющее быстро загружать программы. Оригинальные 410-е магнитофоны для этого не очень подходят, да и, если бы у нас был оригинальный дисковод, это тоже создало бы трудности. У Atari для загрузки программ в память используется собственный последовательный интерфейс — Atari SIO, разработанный Джо Декуром в 1979 году. Что примечательно, Джо также участвовал в разработке стандартов модемной связи, USB и Bluetooth. И аналоговый магнитофон и цифровой дисковод передавали данные в компьютер Atari по одной и той же последовательной шине, пропускная способность которой могла достигать 120 кбит/с. Так как протокол последовательный, данные можно загружать прямо с компьютера через USB-UART адаптер и программу AspeQt, позволяющую эмулировать периферию Atari. Но хотелось чего-то компактного и автономного. Заказывать и паять плату для SIO2SD — эмулятора с SD картой не хотелось, но в процессе поисков попался проект SIO2Arduino, на базе которого я и собрал свое устройство.

    Эмулятор можно собрать в нескольких вариантах, мне хотелось девайс с экраном, на котором можно выбрать образ нужной дискеты.

    Первый прототип был собран за пару часов, кабель снял с нерабочего магнитофона Atari XC12, если бы его не было, пришлось бы повозиться с разъемом.



    Прототип был проверен на Atari 800XL, заработал сразу, без доработок и настроек.



    Можно было переходить ко второй фазе — полноценному прибору.
    Вместо большой Arduino UNO решил собрать все на базе Arduino Nano. Все было смонтировано на монтажную плату и распаяно старым добрым МГТФ.

    Вид со стороны Arduino



    Вид со стороны экрана



    По размерам хорошо подошел корпус Kradex Z119 На переднюю панель вывел экран, кнопку переключения образов дисков и светодиод, который висит на ноге TX и показывает процесс загрузки.

    Принципиальной схемы на сайте проекта не было, нарисовал сам. Сопротивления, регулирующие контрастность дисплея были подобраны для синего дисплея с белыми буквами. Для других цветов могут быть другими, лучше заранее настроить подстроечным резистором. При неправильных значениях сопротивлений символы на экране не видны, это сбило с толку при первом включении прототипа.



    При прошивке готового устройства нужно не забыть поменять в Arduino IDE плату с Uno на Nano, оказывается они немного не совместимы и IDE не видела Nano, пока не изменил настройки. Весь проект для Arduino IDE с настройками под экран и кнопку доступен по ссылке

    В собранном виде получился вот такой прибор:




    Питание от кабеля micro-usb, карта памяти форматируется в FAT32, в корень скопировал образы дисков в формате ATR и XEX, большой архив с образами лежит на archive.org

    Для Atari 800XL порядок работы следующий:

    • Включаем SIO2Arduino
    • Кнопкой выбираем нужный образ дискеты
    • Включаем Atari

    Загрузка начинается автоматически после включения или сброса, о чем свидетельствует бодро моргающий светодиод на линии TX. Игра A-Zone, образ которой занимает 92 кБ, грузится около 30 сек. Самые большие образы в архиве занимают 130 кБ.

    Результат на экране:



    Благодарю за внимание
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 19
    • 0

      "Первый прототип был собран за пару часов,"
      а часто вам приходится заниматься ардуиной? У меня обычно вечер-другой на прототип уходит.

      • 0
        Не часто, но там достаточно было собрать все по описанию и залить готовую прошивку. А вот на «продакшен» версию как раз один выходной и ушел полностью.
      • 0
        А для zx-pentagon 128 есть что-нибудь подобное?
        • 0
          trolsoft.ru/ru/sch/zx-tapper
          Вот такая штука есть, тоже лежит собранный, но прошить не могу, возможно, камень битый, говорили, такое бывает. Для эмуляции дисковода — не знаю, могу поспрашивать.
        • 0
          Вот умеют же люди! Час на прототип. У меня б это несколько дней заняло.
          А вот кто бы мне подсказал. Имею в наличии уникальный в сваём роде жёсткий диск Cornice Storage Element 3.0GB 300CMSHA754 (вроде как использовались в смартфонах Samsung i300) со своим уникальным интерфейсом. Реально ли разузнать его протокол и попытаться использовать, само собой интерес чисто спортивный, скорость абсолютно не имеет значения. Когда впервые об этом задумался, сразу подумал именно про Ардуино. Диск, конечно, даже просто как изделие меня радует, имею слабость к миниатюрным дискам, но любой музейный экземпляр ценнее в действии. Почти официальные данные диска здесь
          • 0
            Самый простой вариант хоть как-то оценить происходящие — послушать обмен между диском и использующим его устройством с помощью логического анализатора. Можно будет понять хотя бы тип шины и её скорость. Отсюда уже делать выводы о необходимом для реализации железе.
            Но вот реверсить протокол… Имхо, нужен хороший бэкграунд в этой области.
            • 0
              Для «реверсить» нужно устройство целиком, у меня же только диск, когда приобретал, даже не знал сферы применения. И вроде как непользованный. Как-то даже нашёл распиновку, сейчас не вспомню где. По памяти интерфейсных 13 пинов, остальные питание и внешний электролит. Контроллер по сути внешний, так что диск точно не АТА.
            • 0

              Скорее всего там ide как у cf card, в интернете мало инфы конкретно по диску, наверное проще будет найти схему устройств которые его использовали и там посмотреть. К atmega вроде cf card цепляли успешно, в интернетах есть примеры

              • 0
                У CompactFlash обычный ATA (IDE) и подключить к компьютеру можно пассивным переходником без единой детальки. Здесь точно не АТА.
              • 0
                Для них был разработан свой интерфейс. Когда-то существовала такая вещь, как Cornice to ATA adapter, стоил неприличных денег и я не встречал попыток его повторить самостоятельно. Зато видел такую вещь, как Intuix Super Key S600 3GB, внутри которой жил такой же HDD, но с адаптером на USB 2.0 =)
                • 0
                  На вскидку- есть такой USB 2.0 to ATA/ATAPI Bridge Controller TUSB6250 от Texas Instruments, который умеет Cornice Storage Element 1.5GB. Интерфейс у 1.5GB и 3Gb, вроде бы, одинаковый…
                  • 0
                    Скачал pdf на TUSB6250, не нашёл ничего про Cornice. Здесь описание Intuix Super Key S600 3GB, там чётко написано про двойное преобразование интерфейса:
                    2-stage architecture with Cornice to ATA and ATA to USB bridge

                    А вы этот Intuix Super Key живьём видели? Хотелось бы такой раздобыть.
                    • 0
                      Да, видел живьем- коллега как-то приносил похвастаться- прикольная штучка =) HDD размером со спичечный коробок.

                      Про TUSB6250 — в их FAQ на 13 странице указано, что Cornice Storage Element 1.5GB это тип HDD3 и, в таблице ниже, указано, что тесты он проходит. А в пдфке на сам чип, да- я тоже не вижу упоминания Cornice. Странно…
                      • 0
                        HDD размером со спичечный коробок.

                        68*52*13мм
                        Особенно занятно, что сам жёсткий диск вместе со своей платой (!) по объёму в 6 раз меньше, чем девайс целиком. То есть при правильном подходе штучка могла быть с батарейку от Нокиа. Кстати, размер диска 42,8 × 36,4 ×5,0мм, а ещё была (была ли?) серия Cornice Dragon и диск Cornice Dragon-2 12GB, 40 × 30 × 3,5 мм — ещё в 2 раза меньше по объёму.
                • 0
                  Раз есть слабость к мелких дискам — а нет ли инфы, можно ли где-то купить б/у микродрайв (хард с интерфейсом CF)? И почему они так редки? Даже несколько лет назад не нашел ни одного.
                  • 0
                    В какой стране (городе) живёте? У меня Microdrive три штуки- новый и два б.у., один очень битый, другой был с парой бэдов и перестал отвечать у меня на руках, скорей всего по питанию проблемы. Купить не проблема, дорого (от 15 у.е. по курсу). Чуть позже попробую найти и написать где покупал новый.
                    Отдельно прошу прощения у автора статьи alk0v за оффтоп.
                    • 0
                      Одни битый в Харьков забрали бы, на стенд с носителями информации
                • +1
                  И вот ещё нашёл, раньше не попадалось
                  • 0
                    Интересный винчестер, никогда таких не видел. Судя по количеству дорожек на шлейфе, там параллельная шина, возможно, что-то по образу и подобию обычного АТА. Учитывая редкость прибора, найти готовый проект будет проблемно. Cкорости у Arduino тоже скорее всего не хватит.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.