Jump to content

SRIO troubles


Ajax
 Share

Recommended Posts

Hello there, I've been trying to work out this problem for a few weeks now, with no changes. My issue is that when I press the first GP button on my SID minimal CS it works just fine, but the second GP button acts like every other button there is. When I hold it down it activates the shift function, and when I release it toggles the waveform, sync function, and menu page. Every other pin on the DIN chain doesn't respond. I've tried everything from the interconnection test, which showed good values, using different DIN boards, switching 165s, using different PICs, using different PIC cores, and changing the code, as well as using the default setup file. I have no idea what can be causing this issue, since I feel like I've covered all the bases multiple times, if anyone has any idea where to look next let me know. :]

 

EDIT: oh, and it was all working before, as the full CS, then my DOUT stuff started to mess up, then my DIN stuff, now none of the SRIO stuff works :P

 

-ajax

Edited by Ajax
Link to comment
Share on other sites

the only similiar issues that I have found other people have both point to two different things, the first one is more directly related to the PIC and is from this topic ( ), though I really hope that I didn't burn out both of my PICs.

 

the other topic I found didn't really help, but the guy had the same issues, 

 

-ajax

Link to comment
Share on other sites

at this point, after confirming it's not a wiring issue, multiplexer issue, board issue, or software issue, I have pretty much confirmed in my head that it's a PIC issue, though I do not have any more PICs to test with. So this leaves me at still needing a minimal CS for my SID. My thoughts right now are on using J5 without multiplexers as digital inputs, which requires coding (and I am still learning). I will post updates if I get anywhere with this, or if anyone would like to help I would very much appreciate it :D

 

-ajax

Link to comment
Share on other sites

Although I don't want to from trying to implement the J5 based button functions: for me it sounds like a problem with the SC line to the shift register. If it would be permanently 0V or 5V, you would notice exactly the described issue.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

I just ran the SRIO test again, and it reads 0.1v when it should be 0v, and then 6v when it should be 5v. I checked the voltage when I ran the SID application too, and it reads 1.25v between VS and SC; and -4.38v between VD and SC, are these correct? I don't have a scope so I can't tell if the voltage is continuous or just refreshing at a rate that's too fast for my multimeter. I've essentially switched everything out in the project except the PIC, which leads me to believe it's the PIC. I've even redone the wiring multiple times and have used different DIN modules and Core modules.

 

-ajax

Link to comment
Share on other sites

thanks for being awesome tK :] so here what's going on in the source: I added the j5_din.inc and tried calling all the neccesary functions in main.inc. also I setup the registers for the j5_din in app_defines. i'm still new to programming and have been practicing for a few weeks now, but I'm still a newb.

 

-ajax

midibox_sid_v2_041_ajax_edit.zip

Edited by Ajax
Link to comment
Share on other sites

There is probably a conflict with J5_IO* which is initialized in main.inc as well (e.g. if DEFAULT_J5_FUNCTION == 2 or DEFAULT_J5_FUNCTION == 3, search for this)

 

Ensure that this function won't be called, because it will configure the J5 pins as outputs.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

I edited out the J5_IO_Init  for DEFAULT_J5_FUNCTION == 4, but i also edited the button macro and the encoder macro at the begining of the tables in setup_8580.asm. I did this to try to assign buttons to SR 0 (J5), but I do not know if I failed or not (i'm not so good with registers and such).

 

-ajax

 

edit2: i thought that if you send 1 to J5_IO_Init then it will setup J5_IO as an input, as opposed to sending it 0 which will set it up as an output

 

edit: also, doesn't it call j5_io* in j5_din? do I need to disable this? 

 

 

this was in j5_din.inc:

;; initialize J5 via J5_IO driver (ensures compatibility between different PIC devices)
goto J5_IO_Ini

midibox_sid_v2_041_ajax_edit_v2.zip

Edited by Ajax
Link to comment
Share on other sites

(currently I've not so much time to give you direct help on this)

 

I hope that my assumption:

;; note: if some memory is required, 0xa80-0xaff could be used, because the wavetable only needs to exist once

 

is still true - I never checked this if any part of the firmware really never overwrites 0xa80..0xaff

 

Anyhow, I guess the problem is, that j5_din.inc is not prepared for the case that somebody locates the variables to addresses >= 0x80

This code has to be changed, so that BANKED accesses are used.

 

See also this documentation: http://svnmios.midibox.org/filedetails.php?repname=svn.mios&path=%2Ftrunk%2Fdoc%2Fmios%2Fmios_ram_handling.txt

 

Best Regards, Thorsten.

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...
 Share

×
×
  • Create New...