An Improved MENSCH™ Microcomputer
-
leepivonka
- Posts: 167
- Joined: 15 Apr 2016
Re: An Improved MENSCH™ Microcomputer
Did you mean to use A4 instead of A5 for CS1 on the 6522?
Re: An Improved MENSCH™ Microcomputer
Martin_H wrote:
If I understand both datasheets correctly, this should memory map the 65c22 in the CSB1 address space ($dfc0) offset by A5 when its high ($10). Which should be VIA base of $dfd0 ($dfc0 + $10). Does this make sense?
Neil
Re: An Improved MENSCH™ Microcomputer
Thanks to both of you for the speedy replies.
In retrospect that probably would be a better choice or just tying CS1 high. But I was copying another design knowing it should work.
I think you're correct. I can't count in binary or add hex properly. I will fix my program and try again later.
Update: You are correct and I can blink an LED. Always the first step towards I/O.
leepivonka wrote:
Did you mean to use A4 instead of A5 for CS1 on the 6522?
barnacle wrote:
Martin_H wrote:
When A5 is high, that would be $20 offset, no?
Neil
Neil
Update: You are correct and I can blink an LED. Always the first step towards I/O.
Re: An Improved MENSCH™ Microcomputer
Yay!
Neil
Neil
Re: An Improved MENSCH™ Microcomputer
Martin_H wrote:
Fantastic news. SamCoVT your diagnosis was correct.
I ran a small jumper from C1 ground to C7 ground. I went for gold and connected USB power with all chips in their sockets. The Mench monitor displayed the boot prompt. I hit reset 30 times and there were no reset problems. That never worked at all in previous tests and now I have seen no failures.
I am also able to run the board off battery power with all chips installed and it works that way as well.
I ran a small jumper from C1 ground to C7 ground. I went for gold and connected USB power with all chips in their sockets. The Mench monitor displayed the boot prompt. I hit reset 30 times and there were no reset problems. That never worked at all in previous tests and now I have seen no failures.
I am also able to run the board off battery power with all chips installed and it works that way as well.
This is also why it's important to use the ground that the IC is using when you a probing with an oscilloscope. If you use ground all the way back at the power connector, it may be at a different potential and with a different amount of noise than the local ground at the IC, and this noise will show up in your trace even though it doesn't exist at the IC itself.
Re: An Improved MENSCH™ Microcomputer
Thanks for that diagram. It definitely helps as a visual guide for where to group support components.
Re: An Improved MENSCH™ Microcomputer
I'm delighted to see the oscillator problem resolved.
Hats off to SamCoVT for taking the time to carefully eyeball the routing of the PCB ground traces!
Let's be clear that success was achieved by increasing the interconnectedness of the various points that are grounded. This is clearly a case where more ground paths are better than fewer ground paths.
And that's no surprise. Extrapolating the "more paths" principle to the extreme, we ultimately achieve a ground plane, which can be considered ideal (because every point connects to every other point). Of course, projects like Martin's can't achieve a complete ground plane because the PCB is only two-layer. Thus the Ground and Vcc distribution is something that has to be consciously and explicitly laid out by the designer.
Often this is achieved by means of a grid of interconnected vertical & horizontal Gnd traces (and likewise a grid of Vcc traces). Note that the primary function of the Gnd and Vcc distribution network -- be it a pair of grids or a pair of planes -- is to connect the chips and their bypass caps to one another. Yes, the goal is to connect the chips to one another (ie, connecting to the power supply is secondary).
Despite my appreciation for certain parts of SamCoVT's post (eg, the scope tip), the remark quoted above seems out of place or at least needs to be strongly downplayed -- IMO it's too fine a point for a summary. Novices won't reliably be able to identify circumstances where it applies, and such circumstances tend to be quite uncommon anyway.
Vastly more common is the issue of NOT ENOUGH interconnectedness of the Gnd and Vcc points.
I don't recall ever seeing a problem on this forum that was resolved by reducing the number of ground/vcc interconnections. But cases (like this one) where bolstered Gnd/Vcc interconnections prove beneficial are comparatively common. That's why it seems to me to be a point worth noting.
-- Jeff
SamCoVT wrote:
You may just want to add a little jumper
And that's no surprise. Extrapolating the "more paths" principle to the extreme, we ultimately achieve a ground plane, which can be considered ideal (because every point connects to every other point). Of course, projects like Martin's can't achieve a complete ground plane because the PCB is only two-layer. Thus the Ground and Vcc distribution is something that has to be consciously and explicitly laid out by the designer.
Often this is achieved by means of a grid of interconnected vertical & horizontal Gnd traces (and likewise a grid of Vcc traces). Note that the primary function of the Gnd and Vcc distribution network -- be it a pair of grids or a pair of planes -- is to connect the chips and their bypass caps to one another. Yes, the goal is to connect the chips to one another (ie, connecting to the power supply is secondary).
SamCoVT wrote:
It's true that connecting all of your grounds can make things worse sometimes
Vastly more common is the issue of NOT ENOUGH interconnectedness of the Gnd and Vcc points.
-- Jeff
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
Re: An Improved MENSCH™ Microcomputer
I generally agree with all of Jeff's points. I work with a lot of mixed analog/digital/power-switching circuits so I, unfortunately, do run into situations with tricky ground interconnects more often than usual.
Re: An Improved MENSCH™ Microcomputer
Now that I have working hardware and software for this board. I want to build a sensor, servo, and motor control board that stacks on top of it. Much like shields do for the Arduino or Raspberry Pi's hats. I'm only interested in connecting the tone generator, UART, and VIA headers. I won't connect the XBUS header as I have no need for the CPU bus.
No problem, I have a piece of 10cm x 10cm Veroboard that would be good for a prototyping. Now I need motherboard headers on the underside with the sensor, servo, and motor connections on the top side. But here's my problem Veroboard only has copper on one side. How would I attach headers on both sides?
I could try something dodgy like adding flux to the copper and trying to wick solder under the header. Or I could buy a double sided protoboard but that only has copper pads without tracks.
Any creative solutions for placing components on both side of a Veroboard?
Update: I purchased a two-sided board, but would be curious if it is possible to place components on both side of a Veroboard.
No problem, I have a piece of 10cm x 10cm Veroboard that would be good for a prototyping. Now I need motherboard headers on the underside with the sensor, servo, and motor connections on the top side. But here's my problem Veroboard only has copper on one side. How would I attach headers on both sides?
I could try something dodgy like adding flux to the copper and trying to wick solder under the header. Or I could buy a double sided protoboard but that only has copper pads without tracks.
Any creative solutions for placing components on both side of a Veroboard?
Update: I purchased a two-sided board, but would be curious if it is possible to place components on both side of a Veroboard.