Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   БК-0010/0011 (http://zx-pk.ru/forumdisplay.php?f=59)
-   -   Возрождение БК0010/0011М в новом проекте "БК+" (http://zx-pk.ru/showthread.php?t=17159)

Woland 27th October 2011 01:59

Возрождение БК0010/0011М в новом проекте "БК+"
 
http://www.milkywaygalaxy.ru/images/pylsar.jpg

Функциональное описание проекта

1. Первый этап
Выполнить перепроектирование печатной платы БК0011М с проведением полного реинжениринга, включающего:
• замену ОЗУ одним 16-ти разрядным SDR SDRAM-корпусом MT48LC16M16A2P-75 (32Мб) - в который войдет 4Мб ОЗУ, адресуемого по стандарту PDP-11/70, а также память под видеобуферы;
• замену всех ПЗУ на ФЛЕШ-память;
• реализацию логики процессора 1801ВМ1, видеоконтроллера 1801ВП1-037, контроллера клавиатуры 1801ВП1-014 и остальных узлов оригинальной схемы - на базе современной ПЛИС (EP3C16Q240), обеспечивающей максимальное быстродействие при стоимости, не превышающей $30; в реализацию процессора добавляются возможности процессора 1836ВМ3, расширяемые до стандарта PDP-11/70; при этом для обеспечения обратной совместимости с ВМ1 вводится возможность переключения ПЛИС-процессора в специальный режим.
• обеспечение работы нового процессора в двух режимах: режим полного быстродействия и режим эмуляции быстродействия оригинальной БК0011М. По умолчанию работает последний, переключение между режимами осуществляется как программно, так и аппаратно - замыканием контактов.
• интеграцию в ПЛИС логики контроллера SMK64-512 с разводкой 34-pin под дисковод, разъема под CompactFlash, параллельно c разъемом IDE-40 pin); все режимы работы контроллера должны быть реализованы в полной мере;
• интеграцию на основную плату музыкального сопроцессора AY8930 (согласно оригинальной схемы подключения AY-3-8910); в случае физического отсутствия микросхемы, её функции должны эмулироваться внутри ПЛИС;
• установку таймера реального времени и разъема батареи питания для него;
• реализацию видеовыхода не только в виде RGB, но и в виде DVI + цветной композит (тюльпан);

Для новой платформы требуется обязательное сохранение полной обратной совместимости, как программной, так и аппаратной - по всем разъемам и выводам с оригинальной БК0011М. В том числе сохранение возможности загрузки с магнитофона.

Разводка платы выполняется под два формата:
- первый полностью идентичен оригинальный БК0011М по размерам и геометрическому расположению разъемов (также на плате сохраняются оригинальный бипер, разъемы под "мягкую" клавиатуру + под "жесткую");
- второй разводится в формате Mini-IXT. Для формата Mini-IXT разъемы МПИ и УП заменяются на 4 штуки EC-64 (по 2 слота на каждый), разъем под "мягкую" клавиатуру упраздняется, под "жесткую" выводится на двухрядный штыревой разъем Pin Header (например 2,0*2,0мм h=4,3мм); пятиштырьковый разъем питания упраздняется, контакты разъемов ТВ, ЦТВ, МГ сводятся во второй двухрядный штыревой Pin Header, куда также заводятся контакты для бипера. Сам оригинальный бипер на плате формата Mini-IXT не устанавливается, но под него резервируются контакты для подключения.

2. Второй этап
Выполнить расширение архитектуры новыми возможностями:
• интеграция портов USB, Ethernet 10 Мбит (на базе микропроцессора PIC32MX675F512L-80I/PT), LPT, com (совместимого со стандартной реализацией на 1801ВП1-065, корректно определяемый в ОС БК);
• интеграция современного звукового ЦАП с аппаратной поддержкой mp3. Выход звука AY и нового звукового чипа желательно свести в один;
• расширение графические режимы 512*256, 640*480, 800*600 с опциональной цветностью 8/16/24 бит; расширенные графические возможности следует стандартизовать под графический API Amiga;
• подключение клавиатуры PS/2, состояние которой следует отображать в новый регистр и дублировать в старый согласно заданного соответствия клавиш. Соответствие клавиш за основу можно взять отсюда: http://www.asvcorp.ru/darch/tools/em...010/index.html
• подключение мыши PS/2 с дублированием её состояния на порт УП аналогично подключенной к БК мыши "Марсианка", а также в новый регистр.
На плате БК старого формата новые разъемы располагаются следующим образом: LPT, com, Ethernet располагаются над разъемом УП; DVI, композит (тюльпан), PS/2 (2 шт), сдвоенный USB - над разъемом МПИ.

3. Третий этап
Увеличение эффективности построенной архитектуры:
• оптимизация FPGA-эмуляции процессора 1801ВМ1 с целью минимизации числа тактов, затрачиваемых на одну инструкцию;
• интеграция контроллера прерываний для реализации аппаратной поддержки многозадачности;
• интеграция видеоконтроллера, ускоряющего работу с видеопамятью, снимающего нагрузку с ЦП.

Требования к проекту
• выбор по возможности микросхем в планарных корпусах для поверхностного монтажа (BGA использовать не желательно);
• максимально возможная элегантность и простота нового схемотехнического решения, доступность элементной базы;
• ценовая доступность компонентов нового БК по цене. Предполагается упор на продажу в виде недорогих комплектов для самостоятельной сборки (конструкторов);
• подробная техническая документация;
• полная открытость проекта.

Допускаются отклонения от ТЗ на усмотрение исполнителя в сторону более оптимальных решений, без ущерба концепции и требованиям.
Первичный выбор элементной базы - на усмотрение исполнителя.


Цели проекта
• Удовлетворение интересов коллекционеров и фанатов БК.
• Поддержка популярности системы команд PDP, в более современном формате.
• Реализация современного нативного бытового компьютера в виде конструктора, что позволит привлекать к нему интерес начинающих схемотехников, стимулировать интерес начинающих программистов к реальному "железу", не скрытому высокоуровневыми абстракциями.

НОВОСТИ ПО ПРОЕКТУ:
28.03.2012
Итак, уже готова базовая начинка ПЛИС (ВМ1 + 037 + 014), настолько, что в отладочной плате удалось запустить сапера, недавно написанного для БК пользователем vinxru:
http://s019.radikal.ru/i642/1203/0c/dff0f438a98dt.jpg

07.04.2012
Вынесенный в составе проекта в отдельный модуль контроллер SMK512 (ПЛИС-реализация) уже в стадии разводки, в течение 1-2 недель будет отдан в производство печатной платы.

Titus 27th October 2011 02:14

Quote:

Originally Posted by Woland (Post 428884)
Интеграция процессоров ВМ2/ВМ3 и ВМ4.

Если применить процессор ВМ2, ВМ3 и т.д., то о полной совместимости можно забыть, хотя бы ввиду иной растактовки. Не говоря уже о не полной программной совместимости.
Если и есть какая-то перспектива у какого-либо клона БК, то это, имхо, исключительно совместимый с БК0010/11, плюс пререключаемый в какие-то дополнительные расширенные режимы, половина которых будет обслуживать жесткие, гибкие и флешовые диски для большего удобства доступа к софту, а вторая - новые графические возможности и т.д., под которые, опять же имхо, будет писать 1-2 человека, чисто для своего развлечения и популяризации платформы.

mbojenov 1st November 2011 23:18

а я бы присоединился. пишите, есть вариант.

sables 3rd November 2011 12:06

ИМХО не надо городить огород
Я бы не отказался от БК новодела просто с малость доработанной схемотехникой (сокращением количества микросхем той же памяти) и расположением на 1 плате всех дополнительных устройств (менестреля или аналога, контроллера SMK64 целиком, вывода на ВГА-монитор, отдельных разъемов для джойстиков и мыши, клаву PS-2).

А процессорный комплект лучше использовать оригинальный - никаких заморочек с программами не будет.
Никаких дополнительных видеорежимов - толку с них все-равно не будет без поддержки, да и реально на БК-шке работать никто не будет - это так - типа ностальгия - запустить что-нибудь старое.
Клавиатуру PS-2 лепить сразу.

ЗЫ phantom.sannata.ru у меня одного 403 Forbidden выдает не первый день или у всех?

CHRV 3rd November 2011 12:19

ВМ4 практически недоставаемы. делать на ВМ3 тоже нет смысла...

CD-Inc 3rd November 2011 17:17

Quote:

Originally Posted by CHRV (Post 431316)
ВМ4 практически недоставаемы. делать на ВМ3 тоже нет смысла...

ВМ4 - это, вообще-то, просто сопроцессор плавающей арифметики, работающий совместно с ВМ3. т.е. не основная запчасть.

Woland 4th November 2011 13:11

Вобщем после размышлений и изучения мнений на форумах я пришел к выводу, что слегка прокачаный БК на советских микросхемах никому нафик не нужен, точнее нужен 10-15ти восторженным фанатам, но не более того. Посему проект разбивается на 2 части:
1. Реплика БК0011М, с заменой ОЗУ и ПЗУ той же емкости, интеграция на плату AY-3-8910, контроллера SMK64, разъема под CF-вместо винчестера. Это классический минимум. Классический максимум - интергировать преобразователь RGB2VGA - чтобы можно было к любому современному монитору присоединяться. Всё остальное - будет больной и никому не нужной фантазией.
2. Берем готовое решение Altera DE1 (http://forum.xdevs.com/viewtopic.php...st=0&sk=t&sd=a), или подобное, берем уже готовую эмуляцию ВМ1 на верилог и допиливаем это всё до полной совместимости с БК11М. В идеале - эмулируем разъемы МПИ, УП и запихиваем эту плату внутрь корпуса БК - для любителей ретро, а остальные смогут поместить плату в современный корпус. Правда в случае ретро не знаю как быть со старой клавиатурой. Может где-то можно найти похожую по размерам, но под PS/2?
Получаем реально прокачаный БК с полной обратной совместимостью и с новыми аппаратными возможностями для программистов.

Если есть конструктивные возражения по этим пунктам - прошу озвучить.
Порядка 12 программистов и схемотехников уже собрал, правда еще не встречались и не обсуждали что и как будем делать. Кто желает присоединиться к какому-то из двух пунктов, пишите на мыло nimamov@mail.ru.

Titus 4th November 2011 14:02

Quote:

Originally Posted by Woland (Post 431668)
2. Берем готовое решение Altera DE1

Этот вариант ни чем не будет отличаться от эмулятора.
Главный козырь реала - это не только то, что его можно потрогать руками, ностальгия и т.д. А еще и в том, что он априори состоит из правильного оригинального железа (процессор и заказные чипы). А чтобы довести до такого же состояния эмулятор, надо порой годами изучать реал, и то, не факт, что повторишь.

Woland 4th November 2011 16:38

Если это будет эмулятор, то в чем вообще отличие эмулятора от проекта http://code.google.com/p/bk0010/ ?
Я наверное чего-то не понимаю. Когда я говорю что можно сделать немного улучшенный БК, добавив ВМ2-ВМ3, увеличив памяти, все говорят что это никому не нужная херня, что микросхемы эти скоро исчезнут из продажи вовсе и что надо делать всё на ПЛИС, причем сразу на гигагерцах. На это я сначала говорил что проект тогда не будет отличаться от эмуляторов, но мне возражали, мол это будет новая платформа с системой команд ВМ1, а точнее PDP-11, на котором будет легко эмулироваться архитектура БК.
Спустя какое-то время я соглашаюсь с этой идеей, как вдруг мне на форуме начинают писать, что я вообще не понимаю о чем говорю и не умею пользоваться гуглом.
Объясните мне кто-нибудь четко и понятно, чего конкретно я не понимаю и что мне надо искать в гугле?

Santechnik 4th November 2011 16:39

Titus, не соглашусь. Очень советовал бы повнимательнее посмотреть на системы на чипе. Фактически это похоже на укладку многих дискретных элементов в один корпус. Эта задача становится сложной с контроллерами и процессорами, когда приходится создавать нечто, ведущее себя таким же образом как оригинал и здесь возможны нестыковки и различия в нюансах (тайминги, например). Но это тоже не эмуляция, а симуляция.
Но заменить большие куски схемы одним чипом без потери оригинального поведения вполне реально.
Даже если нет идеального и многократно проверенного готового процессора для ПЛИС, то ничего не мешает поставить оригинальный процессор отдельно в паре с ПЛИС, сохранив полностью совместимость и скомпоновав большую часть остальной схемы в один чип. Я не вижу в таком пути ничего ущербного.


All times are GMT +4. The time now is 02:29.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.