1. Hardware configuration
The circuit is made up of two blocks. One is a minimally configured computer block with a 6802 CPU. The other is a key matrix and LED display modules block. An 8-bit parallel read/write port connects the blocks to each other. This parallel port has the same specifications as the parallel port of the PERSEUS-3 (https://hackaday.io/project/176137-perseus-3-6802-homebrew-computer).
2. Computer block
I chose the Motorola’s MC6802 as the CPU for this computer same as PERSEUS-3. A RAM is used of 128 bytes embedded in MC6802 and no external RAM device. A ROM is 2 k byte 2716 PROM. A serial interface is the Asynchronous Communication Interface Adapter (ACIA) MC6850 (HD6350 Hitachi). Parallel interface to the KEY & LED block is configured with a standard logic 74HC374. I named this computer block PERSEUS-5.
3. Key matrix and LED display module block.
The 48 keys full keyboard is configured 8 x 6 key matrix. Three bits of output port signals are decoded to 6 lines key scanning signal. 8 bits of input port are used to read the key scan result.
The terminal has 24 x 4 total 96 characters alphanumeric display. So, 12 LED modules HCMS-2972 are connected by daisy chain. The HCMS-2972 is an 8 characters 5 x 7 dot matrix alphanumeric display. This device requires serial input of character font patterns. For the serial input of the display, 4 bits of the output port of the parallel interface are used. The data obtained by referencing the font table from the ASCII code is serialized and sent to the LED module.
As emulation, I connected the key matrix and LED display module block to PERSEUS-3 computer’s parallel interface. I debugged the software on the PERSEUS-3 computer by step executions. After completed debugging, I programmed PROM by using my PROM programmer and implemented to the computer block. Finally the computer block was connected to the key matrix and LED display module block.
The terminal uses a 18 cm x 12 cm x 5 cm aluminum die-cast enclosure. The key matrix & LED module block and the computer block are stacked in two layers. A power connector is provided so that it can be used with an external battery (1.2 V x 4 ) or 5 V DC power supply.
The LED module does not work at all without initialization, so I had quite a hard time until my homemade serial communication program succeeded in initializing it. But this program code was later useful to me when I was recoding the calculator program on my project https://hackaday.io/project/175893-6502-computer-runs-calculator. The key scan program could also be recoded and used in the 6502 calculator software.
In addition, I had a hard time concurrently processing the character input from the keys and the display process of the characters received by the serial interface. The current refresh interval of the display is 0.2 seconds. Therefore, any more number of character displays will be feel delayed in this architecture.
So, I struggled some, but I am satisfied with the operation after completion.
Reference: HCMS-29xx Series High Performance CMOS 5x7 Alphanumeric Displays Data Sheet, AVAGO TECHNOLOGIES