Есть у кого-то готовая процедура для выравнивания INT на нулевой такт?
Если нет, может есть идеи как это практичней реализовать?
Вид для печати
Есть у кого-то готовая процедура для выравнивания INT на нулевой такт?
Если нет, может есть идеи как это практичней реализовать?
INT FILTER ONLY FOR PENTAGON-128
http://zxpress.ru/book_articles.php?id=552
Похоже такие проги нужно подгонять под каждую машину.
как-то это плохо соотносится с мультиколорными демами MDA DEMO, SHINY48, игре Defenders Of The Earth, и т.д. Где мультиколор и тексты на бордюре ничем не хуже чем в демах на пентагон :)Цитата:
Но, в любом случае, время исполнения одной и той же команды могло быть непостоянным, так что ни о какой полноценной синхронизации для создания тонких цветовых эффектов не могло быть и речи.
Насчет FILTER - то что нужно, только где-бы взять ее исходный код в нормальном виде? В тексте статьи он покоцан и разнесен по таблицам :(
Это не устранение дрожания. Это п/программа, которая позволяет запускать последуюшую за ней программу с одного и того-же места прорисовки растра.
Автор - alone. Посмотри как работает.
Такой процедуры нет, все делается ручками!!!
VNN правильно написал это только первоначально можно подправить 0-3 такта, остальное руками
---------- Post added at 19:37 ---------- Previous post was at 19:35 ----------
Если в последующей процедуре имеются ветвления (т.е. разное кол-во тактов) то эта программа не о чем
---------- Post added at 19:38 ---------- Previous post was at 19:37 ----------
Выложи в тексте а то на диске файл *.H просто не знаю в чем это смотреть?
Запусти Best View. Загрузи то, что надо, нажми в нём CAPS+T и... никаких проблем. Текстовик в твоём распоряжении. Токо перевести в твой формат. Я же тебе уже делал.
---------- Post added at 17:40 ---------- Previous post was at 17:38 ----------
Токо если рисунок на бордюре линейный, то по барабану. Ну почти по борабану.
---------- Post added at 17:52 ---------- Previous post was at 17:40 ----------
А ты придумай, чтоб не "смыкалось". Я изгалялся. А что делать!
---------- Post added at 17:57 ---------- Previous post was at 17:52 ----------
Дык постом выше лежит.
зачем руками? есть такая процедура, все автоматом подстраивается, вот она:
расчитана разумеется на без-WAIT'овые машины. На WAIT'овых машинах свои способы, например на фирменном ULA достаточно HALT сделать перед прохождением строки paper'а.Код:FILTER:
DI
LD HL,INT
LD (#81FF),HL
LD A,0
LD (BUFF+4),A
LD E,1
LD HL,BUFF
LD A,#81
LD I,A
IM 2
EI
HALT
CALL WAIT
INC E
CALL WAIT
INC E
CALL WAIT
INC E
DI
LD BC,2749
LD HL,(BUFF+1)
EX DE,HL
LD HL,(BUFF+3)
LD A,H
OR A
JR NZ,F2
F0:
LD A,L
CP 4
JR Z,DISP3
LD A,D
CP L
JR Z,DISP2
LD A,E
CP D
JR Z,DISP1
DISP0:
NOP
LD R,A
LD R,A
F1:
DEC BC
LD A,B
OR C
JR NZ,F1
RET
F2:
LD E,D
LD D,L
LD L,H
DEC BC
DEC BC
LD A,(HL)
NOP
JR F0
DISP1:
DEC BC
NOP
JR DISP0
DISP2:
JR DISP0
DISP3:
LD R,A
LD A,(HL)
JR DISP0
WAIT:
LD BC,2753
W1:
DEC BC
LD A,B
OR C
JR NZ,W1
LD B,(HL)
RET
INT:
LD (HL),E
INC HL
LD D,(HL)
LD D,(HL)
EI
RET
BUFF:
DEFS 5