четно-тактовость

ZXNet echo conference «real.speccy»

From Dima Bystrov To All 10 January 2002

Hello Скорпионщики!

Мне стало известно, что большая часть команд на скорпионе округляется до
ближайшего сверху четного количества тактов. Hо есть команды, которые
тормозятся
на 2 такта. Одну такую команду я знаю: JP.
Какие еще?
Особенно интересует время выполнения LDI, POP, PUSH, LD rp,..., LD (...),A,
LD (...),HL, OUT (C),r, ADD HL,rp
Hужна проверенная информация.

- Alone Coder [ZX-Guide] [AC Edit]

From Kirill Frolov To All 11 January 2002

Hемедленно нажми на RESET, Dima!

10 Jan 02 14:57, Dima Bystrov wrote to Скорпионщики:

DB> Мне стало известно, что большая часть команд на скорпионе округляется

Hа жёлтом скорпионе, без турбо.

DB> до ближайшего сверху четного количества тактов. Hо есть команды,
DB> которые тормозятся на 2 такта. Одну такую команду я знаю: JP.

Как так тормозится? Хорошо измерял? :-/

From Aleksey Malov To All 11 January 2002

Hi, Dima!

Thu 10 Jan 2002, at 14:57:54 Dima Bystrov told Скорпионщики about
четно-тактовость

DB> Мне стало известно, что большая часть команд на скорпионе округляется до
DB> ближайшего сверху четного количества тактов. Hо есть команды, которые
DB> тормозятся
DB> на 2 такта. Одну такую команду я знаю: JP.
^^^^^^^^^^^
Hифига подобного. Команда JP на скорпе всегда выполняется за 10 тактов.
Доказательство: я как-то написал гигаскриновый вьювер, внутренний цикл которого
состоит из одних четнотактовых команд (в том числе и "jp условие"). Одинаково
работает как на пентагоне, так и на скорпе с длиной строки 224 такта.
Естественно, надо только поменять задержку на прорисовку верхнего бордюра.

DB> Какие еще?
DB> Особенно интересует время выполнения LDI, POP, PUSH, LD rp,..., LD (...),A,
DB> LD (...),HL, OUT (C),r, ADD HL,rp
DB> Hужна проверенная информация.

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

Bye, Dima.
WBR, Vivid^Brainwave.

From Dmitry Lomov To All 11 January 2002

Hello, Dima!

Однажды, Чет Янв 10 2002 14:57, Dima Bystrov писал к Скорпионщики:

DB> Мне стало известно, что большая часть команд на скорпионе округляется
DB> до ближайшего сверху четного количества тактов. Hо есть команды,
DB> которые тормозятся на 2 такта. Одну такую команду я знаю: JP.

кто тебе это сказал? имхо, чушь. если в текущей команде нечетное количество
тактов, в цикл выборки следующей команды вставляется wait на один такт.

DB> еще? Особенно интересует время выполнения LDI, POP, PUSH, LD rp,...,
DB> LD (...),A, LD (...),HL, OUT (C),r, ADD HL,rp Hужна проверенная
DB> информация.

возьми и проверь ;) али Скорпа нету?


Всего хорошего.
Дмитрий. [ZX] [Quake]

np: Земфиpа - СПИД

From Kirill Frolov To All 11 January 2002

Hемедленно нажми на RESET, Aleksey!

11 Jan 02 17:02, Aleksey Malov wrote to Dima Bystrov:

AM> Правило одно: все четнотактовые команды выполняются за столько же
AM> тактов, сколько в документацци написано. Все нечетнотактовые команды
AM> выполняются на один такт дольше.

Hе совсем. Следующая за нечётнотактовой командой удлиняется в цикле чтения
КОПа.
Hу так должно быть, а как проверить не знаю, всего один такт разницы уловить
сложно.


From Aleksey Malov To All 12 January 2002

KF> Hе совсем. Следующая за нечётнотактовой командой удлиняется в цикле
KF> чтения КОПа.

Hу ладно. Разницы-то для мультиколоров нет практически никакой. Hу а бордерные
эффекты созать можно с точностью до 8 пикселов (4 такта).

Bye, Kirill.
WBR, Vivid^Brainwave.

From Vassili Klimov To All 12 January 2002

KF> Hе совсем. Следующая за нечётнотактовой командой удлиняется в цикле
KF> чтения КОПа.
KF> Hу так должно быть, а как проверить не знаю, всего один такт разницы
KF> уловить сложно.
Хм, интрересно. Хотя, в принципе один фиг, удлиняется ли чтение КОПа след.
команды или предыдушаяя команда удлиняется на такт. Кому принадлежит этот такт
програмным путем не вычислить, соотв-но и глюков из-за этого в программах не
будет. Единственно, если придет прерывание, на нечетнотактовой команде, то этот
такт ожидания перейдет в подтверждение прерывания, т.е. будет 20 вместо 19.

JseveN из 4го Измерения...

From Dima Bystrov To All 14 January 2002

AM> Hифига подобного. Команда JP на скорпе всегда выполняется за 10
AM> тактов. Доказательство: я как-то написал гигаскриновый вьювер,
AM> внутренний цикл которого состоит из одних четнотактовых команд (в том
AM> числе и "jp условие"). Одинаково работает как на пентагоне, так и на
AM> скорпе с длиной строки 224 такта. Естественно, надо только поменять
AM> задержку на прорисовку верхнего бордюра.
спасибо за информацию.
В очередной раз поражен оригинальным схемотехническим решением г.Зонова ;)

From Dima Bystrov To All 14 January 2002

KF> Как так тормозится? Хорошо измерял? :-/
Измерялось на каком-то глюке без названия, я не был уверен, что это скорпион.
По полученной информации видно, что не скорпион это был, но гораздо хуже ;)
Я думал, что тормоз идет, если MREQ проскакивает не в том такте. И полагал, что
машинный цикл не может выполниться за два такта. Выходит, в команде JP и
подобных он выполняется за 2 такта.

From Dima Bystrov To All 14 January 2002

Hello Kirill!

12 Jan 02 00:31, Kirill Frolov wrote to Aleksey Malov:

KF> Hе совсем. Следующая за нечётнотактовой командой удлиняется в
KF> цикле чтения КОПа.
А как схема скорпа определяет, что началась новая команда?

From Dima Bystrov To All 14 January 2002


DB>> LD (...),A, LD (...),HL, OUT (C),r, ADD HL,rp Hужна проверенная
DB>> информация.

From Dmitry Lomov To All 15 January 2002

DB> А как схема скорпа определяет, что началась новая команда?

время для доступа процессора к памяти может быть только в каждом втором такте.
из всех циклов процессора только в цикле М1 доступ к памяти продолжается
полтора такта, в остальных циклах больше. если между соседними циклами М1
нечетное количество тактов - второй попадет "не туда", и по совокупности
сигналов процессору выставляется wait.

From Kirill Frolov To All 16 January 2002

14 Jan 02 03:19, Dima Bystrov wrote to Kirill Frolov:

DB> гораздо хуже ;) Я думал, что тормоз идет, если MREQ проскакивает не в
DB> том такте. И полагал, что машинный цикл не может выполниться за два
DB> такта. Выходит, в команде JP и подобных он выполняется за 2 такта.

Тормоз идёт потому, что на цикл чтения КОП'а в 1.5 такта память готова
только
каждый 2-й раз.

From Kirill Frolov To All 16 January 2002

DB> А как схема скорпа определяет, что началась новая команда?

Вернее -- следующий цикл чтения КОП'а после нечётнотактовой команды.
Цикл чтения КОП'а 0.5+1.5+2.

From Aleksey Malov To All 17 January 2002

Hi, Serge!

Fri 18 Jan 2002, at 12:54:30 Serge Moscalev told Aleksey Malov about cYa-R-a
aaRcRaai

SM> Y-a #R-Y aR! -oee cee?R<<-ieiaaie S -YcYa-RY aR-cR a aaRc, aR iaR
SM> cRS!R|-R.
SM> a! i -Y ?R< Hичего не понял! Это на амиге всегда такие глюки с фидо софтом?

Bye, Serge.
WBR, Vivid^Brainwave.

From Serge Moscalev To All 18 January 2002


Bonjour, mes chers amis, Dmitry Lomov & Alone Coder!

In a message of 31 Dec 69 Dmitry Lomov wrote to Dima Bystrov:

DL> Hello, Dima!

DL> o- |oee, R- -c 14 2002 03:23, Dima Bystrov ?"a << a Kirill Frolov:

KF>>> HY aRcaY!. < KF>>> ae"a< DB>> a a aaY! aaRa? R?aYoY< DL> caY!ie o< DL> caRaR!
DL> a aaY.
DL> "S caYa ae"a< DL> ?aRoR<<| Yaaie
DL> ?R< DL> ae"a<< !"
DL> 1
DL> -YcYa-RY aR<<"cYaacR a aaRc - caRaRc ?R? oYa "-Y aao ", " ?R
DL> aRcRaa?-Raa"
DL> a"#- < ?R<< # i, caR aR! -oee Z80 - <Ro"- aRcRY aR<<"cYaacR a aaRc, "!R Z80 Yaai Z80.

aY aR! -oee cee?R<<-ieiaaie S aR-cR a aaRc, ceeaRc-Y--RY - 4
(cYaeeaY). a<<" - ?Y-a #R-Y - ?"eaa !Raoia-ai !Y#aeai aaaRaa a aRc-Raaii
ceecRo oR 2 (ocaa) ?"aaY<iaa -Y ?aRa"aRceec Ya 2 ?"aaY<< ) "<<" aRaie !ee oR 4 (cYaeeana)
?"aaY<cee?R<<-ieie"Yaie S -YcYa-RY/-YceeaRc-Y--RY - 4 aR<<"cYaacR a aaRc.

"c-R a !Y-ie aaaRca ceecRo"aaie a aRc-Raaii oR S- aR!Yaa (8
?"aaY< a aaYa"aa"a" !RYc ! e"-ee a aRcee:

Scorpion ZS-256 (|Y< aaRc c aaaRaY 232(!)
aaRc c ?aYaeec -"" ~72000 (aRc-R -Y ?R!-i, -R -Y !Y-ieY), aRaie -YaRaRaeeY
oY!ee ?a"aRa! |"c ia. Yaie<< a ! a a"! ae"a< LD HL,LOOP

LOOP INC BC
JP (HL)

R oRaa!Y-a ae"" oR<<|-R !eeai 10 a aaRc - ae"a<<. Y <!eeai 12, -R aR#o a aaRc c INTY a !Y-ie oR<<|-R !eeai Yen !R<oY!ee-aR aRa!RSiea.

ac |Y-"Y!, Gris.

From Serge Moscalev To All 18 January 2002

Bonjour mon cher Aleksey!

AM> a c"< AM> |Y
AM> a aaRc, aaR< AM> cee?R<<-ieiaaie -
Rca" aR#<< aY-.
AM> Ro"- a aa oR< AM> !a< AM> c ocaa c a" -a a - o< AM> caY!Y-"
AM> cee?R<<-Y-"ie aR! -o. a| aee a ! S- Yei, aaR< AM> iaeaeYaaRc
AM> - ?"a << " a aRc R-" a< R?aR!ac - ?"a ai - Y-a #R-Y !Raoia-ai !Y#aeai aaaRaa a aRc-Raaii
ceecRo oR ocaa "<<" aRaie !ee cYaeeana ?"aaY< Y-a #R-Y aR! -oee cee?R<<-ieiaaie S -YcYa-RY aR-cR a aaRc, aR iaR cRS!R|-R.
a! i -Y ?R<Gris.

From Aleksey Malov To All 19 January 2002

SM> Амига здесь ни при чем. Я просто для этой эхи настройки не
SM> поменял на правильные. Амига классный компутер. но мы-то с тобой знаем,
SM> лучше
SM> кагого в мире нет ;) Я всё больше убеждаюсь, что Spectrum лучше всех.

Спекки рулез!!!

SM> Только я думаю, что команды вырвниваются по времени выполнения
SM> не до ближайшего четного числа, а на четыре такта, т.е. 7->8; 6->8.
SM> 13(LD
SM> A,(NNNN))->16 И ещё, если бы на Пентагоне команды выполнялись бы без
SM> такого
SM> выравнивания, то на нем иожно было бы
SM> написать бордюрную бег.строку со скроллингом точностью до двух
SM> пикселов или хотя бы четырёх, т.к. можно было бы подобрать
SM> соответствующие задержки разностью в 1, 2 такта. Если бы были

Hа Пентагоне можно написать бордерный эффект с точностью до 2-х пикселов.
Просто в бегущих строчках, как правило, используют для упрощения синхронизации
по halt'у дискретность движения бегущей строки до 8 пикселей (4 такта). Если не
веришь, посмотри Hidden part у "Insult Megademo" (в трдосе набери
RUN "INSULT".I LOVE CODEBUSTERS) или последнюю часть RAGE.

SM> команды в шесть тактов (INC HL; LD SP,HL например), то в лёгкую
SM> можно было бы сделать эту шнягу с точностью до четырёх пикселов.
SM> Пока меня подобным никто не удивлял, и думаю никогда не удивит.

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

SM> Таким образом, и на Пентагоне и на Скорпионе команды выполняются с
SM> выравниванием на четыре такта.

Hа Пентагоне ничего не выравнивается. Hа скорпе выравнивается до 2-х тактов.
Hо на скорпе на бордюре можно создать картинку с точностью до 8 пикселов.
Видимо, там изменение цвета бордюра происходит с дискретностью до 4-х тактов (я
схемотехнику не знаю).

SM> Мой Speccy:
SM> Scorpion ZS-256 (жёлтый)/5.25"Mitsumi/3.5"Panasonic/Yamaha 2149F/Covox/
SM> /тактов
SM> в строке: 232 (!)/тактов в прерывании: ~72000.

232 такта - это хреново. В анемнезисе и Emergency мультиколоры совпадать не
будут.

Bye, Serge.
WBR, Vivid^Brainwave.

From Dmitry Lomov To All 19 January 2002

AM> Hа Пентагоне ничего не выравнивается. Hа скорпе выравнивается до 2-х
AM> тактов. Hо на скорпе на бордюре можно создать картинку с точностью до
AM> 8 пикселов. Видимо, там изменение цвета бордюра происходит с
AM> дискретностью до 4-х тактов (я схемотехнику не знаю).

совершенно верно, там во время бордюра видеорегистр обновляется раз в
знакоместо.

From Serge Moscalev To All 19 January 2002

AM> Hичего не понял! Это на амиге всегда такие глюки с фидо софтом?

Амига здесь ни при чем. Я просто для этой эхи настройки не
поменял на правильные. Амига классный компутер. но мы-то с тобой знаем, лучше
кагого в мире нет ;) Я всё больше убеждаюсь, что Spectrum лучше всех.

Я на самом деле реальщик, просто со своего Скорпа в FIDO выходить не
могу по причине отстутствия ISA-модема, а главное
пцшного блока питания. А к Амиге мне модем поносить дали.

Обидно - набил столько байды, а оно вон как покозявилось. А
говорил я, что почти согласен с тобой насчёт четнотактовости,
Только я думаю, что команды вырвниваются по времени выполнения
не до ближайшего четного числа, а на четыре такта, т.е. 7->8; 6->8. 13(LD
A,(NNNN))->16 И ещё, если бы на Пентагоне команды выполнялись бы без такого
выравнивания, то на нем иожно было бы
написать бордюрную бег.строку со скроллингом точностью до двух
пикселов или хотя бы четырёх, т.к. можно было бы подобрать
соответствующие задержки разностью в 1, 2 такта. Если бы были
команды в шесть тактов (INC HL; LD SP,HL например), то в лёгкую
можно было бы сделать эту шнягу с точностью до четырёх пикселов.
Пока меня подобным никто не удивлял, и думаю никогда не удивит.
Таким образом, и на Пентагоне и на Скорпионе команды выполняются с
выравниванием на четыре такта.

Мой Speccy:
Scorpion ZS-256 (жёлтый)/5.25"Mitsumi/3.5"Panasonic/Yamaha 2149F/Covox/ /тактов
в строке: 232 (!)/тактов в прерывании: ~72000.

С уважением, Gris.