PDA

Просмотр полной версии : Интересное предложение по графике для БК11М



Woland
22.04.2013, 16:21
Есть интересное предложение, родившееся в процессе разработки БК12. Поскольку все равно для БК12 разрабатывается аппаратный графический API, заточенный под MicroWindows и с режимами совместимости с GUI Windows (теоретически, можно будет портировать софт от win 3.1, при наличии исходников и нормального компилятора), то можно легко сделать МПИ-блок под обычную БК0010/БК0011М, где разместить dram 32мб, FPGA, CH7301 (микросхема DVI/VGA), преобразователь уровня 5в. В FPGA будет размещен графический процессор, идентичный БК12, часть dram будет использована под электронный диск, куда при старте программы можно будет закачивать ресурсы с hdd (для игрушки, демки и т.п.), далее ВМ1 будет только отдавать команды 32-разрядному графическому процессору, который львиную часть работы по построению графики (вывод спрайтов и примитивов) будет брать на себя, самостоятельно обмениваясь с новой dram.
Таким образом, одним блоком, сложностью и стоимостью примерно как СМК512, можно будет получить на стандартном БК мощную цветастую графику 16бит при разрешении до 800х600, или даже до 1024х768 (если поставить две микросхемы dram) и общей памятью 32 мб или 32мбх2, из которых электронным диском (о котором некоторые так много мечтали) будет большая часть памяти.
Блок будет стандартного формата КНГМД/МСТД, будет влазить в стандартный корпус. В дальнейшем (а может и сразу) данный модуль можно будет выпустить совмещенным в одной плате с СМК512 - приставочка, превращающая стандартный БК в мощную медиа-ретромашину.
Прошу всех заинтересованных высказаться.

CodeMaster
22.04.2013, 17:01
Прошу всех заинтересованных высказаться.

Я вроде как не по теме, но что было бы реально интересно так это сделать в виде одного модуля в формате МСТД:
1. конвертер ZXKit-001 с VGA (может и PAL выходами тоже);
2. эмулятор дисковода на SDcard на ATMega8 c записью (который возможно ;-) доделает vinxru);
3. контроллер PS/2 клавы и мыши.

Всё, больше реально ничего использоваться не будет. Ну, а так just for fun, можно прилепить что угодно...

Woland
22.04.2013, 17:14
Ну скажем одно другому не мешает, можно туда и PS/2 залепить, тем более что соответствующий VHDL в БК12 уже готов.
ZXKit-001 отпадет, если сделать каким-либо образом режим дублирования старого видеорежима в новый.
Эмулятором дисковода у меня почему-то нет желания заниматься, уж не знаю почему... Все-таки эмулятор дисковода почти = винчестер, не знаю, насколько это имеет смысл для ретролюбителя, проще один раз закачать все программы на винчестер и навсегда отказаться от дисковода. Ну это моё личное мнение, не претендую на его признание)))

bigral
22.04.2013, 18:07
Я вроде как не по теме, но что было бы реально интересно так это сделать в виде одного модуля в формате МСТД:
1. конвертер ZXKit-001 с VGA (может и PAL выходами тоже);
2. эмулятор дисковода на SDcard на ATMega8 c записью (который возможно ;-) доделает vinxru);
3. контроллер PS/2 клавы и мыши.

Всё, больше реально ничего использоваться не будет. Ну, а так just for fun, можно прилепить что угодно...

Я бы сказал про этот пост - все это наверно прикольно но в этой теме ПОЛНЫЙ OFFTOP.

Про microwindows - терзают меня смутные сомнения. С одной стороны концептуально сам код клиентской программы под win16 мало чем отличается от похожей проги под X-ы или GEM или просто графического демо обсуждавшегося в соседней ветке: http://www.z80.eu/gsx.html

Т.е. идея = клиентская программа имеет некие процедуры создания GUI элементов, которые состоят из вызовов создающих графические примитивы или отдельные элементы (как кнопки например). Ну в предлагаемом подходе сама библиотека рисующая эти примитивы и элементы будет на стороне графического проца и занимать памяти не будет.

В данном подходе мне ненравиться то что сама библиотека графики расширению не подлежит и если надо нарисовать шото более "другое" чем стандартное то это ляжет на плечи клиентской проги как с точки зрения памяти так и скорости (прийдется использовать пачки вызовов рисования более простых примитивов).

Альтернативой такому подходу думаю может быть графический язык типа forth-a на котором клиент заранее задает всю свою графику и хранит на внешнем носителе в виде "макросов". Потом перед использованием "загружает" эти "макросы" на "графический терминал" и вызывает появление нужных кусков изображения в нужном месте в нужное время своими дальнейшими вызовами этих макросов.

Ну и хочу напомнить, что с этими двумя подходами, когда часть требуемой вычислительной мощи будет передана "графическому терминалу" нужно быть осторожными (!) чтобы неперестараться. Как было указанно в соседней ветке - такое устройство будет интересно только в том случае если его железо по интеграции вполне могло бы быть изготовленно во времена рассвета PDP-11 (1975...1984 года). А иначе получим гипертрофированного монстра типа плата PDPPC с ВМ3 установленная в современный x86 и рисующая графику на новейшем nVidia адаптере с CUDA и всем остальным навесом :)

CodeMaster
22.04.2013, 18:23
но в этой теме ПОЛНЫЙ OFFTOP.

Это что бы чуть спустить людей с небес на землю.


иначе получим гипертрофированного монстра

При это никому реально не нужного.

З.Ы. Антиоффтоп


превращающая стандартный БК в мощную медиа-ретромашину.

В первом посте, в ТЗ так сказать, после этой фразы надо добавить хотя бы пару вариантов реального использования.

Woland
25.04.2013, 11:16
Думаю что устройство не обязательно позиционировать как какой-то крутой видеоадаптер.
Можно рассматривать его как (DVI+цветной тюльпан+PS/2 клава и мышь)-адаптер с электронным диском на 32-64 Мб и крутыми видеорежимами с графич. API в виде бонуса. Цены последнее особо не прибавит, но появляется шанс, кто у кого-то зачешутся руки написать демку под цветастый режим. В конце концов, можно простимулировать написание такой демки.
И как вариант - объединить всё это в один блок с СМК512 для экономии общей стоимости и удобства использования (не будет обязательной необходимости покупать "Елку"-разветвитель МПИ).

Аргумент в ответ на "гипертрофированного монстра": высокая вычислительная мощность GPU объясняется особенностями архитектуры. Если современные CPU содержат несколько ядер, графический процессор изначально создавался как многоядерная структура, в которой количество ядер может достигать сотен. Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации, то GPU исторически предназначался для обработки компьютерной графики, поэтому рассчитан на массивно параллельные вычисления.
Так ничего совсем уж ненормального в такой эффективности GPU по сравнению с CPU нет,он и должен быть эффективнее в графике, чем CPU. Перекос конечно будет, т.к. ВМ1 - не пентиум и даже не 486, но все-таки базовый принцип не так уж и нарушен.

CodeMaster
26.04.2013, 10:56
Времени конечно в обрез, но попытаюсь ещё раз донести свою мысль, т. к. БКшки мне идейно близки ;-) А то ведь проект может умереть и не родившись, хотя я считаю что из него можно извлечь что-то полезное. Это вроде как оффтоп, т.к. графики непосредственно не касается, но касается общего подхода для создания подобных вещей.

Рассмотрим это на примере местного майнстрима Спекки (хотя бы просто потому что в обсуждении тем для него участвует в разы больше людей (а тут сам видишь) и эти принципы вполне применимы к БК. А принципы эти просты:
1. Всё упирается в софт, т.е. железо создаётся только под существующий софт
2. Если сильно хочется, то для сэбэ можно лепить что угодно.


Цены последнее особо не прибавит, но появляется шанс, кто у кого-то зачешутся руки написать демку под цветастый режим. В конце концов, можно простимулировать написание такой демки.

Даже если у кого-то и зачешутся, то это не наберёт критической массы, просто потому хотя бы, что демостроение это не идеология БК (и бери выше не PDP), просто нет этой культурной и интеллектуальной массы. Посмотри на Пентеву, не столь революционный продукт, большое количество копий и ещё большее энтузиастов. Да, демы пишутся регулярно, периодически даже игры появляются, но до сих пор далеко не все возможности железа используются. Так же тут на форуме есть куча тем с видеокартами для Спеки, которые в итоге никого не заинтересовали. Единственно интересная карта, которую ждут это VGA со стандартными режимами для Феникса (и то только потому что этих плат много и это удобней чем лепить ZXKit-001).

При этом сделать продукт сам в себе (Just For Fun) тебе никто не может запретить. Просто, лично мне, будет жаль твоего потраченного времени, учитывая что энтузиастов БК не много и есть более актуальные задачи. А самая актуальная задача на текущий момент: это сделать работу на БК такой же удобной как сделали со Спеком на этом форуме. Т.е. ты берёшь БКшку, подключаешь к ней современные клаву/мышь/геймпады, её к любому монитору, максимально доступно эмулируешь на ней дисковод и винчестер и получаешь удовольствие вспомнив прошлое ;-) И вот тут-то, у кого-то возможно и возникнет желание пописАться под БК, а дальше возможно и наберётся критическая масса и начнут поступать запросы на турбирование, новые видережимы, нестандартную переферию и т.д. и т.п. И архитектура будет жить дальше. ИМХО глупо сейчас от неё требовать расширения, когда надо что-бы она хотя бы не стала исключительно музейным экспонатом.

Далее уже немного "по сути" ;-)


Можно рассматривать его как (DVI+цветной тюльпан+PS/2 клава и мышь)-

DVI большой разъём, мониторов с ним мало, придётся использовать переходники. Я бы вообще посоветовал отойти от стандартных разъёмов и засунуть VGA сигналы во что-то более компактное, но доступное (например RJ-50 или Mini-DIN 9)


адаптер с электронным диском на 32-64 Мб и крутыми видеорежимами с графич. API в виде бонуса.

Ну, а вот это как я говорил выше, реально мёртвый груз, который может и несложно сделать, но вместо него можно добавить что-то более необходимое.

Raydac
26.04.2013, 13:07
имхо, прежде чем накручивать надо повторить обычный стандартный кондовый со всеми недоработками и проблемами.. а потом уже спрашивать что и как накрутить

Woland
26.04.2013, 13:12
>> Ну, а вот это как я говорил выше, реально мёртвый груз
Электронный диск на БК - хотят многие из немногочисленных фанатов БК.

>> DVI большой разъём, мониторов с ним мало
Зато он цифровой и в отличие от HDMI не требует лицензирования.
Выход DVI/VGA - тоже, тут не суть какой будет разъем, лишь бы массовый стандарт, а не "пятиштырьковый скарт".

>> демостроение это не идеология БК
Проблема возрождения БК (особенно с сравнении со спектрумом) не столько в идеологии, сколько в фактическом отсутствии фанатов, ~30 человет примерно. Вот когда вырастет до 100-150 то там уже и демки реально будет написать и что-нибудь еще.

>> Т.е. ты берёшь БКшку, подключаешь к ней современные клаву/мышь/геймпады
Ну этого никто и не отрицает, я предлагаю совмещать приятное с полезным.
Но и это не главное, потому как удобство само по себе можно достичь и эмулем на х86, имитируя дисковод и винчестер напрямую - аппаратно на PC, как это делалось в эмуляторе Савельева (вечная ему память) с аппаратным дисководом PC.

CodeMaster
26.04.2013, 17:23
Электронный диск на БК - хотят многие из немногочисленных фанатов БК.

Тогда процитирую себя ;-)


хотя бы пару вариантов реального использования.

Для чего? Даже необязательно "на 32-64 Мб", хотя бы на 32-64КБ, может он и мне будет нужен.


Выход DVI/VGA - тоже, тут не суть какой будет разъем, лишь бы массовый стандарт

Будем считать что пришли к общему знаменателю.


Вот когда вырастет до 100-150

Можно описать концепцию этого роста?


Но и это не главное, потому как удобство само по себе можно достичь и эмулем на х86

Не ударяясь в словоблудие и пошлось ;-) но я не видел ни одного эмуля (не только БК) который не только абсолютно точно эмулировал оригинал, но и хотя бы был не отличим (картинка, тайминги) от оригинала. А уже только без этого удовольствие получить не возможно ;-) Опять же к тому же эмулю можно прикрутить всю эту графику "аппаратно на РС" и ничего паять даже не надо. Но, как видишь что-то на эмулях ничего не пишут (конкретно для БК). И я считаю, что эмулятор подсознательно ассоциируется с игрушкой (читай резиновой бабой ;-) а железо всё ещё неудобно в использовании. Да, ты продаёшь SMK64, к нему можно приделать CompactFlash, но дисковод нужен реальный, для VGA надо делать ZXKit-001, для ПЦ-клавиатуры ещё соплю. В итоге функционал появляется, а удобство - нет.

А в случае единого модуля: достал БКшку, подключил модуль расширения, к нему клаву/мышь и монитор (можно через KVM в параллель с ПЦ) и вуаля! у тебя реальная БКшка и никаких соплей хоть дома, хоть на работе.

Woland
26.04.2013, 18:16
>> у тебя реальная БКшка и никаких соплей хоть дома, хоть на работе.
Ну так я о том же: блок, в котором DVI/VGA, PS/2, может еще com (совместимый с ВП1-065), а как бонус - эл. диск и новые видеорежимы. Хочешь - программируй, хочешь просто как адаптер используй. Никаких соплей, всё аккуратно и главное - легко воспроизводимо.

>> Можно описать концепцию этого роста?
Больше ассортимент предложений, рост продаж. Четкая стратегия развития.
Я мало в это верю (в 100-150), но кто знает...

>> но я не видел ни одного эмуля
Потому что их писали энтузиасты. Не умаляя их мастерства, нужно признать, что энтузиазм любого энтузиаста в любой момент может пропасть и изделие остается недоделанным. Так бывает в 90-95% случаев, на мой взгляд. Если бы эмулятор заказывался коммерчески, с четким ТЗ и всесторонним тестированием....
Да в общем не суть, это уже демагогия)

>> Для чего? Даже необязательно "на 32-64 Мб", хотя бы на 32-64КБ
Ну лучше больше, чем меньше. Кому много - мешать не будет, а кому мало - будет счастлив. В конце концов, если 32 Мб стоят 50р, почему не поставить?

Woland
30.04.2013, 10:59
Хочется услышать мнения, стоит ли такой блок совмещать на одной плате с СМК512 или нет? Если нет - обязательно потребуется "Елка", потому как без винчестера/дисковода мало смысла использовать этот блок. Но если совмещать, там будет ужасно натыкано разъемов, они будут практически по всему периметру блока. У SMK512 они хотя итак по всему периметру, но FDD и HDD запаивать не обязательно, FDD можно запаять прямой и вывести шлейф в щель вместе со шлейфом IDE (или вместо него). А с новым блоком придется занять еще и оставшиеся фрагменты по краям боковых граней.

Или сделать новую плату как опцию: подсоединяемую вторым этажом к плате SMK512, что потребует использования высокого корпуса вместо стандартного КНГМД/МСТД. Эту печатную плату можно будет сделать универсальной - подсоединяемой как к плате СМК, так и собираемую с СНП-разъемом как отдельную плату под отдельный корпус типа КНГМД/МСТД.