Introducing The MENSCH Microcomputer

A few weeks ago, I was browsing Tindie on one of my daily trawls for something interesting to write about. I came across something I hadn’t seen before. The Mensch Microcomputer is a product from Western Design Center (WDC) that puts a microcontroller based on the 65xx core on a small breakout board.

I’ve played around with some of WDC’s tools and toys before, back when the sent me a few dev boards to review. They’re cool, and I have considered building a little breakout board for this weird cross between a microcontroller and a system on a chip. Life gets in the way, and that project sat on the shelf. The Mensch, however, was cheap and well into impulse purchase territory. After buying one, one of the VPs at WDC asked if I’d be interested in doing another review on their latest bit of hardware. Sure. I got this.

A Brief Overview of the WDC Catalog and Why It Matters

Western Design Center is the bearer of the 65xx series of CPUs, and the related peripheral chips. If you’ve ever used an Apple II, Nintendo Entertainment System, an Atari 8-bit, a Commodore 64, a Tamagotchi, or met Bender Bending Rodriguez or a T-800 Terminator, you’ve run into a 6502 or something that’s sufficiently similar that any differences are academic.

The 65816, the follow-up chip to the 6502, can be found in the Super Nintendo and the Apple IIgs. This chip is odd; on startup, it is a 6502. Flip a bit in the register with two instructions and you have 16-bit registers, 24-bit address space, and a bunch of other goodies that you can’t fit into 3,500 transistors. The ‘816 is one of those chips that would have changed the world if it came out a few years earlier, but that’s a story for another time. If you want to build your own 6502-based single board computer, I would highly suggest you take a look at the 65816.

The days of Nintendos and Commodores and Ataris running a 6502 are long gone, but the 65xx ISA is still out there. It’s found in everything from toys to life support equipment to aerospace, and if you want to play around with these devices, you’ll need to learn some 6502 assembly. Want proof? The greatest hack ever – [Sprite_tm]’s Matrix of Tamagotchis – is just a server emulating a few 6502 cores.

These weird devices obviously aren’t using full DIP40s and the related support chips. Instead, they’re either using custom ASICs with licensed 65xx cores or one of WDC’s microcontroller offerings. The 65C134SXB (based on the ’02), and the W65C265SXB (based on the 65c816) are small chips at the intersection of a microcontroller and a system on a chip. This brings us to WDC’s latest offering, the W65C265WBX, or the Mensch microcomputer.

Digging into the Mensch

The W65C265SXB – the bigger version of the Mensch

The Mensch microcomputer is built around the 65C265, itself a microcontroller built around the 65816. This is a small board, with only the microcontroller, a few passives, eight LEDs, and a few headers. Effectively, this is a breakout board for WDC’s ‘816-based micro, with only the bare minimum required to get the thing going. What we’re really looking at here is a cut-down version of the ‘816 microcontroller development board I took a look at a while ago.

Consider this a breakout board for the 65C265. On board, you have a full ‘816 core, a monitor ROM, a little bit of RAM, several serial ports, a bank of LEDs, and access to 16 address lines and 8 data lines. If you want to develop for the 6502 or 65816, that’s all you need. If you want more RAM, just grab some perfboard and wire it in. If you want to build a pocket-sized SID player, build a ‘shield’ for this tiny development platform.

The Mensch Monitor ROM

Compared to its full-size brethren, the Mensch is not as capable. The W65C265SXB – the larger microcontroller development board based on the same chip – has 32kB of SRAM on a separate chip, a socket for a Flash chip, and a USB to serial converter on board. This is the cost-reduced version of WDC’s microcontroller offerings, though, and anyone who would want to build something with a 65xx core probably already has a USB to Serial converter sitting around.

The monitor ROM is exactly what you would expect, granting access to the chip via a terminal emulator. Here, you can input machine code, jump to an address, and let LEDs blink to your heart’s content. You can use Python to talk to this board. If you’ve ever wanted to play around with 65xx chips, this is the board for you.

Conclusion

When I reviewed WDC’s slightly more capable offerings, I lamented the cost of these single board computers and microcontroller development boards. Yes, they’re the best way to play around with the 6502. They are, arguably, the best way to learn assembly. This is a world of two dollar Arduinos, though, and it’s hard to compete on price especially with an American made and assembled board that doesn’t contain counterfeit chips.

Still, I applaud WDC’s efforts to get their chips in the hands of more hackers. There’s still a lot of cool stuff you can do with a 6502, and if some of these young hackers end up going into industry they’ll probably come across the 6502 core at some point in their career. This is a CPU core that just isn’t going away, even though dying caps and corroded contacts means our Apple IIs and Commodores are. This is a great little board, and I can’t wait to see what kind of projects will be made with it.

60 thoughts on “Introducing The MENSCH Microcomputer

      1. Alternatively you could run the wires underneath the board. This requires a little more care to get the connections correct but it worked for me (with a different board).

  1. If you want to learn assembly, get an STM8 board. Much cheaper, and a much more capable processor with loads of peripherals, and useful amount of RAM. The CPU is simple enough that you can learn to program it in a weekend.

    1. That’s a bit like saying “if you want to learn Pascal then you should get a C compiler”. Assembler is not just one language, and depending on the processors in question it can be very different. Heck, even a 6502 vs a Z80 was a jump.

      1. I was responding to the line “They are, arguably, the best way to learn assembly”, which didn’t specify any particular CPU.

        And the STM8 looks as much as a 6502 as a 65816 does, and is more relevant in today’s world.

          1. FWIW, the 65816, in native mode, allows the accumulator to operate in 8- or 16-bit mode, and, independently of that, allows the index registers to operate in 8- or 16-bit mode. Also apart from that, it offers a ton of benefits over the ’02, even if you don’t latch, decode, or use the high address byte (A16-A23). It somewhat gracefully does things the ’02 does poorly or not at all.

    2. The ARM was designed to use the 6502 condition register and emulate 6502 quickly. In fact, the ARM designers looked at the WDC products first. I think it was the odd ball 65816 that convinced them they could do better themselves. 65C02 assembly is a reasonable introduction, then learn ARM.

      1. The old ARMs were a joy to write assembly for, but modern stuff is all Cortex Thumb-2, which is more complicated, and also unnecessary, since it’s so well suited to C.

        1. Thumb-2 is there for a reason – to allow compilers or assembler to generate smaller code. The trade-off between RISC and CISC is that RISC code needs more memory space. Thumb-2 was designed to fix that while still running RISC code under the hood.

          1. Sure, Thumb-2 is great for performance. So is x86. But these aren’t really easy targets for someone interested in learning a bit of assembly programming.

      2. >> “The ARM was designed to use the 6502 condition register and emulate 6502 quickly.”
        Huh? Doesn’t the 6502 have essentially the same “condition register” as nearly every other CPU from that era?
        And I find “R15 which is the Program Counter, status flags and mode register all in one.” (in ARMv1), which doesn’t sound very 6502-like…

    3. It doesn’t really matter what your first assembly language is – it’s more important that you use the machine to learn how to understand what’s inside a processor (or microcontroller), and how that translates to the “assembly language” that can be used to make it do useful things. If you succeed at that, you’ll have no trouble in the future picking up “more relevant” architectures.

      My first 2 architectures were the PDP-11 and the IBM 370 – the former took a lot of work to understand, the latter was a lot easier because when the professor started talking about “registers” and “data paths” and “microcode”, I already understood how those were important, and how they fit into a processor.

      1. I agree you can learn the principles on any platform, but if it doesn’t really matter, you might as well start with a $1 board with a better CPU (more features, faster, lower power, integrated debug, and better peripherals).

  2. If nobody does it, then I will do it. The name is obvious to anyone who (claims) to know something about the 65.. history.
    After reading some books about Commodore that mention the company MOS I have a whole new appreciation about the way that computerchips were made in the early days. This was mostly handwork and/or craftmanship. Mr. Mensch was particularly good at it. Though I’m far to young to know the real details (other then mentioned in some books) I have to say “hat’s off” to those early day chip designers.

    Theguy I’m talking about: https://en.wikipedia.org/wiki/Bill_Mensch

      1. to be honest… I’m not sure. But it seems more than logical to me. Because, if it looks, quacks and walks like a duck, then the animal we are talking about is almost certainly related to ducks.

    1. This is a wonderful chip for those who love the 6502 and it’s history like Atari, Apple II, Nintendo Entertainment System, Commodore PET.

      I can’t say the the price (with postage) is wonderful though. The chip itself is very interesting though.

      I never made the leap from Z80 assembly to 6502 so this might be an opportunity.

      From the manual pages 4 and 5
      “When BE goes high after RESB goes high the BCR sets up the W65C265S for emulation. Port 0 and 1 are the address outputs, Port 2 is the data I/O bus”

      The chip has 16MB addressing space so go for it lol.

      The confusing thing for me (in the manual) is –
      “The W65C265S 8K x 8 bit Read Only Memory (ROM) usually contains the user’s program instructions, interrupt vectors, and other fixed constants. The rom is programmable into the ROM during fabrication of the W65C265S device.”
      but that doesn’t rely matter if you are using external ROM/RAM.

      This chip could be used to hardware emulate many old computers or build something new with classic technology.

      http://www.westerndesigncenter.com/wdc/w65c265s-chip.cfm
      They have other chips that look interesting as well.

  3. If you have a line of contact with the VP can you ask them when the hell theyre gonna fix the Silicon bug with the 65c51? The transmit buffer empty bit is stuck on in the latest batches meaning you have to use delay routines when sending data over the uart to prevent overwriting the outgoing byte before it’s even done sending.

    I bet the UART in this MCU is affected too

      1. Because they still manufacture them and apparently still tweak the designs considering they only broke it in the recent batches?

        They’re still making them so somebody is still buying them.

        1. Sure, a few people are still buying them, probably for use in old designs that they’re still selling. And the broken chips are apparently good enough for that. Fixing the problem would only be useful if they can attract new designs, but that’s a tiny market given that there are so much better options available.

          1. The chips don’t work in existing designs & require code changes exactly because of the stuck bit bug I mentioned.

            If you want one that works properly you have to buy a pulled Rockwell one which are only good up to about 3MHz

      2. I suspect only hobbyists are buying the ’51. The ’02 however is still being made in quantities of over a hundred million units per year, going into ASICs, for controlling processes in automotive, industrial, appliance, toy, consumer-electronics, and even life-support applications. WDC makes most of their money from licensing the IP, not selling hardware. The fastest ones are running over 200MHz.

    1. A little less mickeymouse than using delay routines is to use one of the timers in a 65(c)22 VIA in one-shot mode to generate an interrupt after the current byte has had time to make its way out of the ’51. Then the processor can be doing something else useful while the ’51 is sending a byte.

      BTW, the transmit buffer is just that, a buffer. The shift register is separate. You can feed the ’51 the first two bytes of a message with no delay between them, because one goes into the shift register immediately and the second one waits in the transmit buffer. Then you have to wait until the first one is out so the second one goes into the shift register and you can re-load the buffer.

  4. Making an article on the evolution of 6502 family, and leaving out the 65C02… This article needs a fact-checker? XD
    The 65C02 is nothing like the 6502. It’s not just a NMOS-to-CMOS conversion. They actually took out a lot of “undocumented” instructions and added many new ones. The Apple II family moved to 65C02 and never looked back. They eventually went to 65C816 because if was more scalable to what they wanted to do.

    A lot of those microcontrollers you see in say, alarm clocks, are not-quite 6502’s, from what I understand. They used the 6502 family as a basis, because it is one of the smallest decently-performing designs you can get from the silicon. It has very few gates. Even the simplest ARM processor cores are a few times bigger than a typical 6502 variant!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s