ZXNet эхоконференция «code.zx»


тема: Speccy Timings.



от: Vitaly Vidmirov
кому: Alexander Ageev
дата: 12 Dec 1998
Здрасте, здрасте Alexander! Однажды, в студёную летнюю пору, что-то около (10-11-98/00:59:05) писал как-то Alexander Ageev к Vitaly Vidmirov ... VV>> Что значит "про работу ULA"? Времянки, или отличия от, скажем, VV>> пентагона? AA> И времянки, и отличия от пентагона, интересует _АБОЛЮТHО ВСЕ_ про ULA. AA> У тебя есть информация по задержкам, формируемым ULO'й при обращении AA> к порту FE и разделяемой памяти ? AA> Предполагаемый вариант ответа: нет ;) потому как никто ни знает Вполне сносная инфа по ULA (естественно, с точки зрения программной эмуляции Спектрума) имеется в описалове к Лунтеровскому эмулю. Я уже кидал сюда выдержки из оного, но как выяснилось, её никто не видел ;) Так же некоторые сведения были подчерпнуты путем "выспроса" и "выпыта" у чехов (K3L). Вообще, спектрумы бывают 48, 128, +2 (= +2 + магнитофон), +2а (amstradовский +2), +3 (то же самое но с дискоглотом). Hе буду тут распинаться про то, что ULA работает на своей шине и со своим куском памяти. Это и так общеизвестно. Времянки, память. Времянки различаются только для 48к и 128к машин. Тачки +2а/+3 аналогичны 128-му (и +2), правда не во всём, т.к. были переработаны. 48к: |<- 224 ->| +---------+--+--+--+------- |/////////|rb|lb|hb| ^ ^ |<- 128- >|24|24|48| |192| |/////////|<>|<>|<>| | | +---------+--+--+--|--- | 312 | ^56 | | | | | #---------+--+--+--| | | ^64 | | | | | (~16 за кадром) +---------+--+--+--+------- # - появляние int'a (224 x 64 = 14336) итого 224 x 312 = 69888 для 128к: |<- 228 ->| +---------+--+--+--+------- |/////////|rb|lb|hb| ^ ^ |<- 128 ->|??|??|??| |192| |/////////|<>|<>|<>| | | +---------+--+--+--|--- | 311 | ^56 | | | | | #---------+--+--+--| | | ^63 | | | | | lb+rb+hb = 100 тактов, вероятно распределяются как 25/25/50. итого 228 x 311 = 70908 Естественно, такую с такой скоростью проц будет работать только тогда, когда он работает с fast памятью. При работе с разделяемой (slow) памятью процессор тормозится, пока ULA не сделает своё чёрное дело. Как известно, для 48-го slow память занимает адреса #4000-#7FFF. Для 128-х машин тормозными являются банки: для 128/+2: 1-3-5-7 для +2а/+3: 4-5-6-7 Степень затормаживания при обращении к slow памяти различна для разных машин: 48 -> 128(+2) -> +2а(+3) в порядке увеличения производительности. В среднем, обращения к slow памяти занимают на 15-20% больше. Если же и программа там, то торможение может достигать 25-30%. Hапример ld a,(#4000) будет длиться ~15 тактов (по инфе от Dron/K3L ;). Порты. in a,(#fe) происходит не сразу, и занимает ~12.25 тактов против 11-ти. Об out (#fe) я, честно говоря не помню, но _вроде_ не тормозит. Да, цвет бордер'а изменяется в момент засоса байта видеоданных, т.е. каждые 4 такта. Банки способны щёлкаться по: 128/+2: out(#fd),#1x, ровно как и по out(#0d),#1x +2a/+3: out(#fd),#5x. Глюк ULA Отдельно остановлюсь на причине, по которой нельзя класть в регистр I числа, такие, чтобы вектор был в slow памяти. Как известно, во время выполнения цикла m1 (извлечение кода операции) z80 выполняет регенерацию памяти, выдавая в младшую часть адреса регистр R, а в старшую I. ULA, видя что адрес лежит прямо в slow памяти, думает что проц хочет прочитать байт по этому адресу ... и в итоге, не справившись с такой частотой чтения пропускает каждый второй байт. Вместо него повторяется предыдущий. Этот глюк для 48 и 128/+2 не опасен - просто визуальные эффекты. В то время как на +2a/+3, программы тотчас же рушатся. Чё-то больше ничего вспомнить не могу :( злобный Виталик AKA Dark/X-Trade




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Тусовка - "Орбита-2".
Новье - О новинках: ZX-Format #8, Faultless #8,Adventurer #7,Mirror, Oberon #5, Deja Vu #4 , ZX-Club #7 , Depth #2 , Monstrland, Операция Р.Р. Art Work, E.S.E. v1.2, Consul Commander v1.6, TVTest, MSP v1.4, UltraSonic v1.00
Реклама - Студия 'ВОЗРАЖДЕНИЕ' приглашает к сотрудничеству тех, кто предпочитает работать в is-dos.
SPECCY FOREVER - Дискуссия: Speccy - жизни или смерть.
Introduction - Владивостокская сцена. Интерес спектуму во Владе стал угасать и чуть-ли не каждую неделю становится одним человеком меньше.

В этот день...   30 мая