PDA

Просмотр полной версии : IPVC - графический контроллер для ZX-BUS



IanPo
26.02.2011, 15:28
Изначально видеоконтроллер упоминается тут (в середине страницы):
http://zx.pk.ru/showthread.php?t=10817&page=13
В новой версии прошивки добавились:
- точки
- линии
- прямоугольники (сплошные и рамки)
- копирование и восстановление прямоугольной области
- наложение спрайта (отличается тем, что цвет 255 не накладывается(маска))
- вывод символа
- масштабирование(только уменьшение)
Короткое демо, написанное на ассемблере для Z80 в хреновом качестве:
http://www.youtube.com/watch?v=sf-nOdJdcwk
Проект QuartusII прилагается.

Valen
26.02.2011, 16:32
Какой частотой тактируется FPGA (по фотке вроде виден 25.175 MHz) ?
Какой pixelclock ?
Вывод VGA 60Гц ?

>>INT не используется.
За это зачёт :) Чем меньше дэвайс завист от хоста, тем лучше.

Black_Cat
26.02.2011, 19:31
IanPo, а есть какой глобальный замысел, кроме интереса поковыряться в FPGA, т.е. для чего делается, перспетива какая?

IanPo
26.02.2011, 21:57
Попозже выложу исходник демы - чтобы можно было посмотреть, как GPU программируется.

Valen
1) 25.175 МГц (со Спека приходит 14 МГц, пока не используется).
2) Это и есть пиксельклок
3) VGA стандартный 640*480*60 Гц
4) Отсутствие у Спека контроля за INT приводит к артефактам.

БК-0010, перспектива - встроенный графический процессор, выполняющий свою часть, например, игры, чтобы максимально разгрузить основной процессор и занять его игровой логикой. Обмен с Z80 будет состоять из событий (нажатие клавиш, например). И звуковой процессор тоже хочется(что-то типа GS, NeoGS).

Black_Cat
26.02.2011, 22:12
IanPo, представь что существует десяток подобных проектов (их щас чуть меньше), и каждый претендует на роль некоего светлого будущего для Спектрума.. и что дальше? Кто эти 10..20..40.. и чем дальше - тем больше светлых будущих будет поддерживать? Какие у тя мысли на этот счёт? Т.е. как ты планируешь выходить из этой ситуации?

Valen
26.02.2011, 22:19
Попозже выложу исходник демы - чтобы можно было посмотреть, как GPU программируется.


А сам GPU реализован в FPGA как регистровый мини-CPU или как стековая машина ?

IanPo
27.02.2011, 00:48
БК-0010
Имхо, никакого светлого будущего у Спека не будет. У него есть только светлое прошлое.
Наличие кучи проектов меня не сильно волнует: с одной стороны, каждый делает что хочет, с другой - Спек уже давно не развивается, ибо некуда. Единого стандарта что-то не наблюдается. Со своей стороны, я делаю, что мне интересно. А что неинтересно, на то время тратить не хочется. Проталкивать IPVC в массы я не собираюсь, все равно желающих не найдется. Однако, наработки могут оказаться полезными кому-нибудь.

Valen, сначала запись в регистры GPU, потом запись кода команды.
Регистры, палитра, переключаемая страница видеопамяти, командный регистр отображаются на память Z80 (запись в нижние 16К, где ПЗУ).

Black_Cat
27.02.2011, 01:42
Спек уже давно не развивается, ибо некуда. Единого стандарта что-то не наблюдается:) ..ну даж обидно кагбе.. :) .. Развивается!!! При том непрерывно, поступательно, и в правильную сторону!! И самое главное - единый стандарт тоже есть!! :) (пока - эксклюзив, спрашивать у меня :) )


Со своей стороны, я делаю, что мне интересно. А что неинтересно, на то время тратить не хочется. Проталкивать IPVC в массы я не собираюсь, все равно желающих не найдетсяЭт, собсно было понятно с самого начала :) . Вопрос, однако, в другом - вот как тебе видится выход из такой ситуации, он есть вааще, и если да, то какой? Интересен твой взгляд на весчи :)

Кста, вопрос по железу - а эту твою видяху можно по быстрому переделать чтоб из ейного ОЗУ можно было и читать, а не токо писать?

IanPo
27.02.2011, 13:39
Прилагаю asm демы для SJASMPLUS.

БК-0010, выход из ситуации мне не видится. Никакой. То, что ты называешь развитием, есть чистой воды некромантия.

Переделать на чтение можно, но с переразводкой платы и коррекцией прошивки. На плате стоят полноценные межвольтовые буферы ALVC164245, они работают в обе стороны, надо только завести сигналы.

Black_Cat
27.02.2011, 16:13
но с переразводкой платы ясно, т.е. по быстрому нельзя..


То, что ты называешь развитием, есть чистой воды некромантия.:) несколько форумов некромантов.. :) ..эт уже эпидемия :)


IanPo, а если реализовать чтение из ОЗУ твоей карты, то это ОЗУ можно будет использовать как стандартное, типо страницы 4-7.. и т.д. с A16'=1 до полного объёма? Или не всё ОЗУ можно заюзать как обычное? Есть карта распределения памяти в нём? ..да и схему платки заодно можно глянуть?

Valen
27.02.2011, 16:31
Прилагаю asm демы для SJASMPLUS.

Программные задержки, для синхронизации, выглядят мутновато.

Black_Cat
27.02.2011, 16:47
выход из ситуации мне не видится. Никакой:) а если подумать.. :)
..наводящий вопрос - а почему на РС есть куча производителей графускорителей, и нет проблем поддержки совместимости? :)

IanPo
27.02.2011, 19:58
Схема прилагается. Сразу предупреждаю, что схема рисовалась после изготовления платы, могут быть неточности. Но схема - не главное, все содержится в прошивке.

БК-0010, если сделать чтение, то ОЗУ будет как обычное. Память 512К=128 страниц по 4 К. Страница отображается в окно 0..4095 байт.
Номер страницы задается в регистре. Регистры отображаются на адреса 8704+.
Все области памяти равноценны, можно хранить в любом месте, можно выводить на экран из любого места.

Valen, программные задержки не для синхронизации, это Спек ждет окончания выполнения команды GPU, после чего последний снова станет доступен для записи. Одна точка рисуется со скоростью 25 МГц, отсюда рассчитывается кол-во тактов ожидания Z80 и кол-во циклов ожидания.

Black_Cat
27.02.2011, 20:23
Регистры отображаются на адреса 8704+.и сколько может быть этот + ?

IanPo
27.02.2011, 20:26
БК-0010, отображать можно куда угодно в область < 16К. Решает автор прошивки. Регистров сейчас около 20. Можно в любые порты вывести, IORQ заведен, но не используется.

Valen
27.02.2011, 20:36
программные задержки не для синхронизации, это Спек ждет окончания выполнения команды GPU, после чего последний снова станет доступен для записи.
Это понятно.
Всё таки, обычный опрос бита GPU_BUSY был бы здесь более удобным.
Но это уже чтение из карты.


. И звуковой процессор тоже хочется(что-то типа GS, NeoGS).
А влезет GS в текущую FPGA, вместе с графической частью ?


Я так понимаю, не проблема будет написать отдельную прошивку, с перехватом спековского экрана и выводом его через видео-карту.

Black_Cat
27.02.2011, 20:37
а с какими разрешениями (типо 512х192..) и видеорежимами (типо мультиолор, флешколор, 16колор..) девайс умеет работать? Аппаратный гигаскрин он умеет?

skyther
27.02.2011, 21:22
А влезет GS в текущую FPGA, вместе с графической частью ?
У меня другой вопрос: а влезет ли конфа видеоконтроллера в NGS ? Видеовыхлоп припаять проще, чем с нуля разводить.

IanPo
27.02.2011, 21:40
Valen, чтение бита "готов" в этой версии платы нет. Я сам про это думал.
Не знаю, сколько занимает GS, но графика сейчас занимает 100%. Поэтому я работу над этой версией прекратил и результаты выложил. Актуальны, имхо, только операции копирования прямоуг.областей и работа с палитрой (хотя последнюю и Спек потянет, 512 байт всего), если их оставить, то, возможно, влезет Z80 и обвязка GS. Опять же, аудиовывод аппаратно не сделан, но можно собрать доп.плату с ЦАП и усилком, соединяющуюся с картой через VGA-разъем. Там всего 2 сигнала надо. Можно сделать только звуковую, а потом уже делать конкретный девайс, в который влезет все. VGA-адаптер для Спека - это довольно просто, порты на запись и две страницы памяти без проблем.

БК-0010, прошивка 5 поддерживает 320*240*256 физ.экран, палитра 15 бит - 555. И до примерно 2048*2048 логические экраны. Никакие Спековские режимы в ней не поддерживаются. Вообще никакие. Но можно написать прошивку и поддержать все :) Но меня такая графика не интересует.

---------- Post added at 21:40 ---------- Previous post was at 21:39 ----------

skyther, я не в курсе, сколько там лог.ячеек. Наверно, проще реализовать программно, там проц есть для этого.

Black_Cat
27.02.2011, 22:28
И до примерно 2048*2048 логические экраныэто как, типо с прокруткой?
меня такая графика не интересуетА что интересует? Тебя послушать - всё ацтой, стандартов нет, перспектив нет.. (хотя насамделе всё есть :) ) Но при этом ты ведь зачем-то изваял это чудо.. Зачем?
Как понимаю поддерживать сей девайс ты тож не будешь.. Имеется ввиду подогнать его под спековсие стандарты..

А на ZX Evo ты уже пробовал прикрутить?

IanPo
27.02.2011, 22:55
БК-0010
С прокруткой, игровое поле большое, экран маленький.
Интересует нормальная графика, к-ю можно использовать в любительском ПК. Нацеливался на 16-битный цвет и 640*480 хотя бы. Но это скорее исследование, поиск решений, к-е могли бы быть использованы сообществом. Непонятно, как и зачем поддерживать девайс, к-й тупо не готов к производству. Написать прошивку с поддержкой всех видеостандартов Спека, полагаю, смог бы, но кому и что это даст?
На ZX Evo девайс должен работать, как везде, используются, как я понимаю, только стандартные сигналы. Сам Evo - другой проект, я туда не лезу.

Mad Killer/PG
27.02.2011, 23:11
Молодец,вот благодаря таким людям как IanPo, сегодня спектрум прекрасно развивается и уживается с окружающей средой!
Спасибо за разработку!

VNN_KCS
27.02.2011, 23:15
Молодец,вот благодаря таким людям как IanPo, сегодня спектрум прекрасно развивается и уживается с окружающей средой!
Спасибо за разработку!
Согласен. Молодца!!! А как насчёт совместимости с оригиналом?
Даже с Pentagon 1024SL?

Black_Cat
27.02.2011, 23:38
Нацеливался на 16-битный цветимеется ввиду 16 битная палитра?


и 640*480 хотя быдля Спека это 512х384


Написать прошивку с поддержкой всех видеостандартов Спека, полагаю, смог бы, но кому и что это даст?Будущим софтописателям.. ессно под ось, и ессно под новую архитектуру, а не под старый хлам произведённый 15-30 лет назад. Для голого Спека все ускорители - это бесполезный металлолом, т.к. единственным стандартом им никогда не стать, а значит софтовой поддержки не будет. А вот под осью - пиши дрова, и вперёд, на программном уровне любое железо можно свести к единому стандарту, под который писать уже есть смысл. Но если это делать для спека то надо уже начинать двигаться, потихоньку подгоняя это под спековские стандарты.

И ещё раз повторю - только под ОС!!! Голому Спектруму это не нужно ни под каким видом!

Valen
28.02.2011, 02:18
А можно будет прошивать конфиг ПЗУ, прямо на спектруме ?
Ведь прошивка будет исправляться/обновляться.

Black_Cat
28.02.2011, 02:55
Хотя, для начала неплохо бы договориться об интерфейсе. Тот, что используется у тебя для связи с карточкой не отвечает новейшим достижениям спекостроения :) . Да и некоторые другие новые базисные моменты спековской архитетуры ты не учитываешь.

---------- Post added at 02:55 ---------- Previous post was at 02:48 ----------


А можно будет прошивать конфиг ПЗУ, прямо на спектруме ?
Ведь прошивка будет исправляться/обновляться.а зачем усложнять, используя конфПЗУ? Ускоритель ставится поверх живого Спектрума, который от ускорителя никак не зависит. Поэтому грузить конфигурацию можно прямо из Спека, без конф ПЗУ :)

IanPo
28.02.2011, 20:18
Mad Killer/PG, извини, не понял, это ирония или одобрение ? :)

VNN_KCS, прошивка не содержит поддержки Спековой графики. Урона совместимости плата не наносит, т.к. работает только на запись. Я хотел попробовать сделать 256 цветов и VGA, вот и все.

Valen, прошивка заливается в КонфПЗУ на плате или в ПЛИС через любой ByteBlaster, поддерживающий 3.3в. Скорости Спека не хватит для заливки, я думаю. Нужно решение на базе МК, как у sydа в Speccy2010.

БК-0010, нацеливался я именно на 32К цветов. 512*384 в Спеке пока никто не делал, но, наверно, у тебя описание стандарта-таки припасено :) Плюс любимый всеми бордюр, получится VGA 640*480 50 Гц. Или 60, если отбросить предрассудки. Насколько я тебя понял, ты предлагаешь переписать SOS ? И какой интерфейс предлагаешь?

Valen
28.02.2011, 20:36
Скорости Спека не хватит для заливки, я думаю. Нужно решение на базе МК, как у sydа в Speccy2010.


Я к этому и говорю.

Итого:
- МК для конфигурации FPGA
- аудио стерео выход (можно пока без поддержки в прошивке)
- чтение из карты (можно только статусных портов, а не видео-памяти)

IanPo
28.02.2011, 21:37
Valen, проще купить Speccy2010. Контроллер + обвязка - это российских рублей 200-250 будет, если STR755 использовать. И ПЛИС нужна побольше, с запасом, в EP2C5 минимум влезает.

skyther
28.02.2011, 22:39
А в EP2C8 вместе с T80 и аигриком влезет? :)

IanPo
28.02.2011, 23:01
skyther, честно - не знаю. Я не в курсе, сколько занимает AY и T80. Если ты спрашиваешь применительно к Speccy2010, то спроси сначала у sydа, есть ли в нем свободное место. Если мой код оптимизирует опытный плисовод, может, и влезет. Только для Спековской графики придется все переписывать, сколько займет - не знаю. Если писать буду я, то базовые 3-4 функции займут больше 1000 LE, и это только ориентировочно.

Ewgeny7
28.02.2011, 23:04
Я не в курсе, сколько занимает AY и T80
около 220 и 2000 соответственно. Зависит от полноты использования функций.

Black_Cat
01.03.2011, 00:14
Скорости Спека не хватит для заливки, я думаю.а куда спешить? :) как в старые добрые времена, ..с полосочками на бордюре :)


нацеливался я именно на 32К цветовт.е. на 2 байта на точку в разрешении 512х384 = 384kb на один эран

50 Гц. Или 60лучце с предрассудками.. 65% мониторов их понимают :)


Насколько я тебя понял, ты предлагаешь переписать SOS ? Не, SOS трогать не надо - пусть живёт :) , а то проблем со старым софтом не оберёшься :) . Если ты об ОС, то вопрос недавно обсуждался здесь: http://zx.pk.ru/showthread.php?t=2680&page=7 . Кратое резюме: ОС - это именно настоящая ОС типо CP/M, NIX.. на очень худой конец - iS-DOS (если кому интересно самообладание в извращённой форме :) ), но токо не SOS, и не загрузчики под неё (в т.ч. тырдос) :)


И какой интерфейс предлагаешь? Имелся ввиду аппаратный интерфейс взаимодействия ускорителя и Спека. Щас он у тебя.. эээ.. не так чтоб пригоден к использованию под ОС.. :)

---------- Post added at 00:14 ---------- Previous post was at 00:10 ----------


спроси сначала у sydа, есть ли в нем свободное место. Если мой код оптимизирует опытный плисовод, может, и влезетэто делается мультиплицированием шин и регистров CPU, и соответственно занимает сверх 2000 ячеек совсем мизер.. вот токо глубоко в код Т80 лезть надо.. :)

vlad
01.03.2011, 12:50
Акселератор способен аппаратно выполнять такие операции при ускорении 2D:
1) Прорисовка графических примитивов (drawing). Параметры примитивов задаются в виде координат в векторном виде. Простейшая заливка контура (fill) и заполнение его узором.
2) Перенос блоков изображения по экрану (BitBlt). Выполняется при перетаскивании GUI-объектов мышкой, скроллинге и т.п. операций. Данная функция сводится к перемещению блока бит из одной области видеопамяти в другую.
3) Аппаратная поддержка окон (hardware windowing). Дело в том, что каждое активное приложение в операционной системе отслеживает <свое> открытое окно и его координаты в одном кадровом буфере оперативной памяти. При использовании hardware windowing каждое приложение использует свой <кадровый буфер>, равный размеру открытого окна, так что <перенакрывания> окон к памяти не происходит. Выигрыш в скорости обработки координат окон тем больше, чем больше видеопамяти у видеоадаптера.
4) Масштабирование растровых изображений (scaling). Различают два вида масштабирования: дублирование и интерполяция (сглаживание). Первое сводится просто к увеличению размера пикселя (точнее количества одинаковых пикселей в данной точке), что приводит к появлению таких дефектов изображения как пикселизация и алиасинг. Для устранения этих искажений используется интерполяция. Эти две операции весьма трудоемки и требуют достаточно высокого качества акселератора.
5) Аппаратный курсор. Эта технология обеспечивает аппаратную поддержку курсора мыши. Центральный процессор считывает из порта мыши текущие координаты указателя и посылает их акселератору, а тот в свою очередь, просто формирует изображение курсора в нужном месте экрана. Для формирования изображения курсора применяется технология спрайтов (sprites), которые временно заменяют участки растра изображением курсора, а затем при его перемещении в другое место их обратно восстанавливают.
6) Преобразование форматов и декомпрессия. При обработки видеоинформации цифровые RGB-данные заменяются сигналами яркости и цветности в формате YUV, который занимает значительно меньше места. При воспроизведении сжатых видеоданных сначала необходимо каждый кадр декомпрессировать, а затем уже записывать в кадровый буфер.

IanPo
01.03.2011, 22:45
vlad
1) Есть, кроме заливки и узора.
2) Нет. Есть копирование в память и извлечение из памяти. Но сделать несложно.
3) Сделать примерно представляю как, но займет дофига памяти и ячеек ПЛИС. Архитектура у контроллера будет несколько другая, все переписывать надо.
4) У меня только уменьшение :) При макс.приближении картинка самая качественная. А то в DOOM все время раздражало удвоение пикселей у спрайтов и текстур.
5) Можно сделать, функции наложения спрайта есть.
6) Это уже сложная математика, занимающая много места. В простом компе вряд ли нужно.

БК-0010, а куда ОС грузиться будет? В нижние 16К (с отключением ПЗУ и включением ОЗУ)? И про интерфейс - можно на портах сделать, но окно памяти проецируемое все равно нужно.

Black_Cat
02.03.2011, 00:06
а куда ОС грузиться будет? В нижние 16К (с отключением ПЗУ и включением ОЗУ)? И про интерфейс - можно на портах сделать, но окно памяти проецируемое все равно нужно.как ты знаешь CP/M любит CPU0 под свои нужды, и ПЗУ вааще у неё включается где-то в CPU3.. т.е. твоё окно в CPU0 явно не катит. Остаётся CPU1-3. В перспективной архитектуре Хiмеra например подставлять можно любую страницу в любое окно. Т.е. если избавиться от предрассудков и юзать менеджер памяти Хiмеr'ы, то можно всё что хочешь :) ..правда для этого придётся самостоятельно прирутить этот менеджер например к Фениксу :) , если нет предрассудков конечно :) . Подключение не оч сложное и городить ворох микросхем на МГТФе не понадобится. Ессно менеджер должен будет втыкаться в NemoBus, и его проще всего совместить с ускорителем. Как и что - есть доки.
Терь по проэцируемым портам. Тут есть пара моментов связанных с тем, что стандартизаторы тож сложа руки не сидели, и по распределению видеопамяти есть уже определённые правила:

1) видеопамять, это та, для которой A'16=1. Соответственно сканер может лазить токо здесь.

2) распределение памяти каждой видеостраницы следующее:

0-6кб - растр
6-6,75кб -атрибуты
6,75-7кб - область отображения портов видеоустройств
7-8кб - знакогенератор

3) За областями отображения портов видеоустройств закреплены пока такие устройства:

страница 4 - палитра (2х256 байт, 64k из 16 или 256 цветов)
страница 6 - возможно использовать под порты графускорителя (2х256 байт)

Доступ к области отображения портов включается через спец порты. Соответственно, портов для каждого из этих устройств не может быть более 512, т.е. - одна ячейка памяти = один порт.

4) При установке внешней видеокарты (в NemoBus ессно) предусмотрена возможность переключения всего ОЗУ системной платы в процессорную область, т.е. где A16'=0. Соответственно всё видеоОЗУ в этом случае будет в видеокарте.

Ну вот основные моменты

vlad
25.03.2011, 22:09
Для возможности работы над проектом, перенес на u9Reverse.

---------- Post added at 21:09 ---------- Previous post was at 20:13 ----------

Неплохо, на EP2C5 занимает 3472/4608 (75%). Сейчас подбираю скоростной RISC, думаю получится перекинуть часть функций на него.

IanPo
31.03.2011, 20:53
Прошивка, реализующая ZX128, написана.
Проверена на демке AEON.
Некоторые эффекты рассинхронизированы.
Основной минус - все базируется на VGA 60 Гц (512*384 + бордюр).
Гигаскрин из Wolf2004 смотрится жутко.
Тестовая таблица на 50 Гц*625*448=14 МГц на моем мониторе отображается криво :( , поэтому сделал VGA.
Продолжаю работу.

IanPo
01.04.2011, 20:08
Сегодня примутил Аппаратный Мультиколор (бит 0 порт #EFF7).
Если кто даст ссылку на мультиколорные картинки (ресурсы), будет здорово.

Пробовал сделать развертку 25175000/800/629=50,03 Гц - монитор не полностью понимает, некоторые верт.линии двоит. Рассинхронизация на Вольфе2004 проявляется в виде едущей вниз гориз.линии :( Буду ориентироваться на стандартный VGA - он у всех работает.

ЗЫ.На очереди Аппаратный Гигаскрин. Возможно 512*384 (+МуКолор+ГигаС).
PS2. Оказывается, надо бит Flash у атрибутов перемутить на яркость бумаги, а яркость - на яркость чернил :) Займусь.

Black_Cat
01.04.2011, 22:12
IanPo, а ты откуда черпаешь информацию о портах? :)
Кинь мыло, я те посвежее инфу дам, а то у тебя она устарела :)

IanPo
01.04.2011, 23:40
БК-0010, что в Сети нашел, то и использую.
А ты можешь приаттачить файл в сообщение?

breeze
02.04.2011, 00:29
БК-0010, что в Сети нашел, то и использую.
А ты можешь приаттачить файл в сообщение?



Карта портов ZX Spectrum (http://speccy.info/%D0%9F%D0%BE%D1%80%D1%82%D1%8B)
Порт EFF7 (http://speccy.info/%D0%9F%D0%BE%D1%80%D1%82_EFF7)

Black_Cat
02.04.2011, 02:45
IanPo, насамделе, сцылки, что дал бриз - это частное мнение alco, и не более :)
Устоявшегося стандарта нет, ввиду почти полного отсутствия софта поддерживающего расширенные видеорежимы. Пока alco заведовал анрилом, он переставлял биты в #EFF7 как хотел. Действительно мультиколор раньше был на D0, но alco зачем-то повесил туда 16 color, а мультиколор перекинул на D5. От alco же есть и единственная программа использующая аппаратный мультиолор - Hexagonal Filler. Я не уверен что во всех архитектурах поддерживают то, что в своё время alco намутил. Например у DDp на D5 был гигаскрин. Но по большому счёту ввиду почти полного отсутствия софта - это особой роли не играет. Единственное, что имеет значение - это чтоб видеорежимы оставались развитием родного спековского экрана, и при этом ещё непременно были масштабируемыми по параметрам. Из существовавших ранее, этим требованиям удовлетворяют только мультиколор, флешколор, 16колор (512х192 и гигаскрин - это не видеорежимы, а модификаторы видеорежимов, т.к. применимы к любому видеорежиму). Видеорежимы 384х304 alco, и 512х240 CP/M Profi хотя и можно причислить к развитию спековского экрана, но они абсолютно не вписываются в сетку масштабирования спековского экрана, поэтому о них можно сразу забыть, как о неудачных экспериментах. На сегодняшний день, единственной вменяемой системой построения сетки видеорежимов отвечающей вышеизложенным требованиям, является архитектура Хiмеra. Только в этой архитектуре может быть обеспечена полная программная совместимость с имеющимся софтом, удобное управление видеорежимами, простота их схемотехнической реализации и возможность работы спековского софта под ОС. Поэтому могу предложить как основу взять именно эту архитектуру, чтоб получить скелет сетки видеорежимов, а потом на этот скелет можно уже наращивать всякие примочки ускорителей. Управление описано здесь: http://zx.clan.su/forum/7-57-1 Если ты согласен с предложением, пойдём дальше.

balu_dark
02.04.2011, 12:39
Пробовал сделать развертку 25175000/800/629=50,03 Гц - монитор не полностью понимает, некоторые верт.линии двоит.

чтобы не двоило - юзать надо экран в его родном разрешении. если монитор у тебя например 1280 на 1024 то в любых других разрешениях - выглядеть все будет просто угребищно. для более менее адекватного отображения ретро компов - надо искать мониторы с нативными 640 на 480 или 800 на 600. в остальных вариантах - качества не будет. Проверяется кстати легко - запустите любую 3д игруху ПэЦэшную настраивая ее под разные разрешения а потом поставьте для нее - родное разрешение моника. и удивитесь насколько коряво показывает не родное разрешение.

IanPo
02.04.2011, 13:41
balu_dark, он верхнюю половину экрана двоит, а нижнюю - нет. И ручной подстройкой исправить невозможно. А родное разрешение 1920х1200 = (640*3)х1200, т.е. двоить не должно по идее. Про режим монитор пишет 800х600@50, т.е. думает, что в строке 1024 точки при 800 отображаемых.
В общем, не поддерживает.

---------- Post added at 13:41 ---------- Previous post was at 13:39 ----------

БК-0010, у меня от тетрапортов с головой плохо становится. Очень уж сложно. Понадобится - я переделаю, всего лишь прошивка все-таки.

breeze
02.04.2011, 13:45
IanPo, насамделе, сцылки, что дал бриз - это частное мнение alco, и не более…

Не надо гнать велосипед! Во первых биты переставил DeathSoft, когда приводил в порядок UnrealSpeccy. Из каких соображений это сделано я не знаю, но тем не менее AlCo с этим согласился и переделал свои программы! Во вторых, эти биты поддержаны как минимум ещё двух клонах — в Pentagon 1024 SL 2.2 и в PentEvo! А следовательно это уже не частное мнение AlCo, а «стандарт» который поддержан другими производителями РЕАЛЬНОГО железа! А не просто эмулятором несуществующих концепций :eek:

IanPo, очень настоятельно рекомендую прислушаться к здравому смыслу, и поправить биты как описано выше.

IanPo
02.04.2011, 14:35
breeze, я сделал по твоему совету.
Вот результат.

breeze
02.04.2011, 14:55
breeze, я сделал по твоему совету.
Вот результат.

спасибо. так же оно и на моём PentEvo выглядит :rolleyes:

Black_Cat
02.04.2011, 16:06
эти биты поддержаны как минимум ещё двух клонах — в Pentagon 1024 SL 2.2 и в PentEvo!Бриз не знает, что в оригинальной прошивке от КоЕ в Пентагоне 2.2 режима мультиолор вообще небыло :) , а был он только в прошивке от DDp, и включался совсем по другому, а разрядом D5, как я уже указывал выше, у DDp включался Gigascreen :) . Что касательно прошивки Пентево, то в официальном руководстве от NedoPC нет ни слова об управлении видеорежимами через порт #EFF7 :) . Но насамделе это и не важно, т.к. подчёркиваю повторно архитектура Хiмеra обеспечивает полную совместимость с существовавшим ранее железом! :) Просто breeze, ввиду своей абсолютной некомпетентности в железе, этого не понимает :)

Очень уж сложно. Понадобится - я переделаю, всего лишь прошивка все-таки.:) Насамделе, это только сложно написано, а реализуется всё просто:
1) Видеопорт для совместимости со старым железом разделён на две половинки, которым соответствуют следующие группы разрядов:
- младшая группа разрядов - Lo: D0, D1, D5, D6. Дешифрируется: 1110111xxxxx0111
- старшая группа разрядов - Hi: D2, D3, D4, D7. Дешифрируется: 111011x0xxxx0111
Таким образом, для старого софта, юзающего режимы мультиолор и 16колор управление остаётся прежним, а для нового открываются широкие возможности, при том с сохранением совместимости со старым железом (т.е. с Пентагоном 2.2).
Для нового софта, работающего с новым железом, и использующего все его возможности, управление видеорежимами осуществляется записью в единственный порт #EEF7 (ессно, что в старом железе новые возможности не поддержаны и корректно работать не будут).
2) Системный порт тоже разделён на две половинки:
- младшая группа разрядов - Lo: D0, D1, D5, D6. Дешифрируется: 1110110xxxxx0111
- старшая группа разрядов - Hi: D2, D3, D4, D7. Дешифрируется: 111011x1xxxx0111
Таким образом, для старого софта, юзающего #EFF7 управление остаётся прежним, а для нового открываются широкие возможности, при том с сохранением совместимости со старым железом (т.е. с Пентагоном 2.2).
Для нового софта, работающего с новым железом, и использующего все его возможности, управление системными функциями осуществляется записью в единственный порт #EDF7 (ессно, что в старом железе новые возможности не поддержаны и корректно работать не будут).

Т.е. для программистов, при работе с существовавшим ранее функционалом рекомендуется использовать #EFF7, а при работе с новым функционалом - для управления видеорежимами - #EEF7, для управления системными функциями - #EDF7.
Использование единственного порта для управления видеорежимами сделано специально для ускорения переключения видеорежимов при использовании на одном экране сразу нескольких видеорежимов.

---------- Post added at 16:06 ---------- Previous post was at 15:54 ----------


breeze, я сделал по твоему совету.
Вот результат.попробуй с D0, это наверно не переделанная версия программы, выпущенная ещё до того как alco полез биты менять

IanPo
02.04.2011, 17:19
breeze, так я и говорю, нормально все :)


БК-0010
попробуй с D0, это наверно не переделанная версия программы, выпущенная ещё до того как alco полез биты менять
Это как раз переделанная под D5, она нормально работает.

IanPo
03.04.2011, 18:32
Примутил палитру, пока без записи.
Возникает вопрос: какие есть стандарты на запись в палитру?
Размер палитры - 16 цветов * 16 (555) бит = 32 байта.
Пока думаю так:
Если делать палитру только в мультиколоре, то сразу после +6144.
А если надо в обычном режиме, то переключившись в МуК, записав и переключившись обратно. Дополнительно стоит копеечных несколько байт кода.
Но играть палитрой в обычном режиме будет нельзя :(

breeze
03.04.2011, 18:45
Возникает вопрос: какие есть стандарты на запись в палитру?

точного ответа нет, но… думаю будет интересно почитать мысли DDp здесь (http://realddp.narod.ru/zx/pal444/index.htm).

Black_Cat
03.04.2011, 19:58
Возникает вопрос: какие есть стандарты на запись в палитру?для Спектрума стандартов нет, ввиду нераспространённости девайса. Из Спеков токо на Profi в режиме CP/M была палитра 16 из 256. Но т.к. это в режиме CP/M, то и нафиг. Короче - можно считать что и небыло никогда. Щас бриз проявит некомпетентность утверждая что я забыл АТМ, который наверняка у бриза тоже есть :) . Должен расстроить бриза, АТМ - не Спектрум, и никогда Спектрумом не был :)
Да, чуть не забыл - есть один стандарт для эмулятора, но он очччееень особенный, ULA+ называется, пока лучче оставить его в покое :)


Если делать палитру только в мультиколоре, то сразу после +6144.лучче делать по той раскладке памяти, что я давал: палитру располагать в 4 странице в адресах:
- младший байт: #1B00-#1BFF
- старший байт: #3B00- #3BFF
Принимаются предложения по порядку следования байтов в памяти (т.е. старший/младший, снизу-вверх/сверху-вниз).
Теперь по её работе - собсно для палитры эта память не нужна, т.к. у палитры собственная регистровая память, отображающаяся на адреса ОЗУ. Запись сквозь ОЗУ в регистровую память нам надо токо для получения снапшота, где зафиксировано состояние палитры. Никакая другая схема палитры этого не позволяет, токо палитра Хiмеr'ы, т.к. для этой архитектуры это важно для реализации режима многозадачности.
Какие особенности у этого режима:
1) Для новых программ, работающих на архитектуре Хiмеra, и учитывающих местоположение палитры - проблем нет.
2) Для старых программ, загружающих в область палитры чёто своё, палитру надо грузить до загрузки программ, и такие программы не могут менять её на ходу, и использовать палитру в режиме многозадачности.

На сегодняшний день рабочим портом разрешающим запись в регистровое ОЗУ палитры сквозь ОЗУ, является D7=1 #EBF7, дешифрация - 11101011xxxx0111

---------- Post added at 19:58 ---------- Previous post was at 19:38 ----------


16 (555) битне, лучше 655-GRB

IanPo
03.04.2011, 20:40
breeze, ну, там сурово сделано :) через порты. Даже не знаю.

БК-0010
Спасибо, буду думать.

не, лучше 655-GRB
Это пока что не изменить, т.к. сделано аппаратно на тестовой карточке.

Black_Cat
03.04.2011, 20:59
Это пока что не изменить, т.к. сделано аппаратно на тестовой карточке.будешь рисовать схему пиши, я тебе расскажу как правильно выходной каскад делать, или посмотри схему палитры здесь:http://zx.clan.su/forum/8-62-1 Сама схема уже устарела, так что возьми оттуда токо выходной каскад и смеситель-переключатель видеовывода, чтоб без загруженной палитры было изображение.

---------- Post added at 20:59 ---------- Previous post was at 20:50 ----------


Спасибо, буду думать.ну, если думаешь - давай свои мысли :) , но вообще я всё уже продумал раньше, так что присоединяйся! :)

IanPo
04.04.2011, 20:45
Палитра готова.
296 ячеек Альтеры (после оптимизации будет меньше).
Проект прилагаю (первый раз Квартус будет ругаться на HEX-файл, надо сделать повторную компиляцию).
При включении палитра стандартная спековская.
После включения бита и записи в 5B00-5B1F палитра меняется.
Мультиколор + палитра кроют гигаскрин, как бык овцу.
Думаю, дальше режимы развивать не стоит.

Black_Cat
04.04.2011, 23:49
После включения бита и записи в 5B00-5B1F палитра меняется.Знаешь, я тож поначалу хотел разместить палитру в 5 странице - это удобно для быстрой её помены, и одинаово во всех режимах памяти 48/128/256..., но переменные бейсика 128, и команды принтера чёт навели на меня тоску. И то и другое гадит в эту область. Т.е. в 48 васике - команды принтера, а в 128 - системные переменные.

Отсюда вопрос к all: как на ваше имхо, но желательно аргументированно - это нормально будет, если в обоих васиках палитры не будет?

---------- Post added at 23:49 ---------- Previous post was at 23:42 ----------


Думаю, дальше режимы развивать не стоит.:) увы, но их уже развили :) , так что придётся :)

IanPo
07.04.2011, 21:04
БК-0010
как на ваше имхо, но желательно аргументированно - это нормально будет, если в обоих васиках палитры не будет?
А почему не будет ? Выставил бит, записал палитру, обнулил бит.
Теневая палитра-то будет.

Black_Cat
07.04.2011, 21:54
А почему не будет ? Выставил бит, записал палитру, обнулил бит.
Теневая палитра-то будет...сохранил в SNA, перезагрузился, восстановил из SNA - вместо палитры хрен знает что, т.к. палитру погрызли долгоносики - системные переменные в васике128 или буфер принтера в васике48, или же код программы, которая о палитре ничего не знает (в случае старых программ).

IanPo
21.07.2011, 20:22
Всем привет!
Меня уже некоторое время мучает вопрос: а не сделать ли нам такую ботву, как ipvc2 (см. рисунок) ?
Это скрещенные Speccy2010 и первый ipvc.
МК будет использоваться для загрузки в ОЗУ ipvc2, ОЗУСпека(снапшоты), заливки прошивки в ПЛИС и еще, что в голову придет. Перепрошивка будет происходить по команде со Спека, что дает возможность прикрутить к каждому уровню игры или демо свои аппаратные эффекты.
Плюсуйте-минусуйте.

breeze
21.07.2011, 20:37
Меня уже некоторое время мучает вопрос…

как я понял из рисунка, это макет платы? посему вопрос, а не слишком ли навороченной получается конструкция в целом ? это не удорожит конструкцию? Просто изначально вроде как графический контроллер задумывался, а теперь уже целый спек на борту :confused:

skyther
21.07.2011, 21:35
Так можно будет делать кластеры из сп2010 :)
По сути навороченная нгс получится, только с видеовыхлопом.

alone
21.07.2011, 22:58
Например у DDp на D5 был гигаскрин.
У DDp на D5,D6 аппаратный скролл.

---------- Post added at 22:58 ---------- Previous post was at 22:53 ----------


спасибо. так же оно и на моём PentEvo выглядит
Что у вас с палитрой? Ink и paper явно по-разному раскрашены.

breeze
22.07.2011, 01:20
Что у вас с палитрой? Ink и paper явно по-разному раскрашены.

не понял вопроса, а что у нас не так с палитрой? :dizzy_mad_old:

Valen
22.07.2011, 14:23
Всем привет!
Меня уже некоторое время мучает вопрос: а не сделать ли нам такую ботву, как ipvc2 (см. рисунок) ?
Это скрещенные Speccy2010 и первый ipvc.
МК будет использоваться для загрузки в ОЗУ ipvc2, ОЗУСпека(снапшоты), заливки прошивки в ПЛИС и еще, что в голову придет. Перепрошивка будет происходить по команде со Спека, что дает возможность прикрутить к каждому уровню игры или демо свои аппаратные эффекты.
Плюсуйте-минусуйте.

ИМХО, есть смысл сосредоточиться на минимальной цене изделия.
Посему можно ставить самую дешёвую плисину, в которую влезло бы:
- 4х канальный звук
- блиттер
Получиться недорогой медиа-ускоритель.


Спрайты, тайлы, большие плисины, это уже большие затраты.

Black_Cat
22.07.2011, 15:24
есть смысл сосредоточиться на минимальной цене изделия.эдесь цена и так минимальна дальше некуда, т.к. конфигурация реализуется софтово, при том отдельные модули подгружаются динамически с разделением во времени в зависимости от сюжета. Вот токо у Спекки2010 память 16/32Мб, а не 8 и цвет 888, а не 555

IanPo
22.07.2011, 20:42
конструкция представляет из себя видео и аудио контроллер, дополнительные к спеку.
рисунок - примерный макет платы

плис стоит 500-650 р.
контроллер 52 р.
память mt48lc4m16a2p 68 р. больший размер не нужен, имхо. 14*8=112 мгц cl3
резисторы < 100 р.
усилитель и цап < 160 р.
плата, cтабилизаторы, дроссели, кондеры, разъемы - еще сколько-то.

все вместе до 2000, возможно, 1500
в топку? делать совсем уж гетто-вариант нехоцца :(

Valen
23.07.2011, 18:01
все вместе до 2000, возможно, 1500
в топку? делать совсем уж гетто-вариант нехоцца :(

Ну тут два варианта, либо дешёвый (гетто) и тогда есть некий шанс на распространение дэвайса.
Дешёвый, потому как спектрумисты, хотят всё либо нашару, либо по цене пивка.

Второй вариант, как хочется. Тут уж что хочу, то и ворочу.
(И тут даже при цене, сравнимой с НГС, дэвайс ИМХО будет лучше, потому как видео+аудио ускоритель.)

psb
23.07.2011, 21:16
ИМХО, девайс будет лучше тогда, когда под него будут кодить:)

batr
25.07.2011, 19:41
Меня уже некоторое время мучает вопрос: а не сделать ли нам такую ботву, как ipvc2 (см. рисунок) ?
Это скрещенные Speccy2010 и первый ipvc.
МК будет использоваться для загрузки в ОЗУ ipvc2, ОЗУСпека(снапшоты), заливки прошивки в ПЛИС и еще, что в голову придет. Перепрошивка будет происходить по команде со Спека, что дает возможность прикрутить к каждому уровню игры или демо свои аппаратные эффекты.
Подобного устройства вроде бы ещё никто не предлагал.
Подобное устройство может заинтересовать хотябы ради экспериментов, а там уж...

alone
26.07.2011, 03:51
Цитата:
Сообщение от alone Посмотреть сообщение
Что у вас с палитрой? Ink и paper явно по-разному раскрашены.
не понял вопроса, а что у нас не так с палитрой?
Сравни с эмулятором или с ZX Evo.



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

bigral
27.07.2011, 14:52
Перепрограммирование на лету поддержано в NeoGS. Юзеропрошивок что-то не видать, несмотря на открытые исходники!

Давайте выясним причину отсутствия спроса на NeoGS и его прошивки:

1. Какая максимальная схема влезет в этот NeoGS (в смысле потянет ли оно хотябы минимальный RISC 32bit CPU)?
2. На сколько легко подключить NeoGS к типичному клону типа Робик\Ленинград1 и насколько эстетично это потом будет выглядеть?

alone
27.07.2011, 17:18
1. Минимальный RISC 32bit CPU влезет. Инфа 100%. Более того, в отличие от прочих плат, всё остальное можно выкинуть - на работоспособность не влияет.
2. Типичный Робик/Ленинград1 уже сгнил и если и работает, то глючит от каждого чиха. Покупайте новое железо, оно уже давно не стоит как самолёт.

balu_dark
27.07.2011, 17:31
Ну тут просто всех пытаются дубиной загнать со старого железа на коммерческие новоделы. поэтому вопросом номер 2 никто вообще не задавался. 200 баксов за комплект NGS+ZXevo не порождают повальное творчество. а те кто сидит на основной массе машин и хоть чтото делает - не все имеют NGS. Поэтому топик как раз правильно поднят. A коммерческое EVO за 2 года продаж - так и не обзавелось банальным ФАПЧем на дисковод. При том что некоммерческие ( ну или бюджетные) вещи типа SPECCY2007 или Reverse обзавелись многими необходимыми фичами очень быстро( многими даже в первые месяцы после релиза).

alone
27.07.2011, 18:53
Speccy2007 за 4 года существования не обзавёлся банальным режимом цвет на точку. Демы под Speccy2007 просто валом валят, как я погляжу. Что такое Reverse - не имею понятия. Speccy2010 по комплектующим стоит ровно столько же, сколько ZX Evolution, с той лишь разницей, что набор деталей для ZX Evolution можно купить у ЧРВ, а за комплектующими к Speccy2010 надо бегать по магазинам, и не факт, что найдёшь (см. соответствующий тред).

Далее. Никто не заставляет покупать ZX Evolution для втыкания NeoGS. Он свободно втыкается в любой комп с ZX-Bus. Перечислить?

Sayman
27.07.2011, 19:08
alone, если ненравица девайс, зачем тогда пишеш? ну юзай недоЭву с её мегатормозным 16ц режимом и недоГС.

alone
27.07.2011, 19:37
Девайс не существует, и лучше бы не существовал, ибо нефиг распыляться. Что, кодеры внезапно лишние появились? А в каком страшном сне тебе приснился "мегатормозной" 16ц режим в ZX Evo - знаешь только ты.

Sayman
27.07.2011, 20:10
вот только не надо щас рассказывать о том, что 16c вдруг внезапно стал офигенно бфстрым и что там за фрейм картинку можно кинуть. спктрум на штатных частотах с трудом свой собственный экран ворочит. а про 16 цветный, с цветом на точку, который весит чуть больше 12кб (в два раза больше родного экрана)...дада..он то не мегатормозный...

savelij
27.07.2011, 20:14
вот только не надо щас рассказывать о том, что 16c вдруг внезапно стал офигенно бфстрым и что там за фрейм картинку можно кинуть. спктрум на штатных частотах с трудом свой собственный экран ворочит. а про 16 цветный, с цветом на точку, который весит чуть больше 12кб (в два раза больше родного экрана)...дада..он то не мегатормозный...

Вообще то 24 килобайта. 256*192/2

Sayman
27.07.2011, 20:18
256*192/2
ну да..точна..я на 4 поделил..дубина..тем более.

palsw
27.07.2011, 20:24
Вообще то 24 килобайта. 256*192/2


бредо формула
Цвет кодируется 2 битами ?или как правильно?

Keeper
28.07.2011, 00:05
Цвет кодируется 2 битами ?или как правильно?

Не, цвет кодируется четырьмя :) В формуле "два"(2) означает кол-во точек на байт :)

Можно еще так считать:
цветов на точку 16 = 2^4; т.е. на кодирование цвета нужно 4ре бита - bpp = 4
тогда (width*height*bpp)/8, где 8 - кол-во битов в байте

P.S.: bpp - bits per pixel - кол-то бит кодирующих цвет на точку. Для стандартного экрана спекки размер экрана в байтах считается отдельно для пикселей и атрибутов, а потом суммируется:
1. Для пикселей (256*192*1)/8 = 6144 байта
2. Для атрибутов (32*24*8)/8 = 768 байт
3. Итого 6144+768 = 6912 байт

balu_dark
28.07.2011, 04:07
Speccy2007 за 4 года существования не обзавёлся банальным режимом цвет на точку. Демы под Speccy2007 просто валом валят, как я погляжу. Что такое Reverse - не имею понятия. Speccy2010 по комплектующим стоит ровно столько же, сколько ZX Evolution, с той лишь разницей, что набор деталей для ZX Evolution можно купить у ЧРВ, а за комплектующими к Speccy2010 надо бегать по магазинам, и не факт, что найдёшь (см. соответствующий тред).

Далее. Никто не заставляет покупать ZX Evolution для втыкания NeoGS. Он свободно втыкается в любой комп с ZX-Bus. Перечислить?

Троль детектед!
Если перечитаеш мой пост внимательнее - я писал что любых компов с ZX-bus не наберется по моему и 10ка наименований.( я говорю не про новоделы а про компы до 2004 года например). зато Ленинграды и пентагоны - у народа пачками присутствуют и навскидку таких машин - несколько тысяч. Очень сомневаюсь что EVO продался в количестве более чем 150 плат даже если 200 плат - по распространенности это будет 0.001% от общего количества других машин.
Блин - перечитай топик сначала вообще. Че ты влез вообще сюда - фиг поймет. Письками тут меряться не надо - изначально тема была о том что человек сделал свою плату на плисине - и сделал на ней примочки типа аппаратных линий блиттера и еще кое чего. че влезать с NGSом то? никто твой NGS не хает! а за целую ОДНУ демку под него за 3 года - надо памятник поставить.
Цвет на точку в старых демах НЕ ЮЗАЛСЯ ! был бы комуто нужен - появился бы. а дем под 16с я знаю только 10ок наверно ( а помоему меньше даже). зато работа с образами TRD подсказать когда была сделана для Speccy2007? А демы - сорри но большинство дем пишется именно под обычное железо -без турб, 16с,и NEOGS. Это тебе вон Алексеенко подтвердит. и демы 2007 нормально крутит. а 2010 так вообще - и тайминги можно выбрать и USB на борту( не надо искать преобразователи USB2COM или старую машину с портами - как для ЭВО до версии B включительно.) Набор деталей для 2010 покупается так же легко у ZST. Reverse это вообще - миниплата. но буквально за первый месяц на ней появился и Скорпион и Пентагон и Специалист и вроде Орион. При этом народ писал чисто для себя. и количество апдейтов на те-же спеки - ну не сравнить с количеством апдейтов на EVO.
EVO классная тачка и NGS не менее кульный но в данной теме - они мимо кассы! :v2_dizzy_otvyan:

Black_Cat
30.07.2011, 21:29
Speccy2007 за 4 года существования не обзавёлся банальным режимом цвет на точкуДима, его там просто некуда пихать, как и многое другое


Speccy2010 по комплектующим стоит ровно столько же, сколько ZX Evolutionтут недавно продавался за 2500р собранный от производителя, так что цена - это в основном вопрос выбора поставщиков комплектующих :)


Девайс не существует, и лучше бы не существовал, ибо нефиг распыляться. Что, кодеры внезапно лишние появились?Дима, если на то пошло, то и НеоГС с его якобы ДМА - нафик, а лучше уж ДМАУСЦ :)


я писал что любых компов с ZX-bus не наберется по моему и 10ка наименований.( я говорю не про новоделы а про компы до 2004 года напримерВообще наберётся, правда ZXBus и NemoBus - это не одно и то же :)

balu_dark
18.08.2011, 03:31
Что новенького по теме? а то руки чешутся распаять некое подобие слота на своем "Ленинград-1". Но без карточки не вижу в этом смысла.

Сегодня полазил на соседних форумах :
to Breeze : Спасибо за комплимент, но маленькая поправочка: я не "умник" я просто умный. :) и я не ляпаю - а говорю правду(родители так приучили) даже если она кому-то глазоньки режет. А думать привык не загружая сознание предрассудками или шорами какими либо.

Народу кто не понял в 2х словах - бризу подтвердили на не называемом тут форуме количество произведенных ZXevo и NEOGS я оказался прав с точностью до 10ка моделей. Даже прямо вера в себя как в предсказателя появилась.... :)

Sayman
18.08.2011, 05:25
так и сколько всё таки?

balu_dark
18.08.2011, 14:28
так и сколько всё таки?


PentEvo примерно 122 штуки на текущий момент.
NeoGS около 95штук (60штук ревБ, 35 ревЦ)
Вот столько.

IanPo
18.08.2011, 19:50
balu_dark

Что новенького по теме?
Пришел к мысли, что девайс надо-таки сделать.
Черчу схему в AD. Осталось подрисовать память и слот ZX-BUS.
Потом выложу на обозрение и обсуждение. Работы еще дофига.

balu_dark
18.08.2011, 21:15
замечательно! и если можно - кроме слота - сделать еще и ряд дырочек в два ряда с шагом 2.54мм дублирующих контакты слота - для любителей МГТФ. :)
А то посмотрел сегодня макетное поле Ленинграда и понял что даже без размещения доработок - негде там слот поставить. а вот 2 панели IDC40 - вполне станут и можно все сделать на красивом шлейфе.

IanPo
18.08.2011, 22:27
Про дырочки записал. Численно хватит 2хIDC26 с питанием 5в и землей. Или два IDC34 как более привычных. Не должно вызвать затруднений.

Black_Cat
18.08.2011, 22:43
Про дырочки записал. Численно хватит 2хIDC26 с питанием 5в и землей. Или два IDC34 как более привычных. Не должно вызвать затруднений.
Вааще-то про дырочки ты не понял. На контроллерах, параллельно печатному разъёму NemoBus располагается его дубль под штыревой разъём, т.е. два ряда по 31 контакту

IanPo
18.08.2011, 23:39
Black_Cat, я посмотрел на карточку SMUC - и понял :) Сделаем.

solegstar
19.08.2011, 10:51
Причем ряд "A" - нижний, ряд "B" - верхний. как в мультикарте Caro (http://zx.pk.ru/showpost.php?p=9958&postcount=1), или в SounDrive (http://zx.pk.ru/showpost.php?p=333981&postcount=74)

Black_Cat
19.08.2011, 18:23
Причем ряд "A" - нижний, ряд "B" - верхнийнаоборот

solegstar
19.08.2011, 18:27
наоборот

я про штырьковый разъем, а не про ламельный.

Black_Cat
19.08.2011, 18:28
Black_Cat, я посмотрел на карточку SMUCлучше смотри на ZXMC-2, SMUC делался изначально под Скорпион, а на Скорпе нет NemoBus. А сигналы NemoBus смотри только здесь: Стандартизация ZX BUS интерфейсов и шин (http://zx.clan.su/forum/7-82-1). Вон solegstar смотрит где непопадя, и от этого у него стороны А и В местами поменяны :)


я про штырьковый разъем, а не про ламельныйя тоже

solegstar
19.08.2011, 18:33
я тоже

а по фоткам слабо посмотреть куда дороги в ZXMC2 идут?

Black_Cat
19.08.2011, 19:05
Да, у caro действительно задом наперёд, видимо он сделал как в ISA, но не учёл, что сторона компонентов у NemoBus другая. Значит теперь придётся делать как у caro, т.к. он был первым.

solegstar
19.08.2011, 19:41
т.к. у IDC разъемов нет сторон (А,В), а обозначить как-то надо было стороны штыревого разъема (ведь не 1, 2, 3...59, 60), я подглядел обозначение в разъемах DIN. У меня в SounDrive совпало обозначение сторон с Камилем.

IanPo
21.08.2011, 22:44
Требуется помощь: какие из нижеприведенных контактов нужно задействовать ?
Уже задействованные обозначены как I, IO, O для карточки.
Непонятные обозначены знаком вопроса. Адреса и данные не приведены, они будут IO.
К сожалению, придется использовать ПУ 74alvc164245, т.к. резисторы, похоже, не катят (есть опасность пожечь Циклон2). Поэтому трехстабильный выход можно реализовать сразу для группы сигналов.



RES 20A I
MREQ 16B IO
WR 19B IO
IORQ 17B IO
BLK 4B ? Подключена 0 страница ОЗУ вместо ПЗУ
DOS/ 4A ? Активированы ПЗУ и порты TR-DOS
TURBO 5B ? Турбо режим, если = 1 ( общий коллектор)
F 5A I
CLK 8A I
INT 13B O
IORQGE 13A O
NMI 14B I
HALT 15B ?
RDR/ 15A ?
RS 16A ?
BRQ 19A O
IODOS 20B ?
WAIT 21B ?
M1 24B I
RFSH 25B I
CSR/ 25A ?
BUSAK/ 26A I
RD 18B I


Позже я изложу возможности, какие хотелось бы реализовать.

balu_dark
21.08.2011, 23:21
IODOS 20B как минимум. ну вот насчет HALT - не знаю просто - надо ли будет тебе шину вешать с платы или нет.

Black_Cat
22.08.2011, 18:23
Требуется помощь: какие из нижеприведенных контактов нужно задействовать ?Это зависит от:
Позже я изложу возможности, какие хотелось бы реализовать.А глобально, я же тебе давал сцылку на стандарт NemoBus, там все сигналы расписаны, в т.ч. тип.

IanPo
22.08.2011, 18:41
IODOS - это сигнал спеку, разрешающий доступ к регистрам дисковода. На контроллере будет SD-карточка, зачем ему дисковод ? Технически я выведу этот сигнал без проблем, непонятно, зачем он.
HALT - это выход процессора, сообщающий о его остановке (выполнена команда HALT). Процессор я могу останавливать с помощью /BUSRQ и писать в память спека.

---------- Post added at 18:32 ---------- Previous post was at 18:31 ----------

Black_Cat, вопрос заключается в том, какие из контактов нужны другим и зачем :)

---------- Post added at 18:41 ---------- Previous post was at 18:32 ----------

Что хотелось бы реализовать:
1) Аудио и видео контроллер, работающие с ZXBUS, имеющие свой источник данных - (micro)SD-card и собственное (8 Мб) ОЗУ. Акселерация 2D и звука, разгружающие процессор, последний только отдает команды.
2) Используемый МК STR755 (ARM7) осуществляет:
а) запись и открытие файлов, в т.ч. в/из памяти спека. Желательно поддержать распространенные снапшоты средствами контроллера.
б) выполнение вычислений (распаковка, расчет, MOD, если потянет - MP3). Обмен данными будет производиться по спец шине между ПЛИС(т.е. ОЗУ) и МК.
в) загрузка прошивки в ПЛИС, как по выбору юзера, так и по команде из программы спека.

Black_Cat
22.08.2011, 18:50
какие из контактов нужны другим и зачемдругим контактам? О чём вопрос?


Процессор я могу останавливать с помощью /BUSRQ и писать в память спека.боюсь что вряд ли, т.к. эта функция отдана системному контроллеру ПДП.. Разве что ты его сэмулируешь у себя на карте.. Будешь эмулировать 8237?

IanPo
22.08.2011, 19:11
Black_Cat

другим контактам?
Другим людям. Я некоторые контакты ZXBUS, придуманные нашими талантами, плохо знаю.

боюсь что вряд ли, т.к. эта функция отдана системному контроллеру ПДП.
Остановил процессор(BUSRQ), он освободит шину (BUSAK), далее я по сигналу CLK выкладываю из памяти контроллера на шину данных/адреса нужные значения нужное количество тактов CLK. Вот и все ПДП. Правда, запись будет только в 64К, но это тоже неплохо. Если это не надо в принципе, можно не делать.

Black_Cat
22.08.2011, 20:07
Остановил процессор(BUSRQ)не так, сначала проверил, не захватил ли шину системный контроллер ПДП



BLK 4B O Это тебе надо чтоб подключить страницу ОЗУ в окно CPU0
DOS/ 4A IO Это тебе надо чтоб знать что активированы ПЗУ и порты TR-DOS и самому их активировать (можно отлавливать в ПЛИС)
TURBO 5B IO Это тебе надо чтоб знать включен ли Турбо режим, и иметь возможность его выключить

CLK 8A IО Это тебе надо чтоб останавливать CPU

HALT 15B I Это тебе надо чтоб знать, что проц ждёт прерывания
RDR/ 15A О Это тебе надо чтоб подставить своё ПЗУ
RS 16A IО Это тебе надо чтоб управлять старшим адресом системного ПЗУ
BRQ 19A IO Это тебе надо чтоб отслеживать, не захватил ли шину системный контроллер ПДП
IODOS 20B IO Это тебе надо чтоб знать что активированы все теневые порты, и самому их активировать
WAIT 21B I Это тебе не надо если ты обращаешься к тормозному устройству

RFSH 25B О Это тебе надо в будущем при работе ПДП
CSR/ 25A I Это тебе надо чтоб знать, что идёт обращение к ПЗУ
BUSAK/ 26A IO Это тебе надо чтоб знать, что шину уже захватили, а так же в будущем для открытия всех окон CPU
RD 18B IO ПДП

В рекомендованном мануале всё это описано.

IanPo
22.08.2011, 20:28
В общем, не задействованы:
BLK
DOS/
TURBO
HALT
RDR/
RS
CSR/

и про IODOS жду информацию, зачем он нужен.

Мануал про сигналы я читал.

Black_Cat
22.08.2011, 20:45
и про IODOS жду информацию, зачем он нужен.
Индицирует доступ к теневым портам, а это не токо тырдос, можно отлавливать в ПЛИС.

---------- Post added at 20:45 ---------- Previous post was at 20:39 ----------


В общем, не задействованы:
BLKДоступ К 64К адресного пространства ОЗУ не получишь

IanPo
22.08.2011, 21:23
Доступ К 64К адресного пространства ОЗУ не получишь
Ты хочешь сказать, что я не смогу писать в 0 страницу ОЗУ, если включено ПЗУ ? Но смогу, если ПЗУ отключено записью бита в соответствующий регистр ?

Black_Cat
22.08.2011, 21:29
Ты хочешь сказать, что я не смогу писать в 0 страницу ОЗУ, если включено ПЗУ ? Но смогу, если ПЗУ отключено записью бита в соответствующий регистр ?или установкой сигнала BLK=1

IanPo
22.08.2011, 21:51
BLK задействовал и IODOS тоже.

Black_Cat
22.08.2011, 22:05
IanPo, если у тебя пины в дефиците, то IODOS лучше отлавливать по обращению к его порту, т.к. сигнал ТТЛ, и не предназначен для внешнего включения с шины. Токо имей ввиду IODOS не дублирует DOS - это разные сигналы

IanPo
22.08.2011, 22:56
IODOS лучше отлавливать по обращению к его порту, т.к. сигнал ТТЛ, и не предназначен для внешнего включения с шины.
В Фениксе порты включаются внешним сигналом IODOS через диод. Т.е. я его вывожу как выход с контроллера, на схему Феникса он идет через упомянутый диод.

Black_Cat
22.08.2011, 23:03
В Фениксе порты включаются внешним сигналом IODOS через диоднет, в Меге реализован порт D7 #EFF7 и на шину идёт ТТЛ

solegstar
23.08.2011, 02:15
IODOS c компа - это выход, а не вход...

IanPo
23.08.2011, 19:21
Короче, IODOS я вывести не могу, т.к. МК уже им управляет. Отслеживать можно в контроллере при необходимости.

IanPo
24.08.2011, 20:41
В связи с нагруженностью стабилизатора поставлю на 3.3В LM1086 - 1.5А.
Нашел-таки дешевую ИМС усилителя для наушников - TDA2822. Ранее планировал tda1308, что сложнее достать, и дороже. Если знаете варианты замены (более дешевые), предлагайте.

balu_dark
25.08.2011, 03:52
а не хочешь поставить стерео DAC rail to rail TDA1543 - наушники качает на ура!
что до питания - поставь лучше импульсный стабилизатор - меньше будешь греть окружающую среду и диапазон входных напряжений будет пристойный вольт от 7 до 40 без проблем и перегрева. Катушки сейчас на каждом углу продают от смд до выводных любой формы и размера. диоды Зеннера - тоже не проблема.
МС34063х - тут разжована теория и тестовая плата под утюг http://easyelectronics.ru/istochniki-pitaniya-chast-2.html

IanPo
25.08.2011, 19:33
balu_dark

а не хочешь поставить стерео DAC rail to rail TDA1543 - наушники качает на ура!
Вообще-то именно ее и собирался поставить, а потом усилок. На моей картинке (см.ранее) она указана. Кто захочет, пусть ставит усилок, кто не захочет - выход с 1543 проводком или перемычкой соединит. По даташиту рекомендуется усилок.

Про МС34063х я знаю, только они маломощные, 0.5А. Это даже хуже lm1117. На моей нынешней карточке ipvc ничего не греется. Остановлюсь на lm1086, по цене практически то же самое.

balu_dark
25.08.2011, 20:53
Про МС34063х я знаю, только они маломощные, 0.5А. Это даже хуже lm1117. На моей нынешней карточке ipvc ничего не греется. Остановлюсь на lm1086, по цене практически то же самое.
Ты не путаеш? по даташиту :
MC34063A, MC33063A,NCV33063A
1.5 A, Step-Up/Down/ Inverting Switching Regulators.
Еще есть приятная во всех отношениях серия LM25xx у нее и обвязки минимум и есть чипы с TTL управлением включения. а токи - страшно сказать - до 5 ампер!

По поводу не греется - там рассеяние на 1.5 А с питанием от 5 вольт будет около 2х Ватт на линейном стабе.
а по DAC - я сорри , последнее время сижу на линуховой тачке и не все файлы могу просмотреть - поэтому даже не смотрю аттачи. что касается усилителя - фиг его знает но мои Sennheiser HD555 прокачивает громко и четко без нагрева и проблем(на Спекки2010). мне кажется можно и не усложнять конструкцию особо. Если очень надо таки вкорячить усилок - посмотри что ставил народ в NeoGS у них помоему стоит какойто усилок на выходе. И думаю что чип стоит очень недорогой.

IanPo
25.08.2011, 21:53
По даташиту 1.5А, а виденные мной схемы, в т.ч. приведенная тобой, дают 0.5А. Аналоговые регуляторы нормально подойдут, там 1.5А не будет, меньше ампера наверняка. У sydа в Speccy2010 lm1117, но хочется подстраховаться. К тому же обвязка меньше, нет дросселей и диодов. Перегрева не ожидается.

Весь усилок будет рублей на 20 (чип, кондеры, резюки). Будет перемычка. В NeoGS стоит ne5532, который можно за 8 р. купить, на 50 коп. дешевле tda2822. Непринципиально, в общем. Но буду иметь в виду.

Black_Cat
25.08.2011, 22:14
Короче, IODOS я вывести не могу, т.к. МК уже им управляет. Отслеживать можно в контроллере при необходимости.Да, но это справедливо токо для Феникса

IanPo
25.08.2011, 23:06
Да, но это справедливо токо для Феникса
Понял. Сделаю через перемычку.

IanPo
20.09.2011, 20:23
Добрый день !

Определился со схемой, выкладываю текущий вариант на обсуждение.
Аудиочасть стырил у nedopc(NeoGS), их схема дешевле всего получается.

Думаю про питание - есть отличные микрухи ST1S06 (переключательные конвертеры на 1.5А), но получается дороже и сложнее (доп.дроссель + керамика большой емкости). Пока не решился.

Плату пока что начал разводить, в итоге все будет немного иначе :)

Прошивку в МК загружать предполагается через TTL-serial или COM-порт (нужна будет еще MAX...), контролеры с USB гораздо дороже.

Защитные резисторы на шине между контроллером и спеком пока не ставил - думаю пока.

Если кому интересно, задавайте вопросы и советуйте :)

Black_Cat
20.09.2011, 21:03
Защитные резисторы на шине между контроллером и спеком пока не ставил - думаю пока.а что, возможны конфликты?

---------- Post added at 21:03 ---------- Previous post was at 20:39 ----------

IanPo, а токовый ЦАП это хорошая идея? Почему не R-2R?

breeze
20.09.2011, 21:17
Прошивку в МК загружать предполагается через TTL-serial или COM-порт (нужна будет еще MAX...), контролеры с USB гораздо дороже.

Очень настоятельно голосую за USB! В новой ревизии PentEvo и то решили сделать это вариант. Ибо COM-портов в новых PC днём с огнём не сыщешь, про ноутбуки я вообще молчу. Кроме того неужели стоимость дополнительного MAX+изготовление шнурка, так намного дешевле USB загрузчика на борту?

Totem
20.09.2011, 21:46
Black_Cat
,
Сообщение от IanPo
Защитные резисторы на шине между контроллером и спеком пока не ставил - думаю пока
а что, возможны конфликты? .
неть просто тема с
"'электроних.ру":))))

IanPo
21.09.2011, 19:43
Black_Cat

а что, возможны конфликты?
Можно написать прошивку, к-я все пожжет :)


а токовый ЦАП это хорошая идея? Почему не R-2R?
А чем плохая ? И дешевая, к тому же. Делать же 16-битный ЦАП R-2R я не фанат.

breeze

Ибо COM-портов в новых PC днём с огнём не сыщешь
У меня новый ПК, там разъем есть (правда, без шнурка и планки).


Кроме того неужели стоимость дополнительного MAX+изготовление шнурка, так намного дешевле USB загрузчика на борту?
Есть дешевые MAX, шнурок из барахла собирается. Контроллеры с USB стоят от 160р., а этот - 56 р. Мне текущий вариант не очень нравится, но что-то другого не вижу. Завышение цены не радует, цены и так растут, как на дрожжах. FT232 c обвязкой тоже 150 р. получится. Наверно, нужно предусмотреть FT232 и MAX, а пользователь сам поставит, что нужно.
В общем, можно поставить str751fr2t6, отличий по выводам совсем немного.

Black_Cat
21.09.2011, 19:48
Можно написать прошивку, к-я все пожжеттоды надо вааще все ноги ПЛИС защищать :)


Делать же 16-битный ЦАП R-2R я не фанат.а что не так?

breeze
21.09.2011, 19:55
Есть дешевые MAX, шнурок из барахла собирается.

Хорошо, цена это одна сторона вопроса. А теперь возьмём рядового пользователя (типа ААА) ты думаешь он будет возиться с максами, шнурками и комами? o_O или ему проще воткнуть шнурок в USB ?


У меня новый ПК, там разъем есть (правда, без шнурка и планки).

у меня тоже такие пины есть, но толку 0, ибо так и не смог подключить так что бы увиделся PentEvo.


Завышение цены не радует, цены и так растут, как на дрожжах.

Ну извини :) одно дело когда ты барыга и продаёшь в три раза дороже с единственным объяснением «очень деньги нужны», а другое дело когда это обусловлено стоимостью деталей.

Как компромиссное решение: Сделать разводку под USB, но ставить лишь по желанию, есть у человека лишние средства — вуаля, нет паяет шнурки и максы самостоятельно.

IanPo
21.09.2011, 22:44
breeze

А теперь возьмём рядового пользователя (типа ААА) ты думаешь он будет возиться с максами, шнурками и комами?
Нет, он купит готовую собранную плату. Шнурок нужен только 1 раз - для заливки бут-лодыря.
В общем, поставлю опционально ft232rl и USB-разъемчик.


а другое дело когда это обусловлено стоимостью деталей.
А спектрумистам все равно, они дорогое просто не купят.

Black_Cat

тоды надо вааще все ноги ПЛИС защищать
Я замучаюсь.


а что не так?
Нужны точные резисторы, 32 вывода вместо 3. И габариты будут хорошие.

Black_Cat
22.09.2011, 15:04
Нужны точные резисторы, 32 вывода вместо 3. И габариты будут хорошие.у тебя и так точные используются, на счёт колва выводов не понял, т.к. оно останется неизменным, а о габаритах SMD резисторов говорить смешно :)

breeze
22.09.2011, 15:43
Нет, он купит готовую собранную плату. Шнурок нужен только 1 раз - для заливки бут-лодыря.

ага :) у меня тоже PentEvo готовое и собранное, а вот AVRboot древний как мамонт… пока это конечно не мешает, но сам факт того, что он уже обновлялся, немного напрягает…


В общем, поставлю опционально ft232rl и USB-разъемчик.

Договорились :)


А спектрумистам все равно, они дорогое просто не купят.

Старая песня, кто хочет найдёт способ, кто не хочет найдёт причину…

IanPo
22.09.2011, 23:11
Добавил ft232rl и разъем. Завтра буду основные детали заказывать, потом резисторы и все остальное. Попутно выяснил, что мой переходник serial-ttl не подойдет, т.к. 3.3 вольта, надо его перепаивать :)

Black_Cat

у тебя и так точные используются, на счёт колва выводов не понял, т.к. оно останется неизменным, а о габаритах SMD резисторов говорить смешно
Так ты про видеоЦАП говоришь? Я думал, ты про аудио. Я r-2r рассчитывать не умею, чтобы внутреннее сопротивление было 75 ом, как в мониторе (или 37.5 ом). И вообще, схема проверенная, работает нормально.

balu_dark
23.09.2011, 01:10
А зачем тебе твой переходник - если уже ставиш на плату 232RL ? она там любой интерефейс поддерживает - даже 1.8Вольт - надо только один пин запитать от своего стабилизатора на нужное напряжение.

IanPo
23.09.2011, 20:15
Детали заказал (кроме smd рассыпухи и microSD). Заказывал бы 3 недели назад - цены были бы на 12% ниже. Это все инфляция и курс У.Е., едрён их батон.

balu_dark

А зачем тебе твой переходник - если уже ставиш на плату 232RL ?
Опционально ставлю. Мысль была такая: FT232RL стоит денег (100 р. розница), если переходник есть, то микруху можно не ставить.

balu_dark
24.09.2011, 16:43
я и говорю - нафига тебе твой переходник. если на плату сможеш поставить ФТ232Р - собери одну плату и юзай ее для программирования остальных. Думаю с маленькой и зелененькой за 100 рублей но один раз - должен договориться. ;)

IanPo
24.09.2011, 18:41
balu_dark

я и говорю - нафига тебе твой переходник
Я им еще и другие МК прошивать хотел - AVR, например.

balu_dark
24.09.2011, 18:50
самое простое тогда - сделать отдельную платку на фт232. с переключаемыми питаниями (5;3.3;1,8) и с выводом всех сигналов на гребенку. Будет тебе девайс для всех применений. только платки можно втыкать в гребенку - которые уже будут перекидывать сигналы в нужном порядке на нужный разьем.
вот глянь образец. там есть и схема и если не ошибаюсь есть рисунок платы http://www.evodbg.com/index.php?option=com_content&task=view&id=76&Itemid=92

zx-kit
24.09.2011, 22:32
самое простое тогда - сделать отдельную платку на фт232. с переключаемыми питаниями (5;3.3;1,8) и с выводом всех сигналов на гребенку. Будет тебе девайс для всех применений. только платки можно втыкать в гребенку - которые уже будут перекидывать сигналы в нужном порядке на нужный разьем.
вот глянь образец. там есть и схема и если не ошибаюсь есть рисунок платы http://www.evodbg.com/index.php?option=com_content&task=view&id=76&Itemid=92
Вот еще один образец со схемой (http://www.zxkit.ru/katalog-1/zxkit-008)
Давайте уж совместимые разъемы делать для стандартизации.

balu_dark
25.09.2011, 01:42
Гыгы - я сорри что про тебя забыл :) а что до разьемов - я то советовал человеку сделать себе и с переключаемым питанием. А не на продажу и тупо с 5 вольт нитерфейсом ;) А разьем он то будет городить сам и с той распиновкой которая ему удобна. На минуточку - но по большому счету один фиг сама фт232 будет разведена прямо на его плате(видеокарты).
Захочет не парится, а купить готовое - тогда милости просим к ZST. Делов то ;).

IanPo
14.11.2011, 21:49
Вот, наваял кое-что.
С платы убраны верхний и нижний полигоны GND. Шелкография вся отстойная и гербериться пока не будет.

Интересующихся и опытных электронщиков прошу критиковать и задавать вопросы.

vlad
15.11.2011, 19:22
IanPo, как планируете использовать SDRAM?

IanPo
15.11.2011, 19:37
vlad, как локальную память для граф.контроллера/звуковой карты.

vlad
15.11.2011, 21:00
IanPo, как думаете, ее производительности хватит? Если планируете делать не спектрумовские видео режимы и акселератор, не помешала бы еще одна SDRAM на своей шине, или еще лучше SRAM или DDRII.

IanPo
15.11.2011, 21:35
vlad, я на многое не претендую. 320*240*256 или 16 бит должно хватить. Какова скорость произвольного доступа к sdram на 100 МГц (latency=2) ?

vlad
15.11.2011, 22:16
Какова скорость произвольного доступа к sdram на 100 МГц (latency=2) ?
tRC = 60..66ns (около 16MHz), согласен при спектрумовском пиксел клоке 7МГц успеет. Вывод VGA?

---------- Post added at 20:07 ---------- Previous post was at 19:58 ----------

Спрашиваю потому, что хочу сделать видео контроллер для Reverse. И как базовый видео режим сделать 640х480@60Hz 8bpp (512 цветов с палитрой).

---------- Post added at 20:11 ---------- Previous post was at 20:07 ----------

При таком режиме частота вывода точек уже 25.175MHz.

---------- Post added at 20:13 ---------- Previous post was at 20:11 ----------

Не знаю, сделали ли на Speccy2010 подобные расширения?

---------- Post added at 20:16 ---------- Previous post was at 20:13 ----------

Или планируется использовать внутреннюю память FPGA как буфер при страничном чтении с SDRAM?

IanPo
15.11.2011, 22:29
Память 16-битная.
Буферы и burst как-то помогут.

IanPo
29.12.2011, 19:59
Образец прототипа собран.
Будучи просто вставлен в Феникс, ничего не завешивает.
В Quartus II определяется через JTAG как Altera EP2C8.
Через J-LINK определяется как ARM7TDMI, попробовал некоторые дебажные команды - ошибок не замечено.
При подключении через USB создается виртуальный COM-порт.
Тестовые прошивки для ПЛИС и ARM (проверка работоспособности, взаимодействие, работа с MicroSD и др.) - в процессе.
Всех спектрумистов - с наступающим! :v2_dizzy_christmas2

Sayman
31.05.2012, 13:46
а как на счёт забадяжить в эту карту всякие 3д?

IanPo
31.05.2012, 20:48
Работы ведутся. Очень многое создается с нуля, очень мало свободного времени, поэтому долго.
На данный момент есть поддержка FAT карты, а также некоторый каркас vhdl для ПЛИС, к-й медленно обрастает кодом.

3Д я туда приделать не смогу: не знаю, как, и требуются другие ресурсы (память, ПЛИС).

Valen
04.06.2012, 13:55
Работы ведутся. .

ИМХО, для простоты/быстроты разработки, можно начать с работающего минимума:

Режим байт на пиксель.
И к нему простой блиттер прямоугольных областей (с опцией пропуска прозрачных пикселей).

Таким блиттером можно построить любую сцену, причём довольно быстро.
Т.е. юзер, уже сразу может подключать карту и что-то прграммить для неё, используя блиттер.


Потом уже можно подумать и добавить в FPGA остальные вещи:
- спрайты/тайлы/примитивы/...
- перехват спековского режима
- ...

vlad
06.06.2012, 19:01
IanPo, на OpenCores есть интересный проект для наглядности: ORSoC Graphics Accelerator (verilog), правда сложноват и весит около 10К LE. Может появятся ответы на что и как...

ИМХО, для простоты/быстроты разработки, можно начать с работающего минимума
Стандарт какой-то уже есть? Т.е. как этим программно-аппаратно управлять? Есть ли возможность использовать готовые и уже работающие идеи, к примеру с проекта V6Z80P?

IanPo
06.06.2012, 20:07
Стандарт какой-то уже есть? Т.е. как этим программно-аппаратно управлять?
Все примерно также, как и в ipvc. Порт чтения готовности, порт записи на исполнение команды, около 1К на запись для загрузки регистров GPU и командных (имя файла для загрузки и т.п.). ПЗУ, скорее всего, придется отключать программно (на Фениксах и т.п.) или вынимать, т.к. код БИОС будет грузиться с карточки.

Valen
06.06.2012, 20:21
Стандарт какой-то уже есть? Т.е. как этим программно-аппаратно управлять? Есть ли возможность использовать готовые и уже работающие идеи, к примеру с проекта V6Z80P?

Да, можно взять интерфейс блиттера (регистры), прямо из проекта V6Z80P.

Ссылка на мануал:
http://v6z80p.svn.sourceforge.net/viewvc/v6z80p/trunk/Documentation/Manuals/OSCA_Hardware_Manual.doc?revision=1052

В мануале находим описание регистров блиттера:
...
Blitter set-up registers:
.....

Вкратце:
- сначала набиваются все регистры, нужными данными (кроме последнего регистра)
- последним набиваться регистр blit_width и это есть сигналом к началу работы блиттера

- простой статусный бит, в регистре, показывает занят ли блиттер работой в данный момент

Т.е. набили регистры, блиттер заработал, и смотрим по биту, занят ли блиттер.
Если "занят" делаем что-то своё. Если "не занят", можно набивать регистры новыми данными.

Видео-адреса в регистрах, там для адресации 512КБ. Если, в вашем проекте, нужно большее пространство адресовать, просто добавить битов в адреса.

IanPo
24.06.2012, 15:27
Проект IPAVC закрыт.
Извините, если кого расстроил.
Осталась старая плата IPVC, буду возиться с ней.
:(

Руслан
13.07.2012, 22:41
Да ни кого не расстроили, я уже как то за всю историю спектрума в СНГ давно привык что куча проектов забрасывается. Только не могу понять одного - смысл затевать? Экспериментом это не назовешь. Только время свое в пустую потратили.

IanPo
08.09.2012, 18:52
Сделал простенькую прошивку для демонстрации вывода 3-слойного изображения.
Смотреть тут:
нижний слой - это как бы неподвижное поле, потом звездолет Enterprise12 движется вверх-вниз, сверху облака - направо-налево туда-сюда движутся. Мы смотрим как бы над облаками находясь. Цвет - 222+1 бит прозрачность. При записи в память изображение сильно шумит :(
Посмотреть на результат можно тут: http://youtu.be/V2DCVRnBypQ

newart
17.09.2012, 20:18
А почему подтормаживает?

IanPo
17.09.2012, 20:54
newart, особенности просмотра на Трубе, видимо. На самом деле работает без тормозов вообще. Для сдвига вправо-влево меняется 1 байт, на строку - 2 байта. Бейсика оказалось достаточно. Скорость надо только снижать (до 70-84МГц), а то точки при записи сыпятся, как на CGA.
Только что проверил с Трубы - видео не тормозит.

IanPo
16.11.2013, 14:01
http://youtu.be/Qwsw5lLX8jM

IanPo
16.11.2013, 16:36
perestoronin, просто отлаживаю некоторые технологии, хотел поделиться результатами. Есть еще мысли по оптимизации архитектуры(SPI мост к контроллеру, 4-слойное видео, звук с программированием частоты дискретизации, как в Амиге), но, в целом, как карта для ZX - видимо, бесперспективен, т.к. у народа нет практического интереса.

sergio78
16.11.2013, 17:27
perestoronin, но, в целом, как карта для ZX - видимо, бесперспективен, т.к. у народа нет практического интереса. ну почему же, это было хорошее хобби. полтора радиолюбителя, которые соберут, это уже интерес. А всенародного распостранения, тем более какого то комерческого успеха, вообще не реально всему сейчас добится, кроме того что китайцы баржами клепают у себя.:v2_wink2:

IanPo
16.11.2013, 21:41
Если нужны исходники, могу выложить.
Предыдущий проект ipvc я уже выкладывал, интереса особого не заметил.

IanPo
16.11.2013, 23:59
Архив прилагаю.

breeze
17.11.2013, 01:16
Ничего даже близкого к Вашему проекту не видно на горизонте.

Здравствуйте девушки, я конечно понимаю, что ты хотел ободрить автора, но всё-таки это не так. Тот же не безызвестный TS-Labs где-то примерно с лета занимается разработкой карточки TSXB (http://tslabs.info/forum/viewtopic.php?f=6&t=233), которая позволяет на любом спектруме реализовать графические возможности TS-конфы и плюс получить реальные 256 цветов, а не как сейчас это сделано эмуляцией через шим.

perestoronin
17.11.2013, 01:33
Где-то примерно с лета
Есть разница с этого лета и с 2011 как у IPVAC.

безызвестный TS-Labs
Увы это и печалит. Пожелаем и ему удачи, как будет изделие TSXB - обязательно и его приобрету
https://code.google.com/p/tsl-fpga/source/browse/#hg%2FTSXB%2Fpcad

Под TS-конфу - в плане сборка второй ZX-Evo в 2014. Собранные же изделия я не приобретаю.

PS. А что за платформа TS-Evo? Или это сокращение с намёком ZX-Evo + TS-конфа + забудем о ZX ?

breeze
17.11.2013, 01:52
Есть разница с этого лета и с 2011 как у IPVAC.

не понимаю к чему тут 2011? TS-конфа разрабатывалась с 2010 и что? я не хочу быть тут «рупором» как некоторые, но тем не менее, конфигурация «вылизывалась» 3 года, а не появилась в одночасье. Да, на данный момент она работает в составе компьютера ZX Evolution и как показал печальный опыт «выросла из штанишек», многое из задуманного не удалось реализовать по причине ограничений железа (которое тоже было разработано достаточно уже давно и в условия наличия (на то время) технических и железных возможностей). Сейчас есть опыт и новое железо (современные альтеры) которые позволят поддержать уже написанный софт и дать некоторые плюшки в будущем (в частности нормальные 256 цветов на тех же LCD мониторах).

---------- Post added at 00:52 ---------- Previous post was at 00:51 ----------


А что за платформа TS-Evo? Или это сокращение с намёком ZX-Evo + TS-конфа + забудем о ZX ?

Я не в курсе о чём речь, но задать этот вопрос лучше тому, кто так назвал.

breeze
17.11.2013, 03:08
Кот может называть как ему угодно, для меня это остаётся PentEvo!

sergio78
17.11.2013, 08:55
Что то я не понял, TS-Lab страдает, придумывая плату ускорителя, или же он какой то суперспектрум, который круче Евы, вынашивает? А Зачем?

Mick
17.11.2013, 09:36
Что то я не понял, TS-Lab страдает, придумывая плату ускорителя, или же он какой то суперспектрум, который круче Евы, вынашивает? А Зачем?

Как бы тебе ответили уже выше. Читай внимательно пост breeze.

Цитата

TS-конфа разрабатывалась с 2010 и что? я не хочу быть тут «рупором» как некоторые, но тем не менее, конфигурация «вылизывалась» 3 года, а не появилась в одночасье. Да, на данный момент она работает в составе компьютера ZX Evolution и как показал печальный опыт «выросла из штанишек», многое из задуманного не удалось реализовать по причине ограничений железа (которое тоже было разработано достаточно уже давно и в условия наличия (на то время) технических и железных возможностей). Сейчас есть опыт и новое железо (современные альтеры) которые позволят поддержать уже написанный софт и дать некоторые плюшки в будущем (в частности нормальные 256 цветов на тех же LCD мониторах).

И вообще мне не понятен был этот сыр-бор с конфигами Эвы. Ну почувствовал TS-Lab, что маловато ему возможностей этого компа, так и сделал бы другой, какой он себе представлял. А эти разговоры - я прошу, а они не делают, выглядят честно сказать смешно. Разработчики, как показывает практика, совсем необязаны делать то, что хочет кто то другой. Они сделали Эву такой какой задумали. Кому то она нравится, а кому то нет. Первые остаются на ней сидеть, вторые делают свой комп.
А *****м поливать друг друга, мягко скажем детсадом попахивает.

Все кончаем оффтопить, здесь обсуждается карта от IanPo

TSL
25.12.2013, 02:29
TS-Evo чистые платки тоже приобрету, особенно если на них можно будет портировать Minimig.
Минимиг не влезет, альтера маленькая. Но ревизий будет несколько.
Платы приехали, еще бы запустить вундервафельку.
TSXB - рабочее название акселя (TS-Evo придумал кот для тсконфы на еве).
Сорри за офтоп.