ZX81 driving a SID 6581

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
crankorgan
Posts: 163
Joined: Thu Oct 20, 2011 12:53 am

Re: ZX81 driving a SID 6581

Post by crankorgan »

I have not given up yet! The SID chips I have are out of nonworking 64 units. At this point they could both be bad or something is not right. I have LEDs on all the Address and Data lines and the /CS pin. I can see the data going in! I used a PAUSE after every entry. I have a working 64 coming. I will get that to sound using POKES. Then hopefully I can test these chips. Some 64 units have the SID in a socket. There are posts on the Internet to how fragile these chips are! I used all precautions.
pastbytes
Posts: 27
Joined: Tue Dec 27, 2011 9:11 am
Location: Argentina
Contact:

Re: ZX81 driving a SID 6581

Post by pastbytes »

Could you tell me the address/data sequence you are sending to the SID?
You need to load the AD and SR registers of the voice you want to use, then load the high and low bytes of the corresponding frequency registers, also set the master volume for the 3 voices, then you can start the attack cycle with the same "poke" used to set the waveform. To test you could use triangle (16), to start the attack cycle then you would send a 16+1 value (bit 0 starts attack when set) to the control register, and once the attack and decay cycles are completed, you could start the release cycle sending a 16+0 (bit 0 starts release when reset). A few milliseconds later you are ready to start a new attack cycle.
crankorgan
Posts: 163
Joined: Thu Oct 20, 2011 12:53 am

Re: ZX81 driving a SID 6581

Post by crankorgan »

I am going to wait for the Commodore 64. It is either the chips are bad or the sequence is wrong. A guy named Mike has been helping me. He has driven a SID with his micro. It may be something Mike and I have over looked or the SIDs pulled from nonworking 64s are bad. I might have even burnt the SID out! Once I see the POKES go into the 64 and make sound I will then test the two SIDs. I am hoping the 64 has sockets. One of the two 64s I bought had sockets. I have never had this much trouble with a electronics projects. I am betting the SIDs were bad from the beginning. The 64 should be here today or tomorrow.
crankorgan
Posts: 163
Joined: Thu Oct 20, 2011 12:53 am

Re: ZX81 driving a SID 6581

Post by crankorgan »

I got the Commodore 64 but no monitor. I had to ring out cables and use my B&W monitor and my amp section on the proto board. Found out my AMP section is dead. I did a quick bypass. The SID produces a click and processor noise if you hit it with a POKE 54296,15 and then turn it off with a POKE 54296,0 That is Address 00100 and Data 00001111 with a /CS to the chip and a Address 00100 with Data of 00000000 /CS turns it off. Now to get the ZX81 to produce the click and then a tone. In the 64 I was able to get the Chip to make noise then hitting it with POKES at different addressed changed the frequency without it shutting off. I won't say I am almost there! Well at least all three SIDs still work!!!!!
crankorgan
Posts: 163
Joined: Thu Oct 20, 2011 12:53 am

Re: ZX81 driving a SID 6581

Post by crankorgan »

The LM386 wanted 12Volts to work. Now I got it working at 5volts.(go figure) I got the ZX81 driving the SID using my Christmas tree light circuit. Poke 8192, something Does the Address Poke 10240, something does the Data and a Poke 12288, one then zero shifts /CS on and off shifting the address and data into the chip. The next step is to put the address of the ZX81 into the one latch so Poke 8192,0 is the Base address. After that works I add a one shot or gates so a simple Poke loads the chip. It can be done!
crankorgan
Posts: 163
Joined: Thu Oct 20, 2011 12:53 am

Re: ZX81 driving a SID 6581

Post by crankorgan »

Getting the address lines to latch out during a Poke is harder than I thought. One circuit works until it heats up! The circuit has to latch out the address lines from 8192 to 8216. So a Poke 8192,8 would produce an address of 00000 and Data 00001000

I need a break! I just called and old friend and he does not remember me! He is 80 and he remembered me 5 years ago.
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: ZX81 driving a SID 6581

Post by sirmorris »

It gets like that sometimes :¬/

C
pastbytes
Posts: 27
Joined: Tue Dec 27, 2011 9:11 am
Location: Argentina
Contact:

Re: ZX81 driving a SID 6581

Post by pastbytes »

If you are using the address/data buses instead I/O ports to connect to the SID, you don't need latches, since the SID is a chip designed for memory mapped I/O. You could connect directly the address and data buses to the SID, so when you poke to addresses between 8192 and 8223 you will write both to RAM and to one of the 32 SID registers. You have to be sure that the SID's CS pin is low only when you write to that RAM (8192...8223), and high when you read that RAM or access any other address. This way you can't read the SID registers, but it's easier to start with some tests. What you will read in that RAM are the values you previously poked to the SID, not the actual values in the SID registers.
crankorgan
Posts: 163
Joined: Thu Oct 20, 2011 12:53 am

Re: ZX81 driving a SID 6581

Post by crankorgan »

Pastbytes,
The SID needs some clock cycles in order to move data from the address and data lines into the SID. I wanted to make sure clean DATA was there to be clocked into the SID. The Commodore 64 SID runs off the system clock so it works. In this case I have a 2K clock into a flip flop giving me 1K. MY clock is not off the ZX81. If clean data is not on the SID during the clock in cycles it won't work or it will be hit and miss. A SID does not work like a Memory or other chip. At least this is what I have been told and understand.

John
pastbytes
Posts: 27
Joined: Tue Dec 27, 2011 9:11 am
Location: Argentina
Contact:

Re: ZX81 driving a SID 6581

Post by pastbytes »

I forgot about the differences of speed between the Z80 and the SID, but everything in a 6502 system works like memory, the SID, VIC, VIAs, CIAs, etc. By the way, I'm a C64 user and programmer, and I have a SID6581 that I want to use with a PIC microcontroller, but I don't know if it's working, I'll have to test it in the protoboard one of these days.
Post Reply