SIDcog's rockin' but SNEcog and AYcog silent?
overclocked
Posts: 80
Hi all,
I'm very happy to getting the simple ExamplePlayRoutine in SIDCog to sound from my P1V. Have anybody else tried sound from it? Running the examples shipped with SNECog and AYCog soudn nothing? The code is written by the same genius and using the same output pins and everything? Anybody got an idea to why the 2 brothers don't want to sing?
I'm very happy to getting the simple ExamplePlayRoutine in SIDCog to sound from my P1V. Have anybody else tried sound from it? Running the examples shipped with SNECog and AYCog soudn nothing? The code is written by the same genius and using the same output pins and everything? Anybody got an idea to why the 2 brothers don't want to sing?
Comments
Yes you are correct. Due to Instabilities in the xilinx build I'm running the P1V at 60/120 MHz. Thanks for the info. I'll have a look at this and give some feedback if i find a solution.
I use sidcog in my player here: http://forums.parallax.com/showthread.php/156954-A-DE2-115-Propeller-demo-board-project-now-programmable-with-the-Propplug
I didn't try AY and SNE emulators.
Microblaze Starterkit connected to my own ArcadeExtender board.
I rebuilt the P1V to connect pin 10-11 to right/left audio output fo my ArcadeExtender. This is just the pins connected directly to RC-net filter and then to a line-out mini-phono socket.
The only change I've done to the Spin-source is to change the freq to suit my underclocked P1V thus:
5_000_000 => 3_750_000
But I only tried the simple Player application that includes the actual player data. I'm very interested in doing SD-access and using the dump-player instead! This is the next step, but would really like to understand why only 1 of the chips sounds first..
If I am right, setting clkfreq at 80000000 where the true freq is 60000000 will make the sound lower, but it will run. If this is the case, you will have to decrease sample rate to make these chips run @ 60 MHz
Ahh thanks pik! That makes sense. I will try this when I get home.
And by changing for example the following line in AYcog from 125 to (125/80*60 => 93,75) everything seem to work ok!
SAMPLE_RATE = 93_000 ' Sample rate of AYcog (125 kHz is maximum for an 80 Mhz propeller)
The reason for the SIDcog to work is that it actually uses the following scheme when calculating max output freq:
Thus the higher the clock, the higher the quality, but it always copes with it and plays music! Nice work there! Maybe all of these should do the same.. if that is what one wants..
Is there an easy way to know how busy the Propeller/Cog really is? Like how many percent load it running?
OK next up s the SD-card.. lets see if I can get one of those Dump-player running! it would be great!
SampleRate variable is the number of clocks for one loop, so the real sample rate is something about 32 KHz regardless of Propeller clock. Then, after SidCog ends its work for one loop, a waitcnt is used.
For 80 MHz SampleRate is something about 2512
The number of cycles for SidCog to complete one loop depends on sound complexity and is something about 2000, so the works at 80% of its power @80 MHz.
If the frequency is lower and SampleRate go under 2000 there can be cases when it will be too low cycles to complete the loop and then it will hang on this waitcnt at the end of the loop.