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-V13R1
H8-FP-V13R1 ASSEMBLED
H8-FP-V1.3R1 GERBERS

BOM

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
H8-FP-V13R1 TO BACKPLANE ADAPTER
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

ZIF CONNECTOR THRU HOLE
26P ZIF CONNECTOR
26P TYPE-A
Flex cable for the H8-FP to Adapter 26 PIN FLEX CABLE - AMAZON


H8-FP-FRONT
H8-FP-INSTALLED
H8-FP-BACK

LOW LEVEL FRONT PANEL ACCESS


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

raw keycodes to leds video

⚠️ **GitHub.com Fallback** ⚠️