Today I wrote a complete code for a RP quarry. Now, keep in mind that this is for a 3-dimensional quarry, and it is assumed that you have build it properly to do these 6 operations:
1) It may move left (orange wire)
2) It may move right (magenta wire)
3) It may move forward (4th wire colour)
4) It may move backwards (5th wire colour)
5) It may move downwards (6th wire colour)
6) It uses blockbreakers to break the materials. (white wire)
This code is for a quarry arm that starts at the upper right corner of the area you are mining, and for a 3 x 3 quarry head that, when in the upper right , the looks like this on the bottom:
Type in everything for your program from the code tags, then look at the bottom for instructions.
VARIABLE X
VARIABLE Y
VARIABLE H
: BREAK
1 IOXSET
2 TICKS
1 IOXRST ;
: goLeft
2 IOXSET
8 TICKS
2 IOXRST
8 TICKS
;
: goRight
4 IOXSET
8 TICKS
4 IOXRST
8 TICKS
;
: goForward
3 0 DO
8 IOXSET
8 TICKS
8 IOXRST
8 TICKS
LOOP
BREAK
;
: goBackward
3 0 DO
16 IOXSET
8 TICKS
16 IOXRST
8 TICKS
LOOP
BREAK
;
: lowerHead
32 IOXSET
8 TICKS
32 IOXRST
8 TICKS
BREAK
;
: LEFT
0 DO goLeft BREAK LOOP ;
: RIGHT
0 DO goRight BREAK LOOP ;
: fTest1
2 /MOD 0 IF X @ LEFT
ELSE X @ RIGHT THEN
;
: fTest2
1 + Y @ /MOD 0 IF ELSE goForward
;
: fullForward
Y @ 0 DO I fTest1 I fTest2 LOOP
;
: fullBackward
Y @ 2 /MOD 0 IF
Y @ 0 DO I fTest1 I 1 + Y @ /MOD 0 IF ELSE
goBackward THEN LOOP
ELSE X @ RIGHT goBackward Y @ 1 - 0 DO I fTest1 I 1 + Y @ 1 - /MOD 0 IF ELSE goBackward
THEN LOOP THEN
;
: Execute
H 0 DO fullForward lowerHead fullBackward lowerHead LOOP
;
: Dimensions ( a b c -- X Y H)
2 / H !
3 / Y !
2 - X !
;
To operate, type in your dimensions by facing your quarry with the arm initially at the top right corner of your defined area. The across section is the first number, the depth is the second number, and the third number is the total height you want your arm to go down (Say, start at level 20, end at level 10, type in 10).
Take these numbers, and then type the first number, second number, and third number, like so:
1st 2nd 3rd Dimensions
This will define the dimensions for later. Next, type in Execute, and hit enter. The quarry shall run automagically, assuming all frame motors have enough energy, and that you are using the correct wires.
Keep in mind that this is my first time looking at the language FORTH (I was reading up on it for a total of a day), so there may be some glitches. I haven't really tested it out for optimization, so it MAY work.
Feel free to edit this code how ever you want!
(Note: The Dimensions word is the most likely glitched part. Good luck!)
Edit: Let me know how well it works. I made this to work with a quarry that I built which is similar to Eloraam's.
Edit 2: OOPS! Typo in Execute word: make sure you recheck it!
I'll test it myself some other time, and then I will upload the code to Mediafire if anyone wants it.
I thought I'd tried that with the logic gates but obviously should have tried harder.
As for the second problem I'm guessing it might be time for a fresh install if I'm the only one experiencing it, that will have to wait until tomorrow, though.
How are you connecting to the tube? Are you using redstone (don't), or are you using redwire?
I don't think I'll be able to create a C compiler for this mod as a floppy with my current knowledge. I'll look at it part time, but I think I'd rather invest my time in learning FORTH a bit.
Huh. Is there any way to edit the disk image, or would we need to manually create a physical disk with our desired imformation to create our own disk image?
When I'm not fielding questions and bug reports and stuff for the release, I'll write up some technical documentation.
That is perfectly reasonable! I doubt many people would really start to make a super computer in the beginning few weeks, anyways, so you should take your time about it. I think I will convert a world to PR5 and start making myself proficient enough to do an instructional video in the future, since I'm in Engineering, and may be able to help out a bit in explainations.
O.k! Thank's for the support! I think it would be best if someone makes a mini-tutorial to go through all of the RedPower specific words and commands that can be used. I'll make a list, and maybe start doing that myself, though I don't think as many would watch unless DW did it.
@stso It is a shaped recipe. Put the blocks BELOW the saw!
The command is TICK and/or TICKS. Try 5 TICKS or 20 TICKS out.
Thanks. I haven't tried it out yet since I am waiting for MystCraft's patch. I believe 20 ticks is one second? (I'll test that out later)
Also, a few questions about how the computer may recieve signals, to better hash out its logic: May a program (a word, from hereafter) use another word that is written on the disk?
And also, what are we to do when we want to simply turn on a coloured wire while keeping the states of the others as they are: do we need to add the number, or subtract, from the previous IOX command, or can we simply do some other command that can turn on, say, the red cable without changing the state of the others?
Finally, will we be able to read in a redstone signal from one of the wires connected to the bus? How may we be able to detect if the orange cable is turned on, without going through a loop to check all of the numbers with the 2^1 digit activated?
Sorry if these are some odd questions, but I think that the answers would better allow myself and others to write programs (such as a quarry program I really want to start! =])
What would the command be to have the computer send a redstone siginal for a specific duration?
Say, I would want to emit through the white cable a pulse for .2 seconds, and then pause for a bit. I know to turn on the white cable I would type 1 IOX!, and than to turn it off I would need to type in 0 IOX!. Is there a command that I am not aware of that will allow the system to pause for a specific duration?
Does anyone have a clue, or a copy, of a current version of custom EMC? Such a pain to find anything like it but i like to add basic ingridients for other mods, refined stone and ores from ic2, slopes and such from kaevators super slopes, apatite humus etc from forestry and engines from buildcraft. Thanks
1
1) It may move left (orange wire)
2) It may move right (magenta wire)
3) It may move forward (4th wire colour)
4) It may move backwards (5th wire colour)
5) It may move downwards (6th wire colour)
6) It uses blockbreakers to break the materials. (white wire)
This code is for a quarry arm that starts at the upper right corner of the area you are mining, and for a 3 x 3 quarry head that, when in the upper right , the looks like this on the bottom:
[breaker][frame][breaker]
[breaker][frame][breaker]
[breaker][frame][breaker]
Type in everything for your program from the code tags, then look at the bottom for instructions.
To operate, type in your dimensions by facing your quarry with the arm initially at the top right corner of your defined area. The across section is the first number, the depth is the second number, and the third number is the total height you want your arm to go down (Say, start at level 20, end at level 10, type in 10).
Take these numbers, and then type the first number, second number, and third number, like so:
1st 2nd 3rd Dimensions
This will define the dimensions for later. Next, type in Execute, and hit enter. The quarry shall run automagically, assuming all frame motors have enough energy, and that you are using the correct wires.
Keep in mind that this is my first time looking at the language FORTH (I was reading up on it for a total of a day), so there may be some glitches. I haven't really tested it out for optimization, so it MAY work.
Feel free to edit this code how ever you want!
(Note: The Dimensions word is the most likely glitched part. Good luck!)
Edit: Let me know how well it works. I made this to work with a quarry that I built which is similar to Eloraam's.
Edit 2: OOPS! Typo in Execute word: make sure you recheck it!
I'll test it myself some other time, and then I will upload the code to Mediafire if anyone wants it.
0
How are you connecting to the tube? Are you using redstone (don't), or are you using redwire?
0
0
0
0
I would actually prefer C, if that was at all possible: I would LOVE to write using that language, since I know how everything works! =)
0
That is perfectly reasonable! I doubt many people would really start to make a super computer in the beginning few weeks, anyways, so you should take your time about it. I think I will convert a world to PR5 and start making myself proficient enough to do an instructional video in the future, since I'm in Engineering, and may be able to help out a bit in explainations.
0
O.k! Thank's for the support! I think it would be best if someone makes a mini-tutorial to go through all of the RedPower specific words and commands that can be used. I'll make a list, and maybe start doing that myself, though I don't think as many would watch unless DW did it.
@stso It is a shaped recipe. Put the blocks BELOW the saw!
0
Thanks. I haven't tried it out yet since I am waiting for MystCraft's patch. I believe 20 ticks is one second? (I'll test that out later)
Also, a few questions about how the computer may recieve signals, to better hash out its logic: May a program (a word, from hereafter) use another word that is written on the disk?
And also, what are we to do when we want to simply turn on a coloured wire while keeping the states of the others as they are: do we need to add the number, or subtract, from the previous IOX command, or can we simply do some other command that can turn on, say, the red cable without changing the state of the others?
Finally, will we be able to read in a redstone signal from one of the wires connected to the bus? How may we be able to detect if the orange cable is turned on, without going through a loop to check all of the numbers with the 2^1 digit activated?
Sorry if these are some odd questions, but I think that the answers would better allow myself and others to write programs (such as a quarry program I really want to start! =])
0
Say, I would want to emit through the white cable a pulse for .2 seconds, and then pause for a bit. I know to turn on the white cable I would type 1 IOX!, and than to turn it off I would need to type in 0 IOX!. Is there a command that I am not aware of that will allow the system to pause for a specific duration?
7
Don't, Eloraam! He'd only enjoy it!
9
Honestly, I am reading that as Red Power 2 PR -not- 4f. Horray?
0
0
0