PC XT на новый лад

Описания, советы, ремонт, эксплуатация старых IBM PC-совместимых ПК
justontime
Full Member
Сообщения: 264
Зарегистрирован: 10.09.2016,00:06
Откуда: СПб

Вклад в сообщество

PC XT на новый лад

Сообщение justontime » 15.09.2016,14:38

Не уверен, в какой раздел правильнее разместить тему - вроде и о XT разговор, но совсем уж на современной базе...

Неоднократно видел разговоры о том, как хорошо было бы сделать нечто подобное, но почти всегда это была чистая маниловщина - кроме разговоров, дело дальше не двигалось. Мне же больше интересно что-то действительно сделать, в результате родился проект XTC3 - аналог PC XT со всеми настоящими "большими" микросхемами, но с мелочевкой, запиханной в FPGA Cyclone III.

Предвосхищая вопросы, отмечу некоторые моменты сразу:

- проект практически не ограничен с точки зрения запихивания внутрь FPGA разных штучек - в настоящее время работает самый минимум, но охватывающий всю систему
- некоторые вещи, которые хотел сразу сделать (например, слот для CF карты, чтобы сразу IDE диск получился), не поместились по банальной причине отсутствия свободных пинов FPGA
- только один ISA слот - размеры моей печки для пайки не позволяли сделать плату больше (хотя сейчас очень жалею - нужно было постараться и еще один поставить)


И еще (просто устал уже слышать одни и те же вопросы):

1. Разработка электронных штучек для меня - исключительно хобби, одно из многих других. Никакого профессионального образования в этой области я не имею, никогда ничем подобным в качестве работы (зарабатывания денег не занимался).
2. Меня НЕ интересует практическое применение моих проектов. Т.е. вообще никак не интересует - ни с точки зрения зарабатывания денег, ни с точки зрения использования мною этих проектов для каких-то полезных целей.
3. Исходя из п.2, единственное, на мой взгляд, что может быть полезного хоть для кого-то - если что-то из моих разработок будет использовано еще кем-то для своих (любых законных) целей
4. Исходя из п. 1 - 3, я буду выкладывать в свободный доступ всю информацию по проектам - схемы, платы, исходники прошивок и т.д. Единственное, я предпочитаю делать это на этапе, когда уже проект приведен хоть в какой-то порядок
5. Большая просьба - если есть какие-то вопросы не совсем уж личного/индивидуального плана - задавайте их в теме, а не пишите личные сообщения...


Итак, есть следующее устройство (надеюсь, не будете слишком ругать за большой размер картинки - так лучше все нюансы видны):

Изображение

Внутри FPGA в настоящий момент сделана практически 100% архитектура PC XT. В качестве BIOS используется "родная" прошивка XT, за исключением обработчика INT 13 - я эмулирую диск на SD-карте, поэтому INT 13 написан свой.

Из дополнительного - так как на плате есть скоростной видео-ЦАП, то внутри FPGA также сделан CGA-контроллер, но с выводом на VGA монитор. Т.е. с точки зрения программ это CGA, но чисто физически сигнал на монитор уходит в режиме VGA 640х400, точки просто удваиваются.

Естественно, ничто не мешает отключить эти расширения, и вставить в слот соответствующий контроллер (диск, видео или вообще что-угодно)

Из плат расширения я пока потестировал два разных VGA адаптера и два SoundBlaster'а (тоже разных) - ничего другого у меня пока нет. Никаких отличий от настоящей XT ни с одной из опробованных программ не заметил.

Что со всем этим делать дальше - не уверен. Проект планировался, как проверка идеи (в частности, сопряжения 3.3-вольтовой FPGA с 5-вольтовыми остальными микросхемами с помощью резисторов/диодов). Были мысли потом взять FPGA с бОльшим количеством выводов, добавить все остальные хотелки и развести плату какого-то стандартного размера, чтобы можно было установить в обычный корпус. Но, честно говоря, после того, как все заработало, энтузиазм как-то угас - самая интересная часть сделана, а на рутину особо времени и настроения нет...


[update]

Так как уже несколько раз вижу повторяющиеся вопросы, то ниже привожу список того, что принципиально рассматривал, но по разным причинам (в первую очередь, ограничение размера платы и отсутствие свободных пинов FPGA) не сделал в этой версии (соответственно, если руки дойдут до нового проекта, то там оно должно быть в дополнение к уже имеющемуся):


Основной список (я знаю, как это делать, т.е. вопрос только найти время на это)

- плата под какой-то стандартный корпус (скорее всего, из ATX серии, если ISA-шные платы расширения влезают в эти корпуса - еще не смотрел)
- минимум (и, наверное, максимум) 3 ISA слота. Слишком много почти гарантированно начнут плохо работать из-за нагрузочной способности, которую мне лень считать. Ставить еще и шинные формирователи точно лень. Думаю, 3 слота должно хватить для любого разумного применения (особенно с учетом того, что на самой плате тоже многие интерфейсы будут)
- разъем под CF карту - сразу внутри FPGA делается IDE интерфейс для эмуляции IDE диска на CF карте
- IDE разъем - чтобы можно было настоящие жесткие диски подключать
- панелька под сопроцессор (просто чтобы было)
- пару 7-сегментных индикаторов - несмотря на все SignalTap'ы и прочие анализаторы/осциллографы, очень много отладки делал с помощью двух светодиодов на имеющейся плате. Наличие пары нормальных индикаторов очень облегчило бы процесс
- пара блоков DIP switch'ей - оперативное задание конфигурации и т.д. Также оперативное отключение динамика - иногда задалбывает :)
- разъем для подключения к телевизору (скорее всего, SCART)
- RTC/CMOS
- порты (параллельнй, последовательный, джойстик). Вот с этим не уверен - делаются элементарно, но нужны ли хоть кому ?


Дополнительный список (пока до конца не разобрался с предметной областью)

- микросхема контроллера дисковода
- что-то для звука
- USB-интерфейс для клавиатуры/мыши



Аватара пользователя
jugandar
Advanced Member
Сообщения: 1054
Зарегистрирован: 07.07.2013,01:08
Откуда: Саратов

Сообщение jugandar » 15.09.2016,16:36

Хорошая весчь получилась. Слот ISA я так понимаю всего один, но в него можно зафигачить "гребенку" на 8 слотов ISA (или на 7) и уже туда устанавливать любые совместимые с ISA карты вплоть до "специальных". А "производительность" эта машина может увеличивать (число операций в секунду) главное чтоб периферия (карты и всё что к ним будет подсоединено) поспевали за ней?
Есть компьютерные завалы от которых (уже НЕ)избавляюсь (и редко) за деньги, по мере их "наступления" на моё жизненное пространство

pahan
Advanced Member
Сообщения: 4483
Зарегистрирован: 13.03.2015,14:23
Откуда: Химки, М.О.

Вклад в сообщество

Сообщение pahan » 15.09.2016,16:51

Здорово!
А пустая кроватка в верхнем правом углу подо что?
Памяти 1 Мб или меньше?

Darko
Advanced Member
Сообщения: 1791
Зарегистрирован: 04.11.2015,07:55
Откуда: Питер

Вклад в сообщество

Сообщение Darko » 15.09.2016,17:09

pahan писал(а):А пустая кроватка в верхнем правом углу подо что?
Сопр наверное :rolleyes:

justontime
Full Member
Сообщения: 264
Зарегистрирован: 10.09.2016,00:06
Откуда: СПб

Вклад в сообщество

Сообщение justontime » 15.09.2016,17:45

jugandar писал(а):Слот ISA я так понимаю всего один
Как я в самом начале писал, слот только один по причине ограниченного размера платы. А так да, вроде особых ограничений на "гребенку" не вижу. Единственное, затрудняюсь оценить нагрузочную способность системы.
jugandar писал(а):А "производительность" эта машина может увеличивать
Вся структура "материнской платы" внутри FPGA, поэтому никто не мешает сделать прошивку с турбо-режимом - все ограничено только тем, какую максимальную частоту потянет установленный на плате процессор
pahan писал(а):А пустая кроватка в верхнем правом углу подо что?
Это под 8237 - контроллер DMA. В момент, когда фотографировал, у меня еще ПДП не работал, не успел написать прошивку

La Forge
Advanced Member
Сообщения: 5594
Зарегистрирован: 16.11.2012,17:29
Откуда: Рязань

Вклад в сообщество

Сообщение La Forge » 15.09.2016,20:33

justontime просто мегареспект!!! Ну почему у меня нет таких знаний :(
...
А Вы можете прямо бизнес открывать по производству таких плат. Уверен, спрос будет, и не только здесь.

pahan
Advanced Member
Сообщения: 4483
Зарегистрирован: 13.03.2015,14:23
Откуда: Химки, М.О.

Вклад в сообщество

Сообщение pahan » 15.09.2016,20:39

А под сопр места на плате не хватило или изначально не предполагался?

justontime
Full Member
Сообщения: 264
Зарегистрирован: 10.09.2016,00:06
Откуда: СПб

Вклад в сообщество

Сообщение justontime » 15.09.2016,21:28

pahan писал(а):А под сопр места на плате не хватило или изначально не предполагался?
Да как-то особо не думал. С технической точки зрения, там сложностей вообще нет, и не особо интересно. Соответственно, даже не парился по этому поводу
pahan писал(а):Памяти 1 Мб или меньше?
Там вроде видно - стоит микросхема памяти на 2М. Внутри FPGA я сделал некий аналог этой EMS карты, только, естественно, на 1М. Драйвер используется оттуда же.

В принципе, еще есть некоторое количество памяти внутри FPGA, я ее под BIOS и видеобуфер использую.
La Forge писал(а): Ну почему у меня нет таких знаний
Да знания приходят в процессе, было бы желание...

Картинка платы со всеми исправлениями/добавлениями (было несколько ляпов, которые уже пришлось исправлять проводами):

Изображение

Ekb
Advanced Member
Сообщения: 2606
Зарегистрирован: 15.06.2014,11:31

Вклад в сообщество

Сообщение Ekb » 15.09.2016,22:16

Снимаю шляпу, за такую проделанную работу!

Правда, хотелось бы увидеть здесь настоящего 8088/NEC V20

justontime
Full Member
Сообщения: 264
Зарегистрирован: 10.09.2016,00:06
Откуда: СПб

Вклад в сообщество

Сообщение justontime » 15.09.2016,22:34

Ekb писал(а):хотелось бы увидеть здесь настоящего 8088/NEC V20
Ну, если очень хочется, то:

Изображение

Проверил - даже работает :)

GrumpyCat
Advanced Member
Сообщения: 1093
Зарегистрирован: 22.07.2014,12:13
Откуда: Москва

Сообщение GrumpyCat » 15.09.2016,23:57

Проект отличный! Респект!
А исходники прошивки FPGA доступны?
А есть 5-вольтовые FPGA, в которые оно тоже влезет?
Широкий слот ISA потому, что доступнее, чем 8-битный?

Ваш интел P8088-2 пиленый, год копирайта неправильный, минимум там 1978.

Ответить