ZX Spectrum 128k своими руками. Часть 2

в 16:58, , рубрики: cp/m, diy или сделай сам, Игры и игровые приставки, старое железо, старые игры, схемотехника, электроника, Электроника для начинающих

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

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

Прошло больше года c того момента как я написал статью про сборку клона ZX Spectrum «Ленинград». И за это время его возможности существенно расширились. Не думал что я буду писать ее продолжение, но все таки статей по ретрокомпьютерам не так уж и много, поэтому решился.

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

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

ZX Spectrum 128k своими руками. Часть 2 - 2

ZX Spectrum 128k своими руками. Часть 2 - 3

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

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

ZX Spectrum 128k своими руками. Часть 2 - 4

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

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

ZX Spectrum 128k своими руками. Часть 2 - 5

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

ZX Spectrum 128k своими руками. Часть 2 - 6

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

ZX Spectrum 128k своими руками. Часть 2 - 7

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

ZX Spectrum 128k своими руками. Часть 2 - 8

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

ZX Spectrum 128k своими руками. Часть 2 - 9

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

ZX Spectrum 128k своими руками. Часть 2 - 10

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

ZX Spectrum 128k своими руками. Часть 2 - 11

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

ZX Spectrum 128k своими руками. Часть 2 - 12

ZX Spectrum 128k своими руками. Часть 2 - 13

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

ZX Spectrum 128k своими руками. Часть 2 - 14

ZX Spectrum 128k своими руками. Часть 2 - 15

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

Хотя лента и картриджи как носители информации у меня уже имеются, но самая мяготка конечно в использовании флоппи-привода. Под этот носитель написаны лучшие игры, такие как Черный ворон, НЛО: враг неизвестен, а в скором будущем появится и POWER BLADE, кроме того под него портированы почти все игрушки с ленты. Скорость загрузки раз в 15-20 быстрее загрузок с магнитофона, объем форматированой в TR-DOS дискеты 640кб, профит очевиден. Но дисковод сам по себе к спектруму не подключишь, придется еще собирать полспектрума — контроллер накопителя гибких магнитных дисков, он же КНГМД. Схему данного устройства решил взять с сайта zxbyte.ru, как и многие другие доработки ленинграда.

ZX Spectrum 128k своими руками. Часть 2 - 16

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

ZX Spectrum 128k своими руками. Часть 2 - 17

ZX Spectrum 128k своими руками. Часть 2 - 18

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

ZX Spectrum 128k своими руками. Часть 2 - 19

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

ZX Spectrum 128k своими руками. Часть 2 - 20

ZX Spectrum 128k своими руками. Часть 2 - 21

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

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

ZX Spectrum 128k своими руками. Часть 2 - 22

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

Немногие клоны могли запускать данную ОС, можно вспомнить БАЙТ-01, Кворум-64, ZS Scorpion 256, Профи. Для работы с СР/М компьютер должен иметь поддержку теневого ОЗУ. А так как ZS Scorpion 256 это ленинград на спидах, то не будет больших сложностей его немного доработать. Качаем схему и изучаем. Отключается ПЗУ битом 0 порта #1FFD так же как и на spectrum +3, который из коробки имел возможность запускать СР/М. А битом 4 переключаются страницы по 128кб. У меня же переключается битом 6 порта #7FFD, что конфликтует в некоторых случаях с программами, хотя проблема у меня была только с одной демкой. Пришлось перерисовывать схему расширения для поддержки порта #1FFD. Делал это в пейнте, получилось как то так.

ZX Spectrum 128k своими руками. Часть 2 - 23

Места на плате у меня больше нет, 100 раз пожалел что не взял плату 20*30 под ATX корпус. Так как 6 бит порта #7FFD мы уже не используем, микросхема 1533ТМ2 теперь лишняя, вместо нее ставим 1533ТМ9, на которую заводим 0 и 4 бит порта #1FFD. Используем по максимуму 1533КП12 в схеме расширения тем самым освобождая необходимый нам элемент ИЛИ. Проверяем, предварительно записав на дискету СР/М от комплекта скорпиона. Работает!

ZX Spectrum 128k своими руками. Часть 2 - 24

Немного непривычно видеть СР/М с серым фоном и черными буквами, но те кто портировали ее видимо хотели схожести с родным 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.

ZX Spectrum 128k своими руками. Часть 2 - 25

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

ZX Spectrum 128k своими руками. Часть 2 - 26

Программирование

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

Игры

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

ZX Spectrum 128k своими руками. Часть 2 - 27

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

ZX Spectrum 128k своими руками. Часть 2 - 28

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

ZX Spectrum 128k своими руками. Часть 2 - 29

Клон PAC MAN.

ZX Spectrum 128k своими руками. Часть 2 - 30

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

Автор: iegova

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js