Close

Inner Conflicts, v1.0

A project log for rhombus

An open-source minimalist 68020 based single board computer

jason-westerveltJason Westervelt 12/21/2015 at 10:166 Comments

Soon I will be adding keyboard and an LCD to make this a self contained unit. There are quite a few older style LCDs, mostly monochrome, but I will likely opt for something newer which has color. 8-bit parallel LCD interfaces tend to be very similar, physically at least, so I don't feel too bad about using a modern panel because I can always switch it out to something ancient whenever I like with minimal code changes.

The issue of the keyboard is a different story. I looked around to see how other 68k family boards work with keyboards, but I really couldn't find much. Most newer 68k designs end up using a microcontroller such as an Arduino to feed the keyboard data into a UART. Besides not being retro, such a solution is also not very elegant in my opinion. It is an easy solution, however, but I'm not too keen on easy. What to do?

As luck would have it, I stumbled across an old Intel N8042 in my vast collection of deadtech. Intel and Motorola on the same board? Yeah, this is pushing all of my buttons... it needs to happen.

Discussions

K.C. Lee wrote 12/21/2015 at 18:58 point

What about PC PS/2 or XT keyboard?  They are around early 80's for the XT and mid 80's for the PS/2.

You can bit-bang the PS/2 port with a couple of GPIO.
https://hackaday.io/project/1347-fpga-computereval-board/log/9320-ps2-interrupts-driver

  Are you sure? yes | no

Jason Westervelt wrote 12/21/2015 at 19:02 point

That is the issue. The nature of the beast is that i will tie up the CPU if I do this in software. Keyboards are kinda complex and are serial devices. Thus the need for a peripheral controller.

  Are you sure? yes | no

Jason Westervelt wrote 12/21/2015 at 19:53 point

Didn't see your link for some reason.  I *could* do it on the CPLD I suppose.  I'll have to weigh the pros and cons of losing a few CPLD I/O and macrocells for the sake of not putting an extra IC on the board.

  Are you sure? yes | no

K.C. Lee wrote 12/21/2015 at 20:14 point

You could also use a state machine inside a CPLD to handle the bit shifting as an alternative to a microcontroller. 

With some buffering, those Hitachi character based LCD panels can be hooked up to a CPU bus.  I have interface them on a XT ISA bus (I/O mapped) and 68HC11 bus directly and are quite a bit faster than serial to a uC at 9600.

So may be these two can be combined as an add-on CPLD vs a microcontroller.

  Are you sure? yes | no

Jason Westervelt wrote 12/21/2015 at 20:46 point

I'll take a shot at it.  I'm still trying to grasp state machines/VHDL.  I have little issue with Verilog or schematic entry, but VHDL hurts my brain.  I'm probably over-thinking things.

I will likely need a slightly larger CPLD for the next revision.  I'm kinda stuck since I need 5V tolerant I/O since I'm not too keen on throwing buffers into the mix just to provide the 5V tolerance.  The next board will likely be on a PCB since the CPLDs with larger I/O counts are not available in PLCC parts.

  Are you sure? yes | no

Matt Bettcher wrote 12/21/2015 at 18:22 point

I am shooting for a color display as well. I've been looking through the uClinux code from the 68 Katy project from BMOW and it's pretty complicated. I feel like I kind of want my own OS, handmade style. I still have a ton of research to do on the matter, but it's definitely looking like a custom handmade OS is how I'm going to go. 

  Are you sure? yes | no