Very impressive! I have a question about ur use of assembly. How does the relay computer understand the instruction? what did u do in ur design to make the chip understand the command MOVCA or even the semicolon for example. this is something that always puzzled me about low level languages. I know that assembly is simplified representation of the machine code, but how does the computer know that when u type 65 that its actually 1000001? i understand if u don't have the time or energy to explain
@PainGuy2 Zusie doesn't read the assembly code directly (nor does any other computer). Instead you run it through a program called an assembler, which produces a binary version of the program that the computer can understand. So for instance, MOVCA is transformed into the value 81, which is called an opcode. It's the same way with literal values in the assembly code, like 65. It's also transformed by the assembler into a binary value. Don't know if this made any sense? :)
@nablaman That makes alot of sense! Thank you very much :) Once last question (sry to be a bother) Where would this assembler be stored & how exactly is it made on something like a z80 for example. Do they store it in a ROM of some sort etc etc. once again sry to be a bother. I've been searching the web for these answers and have yet to find anything.
@PainGuy2 No problem :) The assembler is typically a program that runs on another computer. The laptop you see in my videos is used for assembling programs. When the program is assembled, the final binary code can be uploaded to the machine's program RAM/ROM. It works the same way for Z80 and all other processors. You can find the source code of Zusie's assembler program on my home page, if you're interested.
@PainGuy2 No problem! The assembler is typically a program that runs on another computer. The laptop you see in my videos is used for assembling programs. When the program is assembled, the final binary code can be uploaded to the machine's program RAM/ROM. It works the same way for Z80 and all other processors. You can find the source code of Zusie's assembler program on my home page, if you're interested.
@nablaman How was it only drawing 1 amp?? when i have mine idling it draws at least one and a half amps, and it's a third of the size of yours! (by relay count anyway) :P When i get some data in there it goes up to between 3 and 5 amps! I'm saying Zusie is pretty efficient comparatively :P
@rapidrory Yeah, what can I say, it's simply outstanding engineering! =) No seriously, I think it's mostly a matter of how many LEDs are lit at any one moment. My relays have a coil resistance of about 1850 ohms, so that would make about 13 milliamps per drawn relay, and in idle mode not many relays are drawn. But when it's doing heavy computations with all registers involved, it bends the meter needle around the 5 amp pin =)
@Esperantanaso I dunno, someone obviously pushed the wrong button ;-)
Yep, the plan is to let the motor drive a carbon brush across a circular set of contacts, thus generating clock pulses without an electronic oscillator. A little like a distributor in a car engine.
Your work is fully great! I did simple relay ALU some years ago and now want to assemble real computer, based on reed relays only! Now I has equaly 1000 of this type relays. I want to get clock frequency at 50-70Hz. Reed relay's parametrs allows 230Hz ,max :)
@radiolok The machine has somewhere around 350 relays at the moment, and the clock can be stretched to 5-6 Hz. It's a little slower in this video. Reed relays would be an interesting way of doing it, go for it! But you won't get the same lovely sound, will you?... :( With 50 Hz, your machine will actually be able to do useful stuff, though :)
@nablaman Your are right, There will be no soft sound of working relays in reed machine, but because of it a names my project "Buzzy" :)
It'l be interesting to use my machine in real tasks, but what can it be? :) There is one big problem with reed relay - they has only one or two groups (maximum 4, but a hasn't this types) and I have to have equaly 2500 of relay to start assembling O_o
With a clock frequency of abot 100 Hz you should be able to do e..g a lot of simple games like pong, nibbles, maybe even a simple tetris etc if you hook it up to some sort of graphical output.
The reeds are at least double-throw, aren't they? Without that it would be tedious to build certain parts of the machine. 2500 relays?? That's a lot :) Are you building RAM with relays too?
@nablaman Of course, relay are double-throw. I need approximately 60% of double-throw relays.
2500 relay's is not "many", because, for example, for one 3-state switch I mast have 16 relays - every has only one group of contacts. I has a few relays with two groups, but they all goes to ALU. And yes, I want to do hardware multiplier.. The most difficult thing in it - to summarize 8 8-bit numbers to 16-bit result.
RAM would be solidstate. I'm crazy, but not enough to do relay RAM :)
There is a problem with graphical output, but one variant - is to take led matrix. very big led matrix. 64x32 for example. As a output protocol - there will be some address bank in memory, witch will be video memory.
@radiolok Yes, memory mapped I/O is most convenient. A LED array would work great. I have two graphic output systems in Zusie: The flipdot display on the control panel (14x8 pixels), and it is also possible in the host software running on the laptop to map a region of Zusie's RAM to the screen. The host software then reads this RAM region over and over, asynchronously with Zusie's operation.
@reviathon360 The machine has somewhere around 350 relays at the moment, and the clock can be stretched to 5-6 Hz. It's a little slower in this video. Reed relays would be an interesting way of doing it, go for it! But you won't get the same lovely sound, will you?... :( With 50 Hz, your machine will actually be able to do useful stuff, though :)
Very impressive! I have a question about ur use of assembly. How does the relay computer understand the instruction? what did u do in ur design to make the chip understand the command MOVCA or even the semicolon for example. this is something that always puzzled me about low level languages. I know that assembly is simplified representation of the machine code, but how does the computer know that when u type 65 that its actually 1000001? i understand if u don't have the time or energy to explain
PainGuy2 5 months ago
@PainGuy2 Zusie doesn't read the assembly code directly (nor does any other computer). Instead you run it through a program called an assembler, which produces a binary version of the program that the computer can understand. So for instance, MOVCA is transformed into the value 81, which is called an opcode. It's the same way with literal values in the assembly code, like 65. It's also transformed by the assembler into a binary value. Don't know if this made any sense? :)
nablaman 5 months ago
@nablaman That makes alot of sense! Thank you very much :) Once last question (sry to be a bother) Where would this assembler be stored & how exactly is it made on something like a z80 for example. Do they store it in a ROM of some sort etc etc. once again sry to be a bother. I've been searching the web for these answers and have yet to find anything.
PainGuy2 5 months ago
@PainGuy2 No problem :) The assembler is typically a program that runs on another computer. The laptop you see in my videos is used for assembling programs. When the program is assembled, the final binary code can be uploaded to the machine's program RAM/ROM. It works the same way for Z80 and all other processors. You can find the source code of Zusie's assembler program on my home page, if you're interested.
nablaman 5 months ago
@PainGuy2 No problem! The assembler is typically a program that runs on another computer. The laptop you see in my videos is used for assembling programs. When the program is assembled, the final binary code can be uploaded to the machine's program RAM/ROM. It works the same way for Z80 and all other processors. You can find the source code of Zusie's assembler program on my home page, if you're interested.
nablaman 5 months ago
@nablaman OH I C! Yeah i will have a look at the source. Thank you soo much for ur help, and once again great job on ur work :)
PainGuy2 5 months ago
Interesting build. Can it read a floppy disk?
TheDJ3520 6 months ago
Where did you get the materials for the cabinet? Did you make em?
IoncannonSat1 7 months ago
@IoncannonSat1 I made the cabinet myself (with the help of a friend) out of 22 millimeter MDF fiber board.
nablaman 6 months ago
Now... Make it able to play pong!
Serostern 7 months ago 2
@Serostern Soon! :)
nablaman 6 months ago
@Serostern - Or try Crysis on it.
blakegriplingph 4 months ago
If you drive it 88MPH it will go back in time?
kiyotewolf 8 months ago
@kiyotewolf Sorry, no room for a flux capacitor on the front panel... :(
nablaman 6 months ago
I'M HAVING A NERDONER AND A NERDGASM, I'M NERDHOT AND NERDBOTHERED RIGHT NOW. :M
kiyotewolf 8 months ago
@kiyotewolf That's what I was aiming for! :)
nablaman 6 months ago
Seriously Impressive! When is this coming to the shops? By the end of this quarter I hope!
Minifig666 8 months ago
@Minifig666 The tablet version should be out this fall :)
nablaman 8 months ago 6
the only remaining question is.. will it blend?
CrazyRowney 8 months ago
Det tar sig!!!
TheNovum 8 months ago
So how many relays did you use in the end?
rapidrory 8 months ago
@rapidrory About 350 in this configuration. One of the boards is only half full, and I left one vacant board slot on the rig for future expansion.
nablaman 8 months ago
seems like pure energy efficiency at that speed, I mean 6Hz is DAMN fast, easily worth the TDP =D
phroggyy 8 months ago
@phroggyy Energy INefficiency was almost a goal in itself. :)
nablaman 8 months ago
@nablaman How was it only drawing 1 amp?? when i have mine idling it draws at least one and a half amps, and it's a third of the size of yours! (by relay count anyway) :P When i get some data in there it goes up to between 3 and 5 amps! I'm saying Zusie is pretty efficient comparatively :P
rapidrory 8 months ago
@rapidrory Yeah, what can I say, it's simply outstanding engineering! =) No seriously, I think it's mostly a matter of how many LEDs are lit at any one moment. My relays have a coil resistance of about 1850 ohms, so that would make about 13 milliamps per drawn relay, and in idle mode not many relays are drawn. But when it's doing heavy computations with all registers involved, it bends the meter needle around the 5 amp pin =)
nablaman 8 months ago
@nablaman oh well some of the relays in T.I.M. are ancient and huge and so use around 500mA each :P
rapidrory 8 months ago
You can code FPGA.
Or download open cores, RISC CPUs like OpenRISC, etc.
SPARC has open source CPU, the OpenSPARC T2, its great.
Frap357 8 months ago
@Frap357 Haven't played around with these kinds of open cores yet, but maybe I will in the future!
nablaman 8 months ago
This has been flagged as spam show
This thing is amazing!
And the sound... :)
Z80Fan 8 months ago
Porn for geeks! :)
bonecrime 8 months ago
This is one of the most awesome things i have ever seen in my life.
SWEOscar 8 months ago
@SWEOscar Thanks a lot! :)
nablaman 8 months ago
Who disliked this? >:(((
Will the motor driven oscillator be used to drive the CPU cycles? Good job with the front panel!
Esperantanaso 8 months ago
@Esperantanaso I dunno, someone obviously pushed the wrong button ;-)
Yep, the plan is to let the motor drive a carbon brush across a circular set of contacts, thus generating clock pulses without an electronic oscillator. A little like a distributor in a car engine.
nablaman 8 months ago
Oh my gosh, you are SUCH a nerd! ^_^ nice one!
unlokia 8 months ago
@unlokia ;-)
nablaman 8 months ago
how many relays now you have?
and what a frequency of clock? 2-3Hz?
Your work is fully great! I did simple relay ALU some years ago and now want to assemble real computer, based on reed relays only! Now I has equaly 1000 of this type relays. I want to get clock frequency at 50-70Hz. Reed relay's parametrs allows 230Hz ,max :)
radiolok 8 months ago
@radiolok The machine has somewhere around 350 relays at the moment, and the clock can be stretched to 5-6 Hz. It's a little slower in this video. Reed relays would be an interesting way of doing it, go for it! But you won't get the same lovely sound, will you?... :( With 50 Hz, your machine will actually be able to do useful stuff, though :)
nablaman 8 months ago
@nablaman Your are right, There will be no soft sound of working relays in reed machine, but because of it a names my project "Buzzy" :)
It'l be interesting to use my machine in real tasks, but what can it be? :) There is one big problem with reed relay - they has only one or two groups (maximum 4, but a hasn't this types) and I have to have equaly 2500 of relay to start assembling O_o
radiolok 8 months ago
@radiolok Buzzy, cool! :-)
With a clock frequency of abot 100 Hz you should be able to do e..g a lot of simple games like pong, nibbles, maybe even a simple tetris etc if you hook it up to some sort of graphical output.
The reeds are at least double-throw, aren't they? Without that it would be tedious to build certain parts of the machine. 2500 relays?? That's a lot :) Are you building RAM with relays too?
nablaman 8 months ago
@nablaman Of course, relay are double-throw. I need approximately 60% of double-throw relays.
2500 relay's is not "many", because, for example, for one 3-state switch I mast have 16 relays - every has only one group of contacts. I has a few relays with two groups, but they all goes to ALU. And yes, I want to do hardware multiplier.. The most difficult thing in it - to summarize 8 8-bit numbers to 16-bit result.
RAM would be solidstate. I'm crazy, but not enough to do relay RAM :)
radiolok 8 months ago
There is a problem with graphical output, but one variant - is to take led matrix. very big led matrix. 64x32 for example. As a output protocol - there will be some address bank in memory, witch will be video memory.
radiolok 8 months ago
@radiolok Yes, memory mapped I/O is most convenient. A LED array would work great. I have two graphic output systems in Zusie: The flipdot display on the control panel (14x8 pixels), and it is also possible in the host software running on the laptop to map a region of Zusie's RAM to the screen. The host software then reads this RAM region over and over, asynchronously with Zusie's operation.
nablaman 8 months ago
Are you going to be making more computers? Maybe a Colossus pt. 2?
reviathon360 8 months ago
@reviathon360 I doubt this is the last computer I will build :) (and this one isn't quite finished yet either..)
nablaman 8 months ago
@reviathon360 The machine has somewhere around 350 relays at the moment, and the clock can be stretched to 5-6 Hz. It's a little slower in this video. Reed relays would be an interesting way of doing it, go for it! But you won't get the same lovely sound, will you?... :( With 50 Hz, your machine will actually be able to do useful stuff, though :)
nablaman 8 months ago
Awesome dude, it looks like some ancient WW2 secret decoding computer!
Nesformers 8 months ago
@Nesformers Yeah, it kind of does! :)
nablaman 8 months ago