Relay Computer - Memory
ฝัง
- เผยแพร่เมื่อ 5 ก.พ. 2025
- I'm exploring different memory options for the relay computer, from old-school capacitor-based to a more modern Static RAM that has way more memory than we'll ever need.
Chapters:
0:00 Intro
0:47 Exploring "old-school" memory options
2:14 Capacitor-Diode Memory - Prototype demonstration
4:29 Modern RAM - Deep-dive into the 62256N
5:37 Modern RAM - Prototype demonstration
9:05 Isolation - A good thing for RAM and Relays
10:18 Design & Build Time!
12:06 Testing the new RAM-based board
13:59 Outro
Music:
It was a Fine Day - South London HIFI
Long Road - Futuremono
Sun Awakening - Futurmono
Thank you for watching, and as always I welcome any feedback or ideas for future projects!
I had never heard of Capacitor memory being used for relay computers before, thats so cool
This is the best thing that's happening on youtube right now :D
Wow that's a huge compliment! Thank you!
@@dipdoting You are welcome. Looking forward to the upcoming videos.
The clickety-clackety sounds from the relay - well I think it is so soothing - and probably not for hours and hours.
Great video.
Thank you! I can't imagine what it would've been like working on a large-scale relay computer like the FACOM...would be cool to watch but I'd need to write the code in another room!
And he's back!
Uh-oh, it looks like you may have forgotten to clean the lens on your camera for the intro b-roll. The bloom and lack of contrast is usually a sign of that.
Good catch - yeah that b-roll is like a Xerox of Xerox...I didn't have the original footage and needed to grab it from my previous 720p TH-cam video. Lesson learned --- keep backups of all my hires b-roll 😉
If you used two relays per bit, you could have the capacitor memory without the separate clear line. The first relay would select between ground and vcc, the second relay would take your write signal, connecting the first to the capacitor. So, write + zero data = ground capacitor, write + one data = charge capacitor. You would power write on read as well, for your 'refresh'.
Amazing job! Keep going!
Bravo. On second thoughts, I don't see anything wrong with using SRAM. If it was available back when things like this were built, they would have used it. 😆
Seriously though, it's a demonstration of relay based microcode. I don't think there's any need to over think it. An alternative is really only of interest if there's a global EMP and there are no more ICs anywhere. :)
Fantastic project and video! The sound reminded me of the old cross point switches used in telecom even up into this century (although, much less than in the early to mid last century.) keep up the good work!! I’ll be watching, of a certainty.
Thank you!
Tanks to you i now know how to use the ram chips i have properly
Congrats on the 1k milestone!!
Been waiting for the next installment!! Love this
More to come!
I never get tired of clicking relays
Great work! Really interested to see how the capacitor diode memory goes
Thank you!
I see a problem with at least your breadboard demo, which is that you had those DIP switches wired directly between the positive supply and the data lines. When you were setting them, the IC was still outputting data, and it does drive pins showing a zero to ground. So when you flipped the third switch from the left, you effectively created a short that could have easily killed the chip. You can probably get away with using resistors to limit the current in this case. Normally this would be bad for speed and signal strength, but should be okay since your computer is not going to run at over a MHz.
Still, smart choice to use modern memory for now. Get the CPU working perfectly first, before introducing more variables into any debugging by having to worry about custom memory.
I used a few relays to make a keyless ignition on my motorbike in the 1980`s. No one could work out how to start it. Even got stolen twice and they never got it running.
Sweet 😎
Excellent video and explanation as always!. But I am confused as whether the capacitor memory still needs one relay per bit, or the same relays will be shared for a bank of memory cells after memory/bit address decoding. I understand it's the latter. The Mercia relay computer site seems to omit the need to recharge the capacitor while reading memory, unless I missed something. I'm sure you will cover this in more detail in a future video. Determining the right balance for capacitor size should also be interesting. I think the larger it is the better as this should provide more idle storage time, but maybe writes and reads become somewhat slower if the capacitor is too big (?)
Thank you! I saw your other comment below but yes a relay can be shared for a bank of relays - but there'll need to be some supporting relays for clearing, write/read flow control etc. It'll be a fun adventure to figure this one out!
super, I like the idea of the capacity storage. That said i'm wondering what the benefits are between the registry busses you made and the use of the capacity storage.
Those let bars you used in the demo looks much cleaner then the separate led's on you boards.
Technically you could use capacitors for registers as well. One thing with capacitor memory is that it needs to be refreshed from time to time, easier to do with all of that in one place.
The first PCB I ever sent out for production was the A/D Register board for this relay computer. It had a few mistakes but I was pretty jazzed with how well it came out. I designed a daughter board the uses simple pin headers and a socket to plug into the main board at a right angle. This makes the LEDs much more visible. I also went with surface mount LEDs and resistors to make the board smaller. I'm intrigued by the capacitor memory idea but isn't it still one relay per bit? I'd imagine you'd be limited to 64 bits per board at that rate.
That's great! I thought about using right-angle for LEDs but my intention is to have everything in a case and have a front panel so they are for "debugging" purposes - at least in my mind. For Capacitor memory we'd need one relay for every 8-bits (capacitors) to enable a byte for read/write. I'm playing around with PCB designs, and I think I'm going to need a bigger boat...er...board for capacitor memory.
What do you think about using latching (bistable) relays for memory?
Could definately use those, they are just pricey - unless you know a good supplier 😬
Can't wait to see you run a program to blink an LED 😊
Just for fun I'll have that as a front control panel option --- one blinking light! 😂
Will you need a relay per bit with the capacitor memory? How many bits of memory are you planning on designing for the capacitor memory?
I asked that same question. I think he just demoed the concept in this video, but in practice he will share the same relays for a bank of memory cells. So only the capacitor and the two diodes really count per memory cell element. This should be possible because memory cell addresses must be decoded anyway, so only a few cells are accessed at once while the others remain idle.
It will need one controller relay for each row of 8 capacitors representing 8 bits, and then 2 diodes for each of those.
Didn't the electromechanical circuits in for example (pre solid state logic) pinball machines and jukeboxes mostly use latching based memory? Is that strategy not really usable in a general purpose computer?
Yes, they did, and this relay computer uses latching relays for the registers to store values. Great video by Technology Connections about pinball and relays here: th-cam.com/video/ue-1JoJQaEg/w-d-xo.htmlsi=L7mgr5G5tZpTFN9Z
I was happy to hear you are still pursuing capacitor diode memory. Using a model RAM chip just seems like cheating. Disappointment!
Totally agree - Whenever I see chips on relay computers it takes away from the concept - this RAM will help me work the bugs out but fully intent to have a working capacitor memory in the future!
It's not really cheating to me if you need the memory depth. Repeating hundreds, or even thousands of a circuit doesn't seem more "pure" to me from a practicality standpoint. Maybe have some registers as cap memory, and bulk memory as dips if you want to flavor it a bit.
...but what if i need 128kb of memory.....
Sony ZV series cameras have a very good quality for their price, try that.
Thanks - I ended-up with a Canon Mirrorless - hopefully you'll see some improvement to resolution in the videos.
do you have plans to release the circut designs or sell pcb's? id love to assemble one of these as well.
For sure - Once the build is "done" (meaning it's stable and running some code) I'm going to do a REV2 to fix-up any obvious issues...then I'll post the designs and pcbs for anyone to try out!
Capacitor memory? You mean SDRAM..
It must be refreshed by the memory controller fairly frequently.
The goal is to refresh at each read cycle. For longer runs I'll need a ROM routine or something that refreshes at regular intervals. Trying to experiment with different sized capacitors to find a good balance between size and time needed between charges.
I dont really like the idea of the CMOS ram chip. its so out of place. could we come up with something kinda period correct? idk, i dont think im smart enough to think about something better tbh...
I hear ya, it feels like cheating to use a RAM chip --- In behind the scenes I'm working on capacitor memory so that should be interesting. I'll probably need a whole additional enclosure just for the memory!
Have you considered bistable relays
I haven't considered them yet - looks interesting - would add some complexity in terms of needing to reverse polarity to reset but doable. Of course, cost is also a factor for me 😁
@@dipdoting In quantity they would be not much more than capacitors and they are non volatile once operated require no power , maybe not for a large amount of memory note they also come in dual coil types one coil sets the other resets so its a flip flop!
Charging those capacitors through a relay is going to kill that relay in no time.
Interested in hearing more on this - the Comm to NO/NC are rated for 2A @ 30VDC for 100,000 operations. Does charging capacitors cause further stress on contacts as opposed to energizing another relay? If so, I could socket those relays to make it easier to change them out I suppose.
@@dipdoting An electrolytic capacitor typically has ESR (equivalent series resistance) values of few milliohms, and in case of very old electrolytics up to an ohm. Divide the voltage you apply to a capacitor to charge it to obtain the peak current. Same applies to discharging the capacitors. Sorry for being the bearer of bad news.