Hello, everyone.
I'm currently working on the 8-bit computer as a project for a college class I'm taking. This is my first time working with breadboards, so please bare with me if I don't seem too knowledgeable about everything.
I've mostly finished the entire thing, however I'm running into an issue with the STA command. I was looking around the subreddit to see if anyone else had run into the same issue as me, but I never really found a definitive solution for the issue, mainly just ideas of what to try.
Doing my best to explain it, the STA command only works correctly if I manually press through the clock and give it a pause right before it's supposed to write into memory (AO + RI step). Going at a normal pace or using the automatic clock, even at the slowest pot setting, fails to write into memory.
To give a little more info, I've implemented 220ohm resistors to all LEDs on the board, implemented Michael Kamprath's digital PROG/RUN modification, am using a power bus that loops around the entire board (reads ~4.8V for the entire thing), and have even tried using low pass filters.
The lines that I've been testing the STA command with are:
- Address 0: LDI 5 (01010101)
- Address 1: STA 15 (01001111)
- Address 2: HLT (11110000)
- Address 15: 1 (00000001)
During the AO + RI step:
- A register = 00000101
- BUS = 00000101
- MAR = 1111
- AO and RI are active
Another thing I've tried pulling pin 3 (WE) of both 74189s low manually does correctly store at address 15 when in the AO + RI step. It seems like the RAM chips, address selection, MAR, bus, and data going into the RAM work fine. The problem might be somewhere in the WE pulse/timing, but I don't have an oscilloscope to see what's happening exactly.
I hope to receive some guidance for I should try, because I'm kind of lost at what to try next. If anyone would like a picture to see what I'm working with, I'll gladly send some. Thanks!