View Single Post
Old 02 March 2017, 13:48   #69
Registered User
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 577
Originally Posted by witchmaster View Post
I had a setback with the replacement PCB version, for some reason it doesn't work and I haven't found the reason why. Everything should be connected properly, might have something to do with the smd versions of the ICs. Anyway I got (what I think is a brilliant) idea and started working on doing a Atmega version with some unique features, more on this later, I just wanted to update you about the progress.
That's a great idea - but there are a couple of pitfalls to watch out for.
Because the Amiga's POTX/Y lines do double-duty as analogue input and digital IO they have unusual characteristics, and it's not uncommon for a microcontroller to be unable to pull those lines low enough for the Amiga to see a logic 0. You may need to factor an external transistor into your design.
(Actually, thinking about it, this same issue could be why your existing boards aren't working, if the shift register IC doesn't have exactly the same characteristics as the original?)

You'll also need to make sure your shift register reacts very quickly. I did something similar using a PIC once, but struggled to get it working quickly enough, especially once the extra delays from the external transistor were taken into account. Another interesting option is the Cypress PSOC chips - there's a low-end PSOC4 chip with an Arm M0 CPU and a small amount of programmable logic on board - so with that, it's possible to do the shift register in hardware, which relaxes the timing requirements on the software quite considerably.

Test widely, with as many different models of Amiga and as many different games as possible - there are many variants of the CD32 pad reading code out there, all with slightly different timing requirements!
robinsonb5 is offline  
Page generated in 0.04011 seconds with 10 queries