Сообщение от
psb
ну а википедия не работает что ли? а гугль?
дельта-код говорит сам за себя: хранится не значение, а изменение значения (разность с предыдущим).
А вот и простейшая реализация энкодинга-декодинга:
По адресу #C000 лежит звук, в DE - длина.
Код:
;/-------------------------------------------------------------------------------------------/
DELTA_ENCODE
LD HL,#C000
LD C,#00
DELTA_ENCODE2
LD A,(HL)
SUB C
LD C,(HL)
LD (HL),A
INC HL
DEC E
JP NZ,DELTA_ENCODE2
DEC D
JP P,DELTA_ENCODE2
RET
;/-------------------------------------------------------------------------------------------/
DELTA_DECODE
XOR A
LD HL,#C000
LD C,#00
DELTA_DECODE2
LD A,(HL)
ADD C
LD C,A
LD (HL),A
INC HL
DEC E
JP NZ,DELTA_DECODE2
DEC D
JP P,DELTA_DECODE2
RET