Help for the Gimputer

Can someone help out with my project of making a gimputer? This minecraft wiki article (Tutorials/Redstone computers – Minecraft Wiki) is what i am using to make it, as i am not very smart and i think it is a simple enough tutorial for my 2 braincells.
@Blueboat seem smarter than me so i hope for their help, but i will take any help. (btw which one do u prefore if u see this blueboat)
I am currently working on the 4-bit binary decoder.
The idea is to mimic the action of the hardware of the tutorial as close as possible, and attempt to keep as much of the build as possible to be made out of devices, unless it is neccesary.
I understand my idiocy, and i am very sorry if i got anything wrong or if this was confusing.
below is an image of the current decoder prototype.

1 Like

sorry for not being helpful, but blueboat is blackhole.

1 Like

Whoopsy sorry i didnt know lolololol. i didnt realise, thank you for telling me before i embares (spelling brainfart sorry) myself further.

Which one is preffered?

Anyone want to help?

I would if I could. I only know Python and a bit of some other languages. Not binary itself :cry:

I don’t know machine code, only a little bit of binary. its pretty simple if you look it up, and i dont need much help with the actual decoder. only the other parts. i didnt realise that blackhole actually made a full cpu, but i dont know where to find that. i dont really care how much skill you have to help with, so long as you are willing to learn. ( sorry if anythingi just said is stooopid)

Ok, I’ll see. Possibly. Maybe.

I guess I do know how to read binary...

What exactly do you need help with?

can you try making the ALU according to the wiki?

Do those triggers in the picture you posted have block code?

I have to go to bed. Sorry I can’t help more. I can kinda understand it, but I would need to do a bunch more research before I could build it in Gimkit. Sorry! :pensive:

1 Like

Yes, but not much and i havent finished it. sorry for the long wait, i have school (im in australia)

No problem, i would too. I probably gave you a way harder task than me, because when you answered i was kind of surprised(for some reason i thought noone would answer even though so far everyone has been super nice and i have gotten some help in every question i asked)and so i gave you the next thing i saw. i hope you have a good sleep.

blackhole, but if they say blackhole is silenced/suspended/on hold he uses blueboat

1 Like

Alright. Your system is gonna have 5 parts (input, output, memory, program memory, alu). I’ll explain how I think a few of them should be designed.

Program memory

Just have a row of counters for each line of code, and set a 1 to represent that an action should be done, and 0 otherwise. For example:

First 3 digits specifies an index in memory
Second 3 digits specifies an index in memory
seventh digit says whether to swap the values at those indexes
Eighth digit says whether to delete those values from memory.

“10100110”

This becomes:

101
001
1
0

So we have
Index 5
Index 1
Swap them
don’t delete them.

Each one of these binary digits can be represented by a counter. You would loop over each row of counters (which represent lines of code) and run the corresponding instructions.

Ram

Just a bunch of counters storing 1s and 0s. These counters are grouped into bytes, and each have an index so that we can set them and read from them with program memory. I’ll leave it up to you to find how to do that :slight_smile:

ALU

This will be the hardest part of the computer to make in my opinion. Just try and copy down the circuits into gimkit for this. I’m not gonna explain it right now, I don’t have time, but if you still need help just ask and I can do some research. You’ll be loading two numbers from memory, and then putting one number back into memory. The program memory will specify what operation you’re doing, and what indexes to read from and set to.

Input and Output

There are a ton of ways to do this, so I’ll leave how you do it up to you. You’ll have a command in program memory that sets something in the output section of ram (you could allocate a few indexes to hold screen data for example) and then a command to push that data to the screen. For input, a command that halts program execution until the user makes their input. Their input is then placed somewhere in ram.

I how that helped!

6 Likes

Yeah, that really helped

Tysm i was had to leave to sleep so sorry for being late but this should help out a ton. thank you so much.

Why the sarcasm? what part was bad?

@Blueboat do you have any ideas on how to make the ram using PCPs? I am really dum8 and wanted to get it out of the way first. (btw i always try to take up projects that are way too hard but i am willing to and love learning so very sorry if i sound silly at any point.)

ps: i also probs have to put more into blocks and not bother with keeping it in devices as much lol i am not good at this
pps: just had an idea; manually place every counter and have the numbered with x/y coords and then use the make text out of variable to locate them and send the signal.
ppps: i am going to make the binary decoder a bit unusually: decoding it by doing what humans do, and then i can hopefully easily scale it