Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   Устанение "дрожания" бордера (http://zx-pk.ru/showthread.php?t=13836)

VNN_KCS 16th September 2010 14:14

Устанение "дрожания" бордера
 
Столкнулся с проблемой "дрожания" бордера по горизонтали. Обычно устраняю при помощи:
ld hl,0
ld de,0
ld bc,число(хватает от 1 до 4)
ldir
Только этот вариянт не прошёл после последующей прорисовки бордера.
Дрожание составило 4 такта, что равно 1 знакоместу.
Были тут варианты с выходом по флагам, но не нашёл.
Повторите, плз. Или ткните носом, где глянуть. "Горит" дема.

psb 16th September 2010 14:45

дрожит-то между кадрами или в пределах одного кадра между строками?
если кадры - надо добивать код так, чтобы в итоге он был кратен 4 тактам за прерывание.

Firestarter 16th September 2010 14:48

Простыми народними словами у тебя заканчиваются прерывания не кратные 4. из за этого следующие прерывание едет

VNN_KCS 16th September 2010 15:19

Вышла такая байда - "нарисовал" бордюр ДО основного экрана. Всё "стоит" на месте, не смыкается. НО! если "прорисовать" ещё что либо, то это "что либо" уже дёргается. Пришёл к выводу, что всё в предыдущуй "прорисовке" Как устранить- ??? Столько бордюров сделал, а тут застрял как пацан.
Думаю, что надо с той процедурой, которую ищу, выходить их верхней "прорисовки", и из всех остальных. Главное, чтоб каждая получалась кратной 4-м.
P.S. Ну влом километр кода переписывать и такты контролироватью Кто пишет код меня поймут.

Quote:

Originally Posted by Firestarter (Post 315833)
Простыми народними словами у тебя заканчиваются прерывания не кратные 4. из за этого следующие прерывание едет

А вот тут я вообще в шоке. Картинка на месте, а после неё "дрожит" Как так может быть?

Firestarter 16th September 2010 15:35

ну допустим в пентагоне 71680 таков. у тебя кончилась программа на 2051 такте значит дойдя до halt процессор на самом деле ждет nop ами все это время по 4 такта из этого следует что в итоге у тебя будет например 71677 тактов в одном прерывании в другом на один такт дольше и тд

psb 16th September 2010 15:42

кстати, речь-то о пентагоне хоть?
в эмуляторе тоже дергается? в унреале сразу же встроен счетчик тактов: если поставить точки останова на начало каждой расчетной строки, то потом просто нажимая esc будем видеть, 224 такта прошло или нет. если нет - сразу будет видно, где косяк.

VNN_KCS 16th September 2010 16:57

Quote:

Originally Posted by Firestarter (Post 315848)
ну допустим в пентагоне 71680 таков. у тебя кончилась программа на 2051 такте значит дойдя до halt процессор на самом деле ждет nop ами все это время по 4 такта из этого следует что в итоге у тебя будет например 71677 тактов в одном прерывании в другом на один такт дольше и тд

Ну добавлю я этот такт, точнее 9 тактов, чтоб было кратное 4-м. Так ведь ничего не меняется. Пробовал.

---------- Post added at 14:25 ---------- Previous post was at 14:21 ----------

Quote:

Originally Posted by psb (Post 315852)
кстати, речь-то о пентагоне хоть?
в эмуляторе тоже дергается? в унреале сразу же встроен счетчик тактов: если поставить точки останова на начало каждой расчетной строки, то потом просто нажимая esc будем видеть, 224 такта прошло или нет. если нет - сразу будет видно, где косяк.

Делаю в эмуле, настроеном под Пентагон. Всё сходилось на Пентеве. Все мои проги, которые я когда-то делал на реале Пентагона, в этом эмуле идут отлично.
А вот с точками останова не дружу, к сожалению. Просто не пробовал.

---------- Post added at 14:57 ---------- Previous post was at 14:25 ----------

Народ, я просто просил то, что уже на форуме было. Только найти не могу. А было типа jp c, nc.... С вырвниваем до 4-х тактов. Никто не знает?

GM BIT 16th September 2010 17:09

Давал когда-то ты мне прогу которая настраивается на первый такт инта. Поискал не нашел. Ты говорил ее откуда-то из CodeBuster'сов дернул.

psb 16th September 2010 17:15

в общем, простого рецепта может и не быть, неизвестно что делается в коде. например, плеер pt3 какой-нить, там же много ветвлений, и остаток от деления на 4 может быть всегда разный, хрен такое просто выправишь.

VNN_KCS 16th September 2010 17:17

Quote:

Originally Posted by GM BIT (Post 315873)
Давал когда-то ты мне прогу которая настраивается на первый такт инта. Поискал не нашел. Ты говорил ее откуда-то из CodeBuster'сов дернул.

Дай ссылку на это пост. Помню, что именно там то, что мне надо. А тему ты поднимал вроде бы.


All times are GMT +4. The time now is 21:03.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.