Конфигурация от TS-Labs

ZX evolution software and hardware

Postby breeze » 03 Mar 2011, 17:19

Grey wrote:Вот почему.


ммм… понял, дёргается оно только если в это же самое время динамически рисовать что-нибудь в экранной области #4000. Тогда да, есть некоторые «срывы». Однако, если в спектрумовской области пусто, шансы на срывы минимальны.

Кромое того TS-Labs обещал сделать возможность отключения отображения спектрумовской области #4000, что по идее должно вообще убрать «срывы».
User avatar
breeze
 
Posts: 764
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby lvd » 03 Mar 2011, 17:43

А я вот чо прикинул.
В нгсе есть дма контроллер (для собственной памяти нгс). Он пересылает (пишет или читает) 1 байт за 2 такта.
далее считаем [ 24000000(частота)/2(такта на байт) ] / 24000(размер экрана 256х192х16 цветов) / 50(кадров в секунду) = 10.
Так как каждый рендер экрана - это чтение из откуда-то и запись в фреймбуфер, то ещё пополам и 5. Значит максимум 5 слоёв картинок (движущихся и все дела) можно нарендерить унутре памяти нгса. А с учётом того, что копипизд в спектрум его (спектрумовыми) силами займёт 2 кадра, то опять 10. Слоёв. То есть если обычная игра, где от силы 3 слоя, то будет зашибись :)
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby Grey » 03 Mar 2011, 22:46

юзать спектрумскую графику
если фоном то его же надо двигать. Лучше отключить родной(милый) zx экран и сделать задний фон например 4-х цветный - уже экономия в обращениях.
но основную карту хочется 64к.
сколько раз з80 обратится к ОЗУ.
может поможет di; halt поможет ? :-) Ну а серьезно если halt делать будет быстрее рисовать? можно подогнать в какой момент лучше его делать. или з80 постоянного читает код операции даже когда ждет? Wait там ни как не прикрутить? типа счетчика в регистр изменяемой длинны для строки (или если не успевает нарисовать) или вообще пока рисует?
Grey
 
Posts: 93
Joined: 01 Mar 2011, 21:07
Group: Registered users

Postby Grey » 04 Mar 2011, 15:47

передачи приоритета к СПУ вместо з80
Вот то что нужно. Процу уже мало надо будет данных кидать - он и подождать может.
Приоритет я подозреваю через wait ?
Может можно сразу там и турбу с вайтами прикрутить на 14 или даже 28 ?
Grey
 
Posts: 93
Joined: 01 Mar 2011, 21:07
Group: Registered users

Postby lvd » 04 Mar 2011, 17:29

Grey wrote:Приоритет я подозреваю через wait ?

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

для примера, я на остановке клока с точностью до полутактов сделал в п1.4 самую быструю турбу для случая з80 7 мгц, память 3.5 мгц байтовая + выборки 6912. А вот в говноАТМ2 турба самая медленная (на ваитах) и в турбе около 90000 тактов (анти-рекорд!).
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby lvd » 04 Mar 2011, 17:33

TS-Labs wrote:Далее, возможен такой подход: часть кода можно забрасывать в 512/1024 байт памяти альтеры, откуда з80 будет работать на 14/28 мгц вообще без торможений!!!

Нежизнеспособно.
Во-1, такой кешь получится только лишь one way set associative (т.е. тег общий на все 512 байт). Во-2 иннерлупы, как правило, раскрыты и жрут данные и код из 2 разных мест. В этом случае one way отсосёт, да и кешь, собственно, не особо эффективен будет.
Если речь про тупо статик ОЗУ, то во-1 мало, во-2 несовместимо, в-3 ахтунг :)
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby нолька » 04 Mar 2011, 18:51

такой совет, на рефреш циклах з80 давать ему макс частоту.
и вопрос: какая растактовка команды типа ret z при z=0
M1 4 такта, М2 - 1 такт?
я проснулся среди ночи и понял, что всё...
всё идет по плану
User avatar
нолька
рОвный
 
Posts: 264
Joined: 08 Apr 2007, 21:12
Group: Registered users

Postby lvd » 04 Mar 2011, 18:54

нолька wrote:такой совет, на рефреш циклах з80 давать ему макс частоту.

Это получается автоматом, если м1 не щупать в момент, когда рфш=0, не?

нолька wrote:и вопрос: какая растактовка команды типа ret z при z=0M1 4 такта, М2 - 1 такт?

5 тактов, из них 4 - цикл м1, 1 такт - ничего на шине не происходит.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby нолька » 04 Mar 2011, 18:56

под максимальной я имел ввиду сколько схема позволяет, 14 или 28?
я проснулся среди ночи и понял, что всё...
всё идет по плану
User avatar
нолька
рОвный
 
Posts: 264
Joined: 08 Apr 2007, 21:12
Group: Registered users

Postby lvd » 04 Mar 2011, 19:13

нолька wrote:под максимальной я имел ввиду сколько схема позволяет, 14 или 28?

Вообще всё рассчитано под макс=14.
28 можно выдать, но во-1 будет некрасивый сигнал (не выход регистра с дутым циклом=50%, а хренпоймичто, просто соединение входа с выходом) - так как плис тактируется 28мгц.
во-2 внутренняя логика рассчитана, что Фз80 не более половины от Фальтера, и соотв-но может сломаться.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

PreviousNext

Return to Пентева - софт и железо

Who is online

Users browsing this forum: No registered users and 1 guest