View Single Post
12 October 2016, 20:14   #41
meynaf
son of 68k

Join Date: Nov 2007
Location: Lyon / France
Age: 44
Posts: 2,459
Quote:
 Originally Posted by pandy71 Well it looks like you not confused but OK let assume that 8 bit DAC is 8 1-bit DAC stacked together (it is not like this from circuit perspective and they are various circuit topologies) - what is source for multibit DAC nonlinearities accrodingly to you ? - as a coder you see only numbers and registers assuming that DAC is plain and linear extension where in real life analogy between arithmetic in ALU and real electric current is not direct. I know how SID and AY tricks works but how this is linked with Paula?
The AY trick is same as 14bit on Paula - combine channels to get more output levels.
I do not know what is the source of nonlinearities from the electric perspective, but you can probably explain this, huh ?

Quote:
 Originally Posted by pandy71 Problem is that you didn't explain anything - side to this you are ignoring fact that calibration assume less bits than in theory available (did you perform re-quantization on 8/6 sample part? - asked you about algorithm used in calibration)
Of course calibration assumes less bits than available in theory. But in theory we have 16 bits available !

Quote:
 Originally Posted by pandy71 You didn't explained anything and this is problem from my perspective as you expect me to believe when i'm trying to understand. How output is different on final output when compared to input signal (assumption is 16 bit samples at input) - please briefly describe steps from input to output.
Steps from input (2x 16bit) to output (4x 8bit) are :
Code:
``` lea d14b+\$10000,a3
.loop
move.w (a0)+,d0        ; left
move.w (a0)+,d1        ; right
move.w (a3,d0.w*2),d0
move.w (a3,d1.w*2),d1
move.b d0,(a2)+        ; low left
lsr.w #8,d0
move.b d0,(a1)+        ; high left
move.b d1,(a6)+        ; low right
lsr.w #8,d1
move.b d1,(a4)+        ; high right
subq.l #1,d2
bgt.s .loop
rts```
The steps to build the table are quite complicated and i can't tell how exactly it's done.

Quote:
 Originally Posted by pandy71 Understand how to achieve real 14 bit DAC accuracy on Paula.
This has been explained many times, sorry if you don't get it.

Quote:
 Originally Posted by pandy71 How there can be more than 14 usable in Paula with calibration - please explain as you didn't explain anything. My theoretical level is that on Paula with calibration you may have between 10 and 12 bit DAC accuracy - you can fit even 64 bit data but at the end it will not more than 12 bits.
There are 65536 possible output levels, of which many are not useful. At the end we get something like 16384, maybe even a little more.
What is so hard to understand here ???

Quote:
 Originally Posted by pandy71 I can tell you when you connecting Amiga to amplifier input without any signal as power plane is so noisy in Amiga... And there is substantial difference between real audio system capable to deliver real 16 bit performance and Amiga.
Oddly, i've found the exact opposite.
I connected an Amiga to a very powerful amp where the smallest fly's fart would have blown the loudspeakers away. I just got beautiful silence (try this with an Atari ST and you'll understand what noise really means !).
If your Amiga has noise then it's because you removed the shielding and/or added noisy components. Else an Amiga has much less electronic noise than the average PC.
So yes, that "real audio system"'s D/A are perhaps 16bit, but it doesn't mean it provides better audio experience.

Quote:
 Originally Posted by robinsonb5 I think the point Meynaf's trying to make is that when two channels are combined to do 14-bit, the channel that's at 1/64 volume is still an eight-bit DAC, and some of its range overlaps the range of the full-volume channel. This means we can input 65536 unique codes into the combined DAC, rather than the 16384 that a true 14-bit DAC could accept.
Yes, this is the point.

Quote:
 Originally Posted by robinsonb5 It's highly likely that non-linearities in the DACs mean that the vast majority of those 65536 codes give a unique output level, and with careful calibration (that the current calibration software may well not be doing sufficiently well) it may be possible to achieve higher than 14-bit resolution, but only in very specific (and not very useful!) parts of the range.
Exactly how many useful values we get out of 65536 is something i don't know. I doubt it's just 4096 though.