| |
tlr
Registered: Sep 2003 Posts: 1787 |
How do I reliably detect 6581/8580 sid?
There was an article in C=Hacking, but that does not work very well in VICE for example.
Maybe VICE's emulation is borked though.
I remember seeing a detailed analysis of the waveforms somewhere, but I can't seem to find it now.
|
|
... 47 posts hidden. Click here to view all posts.... |
| |
Necronomfive Account closed
Registered: Dec 2004 Posts: 20 |
Quote: Quote:
There is no audible difference between 6582 and 8580. Both Chips share the same design, have the same filter characteristics, the same sample "fix", and seem to have come out around the same time (1986). Why they actually labelled the same design under 2 different names is really beyond me, since labelling it 6582 bears the danger to confuse it with the 6581 and put it into the same socket....
but then I have 6582 datasheet and monolytic capacitors on pins 1-2 and 3-4 are other than for 6581 and 8580 , thus it should make differnece on filter... any ideas?
doublepost |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: It has always been a BIG difference what Commodore wrote in their Datasheets, and what was actually done in the real machines. ;) Like claiming that combining waveforms will result in a logical ANDing, which is absolutely not true.
Of course, it makes a difference if you apply different filter capacitors to the 6582 as it would make a difference if you would apply them to the 8580. What counts is how it sounds under the same conditions, and both 6582 and 8580 sound identical.
How are the waveforms combined then? |
| |
Raf
Registered: Nov 2003 Posts: 343 |
besides this all (sorry for OT) I exchanged 6581 with 8580 and they actually worked w/o any troubles (filter was messes ofcourse) , analogue part's voltage isn't that critical anyway , I guess it would work properly in range 8-15v for both chips (at expense of diffferent heating conditions probably) just like in many amplifiers (yeah.. filter is also amplifier... but selective only - for those who haven't heard about them in electronical contex) |
| |
Necronomfive Account closed
Registered: Dec 2004 Posts: 20 |
Quote: How are the waveforms combined then?
We don´t know yet. It´s quite confusing, especially if you quote Bob Yannes:
"Since all of the waveforms were just digital bits, the Waveform Selector consisted of multiplexers that selected which waveform bits would be sent to the Waveform D/A. The multiplexers were single transistors and did not provide a "lock-out", allowing combinations of the waveforms to be selected. The combination was actually a logical ANDing of the bits of each waveform, which produced unpredictable results, so I didn't encourage this, especially since it could lock up the pseudo-random sequence generator by filling it with zeroes."
If it would only be a logical ANDing, the results would actually be predictable. But Bob seemed to knew that something different was still going on, so he added this confusing "which produced unpredictable results". |
| |
yago
Registered: May 2002 Posts: 333 |
I am using another Method, I check how long Values in the read-only register stay intact.
That way i can detect 6581/8580/fastSID/reSID.
Have to do more tests on real things, however.
|
| |
tlr
Registered: Sep 2003 Posts: 1787 |
Quote: We don´t know yet. It´s quite confusing, especially if you quote Bob Yannes:
"Since all of the waveforms were just digital bits, the Waveform Selector consisted of multiplexers that selected which waveform bits would be sent to the Waveform D/A. The multiplexers were single transistors and did not provide a "lock-out", allowing combinations of the waveforms to be selected. The combination was actually a logical ANDing of the bits of each waveform, which produced unpredictable results, so I didn't encourage this, especially since it could lock up the pseudo-random sequence generator by filling it with zeroes."
If it would only be a logical ANDing, the results would actually be predictable. But Bob seemed to knew that something different was still going on, so he added this confusing "which produced unpredictable results".
It's mostly unbuffered NMOS, so when more than one multiplexer is enabled, one wave-shaper could affect the logic inside another. Isn't this the way the noise LFSR gets zeroed? The multiplexer directly loads the shift register bits?
I suspect that the mux he describes is a transistor connected as a single-ended transmission gate.
Note that these are speculations based on what is in the patents of different Commodore NMOS devices.
|
| |
MC Account closed
Registered: Jul 2009 Posts: 71 |
Both mentioned methods, C=Hacking 20 and Mathematica of detecting which SID is being used/emulated fail on Winvice in FASTSID mode and an 8580 is detected all of the time... (with RESID both methods work 100% perfect).
Is there any way to tell which SID is being emulated when people use FASTSID emulation on their slow-assed pc?
|
| |
Raf
Registered: Nov 2003 Posts: 343 |
FastSId isn't too precise, so does it really matter if it is detected 8580 or 6581 under fastsid? btw nowadays even lower end atoms can run reSID at maxed oversampling + resampled interpolation, so why bother? FASTSID is useful for < 500Mhz machines. ("max quality" newest resid takes up to 10% of one core at my phenom x2 550 @3.4Ghz...) |
| |
Frantic
Registered: Mar 2003 Posts: 1647 |
@MC: Dunno about that, but perhaps there is some way of detecting VICE at least, which may perhaps help at least a little... And in the end, you could always also allow people to select the SID model they have manually.
Overall, I don't think one should conform too much to shortcomings of emulators. That is just likely to mess things up in the end (especially the day when emulation changes). Also, I think it is fair to expect that people who want to use your music editor in VICE will actually have resid-fp enabled, since it is more accurate.
Personally I prefer this detection method:
http://codebase64.org/doku.php?id=base:detecting_sid_type_-_saf..
The Mathematica/Reflex detection routine has been reported not to be 100% reliable, although I have not experienced problem with it myself. |
| |
iAN CooG
Registered: May 2002 Posts: 3187 |
; Detect fastSID/reSID/reSID-fp/Hoxs/CCS. Real C64 untested.
; Just measure how much $d418 takes to decay from $1f to $00
; Experiment by iAN CooG, noticed first time in Excalibur intro exc-01
*=$0801
word eop
word 7102
byte $9e,"2059"
eop byte 0
lda #0
sta $0400
sta $0401
sta $0402
;SEI probably not needed
lda #$1f
sta $d418
loop
inc $0400
bne nohi
inc $0401
bne nohi
inc $0402
nohi
lda $d418
bne loop
;values | Engine
;---------+--------
;xx xx 01 | hoxs
;xx 07 00 | residfp
;xx 03 00 | resid
;xx 01 00 | ccs
;xx 00 00 | fastsid
lda $0402
beq vice
cmp #$01
beq hoxs
bne realc64
vice
lda $0401
beq fastsid
cmp #$04
bcs residfp
cmp #$03
bcs resid
ccs
lda #"S"
byte $2c
resid
lda #"R"
byte $2c
residfp
lda #"P"
byte $2c
fastsid
lda #"F"
byte $2c
hoxs
lda #"H"
byte $2c
realc64
lda #"C"
jmp $ffd2
|
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next |