Контроллер дисковода для спектрума своими руками

Добавил пользователь Morpheus
Обновлено: 10.09.2024

Авторская страница этого устройства находится здесь.
Все материалы по данной конструкции можно найти на его страничке. Там приведены два варианта эмулятора дисковода 3,5" - на SD карточке (который я и повторил) и c USB интерфейсом на ALTERe.
Tак же весьма полезным будет прочесть форум по эмулятору. Присутствует англоязычный раздел.
Здесь я привожу только то, что касается моего варианта исполнения данной конструкции.
Этот эмулятор я спаял специально для своего ZX Spectruma.

: : Схема : :

: : Печатная плата v.1 : :

От себя пару слов: PIC18F4525 заменен на PIC18F4620 (по выводам совпадает с 4525 и памяти больше). В схеме в делителе напряжения для SD-карточки изменены сопротивления всех резисторов (пересчитал в меньшую сторону). Ну, и печатную платку свою развел, в авторском варианте печатка была слишком большой. Забыл зазеркалить разъем под флоппик, и как результат, пришлось запаять разъем для дисковода со стороны печатных проводников.

Замены - /проверено-работает/:
74LS01 на К155ЛА8 (2шт.)
74HCT14 на 1533ТЛ2 (1 шт.)
74HCT08 на 1533ЛИ1 (1 шт.)

Как это работает

При помощи утилитки img2hfe.exe - уже версия 1.3.7.0, (она есть и на сайте автора) конвертируем образы SCL и TRD. Записываем их на карточку. Вставляем. Включаем. Выбираем двумя кнопками требуемый образ и третьей кнопкой устанавливаем. На спеке жмем LOAD и наслаждаемся. При помощи джампера можно установить диководы А,B,C,D. Эмулятор понимает карточки в том числе и на 32Гб.
При помощи утилиты HxCFloppyEmulator.exe из того же архива (ссылка выше) мы теперь можем конвертировать HFE-образ (который мы можем изменять на реальном спектруме) обратно в оригинальный образ *.TRD. Сначала конвертируем в образ *.IMG, затем этот *.IMG-образ переименовываем в *.TRD и все ок.




Конвертирование образов. Указываем папку "Source" - откуда берем *.TRD и *SCL и в следующей строке указываем папку "Target directory" - куда кладем *.HFE-образы для последующей записи на карточку. Жмем кнопку "Batch converting".

image


Первая часть здесь

Все изображения кликабельны.

Порт расширения

Компьютер к которому ничего нельзя подключить очень ограничен в возможностях и я решился припаять к нему порт расширения. Кроме 40 pin IDE на плату больше ничего не влезало, но подсчитав количество нужных мне контактов вышло что хватит и этого. Минус один контакт на ключ, 2 контакта на +5в, 2 контакта на землю.




Клавиатуру в корпус

Ранее я использовал внешнюю клавиатуру, но хотелось более аутентичного форм-фактора. На момент сборки мне подогнали клаву от спектрума из 90х с наклейками. Порты для синклер джойстиков и кнопку РЕСЕТ прикрутил к ней же. Дело нехитрое, вырезаем прямоугольник в корпусе и крепим к плате на стойки. Заднюю часть тоже пришлось немного попилить.


Игры без загрузок

Картриджи для спектрума у нас популярны не были, если только не считать игровую приставку АЛЬФ. Не то что бы они были популярны и в европе, так как требовали недешевого устройства ZX Interface 2. Официально было выпущено всего 10 игр. Картридж это всего лишь ПЗУ с предзаписанной игрой на плате с набором контактов, так что сделать это устройство совсем несложно. Я давно хотел попробовать вытравить плату и сейчас как раз тот случай. Но сначала ее надо еще и развести, для этого использовал программу sprint layout.


На самой плате ленинграда только впаял резистор подтяжки на 20 контакт ПЗУ и сам контакт вывел на порт расширения. При подключении картриджа на него будет подаваться +5в и отключит ПЗУ компьютера. Ну и контакт /RDROM тоже на порт расширения вывел. Что ж, плата разведена, выпиливаем из куска советского текстолита квадратик.


Засовываем в принтер страницу из глянцевого журнала, печатаем и включаем утюг.


Плата двусторонняя, делаем конвертик из страниц при помощи степлера.


Получилось как то так, надо было конечно некоторые участки закрасить получше маркером.


Для травления выбрал хлорное железо, хотя знаю что полно других новомодных способов.


Получилось так себе.


И тут люто накосячил, перепутал слои при распечатке, заметил только после того как плата была вытравлена. Новый кусок текстолита вырезать было лень и отчаявшись я сделал переходные отверстия. Зря я стал лудить дорожки так как иногда оставались куски фольги на жале паяльника, без МГТФ и тут не обошлось. ПЗУ для картриджа так же как и для самого ленинграда выбрал EEPROM W27C512. Для выбора игр (4 штуки по 16кб) использовал счетчик 74HC393, чтобы при нажатии кнопки РЕСЕТ они бы переключались как в сборниках на ДЕНДИ. Но это было плохой идеей и в итоге счетчик я выпаял и сделал переключение двумя дип свичами. Заливаем термоклеем для жесткости место пайки 40 пинового контакта.



Программатор на тот момент я уже приобрел свой. Заливаем все хиты от Ultimate Play The Game включая Jetpac. Конечно я потом попробовал и другие, в том числе так и не вышедшие игры, такие как Gyruss и Star Wars.



Подключаем дисковод

Я решил быть реалистом и схему на 15 микросхем я разведу наверное только к следующему столетию, поэтому собирать стал на макетке. Ну и очень хотелось поместить плату в компактный корпус. Сердцем отечественных контроллеров дисковода была микросхема КР1818ВГ93. Недостаток у нее довольно существенный, она требовала 12 вольт и надежностью не отличалась. Поэтому я заказал микросхему аналог MB8877, которая прекрасно работает и от пяти. Не знаю китайцы мне прислали оригинал или подделку, но она работает и это замечательно. Выбрав схему КНГМД С-48, которая и создана была для подключения к ленинградам и балтикам, столкнулся с неприятной деталью, на узле чтения логика ФАПЧ была реализована на микросхеме ППЗУ К556РТ4, про которую мой китайский программатор не знал. Попробовал вместо нее поставить использованную ранее W27C512, но то ли я что то накосячил, то ли в самой EEPROM были проблемы, но флоппик не заработал, хотя в TR-DOS я уже смог войти. Пересобрал потом узел чтения по схеме пентагон-128 без ФАПЧ и как результат дисковод смог отформатировать дискету. Кстати стандартным дискетам повышенной плотности нужно заклеивать отверстия в уголке, дабы они виделись в приводе как дискеты двойной плотности.



Какое же облегчение пользоваться дискетами, после загрузок, даже ускоренных с ленты/телефона. Схема КНГМД у меня упрощенная и работать может только с двумя дисководами (в том же пентагоне и многих других клонах до 4), хотя и этого хватит за глаза. Наигравшись с 3,5" дисководом я захотел приобрести 5,25" и он заработал без проблем, к слову я впервые потрогал пятидюймовые дискеты, они такие гибкие гибкие, в общем кайф. Для удобства прошил вместо BASIC-128 Quick commander, он умеет и музыку играть и изображения смотреть и всякие операции с файлами.


Для записи образа дискет TR-DOS на PC я использую програмку ZX Studio, а для сборки собственного образа ZX Spectrum Navigator.



Смотрим демки

Демосцена у нас развивалась преимущественно под клон спектрума пентагон-128, а он в силу особенностей схемотехники имел 71680 тактов на прорисовку одного кадра, когда как фирменный zx spectrum 69888 тактов, а ленинград всего 65184 тактов из за задержек ответа от памяти. Для большинства игр и других программ это не имело особого значения, но только не для демок. Отрезаем сигнал /WAIT и сажаем его на +5в. на ножку 9D5 подаем землю вместо сигнала /БК. Но спектрумовские мультиколоры могут не заработать с пентагоновскими таймингами, поэтому сделаем джампер спектрум/пентагон. C КМОП версией процессора (Z84) такой вариант не заработал, но с U880 проблем нет. 100% совместимости с пентагоном компьютер не получил, но демки, написанные под пентагон теперь не тормозят. Мне очень понравилась REFRESH, разработанная в далеком 1998 году.


Работаем в СР/М-80



Немного непривычно видеть СР/М с серым фоном и черными буквами, но те кто портировали ее видимо хотели схожести с родным BASIC-48. По дефолту ОС имеет 48кб ОЗУ и RAM диск на 160кб, запускается с 64 символами в строке(3 пикселя в ширину+пробел), что не шибко хорошо читается но терпимо. Утилитой mode, можно поменять на 32 ,40,48 и требуемых для большинства программ 80 (3 пикселя в ширину без пробелов, нечитаемое месево) символов. Некоторые клоны имели режимы повышенного разрешения, например Байт-01 с режимом 512х192 что делало его вполне пригодным для работы с СР/М. Но у фирменного spectrum +3, скорпиона 256, и большинства других клонов такого счастья не было, что возможно и послужило причиной непопулярности данной ОС на спектрумах. О самой СР/М-80, а точнее ее версии 2.2 от 1979 года можно писать отдельную статью, я всего лишь пробегусь по софту.

ОФИС
Текстовый редактор WORDSTAR, очень функционален для редактирования текста, один из прародителей MS WORD.


Электронные таблицы Варитаб, советско-болгарская разработка, очень-очень напоминающая SuperCalc, была ли это переведенная на великий и могучий западная программа, или сделанная по образу и подобию, ну или было какое то лицензирование, надеюсь в комментариях подскажут. Существует еще Варитаб-86 для МС-ДОС, ей возможно многие пользовались. Еще одна электронная таблица Multiplan от MicroSoft у меня нормально запустится не смогла, возможно ей требовалось 25 строк вместо 24.


Программирование
На СР/М просто рай для программистов, тут и Turbo Pascal и компилятор Си, компилятор Фортран, компилятор языка ADA, язык ФОРТ-83, ассемблер, MS BASIC, транслятор языка PL/1 и многое другое.

Игры
Да, на СР/М были игры, в основном это текстовые квесты, такие как трилогия ZORK, к сожалению с моим уровнем английского оценить их я не смогу.


Так же были популярны шахматы, такие как SARGON.


Но были и экшны, например Ladder, вполне играбельный платформер.



И как же без его величества ТЕТРИС.


Эпилог

По итогу получилось довольно функциональная машинка для ретро и не очень гейминга, просмотра демок, прослушивания чиптюна и других развлечений. Аппетит приходит во время еды и возникают мысли собрать контроллер мыши, контроллер жесткого диска, COVOX, вывести наконец кемпстон джойстик по стандарту zx spectrum next, разогнать компьютер до 7 Мгц… но стоит ли оно того?

Вместе с ZX Spectrum Superfo Harlequin был также приобретён конструктор Beta Disk Interface (версия на CPLD). Подходит он не только к Harlequin, но и к другим спектрумам с "фирменным" системным разъёмом.
Для тех, кто не в теме про BDI - это такая штуковина, которая позволяет загружать игры для спектрума с дискет. Не канонично, зато like a Pro. Для тех, кто в теме и тоже хочет такую штуковину - тут у MV1971 ещё есть (К3).




1



2



3



4



5



6



7



8
C ZX Spectrum Superfo Harlequin

image

За основу решил взять оригинальную схему Ленинграда с sblive.

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

ZX Spectrum 128k своими руками

Все микросхемы решил поставить на панельки для быстрой замены если что то пойдет не так. Но ведь Спектрум содержит ПЗУ, а его еще надо прошить, программатора у меня не было, но мир не без добрых людей. Вместо двух EPROM решил поставить одну EEPROM W27C512, в который зашил 48к бейсик, 128к бейсик, ТР-ДОС и тест памяти для 48к, также неплохо иметь возможность переключать банки памяти перемычками. Но вот все мои детали пришли, заранее продумав где какая панелька будет стоять, начал их припаивать. Ну и прилепил наклейки на плату с надписями где какая микросхема и номера ножек, что очень облегчило мне жизнь в дальнейшем.

ZX Spectrum 128k своими руками

ZX Spectrum 128k своими руками

Уделяя пару-тройку часиков в день за две с половиной недели все таки собрал. Не терпелось сразу его подключить. И после включения я увидел белый экран, что же уже неплохо подумал я. После перепроверки всей платы, убрав пару косяков ситуация лучше не стала. Я долго не мог понять в чем дело но потом узнал что не стоит мешать КМОП и ТТЛ микросхемы. Да, я тот еще радиолюбитель. Пришлось опять заказывать детали и ждать. После замены всех КМОП микросхем на ТТЛ все таки появилась заветная надпись, но изображение плыло.

И вот наконец то картинка нормальная, никаких подергиваний, запускаем тест памяти.

ZX Spectrum 128k своими руками

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

ZX Spectrum 128k своими руками

ZX Spectrum 128k своими руками

ZX Spectrum 128k своими руками

Один раз как то проснувшись утром я призадумался, а правильные ли я впаял конденсаторы… и ОМГ, вместо 47 нанофарад я впаял 47 пикофарад, а еще хотел чтоб что то работало. Еще раз заказываем недостающие детали, ждем. После глобальной перепайки конденсаторов наконец то можно нормально поиграть, больше ничего не виснет. Приходилось себя успокаивать, что все равно большинство игр на спектруме монохромные и я не так уж много теряю, что в в конце 80х далеко не у всех были цветные телики и многие играли в него с ч\б картинкой. Но как то не шибко помогало, знаете ли.

ZX Spectrum 128k своими руками

А на моем LCD мониторе кадры все равно бегали. В итоге я все таки решился впаять дополнительную микросхему для укорочения строчного синхроимпульса, которую я хотел поставить еще в начале сборки но почему то решил сэкономить. В итоге наконец то получил хорошую цветную картинку.

ZX Spectrum 128k своими руками

Изображение правда немного двоит. Проверил на LCD телевизоре, двоения не видно. Картинка отличная. Супер! Но на моей плате еще есть свободное место и глупо было бы его не использовать. Сделать расширение памяти до 128к и поиграть в кастлванию 2015 года было бы здорово. Для этого поменяем наши К565РУ5 на К565РУ7 или аналог MN41256-08, который без проблем можно купить на алиэкспресс. Добавив еще 7 микросхем, включая звуковой чип YM2149F плату заполнил полностью. Проблем никаких с апгрейдом памяти не возникло. Расширял память до 256к по этой схеме, но все же использую ее в режиме 128к.

ZX Spectrum 128k своими руками

В итоге получилось вот это

ZX Spectrum 128k своими руками

ZX Spectrum 128k своими руками

ZX Spectrum 128k своими руками

Изначально юзать плату на столе я не собирался и для этого подобрал корпус от старой ТВ-приставки, теоретически туда можно поставить и дополнительную плату контроллера дисковода вторым этажом, но я пока не хочу этим заморачиваться.

ZX Spectrum 128k своими руками

ZX Spectrum 128k своими руками

Игры на спекки оказались лютым хардкором, мне удалось пройти только недавно вышедший Mighty Final Fight.

ZX Spectrum 128k своими руками

Так много ли я потерял из за отсутствия этого компьютера в детстве? В плане игр вряд ли, хотя возможность переписывать игры с кассеты на кассету могла бы мне очень прийтись по душе. В плане программирования на бейсике, вряд ли бы в то время меня это заинтересовало.

Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов

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

Эмулятор дисковода для ZX-Spectrum, рассчитанный на работу с TR-DOS.

Эмулятор реализован на Arduino и эмулирует работу дисковода используя образы дискет в формате TRD.


Пентагон 128к --->512к

Данная конструкция помогает расширить память компьютера Пентагон 128 до 512к. Плата устанавливается вместо привычных 565РУ5 и требует минимальной доработки печатной платы компьютера. Подробнее можно прочесть на сайте автора разработки.

Адаптер клавиатуры и Sega джойстиков

Адаптер клавиатуры и Sega джойстиков

Позволяет подключить к компьютеру стандартную IBM клавиатуру через разъем PS/2, а также два Sega джойстика с програмным выбором его назначения (Kempston, Sinclair. )

Адаптер RGB to Composit

Адаптер RGB to Composit

Кодер предназначен для подсоединения спектрум-совместимых и других бытовых компьютеров к телевизору или проекционному оборудованию, неоснащенному RGB входом. RGB сигнал компьютера должен обладать стандартной телевизионной разверткой. Только в этом случае гарантируется корректная работа устройства.

На вход подаем сигналы R G B и синхронизацию на выходе получаем тюльпан (композит). Плата опробована на многих компьютерах и показала отличный результат. Программирования микросхем не требуется!

Платы имеются в двух вариантах - для стандартных компонентов (черная плата на фото) и смд компонентов (желтая плата). Черная плата рассчина на подключение к стабилизированному источнику питания 5в и кодированием сигнала в PAL. Желтая плата более универсальная - на ней размещен стабилизатор питания, поэтому на нее можно подавать питание 5. 18в, что позволило мне использовать ее на практике для подключения тв в автомобиле, также в зависимости от установленных деталей использовать как в режиме PAL так и NTSC. Мои наборы по умолчанию идут с комплектами деталей для работы в системе PAL, если вам нужен именно NTSC напишите об этом в комментариях к заказу. Также желтая плата имеет выход на разъем S Video, в черной плате я удалил этот разъем, т.к. он практически не используется, что позволило сделать плату более компактной.

Читайте также: