Померил бип-движок из Dragon Breed: жрет в среднем около 52500t.
Есть где оптимизировать, но цикл генерации звука должен остаться таким, какой есть, иначе звучание изменится.
Вот кусок кода:
Код:
; ....
EXX
LD HL,(LC29DH)
EXX
LD HL,(LC2A1H)
PUSH HL
LD HL,(LC29FH)
EXX
; ------------------------
LC26BH
ADD HL,DE
LD A,H
CP A,00H
RL C
EXX
EX (SP),HL
ADD HL,BC
LD A,H
OR (HL)
EX (SP),HL
CP A,00H
RLA
EXX
OR C
LD C,A
EXX
ADD HL,DE
LD A,H
CP A,33H
RLA
EXX
OR C
RRA
SBC A
AND A,10H
OUT (FEH),A
DJNZ LC26BH
; ------------------------
EXX
LD (LC29FH),HL
POP HL
LD (LC2A1H),HL
EXX
LD (LC29DH),HL
SUB A
OUT (FEH),A
RET
; ....
---------- Post added at 13:01 ---------- Previous post was at 12:48 ----------
Совсем забыл:
52500t жрет когда звучки играются "длинными кусочками", например в меню.
Во время игры звучки генерятся короткими "кусочками", получается около 22500t