Описано в теме ZXMC
Вид для печати
Глянь такой вариант - "Скажем скальпелю нет!!!" http://zx.pk.ru/showthread.php?t=2768 .
Даже самый невменяемый видео режим не будет ступорить проц .
Из доки есть только схема Pentagon-128 и исходник прошивки P-1024sl.
Общая идея заключается в том, что если выборки из памяти делать на частоте 3.5 МГц (на той же частоте, на которой работает Z80 не в турбе), то за один машинный цикл в худшем случае нужно сделать 3 обращения к памяти (одно для данных процессора, одно для считывания видеоданных и одно для считывания видеоатрибутов). Т.к. самые короткие машинные циклы Z80 длятся 3 такта, то сделать 3 обращения к памяти, не прибегая к дополнительному торможению процессора, в принципе, возможно. Но придется делать сложное буферирование, т.к. данные нужно схватывать тогда, когда они появляются, а не тогда, когда их нужно вывести на экран (либо выдать процессору), в этот момент они уже должны быть наготове.
а если видеоконтроллер будет опрашивать память на частоте 7 или 14 МГц???
Только я пока неочень понимаю как мне отловить именно те моменты, когда шина данных не занята???
Я вообще думал так сделать: у меня шины данных проца и видео в ПЛИС...
беру состояние шины данных защелкиваю в D(0-7), блокирую адресную шину VA посредством 74HCT245. Потом на частоте 7 или 14 МГц адрессирую VA и читаю атрибуты и байт данных. Потом опять включаю 74HCT245.... Ну в общем всё как обычно до следующего чтения.
Как ты думаеш, прокатит ???
Ну тогда вообще никаких проблем, если частота выборок ОЗУ равна частоте работы процессора, то тормоза не нужны.
Для этого и делается двойное буферирование, буфера записываются тогда, когда данные появляются, а из буферов они считываются тогда, когда это надо.
Не очень понял, т.е. память будет работать с большей частотой, чем процессор? По-моему, сделать двойное буферирование будет даже проще.
Пока процессор с памятью работает... она тактуется частотой процессора, а видеоконтроллер читает с 7 или 14 МГц.
Т.е. пока видеоконтроллер читает, процессор даже не успеет 1 такт сделать. А статика у меня на 55нс... Так что должно получиться (теоретически :D)
Не поминаю чего-то... Когда какие данные появляются??? Можешь описать по-подробнее? please :)
"то сделать 3 обращения к памяти, не прибегая к дополнительному торможению процессора, в принципе, возможно. Но придется делать сложное буферирование"
Бред ... При памяти от 100 нс и быстрее и z80
3.5МГц ничего городить не надо ...
"Ну ты меня еще учить будешь?"
Да, если будет подобный бред ...
У меня на 3.5 МГц работает нормально.
А почему память от 100нс я писал ...
и схему синхронизации приводил.
И не надо пудрить другим мозг ...
Вот схемку нашел ...
"Сердце" нового клона :v2_cool:
PFGA Spartan-2 XC2S100 от Xilinx...
Прошу ;)
Если не трудно.. пришли на мыло dr_dmitrij(at)web(dot)de
Кстати, какой чип (FPGA) стоит на твоей девборде???
..... прочитал тему и нашел :D XC3S200....
И самое главное: сколько места занимает спек в FPGA???
Я, например, пробовал минимальную конфигурацию в XC2S100 запихать... 48K забил его на 90 с копейками процентов :(
Поэтому и решил Z80 и AY снаружи повесить...
А Spartan-2 выбрал только из-за того, что он 5V I/O держит!