CODING
(C) UnBEL! EVER ^ Speed co. ^ XTM
Today, continuing the massive propaganda MCC method, we
publish a new version of the player's digital samplov more
easy to understand and easy to use. The fact that
pursuit of minimizing the number of clock cycles per byte
MONSTER use Several non-standard method of control end play
sound. Previously it was necessary to convert samplov with
Special protsedurki. However, it gave an increase in tangible
Time - Sources, published in the annex to the BORN DEAD'u # 5
could easily reproduce the sound with a frequency up to 26KHz.
However, experience shows that such a high frequency
play is almost never necessary, and a clever way
Control end samplov deprives certain player
flexibility. Here's why and it was a different player, more
slow (the upper limit of 24KHz), but easy
use. Now, as usual, in front of the player
given the length and starting address samplov.
But not only the player has undergone changes! With the new
data collected about the music processor from the literature,
indeed possible to calculate the ideal MCC table that
now has 108 levels loud. Yes, and the total volume
sound compared to the old table
increased. This source file table is framed as a text
assembler (DEFB), which simplifies life - not to do
incbin'ov! Although, as you like ....
To facilitate the end-use player were
calculated delay, which must be inserted into the main loop
for accurate otsifrovok at standard frequencies
8,11,16 KHz. Delays were calculated on ALK'om PENTAGON'e on
quite interesting principle: the frequency of the sound
multiple line scan monitor. Perhaps these delays are not
ideal and the experienced mathematician can calculate something
more precisely, but at least these numbers are more consistent
with the truth than selection of the playback speed "to a
rumor."
And yet, on some quite buggy pathology does not work
appeal to the coprocessor port scheme OUT (253), A. In such
Severe cases (when the standard player is silent) is recommended
use the full addressing of ports coprocessor _NO_
involved in this (used by default in all cases) nor in
Do not. With the full address
increases the time between the issuance of the primary and
corrective signal and, therefore, questioned the very concept of
MCC method.
And of course, when using the method in the final product should
necessarily enable the user to select a central
channel coprocessor (the one to be granted an adjustment
signal), ie stereo layout on this machine: ABC, ACB or
BAC (and this happens)! Otherwise, if an incorrect indication
MCC central canal method simply makes no sense, and sound
will absolutely terrible: (
; Samples Player with MCC_metod (C) Monster / Sage Group
; 24305.556 Hz Discretisation Frequency
; Freeware
MCC_TBL EQU # 6200, # 200
SAMPLE EQU # 8000; Sample Adress
SIZE EQU # 4000; Sample Size
ORG # 6400
DI
LD BC, # FFFD; Init AY
LD A, # 07
OUT (C), A
LD A, B
LD B, # BF
OUT (C), A
LD HL, SAMPLE; Set Sample Adress
LD BC, SIZE; Set Size Sample
LD D, 'MCC_TBL +1
EXX
LD BC, # FFFD
LD DE, # 080A; Set Right_Left AY channel
LD H, # 2009; Set Center AY cnannel
EXX
CALL MCC_PLY
EI
RET
MCC_PLY LD E, (HL); E = 8bit Sample Data
LD A, (DE); A = Correction Data from table
EX AF, AF '
DEC D
LD A, (DE); A '= Main Data
INC D
EXX
OUT (C), D
OUT (253), A; Set Main Data in Right_Left
OUT (C), E; AY channels
OUT (253), A
EX AF, AF '
OUT (C), H
OUT (253), A; Set Correction Data in Center
EXX; AY cannels
INC HL; next sample data
DEC BC; dec size sample
;-------------------------------------------------
------------; LD A, 4, 80 tackts delay ; DELAY DEC A; to use
with 16khz samples ; JR NZ, DELAY
; OR 0
; OR 0
;-------------------------------------------------
------------; LD A, 11, 182 tackts delay ; DELAY DEC A; to use
with 11KHz samples ; JR NZ, DELAY
; NOP
;-------------------------------------------------
------------; LD A, 18, 304 tackts delay ; DELAY DEC A; to use
with 8KHz samples ; JR NZ, DELAY
; OR 0
; OR 0
;------------------------------------------------- ------------
LD A, B; All code takes
OR C; only
JP NZ, MCC_PLY; 144 tackt per Sample Byte
RET
ORG MCC_TBL
; MCC Table with 108 syntesed levels for YM2149F
; And 52% mixed center channel
DEFB # A0, # A1, # A1, # A2, # A3, # A3, # A4, # A4, #
A4, # A5, # A5, # A5
DEFB # A6, # A6, # A6, # A6, # A6, # A7, # A7, # A7, #
A7, # A7, # A7, # A7
DEFB # A8, # A8, # A8, # A8, # A8, # A8, # A8, # A8, #
A9, # A9, # A9, # A9
DEFB # A9, # A9, # A9, # A9, # A9, # A9, # A9, # A9, #
A9, # AA, # AA, # AA
DEFB # AA, # AA, # AA, # AA, # AA, # AA, # AA, # AA, #
AA, # AA, # AA, # AA
DEFB # AB, # AB, # AB, # AB, # AB, # AB, # AB, # AB, #
AB, # AB, # AB, # AB
DEFB # AB, # AB, # AB, # AB, # AB, # AB, # AB, # AB, #
AB, # AB, # AB, # AB
DEFB # AB, # AB, # AC, # AC, # AC, # AC, # AC, # AC, #
AC, # AC, # AC, # AC
DEFB # AC, # AC, # AC, # AC, # AC, # AC, # AC, # AC, #
AC, # AC, # AC, # AC
DEFB # AC, # AC, # AC, # AC, # AC, # AC, # AC, # AC, #
AD, # AD, # AD, # AD
DEFB # AD, # AD, # AD, # AD, # AD, # AD, # AD, # AD, #
AD, # AD, # AD, # AD
DEFB # AD, # AD, # AD, # AD, # AD, # AD, # AD, # AD, #
AD, # AD, # AD, # AD
DEFB # AD, # AD, # AD, # AD, # AD, # AD, # AD, # AD, #
AD, # AD, # AD, # AD
DEFB # AD, # AD, # AD, # AD, # AD, # AD, # AD, # AD, #
AD, # AE, # AE, # AE
DEFB # AE, # AE, # AE, # AE, # AE, # AE, # AE, # AE, #
AE, # AE, # AE, # AE
DEFB # AE, # AE, # AE, # AE, # AE, # AE, # AE, # AE, #
AE, # AE, # AE, # AE
DEFB # AE, # AE, # AE, # AE, # AE, # AE, # AE, # AE, #
AE, # AE, # AE, # AE
DEFB # AE, # AE, # AE, # AE, # AE, # AE, # AE, # AE, #
AE, # AE, # AE, # AE
DEFB # AE, # AE, # AE, # AF, # AF, # AF, # AF, # AF, #
AF, # AF, # AF, # AF
DEFB # AF, # AF, # AF, # AF, # AF, # AF, # AF, # AF, #
AF, # AF, # AF, # AF
DEFB # AF, # AF, # AF, # AF, # AF, # AF, # AF, # AF, #
AF, # AF, # AF, # AF
DEFB # AF, # AF, # AF, # AF, # A0, # A0, # A1, # A1, #
A0, # A1, # A0, # A1
DEFB # A3, # A1, # A2, # A3, # A0, # A1, # A2, # A3, #
A4, # A0, # A1, # A3
DEFB # A4, # A5, # A5, # A6, # A0, # A1, # A2, # A3, #
A4, # A5, # A6, # A6
DEFB # A0, # A1, # A2, # A3, # A4, # A5, # A6, # A6, #
A6, # A7, # A7, # A7
DEFB # A8, # A0, # A0, # A1, # A2, # A3, # A4, # A5, #
A6, # A6, # A6, # A7
DEFB # A7, # A7, # A8, # A8, # A0, # A0, # A1, # A2, #
A3, # A4, # A5, # A5
DEFB # A6, # A6, # A7, # A7, # A7, # A8, # A8, # A8, #
A8, # A9, # A9, # A9
DEFB # A9, # A9, # A9, # AA, # AA, # AA, # A0, # A0, #
A0, # A1, # A2, # A3
DEFB # A4, # A5, # A6, # A6, # A6, # A7, # A7, # A7, #
A8, # A8, # A8, # A8
DEFB # A9, # A9, # A9, # A9, # A9, # AA, # AA, # AA, #
AA, # AA, # AA, # AA
DEFB # A0, # A0, # A0, # A1, # A2, # A3, # A4, # A5, #
A5, # A6, # A6, # A7
DEFB # A7, # A7, # A8, # A8, # A8, # A8, # A9, # A9, #
A9, # A9, # A9, # A9
DEFB # AA, # AA, # AA, # AA, # AA, # AA, # AA, # AB, #
AB, # AB, # AB, # AB
DEFB # AB, # AB, # AB, # AB, # AB, # AB, # AC, # AC, #
AC, # AC, # AC, # AC
DEFB # AC, # A0, # A0, # A0, # A0, # A1, # A2, # A3, #
A4, # A5, # A5, # A6
DEFB # A6, # A7, # A7, # A7, # A8, # A8, # A8, # A8, #
A9, # A9, # A9, # A9
DEFB # A9, # A9, # AA, # AA, # AA, # AA, # AA, # AA, #
AA, # AB, # AB, # AB
DEFB # AB, # AB, # AB, # AB, # AB, # AB, # AB, # AB, #
AC, # AC, # AC, # AC
DEFB # AC, # AC, # AC, # AC, # AC, # AC, # AC, # A0, #
A0, # A0, # A0, # A0
DEFB # A1, # A2, # A3, # A4, # A5, # A5, # A6, # A6, #
A7, # A7, # A7, # A8
DEFB # A8, # A8, # A8, # A9, # A9, # A9, # A9, # A9, #
A9, # AA, # AA, # AA
DEFB # AA, # AA, # AA, # AA, # AA, # AB, # AB, # AB
ORG # 6400