Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tec-1/hardware/gals: add palasm4 version of keybd gal, sim working
- Loading branch information
Showing
6 changed files
with
286 additions
and
180 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
|
||
PALASM4 PAL ASSEMBLER - MARKET RELEASE 1.5a (8-20-92) | ||
(C) - COPYRIGHT ADVANCED MICRO DEVICES INC., 1992 | ||
|
||
|
||
TITLE :TEC-1 KEYBD PLD AUTHOR :Tom Keddie | ||
PATTERN :KEYBD.PDS COMPANY:Tom Keddie | ||
REVISION:1 DATE :08/04/21 | ||
|
||
PAL22V10 | ||
IO2* | ||
QP24* | ||
QF5828* | ||
G0*F0* | ||
L0000 00000000000000000000000000000000000000000000* | ||
L0044 11111111111111111111111111111111111111111111* | ||
L0088 11111111111111111111111111111111011111111111* | ||
L0132 00000000000000000000000000000000000000000000* | ||
L0176 00000000000000000000000000000000000000000000* | ||
L0220 00000000000000000000000000000000000000000000* | ||
L0264 00000000000000000000000000000000000000000000* | ||
L0308 00000000000000000000000000000000000000000000* | ||
L0352 00000000000000000000000000000000000000000000* | ||
L0396 00000000000000000000000000000000000000000000* | ||
L0440 11111111111111111111111111111111111111111101* | ||
L0484 11011111011111111111111111111111111111111111* | ||
L0528 00000000000000000000000000000000000000000000* | ||
L0572 00000000000000000000000000000000000000000000* | ||
L0616 00000000000000000000000000000000000000000000* | ||
L0660 00000000000000000000000000000000000000000000* | ||
L0704 00000000000000000000000000000000000000000000* | ||
L0748 00000000000000000000000000000000000000000000* | ||
L0792 00000000000000000000000000000000000000000000* | ||
L0836 00000000000000000000000000000000000000000000* | ||
L0880 00000000000000000000000000000000000000000000* | ||
L0924 11111111111111111111111111111111111111101111* | ||
L0968 11111111111111111111111111110111111111111111* | ||
L1012 00000000000000000000000000000000000000000000* | ||
L1056 00000000000000000000000000000000000000000000* | ||
L1100 00000000000000000000000000000000000000000000* | ||
L1144 00000000000000000000000000000000000000000000* | ||
L1188 00000000000000000000000000000000000000000000* | ||
L1232 00000000000000000000000000000000000000000000* | ||
L1276 00000000000000000000000000000000000000000000* | ||
L1320 00000000000000000000000000000000000000000000* | ||
L1364 00000000000000000000000000000000000000000000* | ||
L1408 00000000000000000000000000000000000000000000* | ||
L1452 00000000000000000000000000000000000000000000* | ||
L1496 11111111111111111111111111111111111111101111* | ||
L1540 11111111111111111111111101111111111111111111* | ||
L1584 00000000000000000000000000000000000000000000* | ||
L1628 00000000000000000000000000000000000000000000* | ||
L1672 00000000000000000000000000000000000000000000* | ||
L1716 00000000000000000000000000000000000000000000* | ||
L1760 00000000000000000000000000000000000000000000* | ||
L1804 00000000000000000000000000000000000000000000* | ||
L1848 00000000000000000000000000000000000000000000* | ||
L1892 00000000000000000000000000000000000000000000* | ||
L1936 00000000000000000000000000000000000000000000* | ||
L1980 00000000000000000000000000000000000000000000* | ||
L2024 00000000000000000000000000000000000000000000* | ||
L2068 00000000000000000000000000000000000000000000* | ||
L2112 00000000000000000000000000000000000000000000* | ||
L2156 11111111111111111111111111111111111111101111* | ||
L2200 11111111111111111111011111111111111111111111* | ||
L2244 00000000000000000000000000000000000000000000* | ||
L2288 00000000000000000000000000000000000000000000* | ||
L2332 00000000000000000000000000000000000000000000* | ||
L2376 00000000000000000000000000000000000000000000* | ||
L2420 00000000000000000000000000000000000000000000* | ||
L2464 00000000000000000000000000000000000000000000* | ||
L2508 00000000000000000000000000000000000000000000* | ||
L2552 00000000000000000000000000000000000000000000* | ||
L2596 00000000000000000000000000000000000000000000* | ||
L2640 00000000000000000000000000000000000000000000* | ||
L2684 00000000000000000000000000000000000000000000* | ||
L2728 00000000000000000000000000000000000000000000* | ||
L2772 00000000000000000000000000000000000000000000* | ||
L2816 00000000000000000000000000000000000000000000* | ||
L2860 00000000000000000000000000000000000000000000* | ||
L2904 11111111111111111111111111111111111111101111* | ||
L2948 11111111111111110111111111111111111111111111* | ||
L2992 00000000000000000000000000000000000000000000* | ||
L3036 00000000000000000000000000000000000000000000* | ||
L3080 00000000000000000000000000000000000000000000* | ||
L3124 00000000000000000000000000000000000000000000* | ||
L3168 00000000000000000000000000000000000000000000* | ||
L3212 00000000000000000000000000000000000000000000* | ||
L3256 00000000000000000000000000000000000000000000* | ||
L3300 00000000000000000000000000000000000000000000* | ||
L3344 00000000000000000000000000000000000000000000* | ||
L3388 00000000000000000000000000000000000000000000* | ||
L3432 00000000000000000000000000000000000000000000* | ||
L3476 00000000000000000000000000000000000000000000* | ||
L3520 00000000000000000000000000000000000000000000* | ||
L3564 00000000000000000000000000000000000000000000* | ||
L3608 00000000000000000000000000000000000000000000* | ||
L3652 11111111111111111111111111111111111111101111* | ||
L3696 11111111111101111111111111111111111111111111* | ||
L3740 00000000000000000000000000000000000000000000* | ||
L3784 00000000000000000000000000000000000000000000* | ||
L3828 00000000000000000000000000000000000000000000* | ||
L3872 00000000000000000000000000000000000000000000* | ||
L3916 00000000000000000000000000000000000000000000* | ||
L3960 00000000000000000000000000000000000000000000* | ||
L4004 00000000000000000000000000000000000000000000* | ||
L4048 00000000000000000000000000000000000000000000* | ||
L4092 00000000000000000000000000000000000000000000* | ||
L4136 00000000000000000000000000000000000000000000* | ||
L4180 00000000000000000000000000000000000000000000* | ||
L4224 00000000000000000000000000000000000000000000* | ||
L4268 00000000000000000000000000000000000000000000* | ||
L4312 11111111111111111111111111111111111111111111* | ||
L4356 11111111111111111111111111111111111111110111* | ||
L4400 11110111111111111111111111111111111110111111* | ||
L4444 00000000000000000000000000000000000000000000* | ||
L4488 00000000000000000000000000000000000000000000* | ||
L4532 00000000000000000000000000000000000000000000* | ||
L4576 00000000000000000000000000000000000000000000* | ||
L4620 00000000000000000000000000000000000000000000* | ||
L4664 00000000000000000000000000000000000000000000* | ||
L4708 00000000000000000000000000000000000000000000* | ||
L4752 00000000000000000000000000000000000000000000* | ||
L4796 00000000000000000000000000000000000000000000* | ||
L4840 00000000000000000000000000000000000000000000* | ||
L4884 11111111111111111111111111111111111111111111* | ||
L4928 11111111111111111111111111111111111110111101* | ||
L4972 00000000000000000000000000000000000000000000* | ||
L5016 00000000000000000000000000000000000000000000* | ||
L5060 00000000000000000000000000000000000000000000* | ||
L5104 00000000000000000000000000000000000000000000* | ||
L5148 00000000000000000000000000000000000000000000* | ||
L5192 00000000000000000000000000000000000000000000* | ||
L5236 00000000000000000000000000000000000000000000* | ||
L5280 00000000000000000000000000000000000000000000* | ||
L5324 00000000000000000000000000000000000000000000* | ||
L5368 11111111111111111111111111111111111111111111* | ||
L5412 11111111111111111111111111111111111101111101* | ||
L5456 00000000000000000000000000000000000000000000* | ||
L5500 00000000000000000000000000000000000000000000* | ||
L5544 00000000000000000000000000000000000000000000* | ||
L5588 00000000000000000000000000000000000000000000* | ||
L5632 00000000000000000000000000000000000000000000* | ||
L5676 00000000000000000000000000000000000000000000* | ||
L5720 00000000000000000000000000000000000000000000* | ||
L5764 00000000000000000000000000000000000000000000* | ||
L5808 10111010101010010101* | ||
C7136* | ||
16AA |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
;PALASM Design Description | ||
|
||
;---------------------------------- Declaration Segment ------------ | ||
TITLE TEC-1 KEYBD PLD | ||
PATTERN KEYBD.PDS | ||
REVISION 1 | ||
AUTHOR Tom Keddie | ||
COMPANY Tom Keddie | ||
DATE 08/04/21 | ||
|
||
CHIP IO2 PAL22V10 | ||
|
||
;---------------------------------- PIN Declarations --------------- | ||
|
||
PIN 1 FTDI_WR COMBINATORIAL ; plcc pin 2 | ||
PIN 2 C923_DA COMBINATORIAL ; plcc pin 3 | ||
PIN 3 SHIFTKEY_N COMBINATORIAL ; plcc pin 4 | ||
PIN 4 FTDI_D0 COMBINATORIAL ; plcc pin 5 | ||
PIN 5 FTDI_D1 COMBINATORIAL ; plcc pin 6 | ||
PIN 6 FTDI_D2 COMBINATORIAL ; plcc pin 7 | ||
PIN 7 FTDI_D3 COMBINATORIAL ; plcc pin 9 | ||
PIN 8 FTDI_D4 COMBINATORIAL ; plcc pin 10 | ||
PIN 9 FTDI_D5 COMBINATORIAL ; plcc pin 11 | ||
PIN 10 FTDI_D6 COMBINATORIAL ; plcc pin 12 | ||
PIN 11 FTDI_D7 COMBINATORIAL ; plcc pin 13 | ||
|
||
PIN 13 KEYBD_CS COMBINATORIAL ; plcc pin 16 | ||
PIN 14 D_TRST COMBINATORIAL ; plcc pin 17 (NC) | ||
PIN 15 C923_OE_N COMBINATORIAL ; plcc pin 18 | ||
PIN 16 NMI_N COMBINATORIAL ; plcc pin 19 | ||
PIN 17 D0 REGISTERED ; plcc pin 20 | ||
PIN 18 D1 REGISTERED ; plcc pin 21 | ||
PIN 19 D2 REGISTERED ; plcc pin 23 | ||
PIN 20 D3 REGISTERED ; plcc pin 24 | ||
PIN 21 D4 REGISTERED ; plcc pin 25 | ||
PIN 22 D5 COMBINATORIAL ; plcc pin 26 | ||
PIN 23 FTDI_SHIFT REGISTERED ; plcc pin 27 (NC) | ||
|
||
;----------------------------------- Boolean Equation Segment ------ | ||
EQUATIONS | ||
|
||
D0 := FTDI_D0 | ||
D1 := FTDI_D1 | ||
D2 := FTDI_D2 | ||
D3 := FTDI_D3 | ||
D4 := FTDI_D4 | ||
FTDI_SHIFT := FTDI_D5; | ||
|
||
D0.CLKF = FTDI_WR; | ||
D1.CLKF = FTDI_WR; | ||
D2.CLKF = FTDI_WR; | ||
D3.CLKF = FTDI_WR; | ||
D4.CLKF = FTDI_WR; | ||
FTDI_SHIFT.CLKF = FTDI_WR; | ||
|
||
; tristate internal reg when D6 is off or CS is inactive | ||
D_TRST = /FTDI_D6 + /KEYBD_CS | ||
|
||
; tristate is active low | ||
D0.TRST = /D_TRST; | ||
D1.TRST = /D_TRST; | ||
D2.TRST = /D_TRST; | ||
D3.TRST = /D_TRST; | ||
D4.TRST = /D_TRST; | ||
D5.TRST = KEYBD_CS | ||
|
||
; enable tristate keybd encoder chip outpue when D6 is off and CS is active | ||
/C923_OE_N = /FTDI_D6 * KEYBD_CS | ||
|
||
; D5 pulled low when shift is pressed or ftdi shift is on | ||
/D5 = FTDI_SHIFT + /SHIFTKEY_N | ||
|
||
; signal a keypress if the 74C923 signals and the encoder is enabled | ||
/NMI_N = C923_DA * /FTDI_D6 + FTDI_D7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
;----------------------------------- Simulation Segment ------------ | ||
SIMULATION | ||
|
||
TRACE_ON FTDI_D0 FTDI_D1 FTDI_D2 FTDI_D3 FTDI_D4 FTDI_D5 FTDI_D6 FTDI_D7 FTDI_WR C923_DA SHIFTKEY_N KEYBD_CS C923_OE_N NMI_N D0 D1 D2 D3 D4 D5 FTDI_SHIFT D_TRST | ||
|
||
SETF /FTDI_D0 /FTDI_D1 /FTDI_D2 /FTDI_D3 /FTDI_D4 /FTDI_D5 FTDI_D6 /FTDI_D7 /FTDI_WR SHIFTKEY_N | ||
|
||
; DATA PIN tristate control | ||
SETF /KEYBD_CS /FTDI_D6 | ||
CHECK ^D0 ^D1 ^D2 ^D3 ^D4 | ||
SETF KEYBD_CS /FTDI_D6 | ||
CHECK ^D0 ^D1 ^D2 ^D3 ^D4 | ||
SETF /KEYBD_CS FTDI_D6 | ||
CHECK ^D0 ^D1 ^D2 ^D3 ^D4 | ||
|
||
; FTDI TO DATA PIN | ||
SETF KEYBD_CS FTDI_D6 | ||
CHECK /D0 /D1 /D2 /D3 /D4 | ||
|
||
SETF /FTDI_D0 FTDI_D1 /FTDI_D2 FTDI_D3 /FTDI_D4 | ||
CLOCKF FTDI_WR | ||
CHECK /D0 D1 /D2 D3 /D4 | ||
|
||
SETF FTDI_D0 /FTDI_D1 FTDI_D2 /FTDI_D3 FTDI_D4 | ||
CLOCKF FTDI_WR | ||
CHECK D0 /D1 D2 /D3 D4 | ||
|
||
; SHIFT KEY (D5 LOW = SHIFT) | ||
SETF /SHIFTKEY_N | ||
CHECK /D5 | ||
SETF SHIFTKEY_N FTDI_D5 | ||
CHECK D5 | ||
CLOCKF FTDI_WR | ||
CHECK /D5 | ||
SETF SHIFTKEY_N /FTDI_D5 | ||
CLOCKF FTDI_WR | ||
CHECK D5 | ||
|
||
; C923 output enable | ||
SETF FTDI_D6 KEYBD_CS | ||
CHECK C923_OE_N | ||
SETF FTDI_D6 /KEYBD_CS | ||
CHECK C923_OE_N | ||
SETF FTDI_D6 /KEYBD_CS | ||
CHECK C923_OE_N | ||
SETF /FTDI_D6 KEYBD_CS | ||
CHECK /C923_OE_N | ||
|
||
; NMI | ||
CHECK NMI_N | ||
SETF FTDI_D7 /C923_DA /FTDI_D6 | ||
CHECK /NMI_N | ||
SETF /FTDI_D7 /C923_DA /FTDI_D6 | ||
CHECK NMI_N | ||
SETF /FTDI_D7 C923_DA /FTDI_D6 | ||
CHECK /NMI_N | ||
SETF /FTDI_D7 C923_DA FTDI_D6 | ||
CHECK NMI_N | ||
|
||
|
||
TRACE_OFF | ||
;------------------------------------------------------------------- |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.