Very intelligent video/keyboard console

A project log for Retro DIY computer project

Previously I made 4-bit CPU, and I would like to follow the progress of human being.

kodera2tkodera2t 12/05/2015 at 03:395 Comments

Just connecting by Retro computers via FTDI to compute (OS X or windows) we can confirm its operation but always I love "self-sufficiency system". (Indeed (I think), sending command from 21st century sophisticated monster level computer to 80's retro computer is funny..)

Before making this very intelligent console, I quickly tried "6809 computer with video and keyboard" by LPC810 simple console by boost-up baud rate to 115.2 kbps...

BUT, this tiny console does not have data flow control which is indispensable for high speed serial such as 115.2kbps of Grant's design. As a result, this simple LPC810 console frequently drops character and did not work well.

On the Grant's home page, he already designed very intelligent keyboard/video interface with 115.2kbps with flow control. He realises it on bread board, but I am not so good at bread board handling, and this time I made it by PCB with SMT components.

As well described in Grant's page, Video console is made of ATMega328 and keyboard part is by ATMega88. Initially I thought ATMega8 and 88 are compatible, but confirmed not and ordered at digikey. For firmware upload, I added ICSP terminals and put small modification to the original circuit (RST of 328 and 88 are pulled-up, not direct connection to VCC).

After soldering, firmware can be easily uploaded by Atmel ICE.

As well recognised, all AVR requires FUSE bit setting. Roughly explained in Grant's home page but exact ones are as follows.

Fuse bit setting and firmware (binary) uploading can be done by ATmel Studio. This is the case of ATmega328P, as you already know, never un-set SPIEN.

And this is the case of ATmega88.

After setting FUSE, appropriate binary (firmware) can be uploaded through ATmel Studio..

My PCB files are uploaded to github. My PCB assumes I2C connection between ATmega328P and ATmega88. Please find "yellow lines", which requires jumper on board. Actually this intelligent console has graphic function but at this moment I do not fully utilise. Initial character size on video is too small for small screen and its size can be modified just by sending commend

PRINT CHR$(24); "6"
Last "6" corresponds to font property. Details is written in Grant's home page.

Actual operation can be found in the following movie.. have fun!


Yann Guidon / YGDES wrote 12/06/2015 at 15:19 point

a FPGA version would be cool ;-)

  Are you sure? yes | no

kodera2t wrote 12/06/2015 at 23:23 point

Yeah, right. Give me a bit more time to step up to FPGA (VHDL)...

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/07/2015 at 05:49 point

In a day or two, it will be working, I'll be patient ;-)

  Are you sure? yes | no

kodera2t wrote 12/07/2015 at 11:08 point

TOO much pressure :-o !

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/07/2015 at 11:38 point

What pressure ? It's only fun. What else ? :-)

  Are you sure? yes | no