Вот сделал себе маленький комп. Основным толчком стало то, что на митинском радиорынке не смог пройти мимо бело-золотого красавца с маркировкой 80A-CPU MME. Вообще давно мысль была, что нужна подручная маленькая программируемая штуковина для удобной работы со всякими другими программируемыми микросхемами. Универсальная система на 8080/8085/Z80 (ну или даже на 1801ВМчто-то) тут подходит в самый раз, имея множество преимуществ по сравнению с вариантом взять AT*, написать прогу, запрограммировать его, вставить в макет и отлаживать непонятно что, то ли прогу контроллера, то ли алгоритм работы с остальной частью девайса. Кроме того, в процессе сборки маленького компа реализуется масса давних фетишных задумок, что дает кучу положительных эмоций. Посему толчок был получен и началась реализация. Далее расскажу, что туда запихнул, как и почему.
Контроллер ПДП. Потому что лет 20+ уже валяется купленный у барыг в Электроне (не ошибся?) на Сущевском Валу КР580ВТ57. К тому же с 37-м работал, с 57-м не работал. Потом лет 15 у меня валялся 8272A, он отлично вписывается идеологически в общую концепцию, особенно вместе с DMA. Потому что идеологическая концепция предусматривает написание и отладку программ на самой микроштуковине, и НГМД там очень даже кстати. Более того, дисковод очень хорошо диктует габариты и конструктив. Без извращений в деле фетишизма никак не обходится, поэтому задумываю изврат ¹1, пусть ПДП работает для пересылок память-память тоже. Как потом оказалось, что это вовсе и не изврат, но мне повезло, что на эту инфу я наткнулся уже после проектирования и обкатки решения, так что цепочка "извратная идея"->"схемотехническая реализация"->"отладка в железе" прошла без помех, что немаловажно для состояния протащиться от изврата по полной.

Вот. А если ПДП работает память-память, то сам собой напрашивается электронный диск. Для него у меня опять же лет 15 валяются XX4256, взять из этой кучки два маленьких DIP20 - и вот они 256K. В конце 80-х у меня был самодельный комп (тогда говорили микро-ЭВМ), на что похожий - сказать затрудняюсь, потому как не повторение было, хотя вариант основы не мой. Скажем так, доработка и развитие на базе мМС1204 (МПСС ¹5 1986 стр 65-69). Кроме контроллера там было 2 платы ОЗУ по 64К и плата интерфейса дисковода на 1818ВГ93, а в самом контроллере один канал на ВВ51 был извращенным образом переделан на интерфейс магнитофона. Как опять же потом оказалось, это не изврат, в МПСС встречал статью с описанием магнитофонного интерфейса на ВВ51 в синхронном режиме, но мой вариант был круче, потому что был полностью цифровой, безо всяких АГ-шек
Та микро-ЭВМ была утеряна, о чем я иногда жалею, потму как почти свое детище, поэтому маленький комп в чем-то повторяет характеристики того компа, НГМД+192К электронного диска. На прошлой работе как-то выкидывали циску 4-тонник, от нее у меня скопилась кучка AMD-шных 020-х флешек, что есть тоже 256К, что естественным образом родило мысль флешку заюзать как постоянный электронный диск. От той же циски применил 54-й таймер, хотя есть кучка ВИ53-х, почему-то решил поставить этот 8254, хотя без разницы абсолютно в моем случае. 54 и 51 применил идентично как в вышеупомянутом контроллере мМС1204. А контроллер прерываний поставил 1818ВН19, коих парочку опять же лет N назад взял на тогда еще тушинском рынке за какой-то бесценок, просто из любопытства и от удивления, что ВН оказывается еще бывают и не 59. ВН19, как оказалось, идеально подходит к IM2 Z80.
К тому же я никогда не разрабатывал комп на Z80, повторение спектрумов не в счет, поэтому в этой разработке я задействовал все возможности проца (кроме NMI, которое можно было бы использоваь для контроля четности памяти, но это вышло бы за рамки минималистической концепции). RFSH, правда, самым лучшим образом заюзать не получилось, сделал банальное CAS-before-RAS по RFSH. И, наконец, изврат ¹2 это 176ИЕ12 от 5 вольт и 1 МГц в качестве перезапускаемого таймера выключения двигателя дисковода. Вот этого точно никогда не было. Молодцы новосибирцы, хорошую 176-ю серию делают.
Наружу вывел шину данных, три CS с перекрытием по 4 адреса, A0, A1, один DRQ/DACK и два прерывания. Ну и ресет. Заняты оказались все каналы INT и DMA.
В общем, CPU+DMA+64K RAM+FDC+256 FLASH disk+192 RAM disk+Int Controller+Timer+USART уместилось на плате размером с 3" дисковод.
При такой плотности двусторонняя разводка не получается, поэтому монтаж сделал проводом. Время потратил, зато земля сплошная, сигналы на осциллографе красивые, и снаружи смотрится прикольно, микросхемы и текстолит - а дорожек нет.
КПДП поставил не тот старый пластмассовый, хотя решение отладил на нем, а керамику новосибирской серии 1860, из соображений так красивше, потом 1860 это какая-то спецсерия, устойчивая к какому-то спецвоздействию, и вообще, Новосибирск хороший город и люди там хорошие.
Сейчас CP/M на машинке зашевелилась потихоньку.
Концепция программ - если ЦП нечего делать, он в HLT, а в движение его приводят прерывания. Благо вся аппаратная поддержка тому есть, ни одно внешнее устройство без прерываний не подключено. Даже mem-to-mem DMA генерит прерывание в конце передачи.
У меня Zaurus 760-й есть, думаю вывести нормально его RS232, будет маленький терминал к маленькому компу.