Итак, работы продвигаются. Что сделано:
1. Уточнил ТТХ, разработал ТЗ на видеоадаптер, окончательно выбрал процессор.
2. Разработал структурную схему "чипсета-видеоконтроллера" (ПЛИС), выбрал её тип.
3. Получил черновик принципиальной схемы, выяснил полный список необходимых микросхем и стоимость.
При выборе микросхем исходил в том числе из их рыночной стоимости, доступности для заказа (наличие надёжных поставщиков в России плюс возможность покупки у производителя).
Решил не выкладывать на форум полные доки - буду озвучивать только продвижение работ.
Озвучваю характеристики компьютера:
Процессор: ARM9 230MIPS + математический сопроцесор одинарной и двойной точности
Оперативная память: 64Мб, PC-133, 16бит; расширяется до 128Мб, 16бит
Твердотельный накопитель: NAND-Flash 1Gb, 25нС при последовательной записи; расширяется до 4Gb
Видеоконтроллер (ПЛИС): внешний DAC, два банка видеоозу по 8Мб 16бит PC-133, глубина цвета 8\16\32 бит (8 бит - без палитры, по формату 2-4-2 и т.п.), скорость обращения процессора к неактивному банку - PC133; разрешение и параметры синхросигналов программируются пользователем, имеется поддержка бордюра, для S-Video имеется кодер PAL/NTSC.
Порты: 2xUSB 2.0, 2xSD+MMC Card-reader, Ethernet, S-Video, VGA, аудио. Возможен встроенный dial-up модем (Connexant AC97, съест 6-канальное аудио и прямой выход на наушники), дополнительные 4 порта USB 1.1 (это съедает один порт USB 2.0).
Стоимость набора микросхем: розница - 70$, опт - 62$.
Теперь предстоит заняться (по "железу"):
1. Разработкой цифрового ФАПЧ умножителя либо делителя частоты - задачика частоты точек видеоадаптера (на крайний случай готова схема с целочисленным делителем)
2. Разработкой подробной принципиальной схемы видеоадаптера
3. Разработкой электронной схем девайса в целом (за основу берётся плата разработчика, так что ошибки будут минимальны)
4. Разработкой Verilog описания схемы ПЛИС
5. Эмулирование работы видеоадаптера и фикс багов
6. Разводкой п/п
7. Программирование ПЛИС, (далее - очередь Mikk_A, если у меня не получится ;-) ) пайка, отладка.
Желающие помочь, поучавствовать, дать полезные советы - welcom!
Добавлено через 22 минуты
andrews, согласен, чем меньше проводников в шине - тем лучше.
Это ещё через год - не годится, разработка-то уже идёт, и к тому времени уже давно должен быть работающий прототип :-).Встроенные USB и прочее появятся на борту у процессоров BF52x, которые ожидаются ближе к зиме 2008г
Пока что я остановил свой выбор на другом процессоре, с тем же ядром ARM9 но с частотой повыше AT91RM9200 и наличием математического сопроцессора - т.к. согласен с вами, что это важно. Стоимости процессоров (опт, т.к. в розницу Blackfin дорогой) примерно соответствуют, также доступна документация по плате разработчика. На Blackfin мы сможем перейти только либо если его быстродействие при той же возрастёт, либо когда появится встроенный USB, Ethernet и ПЗУ, т.к. эти микросхемы удорожат производство. Кроме того, ARM9 - ядро обкатанное, под него есть много работающего прикладного и системного ПО. Как программист я не доверяю нестандартным решениям, т.к. какие-либо мелочи могут привести к боо-о-о-ольшим сложностям. А в настоящее время стандарт - имхо ARM9.
Не думаю, что хорошая идея - переписать BIOS спека. Во-первых, мы потеряем совместимость с кучей ПО. Во-вторых, использовать код оттуда не получится - да и хлопотно это. В любом случае, мне не совсем понятно, зачем это надо - BIOS будет работать в режиме Jazelle так же, как и любая ZX программа.1) переписать BIOS Спектрума на ANSI C, или последнем стандарте C++, поскольку Visual DSP++(это коммерческий пакет разработки для блэкфинов, включающий в себя оптимизирующий компилятор C/C++) работает со стандартными исходниками С/C++;
Отладчик/загрузчик на PC нам не потребуется - существует как минимум CodeWarrior, который поддерживает С/С++ и загрузку/отладку через JTAG. А вообще, много подобных вещей существует специально для ARM9. В случае Линукса отлаживаться можно через gdb server (системное ПО) либо на самой машине (частично системное и всё прикладное ПО). Так что как раз тут проблем нет (не уверен, что CodeWarrior поддерживатет ядро BlackFin).2) сделать качественный загрузчик/отладчик для IBM PC;
Эта работа займёт много времени. Почему бы не использовать готовые GPL бейсики или Питон? Изменённые, конечно, под нашу архитектуру? Минус - невозможность загрузки из BIOS. Но всегда можно загрузить Спек 128Кб и работать с его бейсиком (а режим эмуляции 48Кб использовать лишь для загрузки).3) написать расширенный ( стандартный+ расширения) васик ZX Spectrum опять таки на том же, что и в п.1
Впрочем, расширений там не будет... Но о каких расширениях идёт речь? Профессиональные программисы используют компилятор Си и эмуляторы, а программисты под "новый Спек" будут использовать возможности новой платформы (Линукс).