Программирование микросхем GAL и им подобных

Описание алгоритма заливки прошивок в микросхемы GAL и им подобные. И пример реализации этого алгоритма на доступных элементах.

Описание алгоритма заливки прошивок в микросхемы GAL и им подобные. И пример реализации этого алгоритма на доступных элементах.

Отдельное спасибо Сергею Киселеву (https://www.malinov.com/) за огромную работу, которую он проделал, чтобы мы все могли найти ответы на свои вопросы про IBM PC/XT и не только.
Дальше будет очень много текста (черновик около 40 страниц). Не столько технического, сколько «научно-популярного».
Итак, IBM-PC (XT), он же IBM 5150/5160. Я здесь пишу так нестандартно через дробь, потому что принципиальной разницы между чистым PC и PC/XT нет. Это был по сути просто рестайлинг, как сказал бы автолюбитель. Добавили оперативки, обновили BIOS и OS, сделали поддержку HDD, убрали поддержку (разъем) магнитофона, заменили блок питания на более мощный. В общем, принципиальная разница только в том, какой BIOS установлен.
Сначала я хотел сделать 5150, который казался мне более простым, но когда погрузился в тему, понял, что если уж делать, то 5160. Дальше я буду для краткости называть его просто ХТ.
Вообще весь текст будет чем-то средним между техническим описанием и литературой. Думаю, что технические подробности уже мало кому интересны. Это скорее развлечение, чем что-то полезное. Но на вопросы, если такие будут, отвечу.
Итак, делаем ХТ. В сети не сложно найти подробное описание ХТ в виде pdf-фалов. Инженеры IBM оставили очень подробное описание, по которому можно просто собрать полностью оригинальную конструкцию. Там есть абсолютно все, включая полный листинг BIOS.
Но повторять ту машину из начала 80-х нет большого смысла, да и не интересно. Интересно сделать свою версию. В этом же и была прелесть PC – свои версии делали все, кто хотел.

Как-то так получилось, что неожиданно у меня образовалось хобби – делать свои версии ретрокомпьютеров. Т.е. не просто найти схему, сдуть с нее пыль и спаять как это было когда-то придумано, а сделать свой вариант. Но обязательно с настоящим процессором и другими основными микросхемами, а не эмулятор на микроконтроллере.
Замечу, что мне интересен сам процесс сборки. Как-то пользоваться тем, что в итоге получается, я не вижу смысла.
Сегодня будет рассказ про Радио-86РК.
Про сам компьютер, который в свое время произвел фурор в среде советских радиолюбителей, сказано уже достаточно, повторяться не буду. Это рассказ про мою версию.
Итак, дошла у меня очередь до РК после всяких спектрумов. В свое время он прошел как-то мимо меня. В 86-м году я еще был слишком мал и не читал журнал «Радио», а когда стал постарше, всех домашних восьмибитников уже затмил великий Спектрум.
Делать я решил классическую версию 32кБ, но со следующими особенностями:
• Процессор Z80. Он был у меня в наличии, и плюс к этому он по всем параметрам лучше i8080.
• Выход на монитор VGA 640х480. Никаких телевизоров. 21 век все-таки.
• Память на двух 41464 вместо 8 или 16 К565РУ… Эти (41464) тоже были у меня в наличии. Получается 64кБ, а не 32. Но это не важно.
• Параллельный порт К580ВВ55 только один на клавиатуру – внешних устройств для подключения у меня нет, поэтому второй порт не пригодится.
• Всякую мелкую логику реализовать в ПЛИС.
• Монтаж проводами на макетной плате.
Вот и весь план. Набросал реально в уме эскиз будущей конструкции, заказал макетную плату размером А4 и основные микросхемы.
public interface IForecast
{
int GetForecast(int value);
int Size { get; set; }
}