--- /dev/null
+
+
+ GAL16V8
+
+ -------\___/-------
+ Clock | 1 20 | VCC
+ | |
+ IOM | 2 19 | Q0
+ | |
+ A15 | 3 18 | Q1
+ | |
+ SWAPMEM | 4 17 | Q2
+ | |
+ A7 | 5 16 | Q3
+ | |
+ A6 | 6 15 | Q4
+ | |
+ A5 | 7 14 | USARTCS
+ | |
+ A4 | 8 13 | ROMCS
+ | |
+ A3 | 9 12 | RAMCS
+ | |
+ GND | 10 11 | /OE
+ -------------------
--- /dev/null
+
+
+Pin 19 = Q0 XOR = 1 AC1 = 0
+ 0 ---x ---- ---x ---- ---- ---- ---- ---- xxxx xxxx xxxx
+ 1 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 2 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 3 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 4 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 5 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx --x- ---x
+ 6 ---x ---- ---- ---- ---- ---- ---x --x- ---x ---- ----
+ 7 ---- ---- ---- xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+
+Pin 18 = Q1 XOR = 1 AC1 = 0
+ 8 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 9 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 10 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 11 xxxx xxxx xxxx xxxx xxxx xxxx xxxx --x- --x- ---x ----
+ 12 ---- ---- ---- ---- xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 13 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 14 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 15 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+
+Pin 17 = Q2 XOR = 1 AC1 = 0
+ 16 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 17 xxxx xxxx xxxx xxxx xxxx ---- ---- ---x --x- ---- ----
+ 18 ---- ---- ---- ---- --x- ---x ---- ---- ---- ---- xxxx
+ 19 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 20 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 21 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 22 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 23 xxxx xxxx xxxx ---- ---- ---- ---x --x- ---- ---- ----
+
+Pin 16 = Q3 XOR = 1 AC1 = 0
+ 24 ---- ---- ---x ---- --x- ---- ---- ---- ---- ---- --x-
+ 25 --x- ---x ---- ---- ---- xxxx xxxx xxxx xxxx xxxx xxxx
+ 26 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 27 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 28 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 29 xxxx ---- ---- ---- ---- ---- ---- ---- ---- x--- ----
+ 30 ---- -x-- -x-- -x-- -x-- x--- xxxx xxxx xxxx xxxx xxxx
+ 31 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+
+Pin 15 = Q4 XOR = 1 AC1 = 0
+ 32 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 33 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 34 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx ----
+ 35 ---- ---- ---- ---- ---- ---- ---- -x-- -x-- x--- ----
+ 36 ---- ---- ---- ---- -x-- x--- -x-- ---- ---- ---- ----
+ 37 ---- xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 38 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 39 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+
+Pin 14 = USARTCS XOR = 0 AC1 = 1
+ 40 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx ---- ---- ----
+ 41 ---- ---- ---- ---- ---- -x-- x--- x--- ---- ---- ----
+ 42 ---- ---- -x-- -x-- -x-- ---- ---- ---- ---- ---- xxxx
+ 43 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 44 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 45 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 46 xxxx xxxx xxxx xxxx xxxx xxxx ---- ---- ---- ---- ----
+ 47 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+
+Pin 13 = ROMCS XOR = 0 AC1 = 1
+ 48 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 49 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 50 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 51 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 52 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 53 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 54 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 55 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+
+Pin 12 = RAMCS XOR = 0 AC1 = 1
+ 56 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 57 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 58 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 59 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 60 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 61 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 62 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 63 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+
--- /dev/null
+\ 2\r
+Used Program: GALasm 2.1\r
+GAL-Assembler: GALasm 2.1\r
+Device: GAL16V8\r
+\r
+*F0\r
+*G0\r
+*QF2194\r
+*L0000 11101111111011111111111111111111\r
+*L0256 11011110111011111111111111111111\r
+*L0288 11101101111011111111111111111111\r
+*L0512 11011101111011111111111111111111\r
+*L0768 11111111111011011111111111111111\r
+*L0800 11111111110111101111111111111111\r
+*L1024 11111111111111101101111111111111\r
+*L1056 11111111111011111101111111111111\r
+*L1088 11111111110111011110111111111111\r
+*L1280 11111111111111111111111111111111\r
+*L1312 01111111111110111011101110110111\r
+*L1536 11111111111111111111111111111111\r
+*L1568 10111011011111111111111111111111\r
+*L1600 10110111101111111111111111111111\r
+*L1792 11111111111111111111111111111111\r
+*L1824 10110111011111111111111111111111\r
+*L1856 10111011101111111111111111111111\r
+*L2048 11111000\r
+*L2056 0011100000110000001110000011010101001101011010010110111001101001\r
+*L2120 00000111\r
+*L2128 1111111111111111111111111111111111111111111111111111111111111111\r
+*L2192 0\r
+*L2193 1\r
+*C4c56\r
+*\r
+\ 3be91\r
--- /dev/null
+
+
+ Pin # | Name | Pin Type
+-----------------------------
+ 1 | Clock | Clock
+ 2 | IOM | Input
+ 3 | A15 | Input
+ 4 | SWAPMEM | Input
+ 5 | A7 | Input
+ 6 | A6 | Input
+ 7 | A5 | Input
+ 8 | A4 | Input
+ 9 | A3 | Input
+ 10 | GND | GND
+ 11 | /OE | /OE
+ 12 | RAMCS | Output
+ 13 | ROMCS | Output
+ 14 | USARTCS | Output
+ 15 | Q4 | Output
+ 16 | Q3 | Output
+ 17 | Q2 | Output
+ 18 | Q1 | Output
+ 19 | Q0 | Output
+ 20 | VCC | VCC
+
--- /dev/null
+GAL16V8 ; 8085 SBC Logic first line : used GAL
+8085Mini ; second line: any text (max. 8 char.)
+
+
+Clock IOM A15 SWAPMEM A7 A6 A5 A4 A3 GND
+/OE RAMCS ROMCS USARTCS Q4 Q3 Q2 Q1 Q0 VCC
+
+
+Q0.R = /Q2 * /Q0
+
+Q1.R = /Q2 * /Q1 * Q0
+ + /Q2 * Q1 * /Q0
+
+Q2.R = /Q2 * Q1 * Q0
+
+Q3.R = Q3 * /Q2
+ + /Q3 * Q2
+
+Q4.R = Q4 * /Q3
+ + Q4 * /Q2
+ + /Q4 * Q3 * Q2
+
+/ROMCS = /IOM * SWAPMEM * /A15
+ + /IOM * /SWAPMEM * A15
+
+/RAMCS = /IOM * SWAPMEM * A15
+ + /IOM * /SWAPMEM * /A15
+
+/USARTCS = IOM * /A7 * /A6 * /A5 * /A4 * A3
+
+DESCRIPTION
+
+This is a glue logic for a simple 8085 based SBC (3.072 MHz CPU clock version)
+It implements three following functions:
+1. Frequency divider for 8051 UART that divides 3.072 MHz input frequency
+ by 10 or 20 to obtain 307.2 kHz or 153.6 kHz UART clock respectively
+
+Outputs Q0-Q2 are not to be used (they are outputs of divide by 5 counter)
+Q3 is 307.2 kHz 50% duty cycle clock
+Q4 is 153.6 kHz 50% duty cycle clock
+
+
+2. Chip select for ROM and SRAM
+
+Both ROM and SRAM chip selects are only activated when IOM is LOW.
+The SWAPMEM signals allows change the mapping of ROM and SRAM to the address
+space. Normally (SWAPMEM = 0), ROM is mapped to the lower 32 KiB, and
+SRAM is mapped to the upper 32 KiB. Setting SWAPMEM to 1 maps ROM to upper
+32 KiB and SRAM to lower 32 KiB. This can be used to run CP/M that needs
+lower memory to be in RAM.
+
+3. Chip select for USART
+
+USARTCS is activated (logic LOW) when IOM is HIGH and the address is 00001xxx
+
--- /dev/null
+
+
+ GAL16V8
+
+ -------\___/-------
+ Clock | 1 20 | VCC
+ | |
+ IOM | 2 19 | Q0
+ | |
+ A15 | 3 18 | Q1
+ | |
+ SWAPMEM | 4 17 | Q2
+ | |
+ A7 | 5 16 | Q3
+ | |
+ A6 | 6 15 | Q4
+ | |
+ A5 | 7 14 | USARTCS
+ | |
+ A4 | 8 13 | ROMCS
+ | |
+ A3 | 9 12 | RAMCS
+ | |
+ GND | 10 11 | /OE
+ -------------------
--- /dev/null
+
+
+Pin 19 = Q0 XOR = 1 AC1 = 0
+ 0 ---x ---- ---x ---- ---- ---- ---- ---- ---x ---x --x-
+ 1 ---- ---- ---- ---- ---- xxxx xxxx xxxx xxxx xxxx xxxx
+ 2 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 3 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 4 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 5 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx --x- ---x
+ 6 ---x ---- ---- ---- ---- ---- ---x --x- ---x ---- ----
+ 7 ---- ---- ---- --x- ---x --x- --x- ---- ---- ---- ----
+
+Pin 18 = Q1 XOR = 1 AC1 = 0
+ 8 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 9 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 10 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 11 xxxx xxxx xxxx xxxx xxxx xxxx xxxx --x- --x- ---x ----
+ 12 ---- ---- ---- ---- ---x ---x --x- ---- ---- ---- ----
+ 13 ---- --x- ---x --x- --x- ---- ---- ---- ---- xxxx xxxx
+ 14 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 15 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+
+Pin 17 = Q2 XOR = 1 AC1 = 0
+ 16 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 17 xxxx xxxx xxxx xxxx xxxx --x- ---- --x- ---- ---- ----
+ 18 ---- ---- ---- ---- ---x --x- ---- ---- ---- ---- ----
+ 19 ---x ---- --x- ---- ---- ---- ---- xxxx xxxx xxxx xxxx
+ 20 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 21 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 22 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 23 xxxx xxxx xxxx ---x --x- --x- --x- ---x ---- ---- ----
+
+Pin 16 = Q3 XOR = 1 AC1 = 0
+ 24 ---- ---- ---- ---x --x- ---- ---- ---- ---- ---- ---x
+ 25 ---- --x- ---- ---- ---- ---- ---x ---- ---- --x- ----
+ 26 ---- ---- xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 27 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 28 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 29 xxxx ---- ---- ---- ---- ---- ---- ---- ---- x--- ----
+ 30 ---- -x-- -x-- -x-- -x-- x--- xxxx xxxx xxxx xxxx xxxx
+ 31 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+
+Pin 15 = Q4 XOR = 1 AC1 = 0
+ 32 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 33 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 34 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx ----
+ 35 ---- ---- ---- ---- ---- ---- ---- -x-- -x-- x--- ----
+ 36 ---- ---- ---- ---- -x-- x--- -x-- ---- ---- ---- ----
+ 37 ---- xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 38 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 39 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+
+Pin 14 = USARTCS XOR = 0 AC1 = 1
+ 40 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx ---- ---- ----
+ 41 ---- ---- ---- ---- ---- -x-- x--- x--- ---- ---- ----
+ 42 ---- ---- -x-- -x-- -x-- ---- ---- ---- ---- ---- xxxx
+ 43 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 44 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 45 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 46 xxxx xxxx xxxx xxxx xxxx xxxx ---- ---- ---- ---- ----
+ 47 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+
+Pin 13 = ROMCS XOR = 0 AC1 = 1
+ 48 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 49 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 50 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 51 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 52 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 53 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 54 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 55 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+
+Pin 12 = RAMCS XOR = 0 AC1 = 1
+ 56 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 57 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 58 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 59 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 60 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 61 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 62 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 63 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+
--- /dev/null
+\ 2\r
+Used Program: GALasm 2.1\r
+GAL-Assembler: GALasm 2.1\r
+Device: GAL16V8\r
+\r
+*F0\r
+*G0\r
+*QF2194\r
+*L0000 11101111111011111111111111111111\r
+*L0032 11101110110111111111111111111111\r
+*L0256 11011110111011111111111111111111\r
+*L0288 11101101111011111111111111111111\r
+*L0320 11011110110111011111111111111111\r
+*L0512 11011101111011111111111111111111\r
+*L0544 11101110110111111111111111111111\r
+*L0576 11011110110111011111111111111111\r
+*L0768 11011111110111111111111111111111\r
+*L0800 11111111111011011111111111111111\r
+*L0832 11111110111111011111111111111111\r
+*L1024 11101101110111011110111111111111\r
+*L1056 11111111111111101101111111111111\r
+*L1088 11111111111011111101111111111111\r
+*L1120 11111110111111111101111111111111\r
+*L1280 11111111111111111111111111111111\r
+*L1312 01111111111110111011101110110111\r
+*L1536 11111111111111111111111111111111\r
+*L1568 10111011011111111111111111111111\r
+*L1600 10110111101111111111111111111111\r
+*L1792 11111111111111111111111111111111\r
+*L1824 10110111011111111111111111111111\r
+*L1856 10111011101111111111111111111111\r
+*L2048 11111000\r
+*L2056 0011100000110000001110000011010101001101011010010110111001101001\r
+*L2120 00000111\r
+*L2128 1111111111111111111111111111111111111111111111111111111111111111\r
+*L2192 0\r
+*L2193 1\r
+*C6086\r
+*\r
+\ 3eb89\r
--- /dev/null
+
+
+ Pin # | Name | Pin Type
+-----------------------------
+ 1 | Clock | Clock
+ 2 | IOM | Input
+ 3 | A15 | Input
+ 4 | SWAPMEM | Input
+ 5 | A7 | Input
+ 6 | A6 | Input
+ 7 | A5 | Input
+ 8 | A4 | Input
+ 9 | A3 | Input
+ 10 | GND | GND
+ 11 | /OE | /OE
+ 12 | RAMCS | Output
+ 13 | ROMCS | Output
+ 14 | USARTCS | Output
+ 15 | Q4 | Output
+ 16 | Q3 | Output
+ 17 | Q2 | Output
+ 18 | Q1 | Output
+ 19 | Q0 | Output
+ 20 | VCC | VCC
+
--- /dev/null
+GAL16V8 ; 8085 SBC Logic first line : used GAL
+8085Mini ; second line: any text (max. 8 char.)
+
+
+Clock IOM A15 SWAPMEM A7 A6 A5 A4 A3 GND
+/OE RAMCS ROMCS USARTCS Q4 Q3 Q2 Q1 Q0 VCC
+
+
+Q0.R = /Q2 * /Q0
+ + Q2 * /Q1 * /Q0
+
+Q1.R = /Q2 * /Q1 * Q0
+ + /Q2 * Q1 * /Q0
+ + Q3 * Q2 * /Q1 * Q0
+
+Q2.R = /Q2 * Q1 * Q0
+ + Q2 * /Q1 * /Q0
+ + Q3 * Q2 * /Q1 * Q0
+
+Q3.R = Q2 * Q0
+ + Q3 * /Q2
+ + Q3 * /Q1
+
+Q4.R = /Q4 * Q3 * Q2 * Q1 * /Q0
+ + Q4 * /Q3
+ + Q4 * /Q2
+ + Q4 * /Q1
+
+/ROMCS = /IOM * SWAPMEM * /A15
+ + /IOM * /SWAPMEM * A15
+
+/RAMCS = /IOM * SWAPMEM * A15
+ + /IOM * /SWAPMEM * /A15
+
+/USARTCS = IOM * /A7 * /A6 * /A5 * /A4 * A3
+
+DESCRIPTION
+
+This is a glue logic for a simple 8085 based SBC (3.9936 MHz CPU clock version)
+It implements three following functions:
+1. Frequency divider for 8051 UART that divides 3.072 MHz input frequency
+ by 13 or 26 to obtain 307.2 kHz or 153.6 kHz UART clock respectively
+
+Outputs Q0-Q2 are not to be used (they are outputs of divide by 5 counter)
+Q3 is 307.2 kHz 50% duty cycle clock
+Q4 is 153.6 kHz 50% duty cycle clock
+
+
+2. Chip select for ROM and SRAM
+
+Both ROM and SRAM chip selects are only activated when IOM is LOW.
+The SWAPMEM signals allows change the mapping of ROM and SRAM to the address
+space. Normally (SWAPMEM = 0), ROM is mapped to the lower 32 KiB, and
+SRAM is mapped to the upper 32 KiB. Setting SWAPMEM to 1 maps ROM to upper
+32 KiB and SRAM to lower 32 KiB. This can be used to run CP/M that needs
+lower memory to be in RAM.
+
+3. Chip select for USART
+
+USARTCS is activated (logic LOW) when IOM is HIGH and the address is 00001xxx
+
--- /dev/null
+
+
+ GAL16V8
+
+ -------\___/-------
+ Clock | 1 20 | VCC
+ | |
+ IOM | 2 19 | Q0
+ | |
+ A15 | 3 18 | Q1
+ | |
+ SWAPMEM | 4 17 | Q2
+ | |
+ A7 | 5 16 | Q3
+ | |
+ A6 | 6 15 | Q4
+ | |
+ A5 | 7 14 | USARTCS
+ | |
+ A4 | 8 13 | ROMCS
+ | |
+ A3 | 9 12 | RAMCS
+ | |
+ GND | 10 11 | /OE
+ -------------------
--- /dev/null
+
+
+Pin 19 = Q0 XOR = 1 AC1 = 0
+ 0 ---x ---- ---- ---- ---- ---- ---- ---- xxxx xxxx xxxx
+ 1 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 2 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 3 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 4 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 5 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx ---x --x-
+ 6 ---- ---- ---- ---- ---- ---- --x- ---x ---- ---- ----
+ 7 ---- ---- ---- xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+
+Pin 18 = Q1 XOR = 1 AC1 = 0
+ 8 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 9 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 10 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 11 xxxx xxxx xxxx xxxx xxxx xxxx xxxx ---- ---x --x- ----
+ 12 ---- ---- ---- ---- ---x ---- --x- ---- ---- ---- ----
+ 13 ---- --x- --x- ---x ---- ---- ---- ---- ---- xxxx xxxx
+ 14 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 15 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+
+Pin 17 = Q2 XOR = 1 AC1 = 0
+ 16 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 17 xxxx xxxx xxxx xxxx xxxx ---- ---- ---x --x- ---- ----
+ 18 ---- ---- ---- ---x ---- --x- ---- ---- ---- ---- ---x
+ 19 ---- ---- --x- ---- ---- ---- ---- --x- --x- --x- ---x
+ 20 ---- ---- ---- ---- xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 21 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 22 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 23 xxxx xxxx xxxx ---- ---- ---- ---x --x- ---- ---- ----
+
+Pin 16 = Q3 XOR = 1 AC1 = 0
+ 24 ---- ---- ---x ---- --x- ---- ---- ---- ---- ---x ----
+ 25 ---- --x- ---- ---- ---- ---x ---- ---- ---- --x- ----
+ 26 ---- ---- --x- --x- --x- --x- ---x ---- ---- ---- xxxx
+ 27 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 28 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 29 xxxx ---- ---- ---- ---- ---- ---- ---- ---- x--- ----
+ 30 ---- -x-- -x-- -x-- -x-- x--- xxxx xxxx xxxx xxxx xxxx
+ 31 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+
+Pin 15 = Q4 XOR = 1 AC1 = 0
+ 32 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 33 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 34 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx ----
+ 35 ---- ---- ---- ---- ---- ---- ---- -x-- -x-- x--- ----
+ 36 ---- ---- ---- ---- -x-- x--- -x-- ---- ---- ---- ----
+ 37 ---- xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 38 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 39 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+
+Pin 14 = USARTCS XOR = 0 AC1 = 1
+ 40 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx ---- ---- ----
+ 41 ---- ---- ---- ---- ---- -x-- x--- x--- ---- ---- ----
+ 42 ---- ---- -x-- -x-- -x-- ---- ---- ---- ---- ---- xxxx
+ 43 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 44 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 45 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
+ 46 xxxx xxxx xxxx xxxx xxxx xxxx ---- ---- ---- ---- ----
+ 47 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+
+Pin 13 = ROMCS XOR = 0 AC1 = 1
+ 48 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 49 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 50 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 51 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 52 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 53 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 54 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 55 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+
+Pin 12 = RAMCS XOR = 0 AC1 = 1
+ 56 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 57 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 58 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 59 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 60 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 61 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 62 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+ 63 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
+
--- /dev/null
+\ 2\r
+Used Program: GALasm 2.1\r
+GAL-Assembler: GALasm 2.1\r
+Device: GAL16V8\r
+\r
+*F0\r
+*G0\r
+*QF2194\r
+*L0000 11101111111111111111111111111111\r
+*L0256 11101101111111111111111111111111\r
+*L0288 11011110111111111111111111111111\r
+*L0512 11111110110111111111111111111111\r
+*L0544 11101111110111111111111111111111\r
+*L0576 11011101111011111111111111111111\r
+*L0768 11111111111011011111111111111111\r
+*L0800 11111110111111011111111111111111\r
+*L0832 11101111111111011111111111111111\r
+*L0864 11011101110111101111111111111111\r
+*L1024 11111111111111101101111111111111\r
+*L1056 11111111111011111101111111111111\r
+*L1088 11111110111111111101111111111111\r
+*L1120 11101111111111111101111111111111\r
+*L1152 11011101110111011110111111111111\r
+*L1280 11111111111111111111111111111111\r
+*L1312 01111111111110111011101110110111\r
+*L1536 11111111111111111111111111111111\r
+*L1568 10111011011111111111111111111111\r
+*L1600 10110111101111111111111111111111\r
+*L1792 11111111111111111111111111111111\r
+*L1824 10110111011111111111111111111111\r
+*L1856 10111011101111111111111111111111\r
+*L2048 11111000\r
+*L2056 0011100000110000001110000011010101001101011010010110111001101001\r
+*L2120 00000111\r
+*L2128 1111111111111111111111111111111111111111111111111111111111111111\r
+*L2192 0\r
+*L2193 1\r
+*C61a6\r
+*\r
+\ 3ebcb\r
--- /dev/null
+
+
+ Pin # | Name | Pin Type
+-----------------------------
+ 1 | Clock | Clock
+ 2 | IOM | Input
+ 3 | A15 | Input
+ 4 | SWAPMEM | Input
+ 5 | A7 | Input
+ 6 | A6 | Input
+ 7 | A5 | Input
+ 8 | A4 | Input
+ 9 | A3 | Input
+ 10 | GND | GND
+ 11 | /OE | /OE
+ 12 | RAMCS | Output
+ 13 | ROMCS | Output
+ 14 | USARTCS | Output
+ 15 | Q4 | Output
+ 16 | Q3 | Output
+ 17 | Q2 | Output
+ 18 | Q1 | Output
+ 19 | Q0 | Output
+ 20 | VCC | VCC
+
--- /dev/null
+GAL16V8 ; 8085 SBC Logic first line : used GAL
+8085Mini ; second line: any text (max. 8 char.)
+
+
+Clock IOM A15 SWAPMEM A7 A6 A5 A4 A3 GND
+/OE RAMCS ROMCS USARTCS Q4 Q3 Q2 Q1 Q0 VCC
+
+
+Q0.R = /Q0
+
+Q1.R = Q1 * /Q0
+ + /Q1 * Q0
+
+Q2.R = Q2 * /Q1
+ + Q2 * /Q0
+ + /Q2 * Q1 * Q0
+
+Q3.R = Q3 * /Q2
+ + Q3 * /Q1
+ + Q3 * /Q0
+ + /Q3 * Q2 * Q1 * Q0
+
+Q4.R = Q4 * /Q3
+ + Q4 * /Q2
+ + Q4 * /Q1
+ + Q4 * /Q0
+ + /Q4 * Q3 * Q2 * Q1 * Q0
+
+/ROMCS = /IOM * SWAPMEM * /A15
+ + /IOM * /SWAPMEM * A15
+
+/RAMCS = /IOM * SWAPMEM * A15
+ + /IOM * /SWAPMEM * /A15
+
+/USARTCS = IOM * /A7 * /A6 * /A5 * /A4 * A3
+
+DESCRIPTION
+
+This is a glue logic for a simple 8085 based SBC (4.9152 MHz CPU clock version)
+It implements three following functions:
+1. Frequency divider for 8051 UART that divides 4.9152 MHz input frequency
+ by 16 or 32 to obtain 307.2 kHz or 153.6 kHz UART clock respectively
+
+Outputs Q0-Q2 are not to be used (they are outputs of divide by 8 counter)
+Q3 is 307.2 kHz 50% duty cycle clock
+Q4 is 153.6 kHz 50% duty cycle clock
+
+
+2. Chip select for ROM and SRAM
+
+Both ROM and SRAM chip selects are only activated when IOM is LOW.
+The SWAPMEM signals allows change the mapping of ROM and SRAM to the address
+space. Normally (SWAPMEM = 0), ROM is mapped to the lower 32 KiB, and
+SRAM is mapped to the upper 32 KiB. Setting SWAPMEM to 1 maps ROM to upper
+32 KiB and SRAM to lower 32 KiB. This can be used to run CP/M that needs
+lower memory to be in RAM.
+
+3. Chip select for USART
+
+USARTCS is activated (logic LOW) when IOM is HIGH and the address is 00001xxx
+