|
Born Dead #0G
31 марта 2000 |
|
Coding with their hands - Super-fast MCC player.

ЇЄ ЄєЇCODING own hands-II ЇєЄ ЄєЇ
(C) MOn5 + Er ^ Sa9e
Super-fast player with MCC
Without intros and endings will bring the best option
rasposledny player for the MCC method! Now they can play ALL -
Kotelnikov theorem is upon us!
EI; to run the port AY n7 record # FF!
HALT
LD SP, START-SAMPLE-ADRESS
LD IX, LOOP
LD DE, # 08 +256 * ('MCC_TBL +1)
LD BC, # FFFD
OUT (C), E; incl. 8 AY_port (last channel)
LOOP: POP HL
LD E, L
LD A, (DE)
DEC D
EX AF, AF '
LD A, (DE)
LD E, 9
OUT (253), A
EX AF, AF '
OUT (C), E
OUT (253), A
LD E, H
LD A, (DE)
INC D
EX AF, AF '
LD A, (DE)
LD E, 8
OUT (253), A
EX AF, AF '
OUT (C), E
OUT (253), A
JP (IX)
Handler INT'a:
INT: POP IY; have ADRs. return
PUSH HL; restore corrupted SAMPL
LD HL, 0
ADD HL, SP
LD BC, END_SAMPLE_ADDRESS
OR A
SBC HL, BC
JR NC, END_INT
LD BC, # FFFD
POP HL
JP (IY)
END_INT: a way out of the Player
160 cycles for two samples sample.
80 strokes per sample.
Fdiskret .= 3.5 MGts/80 = 43.75 kHz.
The player uses only one channel extreme AY, can be, and two for
double the volume (on quality, in principle, has almost no
influence count extreme channels ...)
The only drawback may be slightly slip the end of the sample,
as check again in INT, but the lack of easy to fix: in
the end of the sample (and he always unsigned 0 .. # FF, but
not -128 127) is filled with 896 bytes "silence" - Byte # 80
and all. Why 896 - Because in INT'e 71,680 cycles (maximum at
neturbirovannoy car) and 71680/80 = 896!
Other articles:
Similar articles:
В этот день... 27 October