Jump to content

Problem with core and single SID


Trapstate

Recommended Posts

Hello people,

I have built a core and SID module, but I'm having problems getting it to work. This is what I have done so far:

- Voltages of Core and SID are correct

- I can program and verify the 18f452-1/P

I loaded the sid_v2 test program, but no sound :(

It could be the SID, but I suspect the core because when I connect LED from TX pin to GND via 220 ohm than it does not light. When I measure the pins of XTAL I see nothing my scope, there is also nothing on the 1Mhz PWM output pin, which I would like to use for my SID. So:

- changed crystal (first was an 10 Mhz, second was a 8Mhz, I know this is wrong but I still should see some life right?)

- changed XTAL capacitors

But still no sign of life..  Can anyone tell me what I should measure between XTAL and it's Capacitors? Any tips and sugestions are welcome...

Trapstate

Link to comment
Share on other sites

Hi,

the PIC18F isn't binary compatible to the PIC16F, this means that you've to upload the MIOS version from Concepts->MIOS->Download

The required steps to upload an application are explained under Concepts->MIOS->Bootstrap Loader

Best Regards, Thorsten.

Link to comment
Share on other sites

Thanks Thorsten!

Guess I wanted things too quickly  :) I've uploaded MIOS and  installed Jsynth. All went wel, core sends out it's sytem exclusive and confirmed the upload.

But still I get no sound out of my SID 6581.  Tried configuring MIDI channel via Jsynth and sysex with my sequencer. Sent some example patches, but not sound when I hit a note on the designated channel.

The PIC gets MIDI in, and sends out an intermediate 1Mhz pulse. But when I measure the pins of the connector cable I see nothing on my scope. In addition I find my SID getting quite hot, though voltages are correct. Is this normal? Anybody some tips what to look for?

Trapstate  

Link to comment
Share on other sites

But still I get no sound out of my SID 6581.  Tried configuring MIDI channel via Jsynth and sysex with my sequencer. Sent some example patches, but not sound when I hit a note on the designated channel.

You could try selecting a patch from the library in JSynth and choosing "Play" from the pull down menu. Then it should play that sound once.

The PIC gets MIDI in, and sends out an intermediate 1Mhz pulse. But when I measure the pins of the connector cable I see nothing on my scope. In addition I find my SID getting quite hot, though voltages are correct. Is this normal? Anybody some tips what to look for?

There should be some life in the connector.

I guess the heating is normal behaviour. At least 6581 seems to get unbelievably hot, but the 8580 stays a bit cooler.

Link to comment
Share on other sites

Hi!

Unfortunately the problem is still there. But it's not the SID board, it's the core. When it switch on the core, programmed with the bootstrap loader, it sends out it's upload request sysex. I load MIOS in MIDI-OX, configured with 700 ms delay after F7. Device ID is all zero-ed, as default. When I send sysex, the bootstrap loader responds with 0f sysex. But after the upload it returns to sending upload request sysex!! Erased and reprogrammed the PIC, same thing. What could be wrong ??? Guess it can only be the midi in, but the midi in looks OK. Even checked the signal after the optocoupler with my scope, looks ok afaik. Does the bootstrap loader have an echo function, so I can send "test signals" to see if midi-in is working correctly?

Trapstate

Link to comment
Share on other sites

When you are uploading the MIOS with Midi-Ox, the core should return status messages after every packet. The messages contain a status code and the check sum of the previous packet, see http://www.ucapps.de/mios_bootstrap.html.

The correct check sums can be calculated e.g with the hex2syx script. If the core returns correct sums and 0F status, it should write the MIOS correctly.

Link to comment
Share on other sites

Did you set the correct display type in the PIC ID header? It should be 00 for character LCDs - don't use a number != 0 if no display is stuffed, otherwise MIOS could reboot infinitely under some special circumstances.

Quick check: take the "small skeleton" and add following code below USER_Init:

USER_Init
        ;; CLCD: define default enable pins for first and second LCD
        movlw   0x37            ; Pin D.7
        movwf   MIOS_PARAMETER1
        movlw   0x24            ; Pin C.4
        movwf   MIOS_PARAMETER2
        movlw   0x00            ; set type #00
        call    MIOS_LCD_TypeSet
        return

Best Regards, Thorsten.

Link to comment
Share on other sites

Indeed no LCD is connected (or the componements to support this, like the pot's and the bc337), but I program the bootstrap as default so device ID is all 0's.  Tried to open the small skeleton project in MPLAB 6.30, but I got a "no valid project" error (no files were in use at that moment). So I just opened and edited the main.asm file as you suggested, build it and coverted it to sysex.

But I still get upload requests after I sent sysex (again checksum is ok). Is there a way to bypass the bootstrap and directly flash MIOS_SID??

Trapstate      

Link to comment
Share on other sites

You don't need to bypass the bootloader, it's working. You are receiving 0F messages, this means that the checksums are correct and the code has been uploaded successfully. So the root cause for the failure must be related to any (currently unknown) MIOS problem or to a misconfigured hardware.

Did you equip the whole core module - especially the required pull-up resistors?

Best Regards, Thorsten.

Link to comment
Share on other sites

Thanks Thorsten!

Well, I load a standard configuration of MIOS sid 1.5b, so it can hardly be an unknown MIOS error. Must be the hardware then, I installed everything except a few headers, P1, P2, R3  , R4 and the BC. These last components are all for the LCD, wich I don't want to use ( I want to control the SID from my RS7000 harware sequencer). But maybe these componements *are* crucial for MIOS, so I will stuff the core completely and see what happends.

Trapstate

Link to comment
Share on other sites

Oooops  ::) Indeed that was the problem, I thought MIOS was already integrated in the application. Your schematic picture makes it very clear, now people like me can't go wrong anymore!!

But my problems aren't over (are they ever?) This is what I get when I power-up:

00129A32   1  --     F0  Buffer:     8 Bytes   System Exclusive    
SYSX: F0 00 00 7E 40 00 01 F7
0012A198   1  --     C0    00    --    1  ---  PC: Acc. Grand Piano
0012A199   1  --     C0    00    --    1  ---  PC: Acc. Grand Piano
0012A19A   1  --     C0    00    --    1  ---  PC: Acc. Grand Piano

So far so good (I think), but still my SId remains silent. Tried configuring midi channel in Jsynth and trough sysex and payed some notes: nothing. Sent some example patches: still nothing when I play notes. Patch dump request works.

When I measure the connector, I only see data on the S0 and SC pins,  wich drive the SID's cs# pin and the HC595 sclk pin respectively.

I'm thinking maybe I fried my SID during my measurements. It's ouput pin is now 5V DC., just like the input pin. Core seems to be ok now, right?

Link to comment
Share on other sites

yes, the core is running, so it's time to debug the SID module.

Whats about the 1 MHz clock? You are using a direct connection to the core module, do you see the signal on the scope?

Is the 12V supply ok?

ca. 5-7V DC at the Audio Out and Audio In are normal, only the AC waveform is for interest. Select the AC function of your scope and use a resolution of 500 mV/div, this should give you better measuring results

Best Regards, Thorsten.

Link to comment
Share on other sites

The RCLK pulse is high for ca. 200 nS some cycles before the CS# will be activated

Which timebase are you using? Maybe it's too short so that your scope doesn't trigger on this pulse?

Check it also without the SID module - if the pulse is available thereafter, you've a short on your SID module...

Another point which should be checked: how long are the cables between the core and the SID module? Does it work when you shorten it?

Best Regards, Thorsten.

Link to comment
Share on other sites

Thanks a million Thorsten!!! Finally my SID has come to life, and now it is making some beautifull sounds!!!

Turned out to be a short between two HC595 pins, the short was hardly visible but your tip on RES# indicated that it had to be there somewhere. With the smallest timebase (on my older scope) I could just barely see the RCLK, so this was ok. Tracing the signals and the aid of HC595 datasheets lead to the cause of my problems.

Now only some example patches won't play, like c64 bass and 6581 filtered bass. I suspect the that LowPass filter over OSC1 is not working, the 470nF capacitors look ok so maybe this filter of the SID is fried. I also hear a loud 'plop' sound when changing patches. I guess it's normal, but maybe this is caused by the faulty filter section??

Again, thanks a lot! When I finished it I'll send you a picture! Now I can go back to what I like most: make music :D      

Trapstate

Link to comment
Share on other sites

Burnt the PIC with the filter fix disabled, but still some patches don't play.  This has something to do with filters on OSC1, but first I will have to test some more.  Maybe first I will stuff another SID, if I can find a defect C64 (Don't want to hurt C64's wich are still alive) I now have 6581/ 3984

trapstate

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...