spark@pro-newfrontier.UUCP (Dan Marks) (04/01/89)
I am currently working on an interface device to connect 16 TTL inputs and 16 TTL outputs to the annunciator/game input connector on my Apple //e. It is enhanced, and I am using the Apple's power supply to partially power this project. The problem with the circuit is the strobe (which is strobed by a read to location $c040 I think). The input portion of the circuit is working fine. I use the 4 annunciators to select a certain input and then read PB1 to get the logic state of that input. I do this by using a 74151, connect AN0-AN3 to output A-D and then connect the inputs to the Q0-Q15 inputs and connect the enables all to ground (except for the enable that must be held high) and also connect the data selector output Y to the PB1 on the joystick port. The output section is what I am having the problem with. I am using a 74151 demultiplexer which I also have outputs AN0-AN3 connected to. When I do a read to Strobe, the $c040 strobe drops low for about 3 ms, which is sufficient enough to cause the 74154 to select one of the outputs. Each output is then connected to half of a 7476 J/K flip flop which toggles every time you select that half with the demultiplexer and strobe it. In case you are wondering, I have connected a button from ground to all of the clear lines on the 8 7476's so that when the circuit starts up I can reset it. The problem is this: for some reason my circuit will register the strobe and sometimes it wont. I have checked it out using an inverter and or-gate latch (7432) as a pulse catcher. Sometimes the circuit will catch the pulse, sometimes it won't. How can I make my circuit reliably register a strobe? In case you are wondering, the fan out on AN0-AN3 is 3 TTL/LS loads while the strobe is only one TTL/LS load, which is all I have connected to my circuit. I have tried using pull up and pull down resistors to the signal, I have tried using a 555 to create a longer pulse from the shorter pulse, and I've tried using a latch to detect the pulse, but nothing seems to work. Could this be the fault of a faulty IOU or MMU? Off the subject: I accidentally posted a program to info-apple, next time I'll post it to apple2-l, sorry about this. ------------------------------------------------------------------ Dan Marks | spark@pro-newfrontier | "When the ship lifts all bills are paid. | No regrets."- Lazarus Long | Disclaimer: No one has a right to take credit | for something I flubbed up all by myself! ------------------------------------------------------------------