then spammed it in load memory, any idea what it does?
Rollback Post to RevisionRollBack
Quote from Wolfpax »
Note: Next time you feel like bringing up Herobrine, just delete Minecraft, your worlds, convince them to delete your forum account. Hell, melt down your computer, send it through a shredder, and scatter the flakes in the ocean.
OH MY GOD HOW IN THE NAME OF NOTCH DID YOU BUILD THAT BEAST OF A REDSTONE MACHINE
one step at a time. and with a great amount of help from MCedit :biggrin.gif:
as far as i am aware, it is the fastest, has the most operations, and has the most detailed screen (that works) of any minecraft CPU yet.
i think it is also tied for 1st as far as RAM and ROM size goes.
Quote from Herobrine197 »
So i gave the cpu this command:
1111111111111111
then spammed it in load memory, any idea what it does?
well the op-code '1111' does nothing, so it should delete register 15, however registers 14 and 15 are a special case, in that they are hooked up to the user input switches. so what you entered would actually write whatever the far left set of input levers was set to into register 15... and it would do that 16 times.
i recommend designing the code for it first before you install it. try the sample code in my first post if you want it to actually do something.
----------
also, i've uploaded a new video, it is the first of a series that will show people how i built the components of my cpu. i will update my first post with it.
then spammed it in load memory, any idea what it does?
well the op-code '1111' does nothing, so it should delete register 15, however registers 14 and 15 are a special case, in that they are hooked up to the user input switches. so what you entered would actually write whatever the far left set of input levers was set to into register 15... and it would do that 16 times.
i recommend designing the code for it first before you install it. try the sample code in my first post if you want it to actually do something.
----------
also, i've uploaded a new video, it is the first of a series that will show people how i built the components of my cpu. i will update my first post with it.
Ok, my output was 505, forgot to include that.
How do you delete anything within the memory?
Rollback Post to RevisionRollBack
Quote from Wolfpax »
Note: Next time you feel like bringing up Herobrine, just delete Minecraft, your worlds, convince them to delete your forum account. Hell, melt down your computer, send it through a shredder, and scatter the flakes in the ocean.
then spammed it in load memory, any idea what it does?
well the op-code '1111' does nothing, so it should delete register 15, however registers 14 and 15 are a special case, in that they are hooked up to the user input switches. so what you entered would actually write whatever the far left set of input levers was set to into register 15... and it would do that 16 times.
i recommend designing the code for it first before you install it. try the sample code in my first post if you want it to actually do something.
----------
also, i've uploaded a new video, it is the first of a series that will show people how i built the components of my cpu. i will update my first post with it.
Ok, my output was 505, forgot to include that.
How do you delete anything within the memory?
if you mean "make the screen show 0000", there is a screen reset switch next to the random number generator switch.
if you mean to clear the RAM, well, you should never have to. it's good practice to have your program only read from memory locations that have been written to after the program execution.
but if you absolutely must clear the registers, write this program:
"101100000000XXXX"
where XXXX = "0000" for the first line, "0001" for the second, and so on. that should take up the entire program memory. run that program, and it will load the value of "00000000" into every register.
also, make sure when writing your code, that you reset the line your writing to to the first one (location 0). otherwise it wont work.
if you mean "make the screen show 0000", there is a screen reset switch next to the random number generator switch.
if you mean to clear the RAM, well, you should never have to. it's good practice to have your program only read from memory locations that have been written to after the program execution.
but if you absolutely must clear the registers, write this program:
"101100000000XXXX"
where XXXX = "0000" for the first line, "0001" for the second, and so on. that should take up the entire program memory. run that program, and it will load the value of "00000000" into every register.
also, make sure when writing your code, that you reset the line your writing to to the first one (location 0). otherwise it wont work.
thank you! I understood the screen reset, about the only thing i understood when i downloaded the map. And also thanks for the code.
I learned the hard way to reset the location 0, by getting annoyed as i was watching your videos and my attempt wasn't working.
Rollback Post to RevisionRollBack
Quote from Wolfpax »
Note: Next time you feel like bringing up Herobrine, just delete Minecraft, your worlds, convince them to delete your forum account. Hell, melt down your computer, send it through a shredder, and scatter the flakes in the ocean.
For as long as the grass grows
For as long as the stream flows
And the sun shines down unto us
Only they who walk the clouds know
For how long the winds blow
And the sky is blue above us
I have another question, sorry if i'm being annoying.
If i remove the delay on the clock, will it cause the cpu to run faster? or have no effect/negative effect?
EDIT: i watched the first video of your series, now i understand the whole clock thing.
I'll be sure to watch your series, but i can't comment on the videos/subscribe because i don't have a youtube account.
Rollback Post to RevisionRollBack
Quote from Wolfpax »
Note: Next time you feel like bringing up Herobrine, just delete Minecraft, your worlds, convince them to delete your forum account. Hell, melt down your computer, send it through a shredder, and scatter the flakes in the ocean.
I have another question, sorry if i'm being annoying.
If i remove the delay on the clock, will it cause the cpu to run faster? or have no effect/negative effect?
um... i wouldn't do that. i have made some timing changes after i optimized the clock, so maybe it can go a little faster, but i really don't know without testing it.
order in which things will fail as you increase clock speed:
1) branching to an add or subtract instruction (branch will work, the add or subtract wont).
2) add and subtract.
3) branching to any instruction.
4) unknown.
things you can do to 'overclock' it:
1) write short programs that only use the first few lines, higher lines are more distant, and take longer.
2) only read and right to the first few registers, same reason as above.
3) don't use add or subtract (probably the most important one).
i can't guarantee that things will fail in the order i have given, and i have no idea about what speed improvements you should be able to get from doing these.
-and no, you're not being annoying. it's good to see that someone is trying to use my cpu for something.
I wonder how long its gona take before someone creates a computer runing minecraft inside minecraft. This is the ultimate challange, the one who accomplishes that truly WON minecraft!
I have another question, sorry if i'm being annoying.
If i remove the delay on the clock, will it cause the cpu to run faster? or have no effect/negative effect?
um... i wouldn't do that. i have made some timing changes after i optimized the clock, so maybe it can go a little faster, but i really don't know without testing it.
order in which things will fail as you increase clock speed:
1) branching to an add or subtract instruction (branch will work, the add or subtract wont).
2) add and subtract.
3) branching to any instruction.
4) unknown.
things you can do to 'overclock' it:
1) write short programs that only use the first few lines, higher lines are more distant, and take longer.
2) only read and right to the first few registers, same reason as above.
3) don't use add or subtract (probably the most important one).
i can't guarantee that things will fail in the order i have given, and i have no idea about what speed improvements you should be able to get from doing these.
-and no, you're not being annoying. it's good to see that someone is trying to use my cpu for something.
Ok, it seems i understand computers less than i thought, i'll keep the clock the same.
Anyway, my goal for this is to make it do algebra (free homework answers , jk) but i don't know how to code n, i can do the rest just not n. But first i'm gonna try to add a rom bank to store all the algrebra sentences.
Rollback Post to RevisionRollBack
Quote from Wolfpax »
Note: Next time you feel like bringing up Herobrine, just delete Minecraft, your worlds, convince them to delete your forum account. Hell, melt down your computer, send it through a shredder, and scatter the flakes in the ocean.
How do you program it? What does BBBB-CCCC-DDDD? Does do another op code? Does it get a value from the user? Does it something I have no clue of?
Awesome Computer you have got there, and it uses repeaters (Some pre-Beta 1.3 CPU's still use torches, and I think that makes them horribly slow). I also have made a computer; it's sadly not as epic though.
AAAA = op-code, eg 0000 will instruct the Computer to do addition, 0001 is subtraction, etc.
BBBB = location of a value in the registers to read.
CCCC = location of a value in the registers to read.
DDDD = location of a value in the registers to write to.
(note: can only write to registers 0-13)
eg: "0000 0010 0100 0001" will ADD (0000) the values stored in registers 2 (0010) and 4 (0100), and write the result into register 1 (0001).
there are some exceptions, but what i have show above is the general rule. my computer is fairly user friendly, as far as computers in minecraft go.
be sure to read my first post, and look at the example program i have written there.
Quote from Radioaktiivinen »
I think i couldve made it work with a single line by sticking in a few and gates, but then i noticed that the memory cells work only like half of the time because the redstone system is weird, so i filled the thing with tnt and botoomboofffssssssssSSSssssBOOMBOOMBOOM.
:3
what? do you have a thread or something for your project? i have almost no idea what you're talking about.
How did you handle the Binary to Hex conversion for the output? I'm also working on a CPU but my plan was to go the binary to decimal route for the display. Sadly, however, the only way I've conceived of to do it would be HUGE and probably very very slow.
Everything else is falling in line, however. So far I've added:
ADD
SUB
Shift Left
Shift Right
AND
OR
XOR
NOT
LOAD
STOR
LESS
Still need to add:
BNN (Branch if not negative)
Rotate
I'm currently working on a more compact and speedy memory module based loosely on Howlingmonkey's vertical D-flipflop design with some major tweaks to make it smaller. Just having difficulty now with the output isolation without adding an extra 16 ticks :sad.gif: And that, as you know, would be no damned good.
How did you handle the Binary to Hex conversion for the output? I'm also working on a CPU but my plan was to go the binary to decimal route for the display. Sadly, however, the only way I've conceived of to do it would be HUGE and probably very very slow.
you take a 4-bit input into a 4 to 16 decoder, then put that output into a 16 to 7 encoder, which directly controls which parts of the 7 seg display are active.
1111111111111111
then spammed it in load memory, any idea what it does?
one step at a time. and with a great amount of help from MCedit :biggrin.gif:
as far as i am aware, it is the fastest, has the most operations, and has the most detailed screen (that works) of any minecraft CPU yet.
i think it is also tied for 1st as far as RAM and ROM size goes.
well the op-code '1111' does nothing, so it should delete register 15, however registers 14 and 15 are a special case, in that they are hooked up to the user input switches. so what you entered would actually write whatever the far left set of input levers was set to into register 15... and it would do that 16 times.
i recommend designing the code for it first before you install it. try the sample code in my first post if you want it to actually do something.
----------
also, i've uploaded a new video, it is the first of a series that will show people how i built the components of my cpu. i will update my first post with it.
Ok, my output was 505, forgot to include that.
How do you delete anything within the memory?
if you mean "make the screen show 0000", there is a screen reset switch next to the random number generator switch.
if you mean to clear the RAM, well, you should never have to. it's good practice to have your program only read from memory locations that have been written to after the program execution.
but if you absolutely must clear the registers, write this program:
"101100000000XXXX"
where XXXX = "0000" for the first line, "0001" for the second, and so on. that should take up the entire program memory. run that program, and it will load the value of "00000000" into every register.
also, make sure when writing your code, that you reset the line your writing to to the first one (location 0). otherwise it wont work.
thank you! I understood the screen reset, about the only thing i understood when i downloaded the map. And also thanks for the code.
I learned the hard way to reset the location 0, by getting annoyed as i was watching your videos and my attempt wasn't working.
we need to go deeper.
For as long as the stream flows
And the sun shines down unto us
Only they who walk the clouds know
For how long the winds blow
And the sky is blue above us
If i remove the delay on the clock, will it cause the cpu to run faster? or have no effect/negative effect?
EDIT: i watched the first video of your series, now i understand the whole clock thing.
I'll be sure to watch your series, but i can't comment on the videos/subscribe because i don't have a youtube account.
*picks jaw up off the floor*
*gets enormous headache trying to imagine building it*
im unsure why this quote is here...
um... i wouldn't do that. i have made some timing changes after i optimized the clock, so maybe it can go a little faster, but i really don't know without testing it.
order in which things will fail as you increase clock speed:
1) branching to an add or subtract instruction (branch will work, the add or subtract wont).
2) add and subtract.
3) branching to any instruction.
4) unknown.
things you can do to 'overclock' it:
1) write short programs that only use the first few lines, higher lines are more distant, and take longer.
2) only read and right to the first few registers, same reason as above.
3) don't use add or subtract (probably the most important one).
i can't guarantee that things will fail in the order i have given, and i have no idea about what speed improvements you should be able to get from doing these.
-and no, you're not being annoying. it's good to see that someone is trying to use my cpu for something.
I wonder how long its gona take before someone creates a computer runing minecraft inside minecraft. This is the ultimate challange, the one who accomplishes that truly WON minecraft!
Ok, it seems i understand computers less than i thought, i'll keep the clock the same.
Anyway, my goal for this is to make it do algebra (free homework answers , jk) but i don't know how to code n, i can do the rest just not n. But first i'm gonna try to add a rom bank to store all the algrebra sentences.
AAAA = op-code, eg 0000 will instruct the Computer to do addition, 0001 is subtraction, etc.
BBBB = location of a value in the registers to read.
CCCC = location of a value in the registers to read.
DDDD = location of a value in the registers to write to.
(note: can only write to registers 0-13)
eg: "0000 0010 0100 0001" will ADD (0000) the values stored in registers 2 (0010) and 4 (0100), and write the result into register 1 (0001).
there are some exceptions, but what i have show above is the general rule. my computer is fairly user friendly, as far as computers in minecraft go.
be sure to read my first post, and look at the example program i have written there.
what? do you have a thread or something for your project? i have almost no idea what you're talking about.
oh wow!
at the bottom of the article it says:
"Thanks to Tharwen for the tip!"
i guess all i can say is thanks. :smile.gif:
How did you handle the Binary to Hex conversion for the output? I'm also working on a CPU but my plan was to go the binary to decimal route for the display. Sadly, however, the only way I've conceived of to do it would be HUGE and probably very very slow.
Everything else is falling in line, however. So far I've added:
ADD
SUB
Shift Left
Shift Right
AND
OR
XOR
NOT
LOAD
STOR
LESS
Still need to add:
BNN (Branch if not negative)
Rotate
I'm currently working on a more compact and speedy memory module based loosely on Howlingmonkey's vertical D-flipflop design with some major tweaks to make it smaller. Just having difficulty now with the output isolation without adding an extra 16 ticks :sad.gif: And that, as you know, would be no damned good.
you take a 4-bit input into a 4 to 16 decoder, then put that output into a 16 to 7 encoder, which directly controls which parts of the 7 seg display are active.