As indicated in my previous posting, I had issues with the switches that I purchased and their usage in the OSI-300 mini. I took apart one of the switches in order to get a closer look at how it worked and if the switch could be adjusted to work properly for my application.
The switch has three blades that are made as extensions to the individual leads. The switch connection is made by a metal slider that has four contact points, two on each side of the blades. These contact points are supposed to be sized such that they do not contact the outer two blades at the same time. The options to fix this are to separate the blades with more space, or shorten the contact points to avoid shorting the outer blades.
I looked at a similar component at work and found that they had shortened the slider slightly by bending the outside corners of the four contacts. I took a pliers and did the same to two of the switches that I had. After much trial and error, I was able to adjust the switch to prevent the shorting that I had seen. I soldered them in place to complete the prototype and took the image above.
I recently received the boards I designed from the manufacturer. They were very well done, even with the tight tolerances required to line up the various components.
Additionally, the parts I ordered to assemble the board arrived as well, and I set to assembling the board.
After a few hours of soldering, I was able to come up with the attached image. I ran into only two issues, one with the design, and one with the parts.
The schematic I drew had an issue with the connection between the resistor and capacitor that form the clock circuit. After a single trace was cut and a short piece of wire was attached, I had a working clock.
The other issue I ran into involved the switches in the RUN and RST positions. Both of these switches switch a signal between power and ground. While the switches I picked were supposed to be non-shorting, they appear to briefly short when switched. As a result, power is connected to ground, and the contents of the SRAM are lost. I will try a different manufacturer and see if their switches perform better.
To avoid this, using a pull up or down resistor would be a better design. I wanted to keep as close to the original design as possible.
The image above shows the board running a simple JMP 0000 loop at address 0000. The data LEDs represent 01001100, or 4C in hex, the command for a jump. The address LEDs represent 00000011, or a merge of addresses 0, 1, and 2. While the LEDs are flashing, they are doing so too quickly to see.