PDA

Просмотр полной версии : ламерский вопрос о временных диаграммах шин Z80



boo_boo
29.01.2006, 15:42
никогда прежде с сабжем не имел дела, поэтому хочу уточнить, бо не уверен, что правильно понял...

1)запись в память: 3 цикла (без WAIT), на 1м такте на шине данных образуется байт, к концу второго активизируется WR, то есть этот байт готов, и его можно пихать в память.

2)запись в порт: 3 цикла + 1 wait, на 2м такте активизируется WR -- байт готов (и висит на шине еще полтора такта)

то есть, в случае спектрума без WAIT-ов, байт окажется в памяти к концу второго такта операции записи в память, а при записи в порт -- устройство возьмет его тоже на втором (или на третьем?) такте...

однако UnrealSpeccy, эмулируя out, ждет всего 7 тактов перед записью в порт (то есть делает все на 1м такте), и бордюрные эффекты работают как надо...

SMT
29.01.2006, 20:18
однако UnrealSpeccy, эмулируя out, ждет всего 7 тактов перед записью в порт (то есть делает все на 1м такте), и бордюрные эффекты работают как надо
мерфологию читал? имеем классический случай взаимопоглощения ошибок, причём раз не надо счётчик циклов прибавлять 2 раза, значит, и так сойдёт ;-)

lvd
30.01.2006, 12:53
никогда прежде с сабжем не имел дела, поэтому хочу уточнить, бо не уверен, что правильно понял...

1)запись в память: 3 цикла (без WAIT), на 1м такте на шине данных образуется байт, к концу второго активизируется WR, то есть этот байт готов, и его можно пихать в память.

2)запись в порт: 3 цикла + 1 wait, на 2м такте активизируется WR -- байт готов (и висит на шине еще полтора такта)

то есть, в случае спектрума без WAIT-ов, байт окажется в памяти к концу второго такта операции записи в память, а при записи в порт -- устройство возьмет его тоже на втором (или на третьем?) такте...

однако UnrealSpeccy, эмулируя out, ждет всего 7 тактов перед записью в порт (то есть делает все на 1м такте), и бордюрные эффекты работают как надо...

Это... ртфм что ли. Если защёлка ловит байт всё время, что /WR активно, то так. А если по заднему фронту /WR? Вот тебе и 7 тактов.

SMT
30.01.2006, 13:14
даже по переднему фронту WR, всё равно такт набегает, пока данные через все триггеры-мультиплексоры дойдут до экрана