Chameleon and SIDFX

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser. Please create an account and log in to see all content by default. This is a limitation of the forum software.


Also users that are not logged in can not create new threads. This is a, unfortunately needed, counter measure against spam. Please create an account and log in to start new threads.

Don't Panic. Please wash hands.
  • Hi,


    One of the things I like about the C64 is the SID chip. I use the CH2 in cartridge mode and wonder: would it be possible to insert the C64's Sid sound in the CH2 so it can be mixed with the headphone exit? I am thinking about a riser under the SID that exports the audio and somehow inserts that in to the CH2?


    If the C64's cartridge slot doesn't have an audio, then perhaps a small audio input connector for stereo input? I have a SIDFX installed that does stereo sound and optimally that stereo sound can be passed through.


    About the built-in SID player: does that determine which SID is on board or not? I tried to play some stereo songs on my dual 8580's and the SID player reports 1 SID 6581.

  • Quote

    If the C64's cartridge slot doesn't have an audio, then perhaps a small audio input connector for stereo input? I have a SIDFX installed that does stereo sound and optimally that stereo sound can be passed through.

    The chameleon is "feature complete", and the v2 hardware is likely to stay - so adding anything like that is out of the question. I don't quite understand what your problem is though - if you have a stereo SID solution in the C64 already, why don't you just use it's audio output? what exactly is the point with mixing it with the chameleon output?


    Quote

    About the built-in SID player: does that determine which SID is on board or not? I tried to play some stereo songs on my dual 8580's and the SID player reports 1 SID 6581.

    What the internal player shows is the the type of SID defined in the .sid file header, and it will select the respective emulated SID automatically. It does not detect the SID in the C64, because that would be kinda pointless, it cant change whats there afterall :)

  • Hi Tobias,


    So if I understand it correct: the Chameleon SID player does not use C64's internal SID but always uses the emulated SID in the Chameleon? That would be funny, because that would imply that I couldn't use my SIDFX from the Chameleon's SID player.


    I thought Chameleon used the SID chips on the C64's board, in Cartridge mode. How can I make sure that my C64 program uses a real SID and not the emulated SID's?

  • No, in cartridge mode always the internal SID _and_ the emulated SID are being used. And you can of course also use an internal stereo SID solution, in that case the chameleon will even do the remapping if needed - thats what the "SID Real Stereo Chip" option is for, set it to whatever address your second real SID is mapped to. then by changing the "SID Emulation" setting the actual mapping will get changed - and the internal player will use the stereo SID and map it to whatever the .sid file needs automatically.

  • Hi Tobias,


    Thanks for your reply.


    Have you ever worked with a SIDFX and Chameleon V2? Because both the SIDFX person and I run in to unknown issues. Second SID appears/dissapears, second SID is detected wrong (8580 instead of 65..) Its hard to actually debug why my SIDFX doesn't work because the errors are inconsistent. I can only set my "SID Emulation" to mono or stereo at some address. I do not have the "SID emulation off option".


    Furthermore: SIDFX requires a tap on 6510 lines 12 and 15 so it can detect whether different addresses are used. For the Cartridge connection I have one yellow line on 7. I believe that even in cartridge mode the onboard 6510 is not used so both data-lines are useless.

    Regards

  • I don't own a SIDFX myself so we have not tested this with one. So far we havent heard of any problems with other stereo SID solutions however, so in general it should work.

    Quote

    I can only set my "SID Emulation" to mono or stereo at some address. I do not have the "SID emulation off option".


    yes. as said, you set the "Real Stereo SID" option to whatever your real SID second SID is mapped to. Then the actual mapping is selected by the "SID Emulation" setting. This way you can change the mapping without changing the physical mapping of the real second SID.


    The CPU isnt used, however the respective signals are still available on the Bus - what will NOT work is mapping registers into the I/O space (i dont know if the SIDFX wants to do this)


    Is there some kind of technical description about the SIDFX available somewhere so i can have a look and see if there are possible conflicts?

  • According to https://www.sidfx.dk/details

    SIDFX can be configured to map SID 2 at either $D420, $D500 or $DE00. These are the typical address spaces used for stereo SID tunes. While in mono mode SID 2 resides at $D400.


    Website doesn't specify how that selection is made, but any of the addresses should work with Chameleon without any problems if matched in "Real Stereo SID" setting of Chameleon.

  • if i understood correctly, the configuration is done with some software running on the c64, which writes to registers mapped to $d41d/e/f - you'll have to do this first without chameleon connected (or select an empty core slot)

  • Hi Tobias,


    If I use an empty core slot, can I then still use the drive emulation? I don't have a floppy drive nor a tape player, so I can't load software through other media. I took Chameleon because its an all in one solution that also emulates the drives.

  • I forgot, I have reconfigured my SIDFX about a 1000 times because the SIDFX configuration utiity had troubles identifying the right SID's. I had to reflash the SIDFX with a developer firmware that overrules, the built-in detection so you can manually specify which SID's are on board.


    I think its SID1+SID2 mono (so both play the same song) while sharing one address. That worked.

  • now you lost me... when you say you reconfigured the SIDFX (using the software downloadable from the homepage, i guess?) - did this actually work at all? (i would guess it didnt, it probably behaves as if no SIDFX is installed at all).


    however, what you should do is configuring it for stereo (or "double mono") - ie with one sid at $d400 and the other somewhere else.


    what i would try is, set up the chameleon so "Real Stereo sid" says $de00 AND "Sid Emulation" says $de00 too. now start the SIDFX tool from the filebrowser. make sure no other cartridge (action replay or similar) is active. now configure the SIDFX for stereo with second SID at $de00 and save the settings to it. and then try with the internal player (and some stereo tune) if the second SID on SIDFX makes sound.


    edit: when you say you flashed a new firmware... how exactly did you do that? did the tool detect the SIDFX? does the config tool detect the SIDFX too? if yes, then the above should work. What can NOT work is changing the mapping using the config tool to something different than what is configured in the chameleon menu.


    edit+: i peeked at the code of the config tool a bit... there are hardcoded delay loops, so make sure you dont have the turbo enabled when you run it, that will certainly break it.

  • Hi Tobias,


    Yes, reconfiguring seems to do something. After the first install: the 8580 was recognised, the 6581 was an "unknown" SID type. After contact with the SIDFX people I flashed a new SIDFX firmware that allowed me to overrule the auto detect so I could manually set the SID type. That worked. I hadn't looked at CH2's SID emulation settings. ( I didn't realise that the code actually runs inside CH2 and that this code actually scans simulated SID's).


    I set the emulated SID's at stereo on $d4xx and the real stereo SID on $D420 like you suggested, I configured SIDFX to have the second SID at $d420 and I got sound again. Tweaking with SIDFX configuration tool does something because there are configuration settings that completely mute both SIDS.


    There is another issue, that also troubles this water: SIDFX has two connectors: 1 that reads the profile (you can have three profiles which allow for three different SID settings: for example left profile is Mono SID1+SID2, Center is Stereo SID1 and SID2 at $D420 and the right profile for example Stereo SID, with SID2 for example at $D500). The switch used for selecting is a 3 way switch. A second 3 way switch (that works because I swapped them) is used for selecting how audio channels are mixed. That switch should have 3 setting left/center/right but it only has RR- where the - (minus) is an undefined position that should technically not be possible. (switch is both in left and right position) so I can't determine how sound is actually mixed. It mostly sounds, like I hear only one SID. I do not know how the software running inside CH2 reads the status of the switches.


    So now I am looking for a solution that does not emulate SID but still gives me the possibility to load software from an SD card. The only way to test and verify the SIDFX is by completely removing the CH2 from the equation.

  • First, in cartridge mode the software does not "scan simulated sids". In cartridge mode the emulated sids only run in parallel to the real SIDs, they only ever recieve writes, they never respond to reads. The only exception to that are the paddle registers, which might be replaced by the ps/2 mouse emulation.


    that said, reads and writes to d41d-1f go the C64, and should work - and what you say confirms that it does (else the config program should say "SIDFX not detected"). that means configuring SIDFX for stereo at a certain address and then setting up the chameleon accordingly should work.


    i did not see any accesses to actual SIDs in the SIDFX program btw, it does all detection via its own registers - so that should work as well, regardless how the chameleon is set up. the same applies to the status of the switches.


    that said, i think we are really looking at a XY problem here - and you should indeed try to test the SIDFX first without the chameleon active. if you dont have any other way to load the software, one way to do it would be using the chameleon in standalone mode and connecting it to the c64 via the IEC cable. then you can use it as a plain drive emulator (you'll need the iec cable, a ps/2 keyboard, and another vga screen)


    i dont know how i could help with debugging this problem further, sorry.

  • Tobias

    Changed the title of the thread from “Product improvement and question” to “Chameleon and SIDFX”.
  • The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.