 Greetings, RISC-5 friends. Well, I can hardly see anything in this. So, this is a schematic. And it is the generic register multiplexer. I've kind of been calling it a crossbar, because it takes a whole bunch of inputs and outputs a whole bunch of things. Some of them are registered and some of them are buffered. So, this is just a hierarchical schematic, which is quite nice. So, we can see, actually, I can't see. Well, that's enough of that. So, basically, the idea is that we've got these connectors down here. And these are these connectors that I showed last time. And with grounds in between them, I can get 106 signals out of each one, which translates into 3 32-bit buses, plus some power and a bunch of other control signals. So, I basically break it up into buses in this block. And each connector also has this 4-bit selector that I can use for things. And in addition, it has these two other signals, some clock, so it could be phase one or phase two or whatever, and a reset signal. That's a global reset signal. And then, let's see. So, we can see some of the select signals, like, for example, this one down here, goes to a bunch of 3-8 decoders. So, basically, this makes a 4-16 decoder. Yes, I'm aware that there is a 74-154 4-16 decoder, but they don't make them in LVC or anything other than plain old 5-volt logic. So, I just used two of these. And that goes to the selectors. So, I think I have 16 of them. So, I've fully loaded all of the signals that I can select. And if we look at this big block over here, well, first, this big block is just a multiplexer, right? And you can see that these are the selection signals over here, and these are the signals that are being selected up here. So, for example, we have the PC right over here. And in order to output the PC to the output, we would enable the output enable for PC and so on. So, this basically selects one of these signals. Whoops. And if you don't select any of them, then you get all zeros out on here, which is useful for doing things like resets. And then we've got registers over here on the output. So, we've got one, two, three, four, five registers for the five registers that exist on the sequencer. And we've also got three buffers for outputting data to the X, Y, and Z buses. And there's an additional bus select because, well, sometimes you don't want to output to a bus. So, that's what I'm using the selection signals on this connector for. The selection signals on this connector will select different values for shift amounts. And there, I can select any one of 16 different shift amounts depending on what I need. In practice, I don't need that many. But now, if we take a look at the multiplexer itself, it looks a little busy. Basically, it's just this block repeated over and over. So, we can see that we get an input. And inside here, these are just buffers. This is a 32-bit buffer. So, if we go back up one step, you can see that this is a 32-bit buffer. So is this, so is this, so is this, and so on. And all of their outputs are tied to a single 32-bit bus. The Mem address buffer is a little bit different because sometimes we want to output the memory address. And sometimes we want to output the memory address with the least significant bit, zeroed. And this is only in one instruction that this is used. So, I have this additional drop signal. So, it looks like two different inputs that you can select. It's really just the one input, and then whether you drop the least significant bit. It's kind of the same thing with MTVAC. So, sometimes you want MTVAC, and sometimes you want MTVAC shifted right by two. Because remember, in the MTVAC register, the bottom two bits are the mode, and then all of the other bits are the actual address. So, you want to shift that over. So, we have instruction, mem data read, and so on and so forth. Again, here's another case where we have the Z bus that we may want to select, or we may want to select Z shifted over by two. And then we've got a bunch of pull downs, which is what pulls the output down to all zeros. Now, this is the shift amount selection. So, you can see that we've got a regular buffer of 32 bits, but where does it get the shift amount from? Well, it's going to get it from this gal that I'm going to use. Because it's really just one of 16 values. This sort of thing is perfect for that. I can't really use a ROM because A, ROMs are quite slow, and B, they don't make ROMs that small. And this is essentially a ROM if I don't use any of the registers on the gal. And in addition, because the shift amount is really, it's limited to just five bits, right? Because that would be any shift amount between zero and 31. And there's no point in having any shift amount with more than five bits. I connected 10 bits up just because they were there. So that's that. So that's the schematic. And again, the idea is that this is a generic board. So if this is a board for, for example, mem address, then I don't populate these other registers or these buffers on the output. I don't need to. And also, I may not even need to populate some of these buffers inside this multiplexer because those signals never go to the memory address. So that's pretty much a nice advantage. The other advantage of creating a generic board is that I only need one printed circuit board. There will be eight of these. Again, I've been calling them crossbars. There will be eight of these crossbars in the sequencer. So if I had to make a printed circuit board for all the different ones, that would be eight different circuit boards. And I'd have to pay eight times. And each printed circuit board requires a setup fee. Plus, because this is a card edge connector, I'm going to want to coat the fingers with gold so that you can insert them and remove them more than just a few times before the metal just sort of degrades. So that provides a good contact. And unfortunately, that's going to cost $15 setup charge for a printed circuit board. So of course, if I have eight different ones, that's eight times $15. Well, instead of doing that, I'm just going to have a generic board and I'm just going to have eight of them. And that way, I only have to pay one PCB setup charge. And the boards themselves are fairly cheap. So that's the idea. Now, we can take a look at the layout. Right, okay, this is the layout. It's a four-layer board. So let me turn off the inner layers. This is the big generic register multiplexer card. And this is basically the layout. So the output of the multiplexer are these 32 signals all the way up at the top. And it's just a bus that sort of runs all the way along the board. These over here are the pull downs. These in this row are the buffers for the multiplexer. And then we have on the bottom row, this is the gal sitting over here. And the rest of these are registers and or buffers. So we've got five registers and these are the X, Y, and Z buffers over here. And these are those two three-to-eight decoders. And that's it. These are the four connectors at the bottom, card edge connectors. And I can turn on the inner layers. These are power and ground. So the only problem with using a gal is that apparently they don't make 3.3 volt versions of this particular gal. Now, yes, I can use some other more modern CPLD, but I really, really, really wanted to use a gal. I mean, there's no reason why I should have to use a more complex device just to get 3.3 volts. But it turns out that if I do power this with five volts, it turns out that the 16244 that I'm feeding with these signals is five volt tolerant. So that's good because the gal will output five volt signals and the buffer will be tolerant to those five volt signals. In addition, because this has a threshold that's compatible with 3.3-volt logic levels, these input signals can be 3.3 volts and the gal will work just fine. So all I need is just an extra five-volt power line, and that's this line down over here. And that's it. So, you know, hopefully it should work. And what I did was I put this thing over here, this blank rectangle of silk screen so that I can actually write in marker what this board, what this particular board is. Because remember that I'm going to get eight of the same printed circuit boards and then I'm going to populate them differently. So I need to keep track of which is which and I just write down what they are. Let's take a look at the 3D rendering. Okay, so here's the 3D rendering from KiCAD. So I can, I guess I can zoom in, I can move it around, I can rotate it. So that's basically what it's going to look like. Now, how big is this thing? It's something like 320 millimeters by something like 70 or 80 millimeters. So, you know, we're talking, so we're talking, you know, a third of a meter, which is I guess not that much. So, you know, the size itself I'm not too worried about, but what I am a little bit worried about are the fact that I have these four card edge connectors. So the thing is that I don't know what the insertion force for these connectors is and whatever it is, it's going to have to be multiplied by four because I've got four connectors. So what I've done is, so what I'm probably going to do is I'm just going to end up sending the PCB off to get manufactured. And I don't really care if it works. So I'm going to have the, this sort of breakout board with four connectors on it and then I'm going to have the boards themselves. So this way I can just put the connectors on and slot the board in. And actually the connectors come with little alignment pins. So hopefully I should just be able to put the connectors onto the board and solder them in and that'll be that. The board will fit right on. But what I can also do is I can take each connector and fit it onto the card first and then put the, you know, put the entire assembly onto the breakout board and then solder it in place. That runs a bit of a risk because now I'm holding this board perpendicular to this breakout board and it'll move around. So I'm not really sure what I'm going to do. Each of these connectors, if I buy it in bulk, is about $6 each. So at worst I will end up ruining four of those for like 25 bucks. And then there's the cost of the printed circuit boards themselves. So, you know, we're talking about, you know, $100 to $150, you know, just to see this. So in any case, the possibility is that I just will not be able to insert this board by hand into the connectors. So there were some suggestions, like, you know, maybe I can have little screws on the sides so that, you know, you put the board gently onto the connectors and then you screw it down on both sides and it'll, you know, force the board into the connectors. So that's a nice way of doing things. I know that in the old S100 systems there would be these two levers on the sides where you would push it in by hand, but in order to take it out, it was very, it was difficult, if not impossible to do by hand. So they had these levers attached to the cards, kind of like ears, and then you would lever them down, which would be sitting against a rail. So as you would lever down one side, you would be lifting up the card with the other sides. So that's another possibility. So it's not impossible. I just need to, you know, try it and see what happens. So I guess that's really all I wanted to say. Again, sorry that this is a short video, but, you know, I just spent all my time, you know, working on this one board. And it's likely that I'm just going to be spending all my time the coming week working on the breakout board. So again, there really won't be a whole lot to show. But, you know, hopefully, you know, you got an idea of what I've been doing and what I've been up to. And that's really about it. So thanks for watching, and I will hopefully see you next week. Bye.