An Improved MENSCH™ Microcomputer

For discussing the 65xx hardware itself or electronics projects.
leepivonka
Posts: 167
Joined: 15 Apr 2016

Re: An Improved MENSCH™ Microcomputer

Post by leepivonka »

Did you mean to use A4 instead of A5 for CS1 on the 6522?
barnacle
Posts: 1831
Joined: 19 Jan 2004
Location: Potsdam, DE
Contact:

Re: An Improved MENSCH™ Microcomputer

Post by barnacle »

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?
When A5 is high, that would be $20 offset, no?

Neil
Martin_H
Posts: 837
Joined: 08 Jan 2014

Re: An Improved MENSCH™ Microcomputer

Post by Martin_H »

Thanks to both of you for the speedy replies.
leepivonka wrote:
Did you mean to use A4 instead of A5 for CS1 on the 6522?
In retrospect that probably would be a better choice or just tying CS1 high. But I was copying another design knowing it should work.
barnacle wrote:
Martin_H wrote:
When A5 is high, that would be $20 offset, no?

Neil
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.
barnacle
Posts: 1831
Joined: 19 Jan 2004
Location: Potsdam, DE
Contact:

Re: An Improved MENSCH™ Microcomputer

Post by barnacle »

Yay!

Neil
SamCoVT
Posts: 344
Joined: 13 May 2018

Re: An Improved MENSCH™ Microcomputer

Post by SamCoVT »

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.
That's good news - I posted just before going on vacation in the hopes it would help, but didn't get to check on the outcome until just now. I'm happy to hear you got it figured out. There is a graphic I saw once (maybe even here on this site) that helps to illustrate the issues you can run into with grounding. Here is my very poor rendition:
A circuit floating in a whirlpool of electrical GROUND
A circuit floating in a whirlpool of electrical GROUND
gnd_whirlpool.png (9.83 KiB) Viewed 691 times
Each IC on a board is somwhere in the whirlpool of ground. Some ICs and circuits make a lot of waves themselves. When focusing on a particular IC or circuit, its "local ground" is what matters. We use decoupling caps to make sure our power supply stays a fixed distance from "local ground". If that portion of the ground on the board floats up or down a little bit, the decoupling caps will keep the power supply 5V higher than the local ground (for a 5V supply). Any circuits that are sensitive to noise should use the same ground as the IC or circuit they connect to. It's true that connecting all of your grounds can make things worse sometimes, because you might be connecting to an IC that makes a lot of extra waves.

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.
Martin_H
Posts: 837
Joined: 08 Jan 2014

Re: An Improved MENSCH™ Microcomputer

Post by Martin_H »

Thanks for that diagram. It definitely helps as a visual guide for where to group support components.
User avatar
Dr Jefyll
Posts: 3525
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: An Improved MENSCH™ Microcomputer

Post by Dr Jefyll »

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!
SamCoVT wrote:
You may just want to add a little jumper
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).
SamCoVT wrote:
It's true that connecting all of your grounds can make things worse sometimes
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
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
SamCoVT
Posts: 344
Joined: 13 May 2018

Re: An Improved MENSCH™ Microcomputer

Post by SamCoVT »

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.
Martin_H
Posts: 837
Joined: 08 Jan 2014

Re: An Improved MENSCH™ Microcomputer

Post by Martin_H »

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.
Post Reply