В последнее время наблюдается дефицит чипов контроллеров дисковода для наших любимых ZX-Spectrum. Это касается как советских 1818ВГ93, так и зарубежных микросхем MB8877A.
Согласно законам рынка цена на эти чипы значительно повысились. Кроме того, часто можно выкупить неисправный чип, а в случае с MB8877A – нерабочий «перемарк» с неизвестно чего.
Купить на алиэкспрессе нормальную микросхему MB8877A – очень большая удача.
Идея эмуляции ВГшки давно висела в воздухе. Была даже рабочая реализация от Робуса, но, по разным причинам, в массы она не пошла.
Не так давно появился интересный проект эмулятора ВГ93 (MB8877A) от известного спектрумиста Евгения Угрюмова. Кстати, эмулятор дисковода на Atmega 328P тоже авторства Евгения Угрюмова.
В основе проекта чип LGT8F328p - китайский микроконтроллер, клон популярного AVR ATmega328p (Arduino Nano). Практически полностью с ним совместим, а также имеет несколько дополнительных фич!. Проект развивается уже достаточно давно, многие спектрумисты его повторили, а топовые ретро-блогеры сделали видео и стримы по сборке и тестированию девайса.
Хоть и с опозданием, решил тоже повторить этот эмулятор и кратко описать свой опыт.
Итак, сначала надо закупиться.
Отдельно чип LGT8F328P стоит дороже чем готовая плата (искать на али как LGT8F328P LQFP32 MiniEVB плата) с ним на борту. Поэтому, обычно все покупают платы и сдувают оттуда нужный контроллер:
Далее желательно купить (заказать) печатную плату. Гербера есть в свободном доступе. Zip-файл я прикреплю в конце поста. Это вариант от Alex MicroDRV.
Кроме платы и чипа надо найти «гребенки» для изготовления «ножек» микросхемы эмулятора. Я использую т.н. цанговые панельки, поэтому купил цанговые «гребенки». Кроме этого, надо три блокировочных SMD конденсатора на 0.1uF, танталовый электролитический конденсатор на 47uF, и SMD-резистор на 10 кОм.
Сначала запаиваем микроконтроллер, потом SMD детали. Контактные «гребенки» паяем в последнюю очередь. Чтобы запаять их ровно я использую макетную плату от Ардуино. Выступающую часть контактов обрезаю заподлицо с платой и формирую при пайке «шарики».
Все. Плата готова:
Теперь надо прошить контроллер.
Самое простое и доступное решение – использовать в качестве программатора популярную плату Arduino NANO. Стоит она не дорого и продается на всех торговых площадка от Али до Озона.
Для превращения Ардуино NANO в программатор, в нее надо «залить» скетч ArduinoISP. Этот скетч есть в стандартном комплекте среды разработки Arduino IDE 1.8.18
Подробно про установку Arduino IDE я рассказывать не буду. Нужное видео легко найти в youtube. Кроме этого, я дам ссылки на ряд видео по сборке эмулятора ВГ93 – там процесс установки Arduino IDE и программирования Arduino NANO очень подробно показан.
Теперь нам надо подключить программатор на Arduino NANO к плате эмулятора ВГ93.
Вот таблица необходимых подключения. Всего надо пять проводов.
Для наглядности подключение в картинках:
Для соединения использовал стандартные 10 см проводки для Ардуино и макетную плату. Тут каждый делает, как ему удобно.
Провод к пину RESET необходимо подпаять. На плате есть специальная площадка:
Для прошивки использовал программу AVRDUDESS 2.18. Вот ссылка на архив https://drive.google.com/file/d/1c69...yrYakJtzx/view
После запуска необходимо выбрать нужный тип программатора – Arduino as ISP
Ниже прописать номер порта, к которому привязалась плата Arduino NANO и скорость порта 19200.
В левом верхнем углу выбираем чип, который нам надо запрограммировать - LGT8F328P.
В поле Flash указываем путь к нужному файлу прошивки (для начала залил прошивку vg93_lgt_evo.hex). Файлы прошивок прикреплю ниже, альтернативные прошивки есть в архиве с прошивальщиком AVRDUDESS.
Когда все готово, нажимаем кнопку Program! В случае удачного подключения и настройки ниже побежит прогресс программирования.
Все, можно отключить эмулятор от программатора. Наша новая «ВГ93» готова к установке в Спектрум.
Для проверки использовал свою тестовую плату ZS Scorpion 256 Turbo+. В качестве дисковода подключил самодельный эмулятор типа Gotek.
Сначала проверил чтение. В турбо-режиме (7 МГц) Скорпион некорректно считывал даже оглавление диска. В обычном режиме (3.5 МГц) чтение работало корректно.
Евгений Угрюмов оперативно подсказал мне, что лучше использовать другую прошивку. Залил vg93_lgt_SYNC.hex
С ней чтение заработало и в нормальном и турбо режиме без сбоев.
Проверил форматирование. Формат проходил как в TR-DOS, так и через свою утилиту в ProfROM.
Проверил запись. В среде TR-DOS использовал команду COPY S для копирования файлов с использованием одного дисковода (спасибо ZX_RemX за инструкцию). Операция прошла удачно.
После этого скопировал файлы большего размера через trdn. Копирование и проверка файлов тоже прошли удачно.
А вот запись сохранения игры через меню ProfROM заканчивается зависанием игры. Полученное при этом сохранение оказывается «битым» и подвешивает Скорпион.
После тестов с Готеком, подключил реальный 3.5" дисковод.
Проверил чтение - все читается нормально.
Потом проверил форматирование в операционной системе TR-DOS. Здесь тоже проблем не возникло:
Скопировал игру Dizzy1EE с SD-карты на дискету с помощью Proteus. Успешно, игра после этого читается и запускается.
Сохранение состояния игры через меню ProfROM, как и в тестах с Готеком "завешивают" игру. Сохранение получается битым.
Пока эту проблему не поборол. Скорее всего, Скорпион использует некие нестандартные процедуры при записи дампа памяти на дискету.
Проверка на Пентагоне 128 (2013)
Достал с полочки свой Pentagon 128 (2013). Он сразу оснащен двумя дисководами. Gotek - диск "А", 3.5" FDD - диск "B".
Установил эмулятор "вгшки" на место MB8877A.
Чтение, форматирование ожидаемо прошли успешно на обоих дисководах.
Для проверки записи скопировал игру Dizzy1 с Готека на дискету с помощью командера trdn.
Все прошло без сбоев, игра запустилась с дискеты.
![]()
Вывод.
Эмулятор мне понравился. Конечно, я еще не очень долго его тестировал, но пока каких-либо критических глюков или ошибок не заметил. Остается открытым вопрос по сохранению дампа памяти через меню ProfROM в Скорпионе. Если кто-то будет тестировать этот эмулятор на Scorpion 256 turbo с ProfROM, прошу проверить этот момент и отписаться в теме.
Ссылки на видео по сборке эмулятора:
Скрытый текст
[свернуть]
Небольшое видео с моими тестами эмулятора:
Буду рад комментариям и конструктивным замечаниям.
Прикрепляю архив с схемой эмулятора, герберами и прошивками.
vg93_microDRV.zip
Gerber_EMU_VG93_PCB_EMU_VG93_2_2025-06-14.zip



























Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 


