|
| 1 | +## MAR Progress, day 2 |
| 2 | + |
| 3 | +Goooooood morning! Who woke up early on a Sunday, so they decided to spend their morning starting off with wiring for a chip that doesn't exist here yet. Ha, wouldn't be me, right? |
| 4 | + |
| 5 | +--- |
| 6 | +The amount of time that I've spent trying to figure out this control logic, realizing flaws that I've made today is stupid. I think I've spent at least an hour or two trying to do it in the fewest amount of chips, and on the rising edge...yeah. |
| 7 | + |
| 8 | + |
| 9 | +<!-- |
| 10 | +Revised Connection List |
| 11 | +Below is the updated connection list, incorporating the 74HC138 output shift and correcting the Second 74HC08 Gate 2 output destinations to include Second 74HC08 Gate 1 input A. |
| 12 | +Breadboard 2: 74HC138 (Control Signal Decoder) |
| 13 | +Pin Connections: |
| 14 | +A (pin 1): Control unit A line. |
| 15 | +
|
| 16 | +B (pin 2): Control unit B line. |
| 17 | +
|
| 18 | +C (pin 3): Control unit C line. |
| 19 | +
|
| 20 | +G1 (pin 6): Control unit MEM_EN (active high). |
| 21 | +
|
| 22 | +G2A (pin 4): GND. |
| 23 | +
|
| 24 | +G2B (pin 5): GND. |
| 25 | +
|
| 26 | +Y0 (pin 15): Unconnected. |
| 27 | +
|
| 28 | +Y1 (pin 14): To 74HC04 Gate 1 input (Breadboard 1, MAR_LOAD_L). |
| 29 | +
|
| 30 | +Y2 (pin 13): To 74HC04 Gate 2 input (Breadboard 1, MAR_LOAD_H). |
| 31 | +
|
| 32 | +Y3 (pin 12): To 74HC04 Gate 3 input (Breadboard 1, READ). |
| 33 | +
|
| 34 | +Y4 (pin 11): To 74HC04 Gate 4 input (Breadboard 1, WRITE). |
| 35 | +
|
| 36 | +Y5–Y7 (pins 10, 9, 7): Unconnected. |
| 37 | +
|
| 38 | +VCC (pin 16): 5V. |
| 39 | +
|
| 40 | +GND (pin 8): GND. |
| 41 | +
|
| 42 | +Breadboard 1: 74HC04 (Hex Inverter) |
| 43 | +Pin Connections: |
| 44 | +Gate 1 (1A, pin 1; 1Y, pin 2): 1A = 74HC138 Y1 (MAR_LOAD_L), 1Y = NOT Y1 to Second 74HC08 Gate 3 input A. |
| 45 | +
|
| 46 | +Gate 2 (2A, pin 3; 2Y, pin 4): 2A = 74HC138 Y2 (MAR_LOAD_H), 2Y = NOT Y2 to Second 74HC08 Gate 4 input A. |
| 47 | +
|
| 48 | +Gate 3 (3A, pin 5; 3Y, pin 6): 3A = 74HC138 Y3 (READ), 3Y = NOT READ to First 74HC08 Gate 1 input A. |
| 49 | +
|
| 50 | +Gate 4 (4A, pin 9; 4Y, pin 8): 4A = 74HC138 Y4 (WRITE), 4Y = NOT WRITE to First 74HC08 Gate 2 input A. |
| 51 | +
|
| 52 | +Gate 5 (5A, pin 11; 5Y, pin 10): 5A = 74HC139 1Y0 (ROM_CE), 5Y = NOT ROM_CE to SST39SF010 CE and OE. |
| 53 | +
|
| 54 | +Gate 6 (6A, pin 13; 6Y, pin 12): 6A = A15 (MAR-H Q7), 6Y = NOT A15 to 74HC139 2E. |
| 55 | +
|
| 56 | +VCC (pin 14): 5V. |
| 57 | +
|
| 58 | +GND (pin 7): GND. |
| 59 | +
|
| 60 | +Breadboard 1: First 74HC08 (AND Gates) |
| 61 | +Pin Connections: |
| 62 | +Gate 1 (1A, pin 1; 1B, pin 2; 1Y, pin 3): 1A = 74HC04 3Y (NOT READ), 1B = Clock, 1Y = Final READ to First 74HC08 Gate 3 input B. |
| 63 | +
|
| 64 | +Gate 2 (2A, pin 4; 2B, pin 5; 2Y, pin 6): 2A = 74HC04 4Y (NOT WRITE), 2B = Clock, 2Y = Final WRITE to Second 74HC08 Gate 1 input B. |
| 65 | +
|
| 66 | +Gate 3 (3A, pin 9; 3B, pin 10; 3Y, pin 8): 3A = Second 74HC08 2Y (Final RAM_CE), 3B = First 74HC08 1Y (Final READ), 3Y = 62256 OE. |
| 67 | +
|
| 68 | +Gate 4 (4A, pin 12; 4B, pin 13; 4Y, pin 11): 4A = A15 (MAR-H Q7), 4B = A14 (MAR-H Q6), 4Y = A15 ∧ A14 to 74HC139 1E. |
| 69 | +
|
| 70 | +VCC (pin 14): 5V. |
| 71 | +
|
| 72 | +GND (pin 7): GND. |
| 73 | +
|
| 74 | +Breadboard 1: Second 74HC08 (AND Gates) |
| 75 | +Pin Connections: |
| 76 | +Gate 1 (1A, pin 1; 1B, pin 2; 1Y, pin 3): 1A = Second 74HC08 2Y (Final RAM_CE), 1B = First 74HC08 2Y (Final WRITE), 1Y = 62256 WE. |
| 77 | +
|
| 78 | +Gate 2 (2A, pin 4; 2B, pin 5; 2Y, pin 6): 2A = 74HC139 2Y0 (RAM_CE), 2B = MEM_EN (control unit), 2Y = Final RAM_CE to 62256 CE, First 74HC08 Gate 3 input A, Second 74HC08 Gate 1 input A. |
| 79 | +
|
| 80 | +Gate 3 (3A, pin 9; 3B, pin 10; 3Y, pin 8): 3A = 74HC04 1Y (NOT Y1), 3B = Clock, 3Y = Final MAR_LOAD_L to MAR-L CP. |
| 81 | +
|
| 82 | +Gate 4 (4A, pin 12; 4B, pin 13; 4Y, pin 11): 4A = 74HC04 2Y (NOT Y2), 4B = Clock, 4Y = Final MAR_LOAD_H to MAR-H CP. |
| 83 | +
|
| 84 | +VCC (pin 14): 5V. |
| 85 | +
|
| 86 | +GND (pin 7): GND. |
| 87 | +
|
| 88 | +Breadboard 1: 74HC139 (Dual 2-to-4 Decoder) |
| 89 | +Pin Connections: |
| 90 | +1E (pin 1): First 74HC08 4Y (A15 ∧ A14). |
| 91 | +
|
| 92 | +1A (pin 2): A12 (MAR-H Q4). |
| 93 | +
|
| 94 | +1B (pin 3): A13 (MAR-H Q5). |
| 95 | +
|
| 96 | +1Y0 (pin 4): ROM_CE to 74HC04 5A. |
| 97 | +
|
| 98 | +1Y1–1Y3 (pins 5–7): Unconnected. |
| 99 | +
|
| 100 | +2E (pin 15): 74HC04 6Y (NOT A15). |
| 101 | +
|
| 102 | +2A (pin 14): A14 (MAR-H Q6). |
| 103 | +
|
| 104 | +2B (pin 13): GND. |
| 105 | +
|
| 106 | +2Y0 (pin 12): RAM_CE to Second 74HC08 2A. |
| 107 | +
|
| 108 | +2Y1–2Y3 (pins 11–9): Unconnected. |
| 109 | +
|
| 110 | +VCC (pin 16): 5V. |
| 111 | +
|
| 112 | +GND (pin 8): GND. |
| 113 | +
|
| 114 | +Breadboard 1: 74HC377 (MAR-L, A0–A7) |
| 115 | +Pin Connections: |
| 116 | +D0–D7 (pins 3, 6, 8, 13, 14, 17, 18, 4): Data bus (D0–D7). |
| 117 | +
|
| 118 | +Q0–Q7 (pins 2, 5, 9, 12, 15, 16, 19, 7): A0–A7 to ROM A0–A7, RAM A0–A7. |
| 119 | +
|
| 120 | +CP (pin 11): Second 74HC08 3Y (Final MAR_LOAD_L). |
| 121 | +
|
| 122 | +E (pin 1): GND. |
| 123 | +
|
| 124 | +VCC (pin 20): 5V. |
| 125 | +
|
| 126 | +GND (pin 10): GND. |
| 127 | +
|
| 128 | +Breadboard 1: 74HC377 (MAR-H, A8–A15) |
| 129 | +Pin Connections: |
| 130 | +D0–D7 (pins 3, 6, 8, 13, 14, 17, 18, 4): Data bus (D0–D7). |
| 131 | +
|
| 132 | +Q0–Q7 (pins 2, 5, 9, 12, 15, 16, 19, 7): A8–A15 to ROM A8–A15, RAM A8–A14, A15 to 74HC04 6A and First 74HC08 4A, A14 to First 74HC08 4B and 74HC139 2A, A13 to 74HC139 1B, A12 to 74HC139 1A. |
| 133 | +
|
| 134 | +CP (pin 11): Second 74HC08 4Y (Final MAR_LOAD_H). |
| 135 | +
|
| 136 | +E (pin 1): GND. |
| 137 | +
|
| 138 | +VCC (pin 20): 5V. |
| 139 | +
|
| 140 | +GND (pin 10): GND. |
| 141 | +
|
| 142 | +Breadboard 1: SST39SF010 (ROM) |
| 143 | +Pin Connections: |
| 144 | +A0–A15 (pins 10–18, 7–5, 27, 26, 23, 25): MAR-L Q0–Q7 (A0–A7), MAR-H Q0–Q7 (A8–A15). |
| 145 | +
|
| 146 | +DQ0–DQ7 (pins 11, 13, 15, 17, 19, 8, 6, 4): Data bus (D0–D7). |
| 147 | +
|
| 148 | +CE (pin 3): 74HC04 5Y (NOT ROM_CE). |
| 149 | +
|
| 150 | +OE (pin 1): 74HC04 5Y (NOT ROM_CE). |
| 151 | +
|
| 152 | +WE (pin 2): 5V. |
| 153 | +
|
| 154 | +VCC (pins 28, 20): 5V. |
| 155 | +
|
| 156 | +GND (pins 14, 22): GND. |
| 157 | +
|
| 158 | +Breadboard 1: 62256 (RAM) |
| 159 | +Pin Connections: |
| 160 | +A0–A14 (pins 10–18, 7–5, 27, 26): MAR-L Q0–Q7 (A0–A7), MAR-H Q0–Q6 (A8–A14). |
| 161 | +
|
| 162 | +DQ0–DQ7 (pins 11, 13, 15, 17, 19, 8, 6, 4): Data bus (D0–D7). |
| 163 | +
|
| 164 | +CE (pin 20): Second 74HC08 2Y (Final RAM_CE). |
| 165 | +
|
| 166 | +OE (pin 22): First 74HC08 3Y (Final RAM_CE ∧ Final READ). |
| 167 | +
|
| 168 | +WE (pin 21): Second 74HC08 1Y (Final RAM_CE ∧ Final WRITE). |
| 169 | +
|
| 170 | +VCC (pin 28): 5V. |
| 171 | +
|
| 172 | +GND (pin 14): GND. |
| 173 | +
|
| 174 | + --> |
| 175 | + |
| 176 | + |
| 177 | +I've commented out the connection listing from grok. That's probably going to get me, but thankfully most of that logic is on top of the data/address wires, so it won't be like undoing the whole thing. Testing&debugging it will still be fun, but it will mostly involve reading&writing at several key addresses. |
| 178 | + |
| 179 | +--- |
| 180 | + |
0 commit comments