H8 FP (Front Panel) V1.x - sebhc/sebhc GitHub Wiki
V1.3R1 2023 version with flex cable to backplane and onboard 2MHz oscillator

H8-FP-V1.3R1 GERBERS
CHIPS
2x 74LS540
1x 74LS02
1x 74LS03
1x 74LS30
1x 74LS00
2x 74LS148
1x MC14040
1x MC14028
1x 74LS123
2x 74LS74
4x 74LS175
1x 2.048MHZ OSC DIP8 (HALF CAN)
3x 7805 5V REGULATOR
8x 2N3906 TRANSISTOR
1x 2N3904 TRANSISTOR
9x MPSA13 TRANSISTOR
9x LTS-6980HR 7-SEGMENT LEDS
16x MX1A-11NW CHERRY KEY SWITCHES
Adapter board for the V1.3R1 front panel to backplane

The flex cables from the V1.3R1 front panel plug into this adapter and then the adapter plugs into the backplane. This means you don't have to build a complicated cable with crimp pins/housings to plug into the backplane anymore. Just buy off-the-shelf flex cables for cheap and use those instead
H8-FP-V1.3R1 ADAPTER GERBERS

26P ZIF CONNECTOR

Flex cable for the H8-FP to Adapter 26 PIN FLEX CABLE - AMAZON



RAW KEYCODES
[7] [8] [9] [+]
[4] [5] [6] [-]
[1] [2] [3] [*]
[0] [.] [#] [/]
INP 360Q
0 = 1111.1110
1 = 1111.1100
2 = 1111.1010
3 = 1111.1000
4 = 1111.0110
5 = 1111.0100
6 = 1111.0010
7 = 1111.0000
8 = 1110.1111
9 = 1100.1111
. = 0000.1111
# = 0010.1111
/ = 0100.1111
* = 0110.1111
- = 1000.1111
+ = 1010.1111
LEDs will work up to 8MHz with the default MC14040 at IC103 or 16MHz if you change IC103 to a 74HCT4040. The following code will display the raw keypad keycodes to the 9 LEDs on the front panel.
HEX VALUES FOR THE LED ELEMENTS
+--02--+
40 04
+--01--+
20 08
+--10--+ 80
MVI A,1 ; SELECT DIGIT 1 THRU 9
OUT DIGP
MVI A,01H ; SELECT ELEMENT 01
CMA ; INVERT IT
OUT SEGP ; TURN IT ON
KEYP EQU 360Q
DIGP EQU 360Q
SEGP EQU 361Q
*
ORG 100H
*
START EQU $
CALL RDKEYP
CALL UPDLED0
JMP START
*
RDKEYP EQU $
IN KEYP
MOV C,A
LDA LASTKEY
CMP C
RZ
MOV A,C
STA LASTKEY
STA LEDPAT
RET
*
UPDLED0 EQU $
LDA LEDNUM
INR A
STA LEDNUM
CPI 10
JNZ UPDLED1
MVI A,1
STA LEDNUM
UPDLED1 EQU $
ORI 0F0H
* ORI 0D0H ; MON LIGHT OFF
OUT DIGP
LDA LEDPAT
OUT SEGP
RET
*
LEDNUM DB 0
LEDPAT DB 0
LASTKEY DB 0
*
END
Key it in via the H8 front panel (coutesy of Glenn F. Roberts)
HEATH ASM #104.06.00
19-Sep-23 Page 1
000.360 00001 KEYP EQU 360Q
000.360 00002 DIGP EQU 360Q
000.361 00003 SEGP EQU 361Q
000.362 00004 SPDP EQU 362Q
00005
040.066 00006 MFLAGS EQU 40066A
00007 *
040.100 00008 ORG 040100A
040.100 072 066 040 00009 START LDA MFLAGS
040.103 346 353 00010 ANI 11101011B clear speed bits
00011 *
00012 * speed masks
00013 *
00014 * 2MHZ 000Q
00015 * 4MHZ 020Q
00016 * 8MHZ 040Q
00017 * 10MHZ 024Q
00018
040.105 366 024 00019 ORI 024Q set speed bits
040.107 323 362 00020 OUT SPDP output the speed
040.111 062 066 040 00021 STA MFLAGS and save a copy
00022
00023 *
00024 * Must run with interrupts disabled
00025 *
040.114 363 00026 DI
00027
040.115 315 126 040 00028 CALL RDKEYP
040.120 315 146 040 00029 CALL UPDLED0
040.123 303 100 040 00030 JMP START
00031
040.126 333 360 00032 RDKEYP IN KEYP
040.130 117 00033 MOV C,A
040.131 072 203 040 00034 LDA LASTKEY
040.134 271 00035 CMP C
040.135 310 00036 RZ
040.136 171 00037 MOV A,C
040.137 062 203 040 00038 STA LASTKEY
040.142 062 202 040 00039 STA LEDPAT
040.145 311 00040 RET
00041
040.146 072 201 040 00042 UPDLED0 LDA LEDNUM
040.151 074 00043 INR A
040.152 062 201 040 00044 STA LEDNUM
040.155 376 012 00045 CPI 10
040.157 302 167 040 00046 JNZ UPDLED1
040.162 076 001 00047 MVI A,1
040.164 062 201 040 00048 STA LEDNUM
00049
040.167 366 360 00050 UPDLED1 ORI 0F0H
00051 * ORI 0D0H ; MON LIGHT OFF
040.171 323 360 00052 OUT DIGP
040.173 072 202 040 00053 LDA LEDPAT
040.176 323 361 00054 OUT SEGP
040.200 311 00055 RET
00056
040.201 000 00057 LEDNUM DB 0
HEATH ASM #104.06.00
19-Sep-23 Page 2
040.202 000 00058 LEDPAT DB 0
040.203 000 00059 LASTKEY DB 0
00060
040.204 000 00061 END START
00061 Statements Assembled
40240 Bytes Free
No Errors Detected
Full 8080 source code for CP/M and pre-assembled COM file here: FRONTP.ZIP