
Сообщение от
GM BIT
Такой процедуры нет, все делается ручками!!!
VNN правильно написал это только первоначально можно подправить 0-3 такта, остальное руками
зачем руками? есть такая процедура, все автоматом подстраивается, вот она:
Код:
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
расчитана разумеется на без-WAIT'овые машины. На WAIT'овых машинах свои способы, например на фирменном ULA достаточно HALT сделать перед прохождением строки paper'а.