Methods - Here is an article by Denis Zodchenko.

++++++++++++++++++++++++++++++++++++++++++ 
+  METHODS  + 
++++++++++++++++++++++++++++++++++++++++++++ 
 Sokol/Infotek.                           
                           
 Here is an article by Denis Zodchenko:          
           
 AY has three registers that specify 
channel volume. If according to the corresponding 
The generator is turned on on the current channel - this will 
tone volume. If it's off, it will be 
4-bit DAC.                             
                                          
     In both cases, this value has a local 
garithmic dependence. Increase by 
one means increasing the volume/u- 
equal to the square root of two. Uwe- 
dividing by two - accordingly, by two times - 
for.  It was made from ergonomic 
considerations - human hearing has a log- 
rhyme diagram of sensitivity, 
the lower the volume, the more sensitive 
exactly ear to the same linear 
change in sound power (namely power 
ty, volume is puresubjective 
concept).  That is, if linearly increasing 
enter the volume number of the tone generator, per 
hearing volume will increase almost 
linear, and power - logarithmic.     
                                          
     When AY works as a DAC one at a time 
or several channels - this logarithmic 
logical dependence is not very convenient. But 
works :-)                              
     Having connected AY to BC at one time, I 
"invented" (too loud a word, but that's it) 
g) method of improving quality when losing 
single digitization (without mixing) 
of a bunch of channels).                        
                                          
     The method is as follows: in advance (in Basi- 
ke, for example) TWO tables are calculated. 
The values in these tables are as follows: for each 
up to one of the desired output levels 
all pairs of values written in AY are 
tions in such a way that the arithmetic mean 
the logical result was closest 
to the desired level. 256 options (pair 
4-bit values) for each of the 256 re- 
results.                                
     Playback is carried out as follows: for each 
of the digitization byte, two corresponding 
corresponding values, and SEVERAL TIMES 
are next written to the AY ports. This 
occurs at ultrasonic frequency, and 
the human ear of this alternation is simplydoesn't notice. The ear actually hears the same thing 
the desired average value.  As a result 
DAC AY becomes, as it were, not even human 
3-bit, or even better :-)              
                                          
     Playback is carried out from the IDE 
hard drive, also in a rather cunning way - 
bom.  The screw is initially given the command to chi- 
get away from the right place. When he gives out the 
accuracy, the program lost another 
digitization byte, and between alternating characters 
read data from the screw (four bytes 
ta).  Thus, while it was playing 
128 bytes, the sector in 
memory.  While playing the following 
384 bytes the screw managed to read the next one 
sector to its internal buffer and issue 
readiness. The speeds of even the ancient 20-me- 
Prairietek 120 shit was enough for 
to linearly read and play eight-bit 
new digitization.  At this time, against the backdrop of the car- 
Teens on the screen were playing something rough 
similar to an oscilloscope (XOR of a new one was made 
byte - a dash appeared in the vertical 
cal column, XOR old - disappeared 
previously stated). A sort of digital magician 
nitofon :)                                
                                          
     However, this player is just as successful 
could play on covox.                   

Share your thoughts about the article