Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   Мучаюсь с разводкой новой платы... (http://zx-pk.ru/showthread.php?t=5731)

Black_Cat 11th July 2007 19:57

fan, последняя ссылка не действует - нет файла, выложи если у тебя сохранено.

ILoveSpeccy 12th July 2007 02:37

1 Attachment(s)
Ну в общем думал-думал и решил:

надо делать и то, и другое.... от IDE отказываться неохота а в то-же время SD/MMC тоже потенциал для развития имеет.
В ПЛИС места более чем предостаточно а вот с ногами проблемы...
И пришла ко мне идейка одна... а что, если я отделю шины проца A и D от остальной части спека...
т.е. отключил буфера и делай с ОЗУ и ПЗУ что хочешь... (в пределах например полутакта проца....).
AY и ZX-BUS останутся с процом.
Таким образом около 20 ног на ПЛИС освобождается...
Но это только в теории....
Что думают по этому поводу железячники??? Будет работать???

Black_Cat 12th July 2007 02:53

А почему было не сделать как на UFO-2 fan'a? А то буфера у тебя всёж мягко говоря непродумано поставлены. :) Да и топология у него более компактная получается.. Попроси готовую разводку, да подрихтуй под свою ПЛИС, всё равно вручную делаешь.

ILoveSpeccy 12th July 2007 03:12

Quote:

Originally Posted by Black_Cat (Post 94565)
А почему было не сделать как на UFO-2 fan'a? А то буфера у тебя всёж мягко говоря непродумано поставлены. :)

Что за UFO-2??? Я вроде только ReSpecT знаю... ну да ладно....
Если я правильно понимаю ты имееш в виду отделить только видеопамять???
Дело в том что мне нужен доступ КО ВСЕЙ ПАМЯТИ ВКЛЮЧАЯ ПЗУ!
И так... чтобы сигналы на адресной шине проца не мешали...

Black_Cat 12th July 2007 03:16

Quote:

Originally Posted by ILoveSpeccy (Post 94566)
Что за UFO-2??? Я вроде только ReSpecT знаю... ну да ладно....

См. вторую разводку с буферами.
Quote:

Originally Posted by ILoveSpeccy (Post 94566)
Если я правильно понимаю ты имееш в виду отделить только видеопамять???
Дело в том что мне нужен доступ КО ВСЕЙ ПАМЯТИ ВКЛЮЧАЯ ПЗУ!
И так... чтобы сигналы на адресной шине проца не мешали...

Зачем? Старших адресов не достаточно будет? Проц выше 64к не лазит, чем он там ПЛИСине будет мешать?

ILoveSpeccy 12th July 2007 03:22

Quote:

Originally Posted by Black_Cat (Post 94567)
Зачем? Старших адресов не достаточно будет? Проц выше 64к не лазит, чем он там тебе будет мешать?

Я же уже писал.... В этой же ПЗУхе будет прошивка для DivIDE... И часть ОЗУ будут тоже для DivIDE.
Короче мне нужен доступ к памяти по всем адресам (со стороны ПЛИС разумеется)

Black_Cat 12th July 2007 03:25

Quote:

Originally Posted by ILoveSpeccy (Post 94568)
Я же уже писал.... В этой же ПЗУхе будет прошивка для DivIDE... И часть ОЗУ будут тоже для DivIDE.
Короче мне нужен доступ к памяти по всем адресам (со стороны ПЛИС разумеется)

А ROM&RAM DivIDE что, с каким-то внешним процессором будут работать? А если нет, то чем они отличаются от обычных банок ROM&RAM чтоб им отдельные шины тянуть?

ILoveSpeccy 12th July 2007 03:37

Quote:

Originally Posted by Black_Cat (Post 94569)
А ROM&RAM DivIDE что, с каким-то внешним процессором будут работать? А если нет, то чем они отличаются от обычных банок ROM&RAM ?

Еще раз посмотрел схему DivIDE... Может и получится... Но ПЛИС должна всеравно полный доступ к ПЗУ иметь (это для идейки одной обязательно нужно ;))...
Да и 1 чип экономится (тот что в ReSpecT для видеопамяти).
Да и вообще... может ПЛИС в будущем снапшоты напрямую в ОЗУ кидать будет...

В общем нужно мне это!

Black_Cat 12th July 2007 03:51

Quote:

Originally Posted by ILoveSpeccy (Post 94570)
Да и 1 чип экономится (тот что в ReSpecT для видеопамяти).

Не надо её экономить. Она тебе будет компенсировать RAM, что DivIDE отъело, но не меньше 32к.
Quote:

Originally Posted by ILoveSpeccy (Post 94570)
Да и вообще... может ПЛИС в будущем снапшоты напрямую в ОЗУ кидать будет...

Мой тебе совет - не делай кухонный комбайн, это не профессионально. :( Я понимаю, что в ПЛИС ещё не один компьютер можно засунуть, но всёж сдержись от таких порывов. Сувать туда нужно идеологически совместимые вещи, например развитие видеоконтроллера.

:v2_devil: Это моё 666 сообщение :v2_devil: на этом форуме :)

CHRV 12th July 2007 11:09

Quote:

Originally Posted by Black_Cat (Post 94571)
Я понимаю, что в ПЛИС ещё не один компьютер можно засунуть, но всёж сдержись от таких порывов. Сувать туда нужно идеологически совместимые вещи, например развитие видеоконтроллера.

Делать можно только согласно "концепциям БК" - шаг в сторону и ты профанат идеи спектрумизма, а изделие недостойно чтобы БК его назвал спектрумом. Так что бди ...:v2_lol:
А то БК тебя раскатает по концепциям :v2_thumb:

ILoveSpeccy 12th July 2007 14:15

Quote:

Originally Posted by Black_Cat (Post 94539)
fan, последняя ссылка не действует - нет файла, выложи если у тебя сохранено.

http://www.worldofspectrum.org/ZXSpe...pter8pt24.html

fan 12th July 2007 15:34

Quote:

Originally Posted by ILoveSpeccy (Post 94564)
И пришла ко мне идейка одна...

Чтоб это аценить нужно какоенить описание всей конструкции .
А то не очень понятно чего творится с процом когда его отрубили от шин (тормозится клоком ?).
И не понятно как на данный момент работает видео система , и будет ли отдельный видео мозг .
Вместо схемы лучше нарисовать блок схему со всем что на данный момент планируется .
================================================== =======
http://www.worldofspectrum.org/ZXSpectrum128+3Manual/
http://www.worldofspectrum.org/ZXSpe...pter8pt24.html

Black_Cat 12th July 2007 15:41

Quote:

Originally Posted by fan (Post 94512)
Нужно ещё будет довести спек до совместимости с +3 .

Как ты предложишь это сделать чтоб разбежаться с раскладкой Scorpion по #1FFD? Есть какое компромиссное комплексное решение, или предлагаешь просто забить на скорпионовские переключения ПЗУ?
И ещё вопрос ко всем - насколько грамотно писались программы, работавшие с верхней памятью в скорпах и каях на предмет не будут ли они гадить в D0-2 #1FFD?

KingOfEvil 12th July 2007 20:12

Quote:

Originally Posted by Black_Cat (Post 94637)
И ещё вопрос ко всем - насколько грамотно писались программы, работавшие с верхней памятью в скорпах и каях на предмет не будут ли они гадить в D0-2 #1FFD?

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

ILoveSpeccy 12th July 2007 22:44

Quote:

Originally Posted by fan (Post 94635)
Чтоб это аценить нужно какоенить описание всей конструкции .
А то не очень понятно чего творится с процом когда его отрубили от шин (тормозится клоком ?).
И не понятно как на данный момент работает видео система , и будет ли отдельный видео мозг .
Вместо схемы лучше нарисовать блок схему со всем что на данный момент планируется .

Попробовал нарисовать блок-схему, но ничего внятного, тем болле компактного, не получается :(
Попробую описать словами. Итак:

В принципе ничего особо нового пока не планируется.
Вся логика будет, конечно же, в ПЛИС.
Там же (в ПЛИС) будут:
1. видеоконтроллер
2. контроллер IDE и SD/MMC
3. контроллер PS/2 клавиатуры и мыша
4. 2 СОМ-порта
5. контроллер 1 (или 2х) джойстиков
6. Часики
7. Covox и SounDrive

Теперь обо всем поподробнее:

Вообще считаю правильным В ОБЯЗАТЕЛьНОМ ПОРЯДКЕ поддержку совместимости с существуюшими популярными клонами.
Реализовать планирую следующим образом:
При включении спека (сразу или после нажатия какой нибудь кнопки) вход в SETUP,
где и будет конфигурироваться весь спек. Например Дата и Время для часов, стандарт (пентагон, кай, атм....), контроллер IDE и т.д. Текущая конфигурация будет сохранятья.
Включение и отключение ТУРБО, кнопками на клаве. Также будет вход на джойстик. Кнопкой на клаве можно будет переключать: кемпстон/синклер 1,2/курсор джойстик. Короче вход для джойстика будет один, а тип будет выбираться.
Все изменения конфигурации по кнопкам на клаве (такие как турбо, тип джойстика) будут в течении 1-3 сек. отображаться в нижнем правом углу экрана. Для этого мне и нужен полный доступ к ПЗУ со стороны ПЛИС. В ПЗУ как раз и будут храниться эти строчки (Turbo: on/off, Joystick: Sinclair/КKempston).

По 1 пункту:
Поповоду видеоконтроллера пока ничего конкретного сказать немогу так как я еще никаких видеорежимов,
кроме стандартного, не делал. Если хватит ног на ПЛИС, то сделаю, как посоветовал fan, 4 бит на цвет.
Потом походу можно будет заняться разными видеорежимами.
Планировал подключение к VGA (с частотой 75Гц).

2. Планируется поддержка DivIDE, NemoIDE, SD/MMC-Card... Но тут, вроде, особенностей никаких нет.

3. Контроллер PS/2 клавы реализуется на ПЛИС без тормоза проца. С мышкой еще не думал, но думаю Кемпстон хватит.

4. 2 СОМ порта потому что МАХ232 для 2х как раз хватит. По какому стандарту, пока не решил. Но наверное всетаки как у caro.

5. Про джойстики вроде понятно описал сверху :)

6. Часы.... просто прикручу. Походу видно будет.

7. Covox и SounDrive будут работать через PWM. Порты тоже переключать кнопками на клаве.
Миксироваться будут программно в ПЛИС (Пока понятия не имею как это решается, но то что это возможно знаю :) )

Вот так! Процессор и AY будут реальные.
1 мег ОЗУ. 512К ПЗУ. Поначалу прицеплял ПЗУ и ОЗУ отдельно от проца напрямую к ПЛИС, но за нехваткой ног надо как-то их совмещать. Поэтому и думал о том варианте с буферами между процом и памятью.
Если, например, видеоконтроллеру надо читать из ОЗУ проц тормозить не хочу. Думал (на частоте 14МГц) отключать буферами проц от памяти, читать байт и снова включать. Для этого должно хватить 1/4 такта проца. Поэтому, думаю, должно будет работать. Память на 55мс потянет без проблем (уже запускал проц своего первого спека на 14МГц :) летает.... Кстати проц был Z84C0006... за 2 минуты работы проблем не заметил, даже проц почему-то не грелся).

то fan... поделись исходниками ПЛИС от ReSpecT128.... Очень нужно :) (dr_dmitrij[sobaka]web[to4ka]de)

KingOfEvil 12th July 2007 23:19

Quote:

Originally Posted by ILoveSpeccy (Post 94669)
Контроллер PS/2 клавы реализуется на ПЛИС без тормоза проца

А можно поподробнее?
Я делал аналогичный девайс на МК+ПЛИС. Просто на ПЛИС такое делать неоптимально.

И как часики будут сделаны в ПЛИС? Она что от батарейки будет питаться, когда комп выключен? И насколько хватит?

А мышь в только в ПЛИС по-человечески не сделать, т.к. нужно еще предусматривать настройку масштабирования и, возможно, целесообразно сделать интерполяцию координат, хотя я так не делал. Немного экспериментировал с линейной интерполяцией, но заметного улучшения не обнаружил.

ILoveSpeccy 13th July 2007 00:53

Quote:

Originally Posted by KingOfEvil (Post 94672)
А можно поподробнее?
Я делал аналогичный девайс на МК+ПЛИС. Просто на ПЛИС такое делать неоптимально.

И как часики будут сделаны в ПЛИС? Она что от батарейки будет питаться, когда комп выключен? И насколько хватит?

А мышь в только в ПЛИС по-человечески не сделать, т.к. нужно еще предусматривать настройку масштабирования и, возможно, целесообразно сделать интерполяцию координат, хотя я так не делал. Немного экспериментировал с линейной интерполяцией, но заметного улучшения не обнаружил.

Нет, батарейку на ПЛИС ставить я не собирался.... просто спек с розетки выключать не буду :v2_lol: ......шутка
Поставлю, как в ZX Multi Card - PCF8583

На ПЛИС PS/2 клава занимает, точно не помню, около 125 ячеек (только опрос, спек в клаву ничего не посылает. Да и зачем?)
Так что проблем я невижу...

На счет мыша пока ничего сказать не могу, т.к. пока не делал...

Black_Cat 13th July 2007 02:31

Quote:

Originally Posted by ILoveSpeccy (Post 94669)
Вообще считаю правильным В ОБЯЗАТЕЛьНОМ ПОРЯДКЕ поддержку совместимости с существуюшими популярными клонами.

Огласите весь список клонов пожалуйста..
Quote:

Originally Posted by ILoveSpeccy (Post 94669)
Все изменения конфигурации по кнопкам на клаве (такие как турбо, тип джойстика) будут в течении 1-3 сек. отображаться в нижнем правом углу экрана. Для этого мне и нужен полный доступ к ПЗУ со стороны ПЛИС. В ПЗУ как раз и будут храниться эти строчки (Turbo: on/off, Joystick: Sinclair/КKempston).

Если только чтоб надписи на экране писать - то оно и даром не нужно..
Quote:

Originally Posted by ILoveSpeccy (Post 94669)
По поводу видеоконтроллера пока ничего конкретного сказать немогу так как я еще никаких видеорежимов,
кроме стандартного, не делал. Если хватит ног на ПЛИС, то сделаю, как посоветовал fan, 4 бит на цвет.
Потом походу можно будет заняться разными видеорежимами.

Вообще то видеопроцессор это главное - это и есть Спек, а что останется после его реализации можно уже делить между второстепенными узлами и никак не наоборот :( .
Quote:

Originally Posted by ILoveSpeccy (Post 94669)
Планировал подключение к VGA (с частотой 75Гц).

По какой схеме будешь реализовывать?
Quote:

Originally Posted by ILoveSpeccy (Post 94669)
2. Планируется поддержка DivIDE, NemoIDE, SD/MMC-Card... Но тут, вроде, особенностей никаких нет.

Намалевал бы всёж функциональную схему, чтоб хоть шины идущие из ПЛИС представлять, а то может и смысла нет всю эту лабуду (IDE, Joystick, Covox etc.) из ПЛИС тянуть - только ножки переводить, оставить в ПЛИС только формирование сигналов управления, а данные пусть с общей шины берут.
Quote:

Originally Posted by ILoveSpeccy (Post 94669)
Поначалу прицеплял ПЗУ и ОЗУ отдельно от проца напрямую к ПЛИС, но за нехваткой ног надо как-то их совмещать.

:( ножек всёж нехватает не потому, что нехватает, а потому что неправильно выбраны приоритеты их раздачи. Вон fan в 64 ноги уместил всё потому что подход правильный - второстепенное заборт!

ILoveSpeccy 13th July 2007 02:56

Quote:

Originally Posted by KingOfEvil (Post 94672)
А мышь в только в ПЛИС по-человечески не сделать, т.к. нужно еще предусматривать настройку масштабирования и, возможно, целесообразно сделать интерполяцию координат, хотя я так не делал. Немного экспериментировал с линейной интерполяцией, но заметного улучшения не обнаружил.

А с масштабированием какие проблемы??? В VHDL есть все нужные математические операции. Кнопками "+" и "-" справа на клаве менять значение константы и множить ее на изменение координат мышки.

Quote:

Originally Posted by Black_Cat
По какой схеме будешь реализовывать?

У меня по этому поводу свои задумки имеются. Рассекречу только если сам проверю на железе ;)

Quote:

Originally Posted by Black_Cat
Намалевал бы всёж функциональную схему, чтоб хоть шины идущие из ПЛИС представлять, а то может и смысла нет всю эту лабуду (IDE, Joystick, Covox etc.) из ПЛИС тянуть - только ножки переводить, оставить в ПЛИС только формирование сигналов управления, а данные пусть с общей шины берут.

Да.... звук с ПЛИС так и так выводить надо.... это 1 нога... Covox и SounDrive смешиваются в ПЛИС,
к ним подмешаю BEEPер... итого через PWM 2 ноги (стерео) вместо 1.
ДЛЯ ЭТОГО МНЕ 1 НОГИ НЕ ЖАЛКО
DivIDE например отбирает ВСЕГО 5 ПИНОВ.
Зато сколько лишних корпусов и заморочек экономится!!!

Quote:

Originally Posted by Black_Cat (Post 94690)
Вон fan в 64 ноги уместил всё потому что подход правильный - второстепенное заборт!

Так то оно так. Только что нужно сделать чтобы, например, к ReSpecTу контроллер IDE прикрутить. Правильно! Нужен еще как минимум сам контроллер и ПАРА НОГ НА ПЛИС для соответствующих сигналов ZX(NEMO)-BUS (IORQCE например)

Black_Cat 13th July 2007 03:11

Quote:

Originally Posted by ILoveSpeccy (Post 94693)
У меня по этому поводу свои задумки имеются. Рассекречу только если сам проверю на железе ;)

Ню ню.. Вон без всяких секретов лежит схема формирования на 75Hz, (при том с Gigascreen+ в придачу) см. концепция по критерию F4: Стандартизация видеовывода в ZX to VGA конверторах.

fan 13th July 2007 03:11

Quote:

Originally Posted by ILoveSpeccy (Post 94683)
только опрос, спек в клаву ничего не посылает. Да и зачем?

Как зачем , можно фанарями помаргать :D Типа активная активность чего то там... ;)

Quote:

Originally Posted by ILoveSpeccy (Post 94669)
Текущая конфигурация будет сохранятья.

Мне чёто жудко интересно как именно это будет происходить .

Quote:

Originally Posted by ILoveSpeccy (Post 94669)
4 бит на цвет.

Точно точно , нужён внедрёж :D А остальное можно выкинуть .

Quote:

Originally Posted by ILoveSpeccy (Post 94669)
то fan... поделись исходниками ПЛИС от ReSpecT128.... Очень нужно

Они у меня под старый вариант как на блоксхеме . Я их опять ща перепахиваю (исправил один глюк , наверное есть ещё) . Когда домучию неизвестно %) (перетыкалку разрешений и цвет на точку делал на скорую руку , хотелось то же в нормальный вид привести).

Может что то конкретное интересует ?

Навсякий случий (если завтра запаздаю) - порт накручивал от балды -
-- Порт #EFF7 - Графические режимы.
PORT_EFF7[].clk=nIORQ or nWR or VA_CPU[12] or VA_CPU[3] or NOT(VA_CPU[15] and VA_CPU[14] and VA_CPU[13]);
PORT_EFF7[].clrn=nRESET;
PORT_EFF7[0].d=D[0]; -- =PORT_EFF7[0].q; bit0 - 4BIT Per Pixel OK
PORT_EFF7[1].d=D[1]; -- =PORT_EFF7[1].q; bit1 - 512x192 --
PORT_EFF7[2].d=D[2]; -- =PORT_EFF7[2].q; bit2 - disable memory above 128k --
PORT_EFF7[3].d=D[3]; -- =PORT_EFF7[3].q; bit3 - read/only cache --
PORT_EFF7[4].d=D[4]; -- =PORT_EFF7[4].q; bit4 - 256x224-\__320x200 (GIGASCREEN)OK 0-\__256x192
PORT_EFF7[5].d=D[5]; -- =PORT_EFF7[5].q; bit5 - 256x256-/ (SB)OK 0-/
PORT_EFF7[6].d=D[6]; -- =PORT_EFF7[6].q; bit6 - TURBO 7MHz (384x304)OK
PORT_EFF7[7].d=D[7]; -- =PORT_EFF7[7].q; bit7 - CMOS --

Придатков от +3 не внедрял .

Цвет на току вклинивал как по описанию (у меня) , в сырке выглядит страшновато , на блоксхеме веселей .

Смена разрешений - просто смена констант начала и конца бордюров , гашений , синхр . Вот типа пример -
-- SYNC --
-- HORIZONTAL SYNC --
CASE PORT_EFF7[5..4].q IS -- Выбираем позицию синхры по горизонтали bit5 bit4
WHEN 0 => H_SYNC_START[]=320; H_SYNC_END[]=353; -- 0 0 - 192
WHEN 1 => H_SYNC_START[]=320; H_SYNC_END[]=353; -- 0 1 - 224
WHEN 2 => H_SYNC_START[]=320; H_SYNC_END[]=353; -- 1 0 - 256
WHEN 3 => H_SYNC_START[]=352; H_SYNC_END[]=385; -- 1 1 - 320x200 ONLY!!!
END CASE ;

.......
.......
.......

-- VERTICAL SYNC -- Длительность - одна строка (кто хочет больше - флаг в руки).
CASE PORT_EFF7[5..4].q IS -- bit5 bit4 | Выбираем позицию синхры по вертикали.
WHEN 0 => V_SYNC_START[]=249; V_SYNC_END[]=249+1; -- 0 0 - 192
WHEN 1 => V_SYNC_START[]=265; V_SYNC_END[]=265+1; -- 0 1 - 224
WHEN 2 => V_SYNC_START[]=281; V_SYNC_END[]=281+1; -- 1 0 - 256
WHEN 3 => V_SYNC_START[]=249; V_SYNC_END[]=249+1; -- 1 1 - 320x200 ONLY!!! Остальные разрешени отрубаются .
END CASE ;

Добавлено через 19 минут
Quote:

Originally Posted by ILoveSpeccy (Post 94693)
Так то оно так. Только что нужно сделать чтобы, например, к ReSpecTу контроллер IDE прикрутить. Правильно! Нужен еще как минимум сам контроллер и ПАРА НОГ НА ПЛИС для соответствующих сигналов ZX(NEMO)-BUS (IORQCE например)

Да я надеялся на активное продвижение супорта карточек SD/MMC , но у нас они чёто не очень популярны . Впринципе девайс для загрузки дампов меня вполне устраивает , да даже турбо загрузка ленточных файлов то же вполне ничего .

ILoveSpeccy 13th July 2007 03:32

Quote:

Originally Posted by Black_Cat (Post 94694)
Ню ню.. Вон без всяких секретов лежит схема формирования на 75Hz, (при том с Gigascreen+ в придачу) см. концепция по критерию F4: Стандартизация видеовывода в ZX to VGA конверторах.

На реале проверено????
Я чтото подобное планирую
Да и вообще - теория теорией, а где спек этот????
Ну который на концепциях твоих построен (хоть десятая доля того что ты придумал :D)???
Кстати..... размести это все в плис с 64 I/O ногами :v2_lol:
Или плата получится как 4 АТМа.....
А скорее всего этого спека..... ну в общем никогда никому в реале не видеть...

Добавлено через 3 минуты
Quote:

Originally Posted by fan (Post 94695)
Может что то конкретное интересует ?

Конечно! Как безвайтовость сделана (в ReSpecT 128K)??? :) please....

Quote:

Originally Posted by fan (Post 94695)
Мне чёто жудко интересно как именно это будет происходить .

Думал Serial EEPROM какой нибудь....
А еще проще в часиках (PCF8583), там 240 байт.... Хватит с лихвой.

Black_Cat 13th July 2007 03:45

Это принцип. При том на примере преобразователя ZX to VGA, но по этому же принципу можно и формирование видеовыхода в видеопроцессоре сделать. Для видеопроцессора всё проще - преобразования не нужно - бери сразу из видеопамяти, и только последовательность кадров формируй по указанному алгоритму:
- для стандартного режима -> 1й кадр, усреднённый кадр, 2й кадр;
- для Gigascreen+ -> усреднённый кадр, усреднённый кадр, усреднённый кадр.
Quote:

Кстати..... размести это все в плис с 64 I/O ногами :v2_lol:
Или плата получится как 4 АТМа.....
Это не занимает ни одной лишней ноги и может быть реализовано, если есть свободные ячейки даже в матрице fan'a.

ILoveSpeccy 13th July 2007 04:00

Quote:

Originally Posted by Black_Cat (Post 94699)
Это принцип. Притом на примере преобразователя ZX to VGA, но по этому же принципу можно и формирование видеовыхода в видеопроцессоре сделать. Для видеопроцессора всё проще - преобразования не нужно - бери сразу из видеопамяти, и только последовательность кадров формируй по указанному алгоритму:
- для стандартного режима -> 1й кадр, усреднённый кадр, 2й кадр;
- для Gigascreen+ -> усреднённый кадр, усреднённый кадр, усреднённый кадр.

Плату доделаю и попробую...
Понимаешь, я хочу чтобы плата получилась ну вроде как универсальной.
Т.е. менять что-либо в железе чтобы минимум.
А все самое интересное будет в ПЛИС!
Вот потом можно пробовать что душе угодно.
Поэтому и вешаю все на одну плату...
Хотя план действий уже почти готов ;)
Скоро отпуск! Это значит что первый экземпляр уже не за горами!

Ну и вернусь к своему вопросу о разделении буферами проца и памяти...
Реально ли ждать от этого решения работоспособности????

Добавлено через 7 минут
Quote:

Originally Posted by Black_Cat (Post 94699)
Это не занимает ни одной лишней ноги и может быть реализовано, если есть свободные ячейки даже в матрице fan'a.

Насколько мне известно, у fanа CPLD где-то на 95% заполнена.
И арифметика типа этой: RGBI=(R1+R2)/2; (G1+G2)/2; (B1+B2)/2; (I1+I2)/2
потребует как минимум еще несколько ног!
Потому что придется палитру глубже, чем 4 бита делать.

Black_Cat 13th July 2007 04:09

Quote:

Originally Posted by ILoveSpeccy (Post 94697)
Ну и вернусь к своему вопросу о разделении буферами проца и памяти...
Реально ли ждать от этого решения работоспособности????

По первому взгляду на размещение буферов - оно мягко говоря странное.. Теоретически можно заставить работать через задницу всё что угодно, но нужно ли это? Не вижу обоснованности такого расположения..
Quote:

И арифметика типа этой: RGBI=(R1+R2)/2; (G1+G2)/2; (B1+B2)/2; (I1+I2)/2
потребует как минимум еще несколько ног!
Потому что придется палитру глубже, чем 4 бита делать.
Я когда писал, знал о чём говорю :) . Суммирование можно сделать не параметрическое, а временное, например с частотой 14 или 28MHz, тогда дополнительных ног не понадобится. Но всёж считаю что на видеовыход надо оставить побольше ног, хотя бы на будуЮщее :) .

ILoveSpeccy 13th July 2007 04:15

Quote:

Originally Posted by fan
Да я надеялся на активное продвижение супорта карточек SD/MMC , но у нас они чёто не очень популярны . Впринципе девайс для загрузки дампов меня вполне устраивает , да даже турбо загрузка ленточных файлов то же вполне ничего .

Мой спек, ну тот что на CPLD от Xilinx, повторяет твой процентов так на 99;)
Поэтому, если время позволит, надо будет тоже мегу16 прикрутить! Авось чем помочь смогу.
Но основное внимание пока сосредоточено на новой плате!

Добавлено через 3 минуты
Quote:

Originally Posted by Black_Cat (Post 94702)
По первому взгляду на размещение буферов - оно мягко говоря странное.. Теоретически можно заставить работать через задницу всё что угодно, но нужно ли это? Не вижу обоснованности такого расположения..

Так чем оно так сильно отличается от того, что у fanа??? Просто буфера сдвинуты ближе к процу.
Мне нужен доступ к ROM без участия проца :v2_blush:...

Добавлено через 6 минут
Quote:

Originally Posted by Black_Cat (Post 94702)
Но всёж считаю что на видеовыход надо оставить больше ног, хотя бы на будуЮщее :) .

Вот и я о том-же! Хоть BGA с 400 шариками дай... когда-нибудь мало будет :v2_biggr:

Black_Cat 13th July 2007 04:25

Quote:

Originally Posted by ILoveSpeccy (Post 94703)
Мне нужен доступ к ROM без участия проца :v2_blush:...

Для рисования надписей? Ну сделай себе загружаемый в ОЗУ знакогенератор/спрайтогенератор если уж так надо. Хотя нафиг эти надписи, не пойму..

ILoveSpeccy 13th July 2007 04:47

Quote:

Originally Posted by Black_Cat (Post 94706)
Хотя нафиг эти надписи, не пойму..

Я и сам не пойму :v2_conf2:
Нафига например часики??? Просто кому-то хотелось!!! Ну чтобы просто были!
А зачем??? Какой реально от них толк??? Вот-вот :confused:

Так-же и мне! Ну хочется чтобы надписи эти были и все тут!!!

Black_Cat 13th July 2007 04:52

Тоды прицепи ПЗУ знакогенератора и/или ОЗУ ещё под это отведи, тоды и текстовый режим можно реализовать на раз.. ..боже, что я говорю.. :) Но лучше всёж знакогенератор на старте грузить в ОЗУ, (ПЗУ тормозное для видеопроцессора) ну не 32к видео ОЗУ поставишь, а 64к - какая разница.. на 1 специальную ножку больше..
Кстати, этот текстовый режим можно будет использовать в работе монитора-конфигуратора при старте компьютера, т.е. ещё до старта Спековского ПЗУ. Заодно и текстовый режим в 80 колонок автоматом прикручивается :v2_devil:.

Sonic 13th July 2007 11:04

Quote:

Originally Posted by fan (Post 94695)
PORT_EFF7[4].d=D[4]; -- =PORT_EFF7[4].q; bit4 - 256x224-\__320x200 (GIGASCREEN)OK 0-\__256x192
PORT_EFF7[5].d=D[5]; -- =PORT_EFF7[5].q; bit5 - 256x256-/ (SB)OK 0-/
PORT_EFF7[6].d=D[6]; -- =PORT_EFF7[6].q; bit6 - TURBO 7MHz (384x304)OK

Ой, зря ты это ИМХО. Лучше уж сделать полную совместимость с P1024SL. Реализуй 384x304, а что касается турбы... Сделай переключалку совместимую со Скорпионом. А то опять будет геморрой с поддержкой и никто в результате поддерживать не будет ни Пентагон1024 ни тебя.

fan 13th July 2007 15:23

Quote:

Originally Posted by ILoveSpeccy (Post 94697)
Конечно! Как безвайтовость сделана (в ReSpecT 128K)??? please....

Безвейтовость ??? Да там одна сплошная вейтовость %)
С.м. диграмму там где про цвет на точку (я её ща малость подправил чтоб было видно как в респекте фурычит). Если проц ломится в VRAM во время работы ВК то его клок отрубается (на бордюре не отрубается). Зато в RAM всегда летает как не разгоняй .

Quote:

Originally Posted by ILoveSpeccy (Post 94697)
Думал Serial EEPROM какой нибудь....
А еще проще в часиках (PCF8583), там 240 байт.... Хватит с лихвой.

Религиозные убеждения убеждают что нужно юзать статику с батареей , или флешатину фурычащую как статика (не помню как зовётся).
Писать в часы не одабрям (необоснованные испуги пугают отсутствием оных часов в гредущем).

Quote:

Originally Posted by Sonic (Post 94736)
Ой, зря ты это ИМХО. Лучше уж сделать полную совместимость с P1024SL.

Как уже сказал - порт накручивал от балды .
И всеравно считаю что так называемая совместимость - лесом... (ниже объясню). Ибо раскладка порта EFF7 менялась раза три (если не больше), про другие порты и говорить страшно (особенно мозговые).

Quote:

Originally Posted by Sonic (Post 94736)
Реализуй 384x304,

384x304 жуть кошмарная которая использует страныцы не имеющие отношение не то что к видео страницам , но даже к тормозной видео линейке (если есть такой клон). А у меня чисто физачески только видео страницы юзаются .

Quote:

Originally Posted by Sonic (Post 94736)
, а что касается турбы... Сделай переключалку совместимую со Скорпионом.

В скорпионе есть режимы от 3,5 до 21мгц ?

Quote:

Originally Posted by Sonic (Post 94736)
А то опять будет геморрой с поддержкой и никто в результате поддерживать не будет ни Пентагон1024 ни тебя.

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

Сделать тупоё вписывание номера порта(портов) и бита(битов) , ну ещё указать если нужно по каким битам порт дешифруется , для программёра делающего серьёзные вещи - как два байта переслать .
Ну на худой конец можно оснастить прогу какимнить бинарником в котором дедовским способом будут вписываться номера портов и биты .

И кстати , ALL . Восемь бит , это не восемь устройств/режимов , а немного побольше ;) К чему я это ??? Наверное к сетатапу :D

Sonic 13th July 2007 15:34

Quote:

Originally Posted by fan (Post 94791)
И всеравно считаю что так называемая совместимость - лесом...

Так не надо лес-то дальше рассаживать, он и так уже большой и дремучий.
Quote:

384x304 жуть кошмарная которая использует страныцы не имеющие отношение не то что к видео страницам , но даже к тормозной видео линейке (если есть такой клон). А у меня чисто физачески только видео страницы юзаются .
Интересно, а какая польза от 256x256? 384x304 может и жуть, но появился он от необходимости иметь приемлемый текстовый экран.
Quote:

В скорпионе есть режимы от 3,5 до 21мгц ?
Там всего два режима: 3.5 и 7. А у тебя разве нет? Бит-то один...
Quote:

Не поверишь , но проблемма решается простым добавлением SETUP в прогу . Да даже в дёмках где есть музло под ковокс , парой дают почеловечьи выбрать свой порт .
Поверю, только сие некомфортно для пользователя.
Quote:

Ну на худой конец можно оснастить прогу какимнить бинарником в котором дедовским способом будут вписываться номера портов и биты .
Или придумать некий BIOS, который это делает, и найти куда его запихнуть в ПЗУ. Глядишь и для P1024 поддержка появится. У Скорпиона такое уже было, только RST 8 для этой цели штука неудобная.

ILoveSpeccy 13th July 2007 17:07

Вот я, например, планировал проблему совместимости
с существующими клонами решить следущим образом:
Никаких портов для выбора конфигурации использоваться не будет!
Изменить конфигурацию можно будет либо в SETUP, либо online через клаву!
Выбрал нужную конфигурацию - она сохранилась например в SerialFLASH.
ПЛИС читает инфу оттуда и рулит портами как надо.
И соответствующие банки с различными прошивками в ПЗУ подключает.
С точки зрения совместимости с уже существующим софтом проблем быть недолжно,
т.к. для программ это абсолютно прозрачный процесс.

Добавлено через 5 минут
Quote:

Originally Posted by fan (Post 94791)
Безвейтовость ??? Да там одна сплошная вейтовость %)
С.м. диграмму там где про цвет на точку (я её ща малость подправил чтоб было видно как в респекте фурычит). Если проц ломится в VRAM во время работы ВК то его клок отрубается (на бордюре не отрубается). Зато в RAM всегда летает как не разгоняй .

А я думал вообще без тормозов :o
Просто пин с WAIT на ПЛИС не нашел! Как я понял тормоз включается отрубанием CLOCK???
Может и мне так сделать??? Ногу для WAIT сэкономить мона!
А вообще охота совсем без тормозов :v2_walkm:

fan 13th July 2007 17:48

Quote:

Originally Posted by Sonic (Post 94793)
Интересно, а какая польза от 256x256?

Это четырёх битные разрешения , для портирования графики с других консолей (чтоб "ценные" куски не отрезать). Как однобитные (пока) не используются .

Quote:

Originally Posted by Sonic (Post 94793)
Бит-то один...

С порта идёт восемь , что несколько развязывает руки .

Quote:

Originally Posted by Sonic (Post 94793)
Поверю, только сие некомфортно для пользователя.

Не понимаю этого прикола .
Один раз выбрать и сохранить "некомфортно" ? :v2_eek:
А выбирать управление для игры то же "некомфортно" ?

Quote:

Originally Posted by Sonic (Post 94793)
Или придумать некий BIOS, который это делает, и найти куда его запихнуть в ПЗУ. Глядишь и для P1024 поддержка появится. У Скорпиона такое уже было, только RST 8 для этой цели штука неудобная.

Я имел ввиду бинарник с накрутками для проги (если кому лень писать менешку для сетупа).

А такой подход с BIOS( = лес широкий и ветвистуй в одном пучке :D ) только развратит программистов , они не только сетапы не будут приделывать , но и писать под такую извраную консоль (существующую в BIOS) , что ни на каком другом реале не запустися . (шутка юмора)
================================================== =======

Собсно чего сейчайс творится ? - Есть туева хуча портов с попсовой дешифрацией , не требующей никаких немо-бас . То что и десяти процентов этого лома не используется подавляющим большинством юзверов - к годалке не ходи . Но как только кто-то что-то хочет захавать сразу протесты . И спрашивается нафига мне резервировать порты под девайсы которые никогда у меня не будут торчать , если эти порты можно пустить на что угодно .
Как пример - есть некий видео чип (или не важно что , хоть ящик шаговиков), который претендует на роль стандартного девайса , вместо того чтоб устраивать консилиум по выбору портов , нужно лишь "заставить" программёров прикрутить сэтап к проге . Я уже не говорю про выбор раскладки для мозговых портов , уж с десяток лет очевидно что нужно прикручивать сетуп ко всему что юзает больше 128к мозгов .

Добавлено через 23 минуты
Quote:

Originally Posted by ILoveSpeccy (Post 94806)
Как я понял тормоз включается отрубанием CLOCK???

Именно им .

Quote:

Originally Posted by ILoveSpeccy (Post 94806)
Может и мне так сделать??? Ногу для WAIT сэкономить мона!

Именно поэтому оно так и сделано :)

Quote:

Originally Posted by ILoveSpeccy (Post 94806)
А вообще охота совсем без тормозов

Эээ , думаю при разгоне всёравно придётся притормаживать , я эту проблемму решил на корню :D

ILoveSpeccy 13th July 2007 18:33

Quote:

Originally Posted by fan (Post 94812)
Эээ , думаю при разгоне всёравно придётся притормаживать , я эту проблемму решил на корню :D

Ну по крайней мере стандартный режим на 3.5 МГц безвайтовым обязательно сделаю :v2_cool:

Добавлено через 18 часов 44 минуты
Вчера ради интереса повыпаивал ВСЕ ДО ЕДИНОГО блокировочные
конденсаторысо своего спека (того, что на CPLD XC95144XL).
Он запустился нормально и я не обнаружил никаких проблем со
стабильностю. Все дорожки 0.4мм и питание идет не со стороны YA и
проца а наоборот - с другого конца.
Может быть он остался работоспособным потому, что плата маленьких
размеров (160мм х 100мм, AY проводами подпаян)????

-----------------------------------------------------------------------

Долго думал как ноги на ПЛИС сэкономитъ.
Может сделать видео на отдельной ПЛИС (XC9572)???
Тогда можно будет и глубину цвета до 4 бит на цвет увеличить! будет 4096 цветов.
Только вот как между собой нормально соеденить процессорную часть с видео???
Я имею в виду передачу каких сигналов (проц <=> видео, кроме шин А и D)
надо огранизовать и как ??? Думал сделать как в SpeccyBob
т.е. передавать в видеоадаптер 3 сигнала:

1. Увеличить значение экранного счетчика на 1
2. Читать байт пикселов
3. Читать байт аттрибутов

Из видео в процессор только 1 сигнал: INT

Может у кого нибудь есть другие идеи на этот счет???

fan 14th July 2007 20:20

Quote:

Originally Posted by ILoveSpeccy (Post 94817)
Может быть он остался работоспособным потому, что плата маленьких
размеров

ИМХО и частоты не великие и архитектура простая . У меня ваще такое пугало как дуэт48 (размерами больше пентагона и с убого разведённым питанием) без кандюков работало :D Только на видео сигнале дофига всякой ряби было (как на фирменном спеке).

Quote:

Originally Posted by ILoveSpeccy (Post 94817)
Может сделать видео на отдельной ПЛИС (XC9572)???

Не одабрям , т.к. их цена в среднем 10 гринов (т.е. это эначит что в некоторых городах и больше), а это не есть гуд (ALL не любит таких подоражаний).
И я сомневаюсь что в XC9572 влезит необходимая куча регистров + мелоч , ибо - [ 3 канала * 4бит(на канал) * 16оттенков = мозг в 192 бит ] .

А вот в основной матрице такая фигня запросто уместится .
Кстати думаю стоит выдрать накрутчик из сырков V9938 (всё есть у меня на сайте в самом низу страницы). Принцип действия простой - выбираем девайс , швыряем ему по два байта на один цвет в палитре (RGB) , после этого двайс сам переключается на приём следующей пары байт и т.д. пока все 16 цветов не загрузятся .
По два байта нужно швырять потому что - в первом байте биты красного и синего - 0 R2 R1 R0 0 B2 B1 B0 , во втором только зелёного - 0 0 0 0 0 G2 G1 G0 .

Во блин , там 3бита на канал (я чёто думал что четыре , ещё удивлялся чего это в TurboGrafX16 по 3 сделали :v2_lol: ) .
Короче можно и три сделать , хотя палитра получается страшноватая (но полюбому лучше чем при 2бита на канал).
Но зато существует крутейшая конвертилка какртинок под такую палитру !
http://www5d.biglobe.ne.jp/~hra/soft...omsx/index.htm
Она кстати супортит режим похожий на Hardware Multicolor (Атрибут на байт (два цвета на каждые восемь точек по горизонтали)) , только с произвольной палитрой , картинки получаются просто супер .
Останется лишь сами байты/биты перетосавать под спековый экран .

З.Ы. В TurboGrafX16 юзается несколько палитр , но там свой резон - каждый тайл может захавать любую палитру . В спеке впринципе можно почикать экран на области действия каждой палитры , тоже не хило будет .

Quote:

Originally Posted by ILoveSpeccy (Post 94817)
Может у кого нибудь есть другие идеи на этот счет???

Если провода джойстика торчат из матрицы , то можно выкинуть порт кемпстона наружу (с переключением между джоями конечно будет облом).

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

З.Ы. Делай сайт !!! И накидай там всяких описаний чего и как будет фурычит , а так же блок схемы того что будет в матрице и самого компа .

ILoveSpeccy 15th July 2007 01:03

Quote:

Originally Posted by fan (Post 94874)
З.Ы. Делай сайт !!! И накидай там всяких описаний чего и как будет фурычит , а так же блок схемы того что будет в матрице и самого компа .

Очень даже хорошее предложение :D
Со воими рекомендациями и соображениями идем СЮДА

KingOfEvil 17th July 2007 01:58

Quote:

Originally Posted by ILoveSpeccy (Post 94683)
На ПЛИС PS/2 клава занимает, точно не помню, около 125 ячеек (только опрос, спек в клаву ничего не посылает. Да и зачем?)
Так что проблем я невижу...

Прием и расшифровка последовательности скан-кодов + расшифровка кодов нажатия/отжатия + формирование матрицы ZX-клавиш + обработка дополнительных клавиш и преобразование их в параллельно нажатые ZX-клавиши + интерфейс со Спектрумом и все 125 ячеек ??? НЕ ВЕРЮ!
У меня код на чистом асме для КР1878ВЕ1, который делает все описанное, занимает около 700 байтов + буфер ОЗУ ~32 байта.

Если речь шла о Verilog-коде ps2, который лежит на opencores, то, боюсь, на Спектруме от него без серьезной переработки толку мало будет.

ILoveSpeccy 17th July 2007 03:06

Quote:

Originally Posted by KingOfEvil (Post 95102)
Прием и расшифровка последовательности скан-кодов + расшифровка кодов нажатия/отжатия + формирование матрицы ZX-клавиш + обработка дополнительных клавиш и преобразование их в параллельно нажатые ZX-клавиши + интерфейс со Спектрумом и все 125 ячеек ??? НЕ ВЕРЮ!
У меня код на чистом асме для КР1878ВЕ1, который делает все описанное, занимает около 700 байтов + буфер ОЗУ ~32 байта.

Если речь шла о Verilog-коде ps2, который лежит на opencores, то, боюсь, на Спектруме от него без серьезной переработки толку мало будет.

Т.К. код еще не проверен на реале, воздержусь от комментариев.
Вот доделаю плату, потом разберемся: возможно или нет? :D

p.s. В данный момент собираю DivIDE (XC9572 + RAM + ROM)
Как только обкатаю :v2_cool:, буду доделывать плату.....

KingOfEvil 17th July 2007 09:16

Quote:

Originally Posted by ILoveSpeccy (Post 95105)
Вот доделаю плату, потом разберемся: возможно или нет?

Возможно, но не в 125 ячейках. И будет довольно тяжело. Некоторые вещи удобней делать в МК.


All times are GMT +4. The time now is 18:10.

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