Electronics > Beginners
Breadboard 65c02 computer reliability/stability (er, lack thereof)
sci4me:
--- Quote from: radiolistener on March 04, 2019, 03:51:02 am ---try to decrease length of wires, especially with high frequency signals.
And use exactly the same length of wires for all lines in the address/data bus.
Also, check that your power supply is enough and clean.
I noticed that these breadboard has high resistance.
So, the voltage may be drop down significantly.
When I tried to power high speed ADC through breadboard, I notice for about 0.2-0.3V drop.
--- End quote ---
EDIT: Same length wires? How important is that at low speeds? I mean, the differences in wire lengths in my particular case should equate to sub-nanosecond differences... is that really enough to throw it off? I'm skeptical of that, considering it's been working previously...
As of right now, I can't get it to function properly at 50 Hz or even 10. I was messing with it earlier so I think I need to re-verify my connections again. Hopefully I'll find something I messed up...
It's back to writing a single 0 byte to the serial port.
As for power, I share the suspicion that the power isn't high-enough-quality, but unfortunately I literally have no way to test it right now. I have a multimeter... but it's ~1000 miles away right now. I'm hoping to have it in a week or two.
I also intend to buy a scope but ... again, it's gonna be a while. So I'm truly going at this blind.
I also wonder about my clock source; since I can't use the 1 MHz oscillator, I'm (hackily) using a SiFive HiFive1 board (Arduino compatible RISC-V) to drive the clock. It's been working this whole time but.. idk.
T3sl4co1l:
--- Quote from: sci4me on March 04, 2019, 03:17:01 am ---Frankly I'm quite confused as to why I'm still having dramatic instability even with a clock speed under 1KHz. Is it the edge speed, bad contacts, contact resistance, capacitance, etc.
--- End quote ---
Yes, edge speed most likely.
--- Quote from: amyk on March 04, 2019, 03:57:54 am ---A 65C02 is a static design, clock it really slowly (as in 10s of Hz or lower) and see if your problems persist.
--- End quote ---
Unlikely, if edge rate is the problem. It may not even be possible to clock it once, as such! Signal bounce at the end of the clock trace, say, can deliver several clocks much too quickly, leading to inconsistent internal state, and freezing.
Tim
sci4me:
--- Quote from: T3sl4co1l on March 04, 2019, 05:40:45 am ---
--- Quote from: sci4me on March 04, 2019, 03:17:01 am ---Frankly I'm quite confused as to why I'm still having dramatic instability even with a clock speed under 1KHz. Is it the edge speed, bad contacts, contact resistance, capacitance, etc.
--- End quote ---
Yes, edge speed most likely.
--- Quote from: amyk on March 04, 2019, 03:57:54 am ---A 65C02 is a static design, clock it really slowly (as in 10s of Hz or lower) and see if your problems persist.
--- End quote ---
Unlikely, if edge rate is the problem. It may not even be possible to clock it once, as such! Signal bounce at the end of the clock trace, say, can deliver several clocks much too quickly, leading to inconsistent internal state, and freezing.
Tim
--- End quote ---
Well, what's most likely going to happen is I'll end up re-building it from scratch. Not sure what else I can do without being able to measure what's going on...
iMo:
I doubt it is about "edges" or signal integrity. People mess with dozens of cmos chips on a solderless breadboards clocking them at megahertzes. Sure, the wires shall be as short as possible.
Double check your wiring and rethink your design.
Terminate the data bus with say 10k pullups (a single 8x10k SIP module may do). Remove your EPROM. Ground specific data pins with 22-50ohm resistors such you get "EAh" - the NOP instruction, afaik.
Without any EPROM inserted the MCU shall now increment its address bus from 0..65535 in a loop so you may easily observe what is going on.
Also do implement HW single step button.
PS: Do not panic - these kind of exercises require a certain portion of experience and debugging effort :)
sci4me:
--- Quote from: imo on March 04, 2019, 07:34:38 am ---I doubt it is about "edges" or signal integrity. People mess with dozens of cmos chips on a solderless breadboards clocking them at megahertzes. Sure, the wires shall be as short as possible.
Double check your wiring and rethink your design.
Terminate the data bus with say 10k pullups (a single 8x10k SIP module may do). Remove your EPROM. Ground specific data pins with 22-50ohm resistors such you get "EAh" - the NOP instruction, afaik.
Without any EPROM inserted the MCU shall now increment its address bus from 0..65535 in a loop so you may easily observe what is going on.
Also do implement HW single step button.
PS: Do not panic - these kind of exercises require a certain portion of experience and debugging effort :)
--- End quote ---
The "EAh" thing was the very first thing I did and it worked a treat. I haven't observed any problems that are explicitly relating to the EEPROM but it's possible that I just haven't been able to observe them.
I'll try terminating the data bus...
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version