Forums - Open Redstone Engineers
MCRomWriter.jar - setblock based rom + ram loader - Printable Version

+- Forums - Open Redstone Engineers (https://forum.openredstone.org)
+-- Forum: Off-Topic (https://forum.openredstone.org/forum-4.html)
+--- Forum: Programming (https://forum.openredstone.org/forum-8.html)
+--- Thread: MCRomWriter.jar - setblock based rom + ram loader (/thread-4943.html)



MCRomWriter.jar - setblock based rom + ram loader - Magic :^) - 10-23-2014

Update: I fixed a few parsing bugs.

Heyo, I just finished up on the main functions of my rom loader so I thought I should share it here.
It isn't the fastest thing in the world, as it can only go as fast as minecraft can process commands+text. Nevertheless, it is faster than doing it by hand!

How to use:
1) Open the MCRomWriter folder and make sure that in the folder there is:
MCRomWriter.jar
config.txt (With your rom's configuration saved in it)
source.txt (This file should hold the binary data you want to write)
2) Open MC, and stand at your writing coordinates, according to how you set up your config file (writing is done relative to your position).
3) Go back to the MCRomWriter folder and double click the jar. There is a 5 second wait before the process starts.
4) Switch back to the MC window, and unpause the game. Wait for the writer to start. DON'T TOUCH ANYTHING AFTER THIS
5) ....
6) Profit.

[video=youtube]http://youtu.be/ZTHjz9Cp0k0[/video]

--------------------------------------------------------

It uses java's Robot class to simulate keyboard presses, and types /setblock commands into your active minecraft window. You simply run it and switch to your minecraft client within the 5 seconds I set it to delay for.

Due to the fact that keyboard presses are sent directly to the active window, you can't do anything with your computer until the thing's done passing the data. I recommend running this in a VM so you can minimize it.

You need to fill out a config file to tell the bot how to write to your rom. Here's an example config file:
Code:
keyDelay 15
commandDelay 150
xyz_Rel_Pos_From_Msb 1 -1 -2
bitSeek -2 z
byteSeek -2 x
slideSeek -4 y
wordSize 16
wordsPerSlide 16
totalSlides 8
one minecraft:redstone_torch 1
zero minecraft:air
colon S;
tilde S#
underscore S-

That file is configured for your standard torch rom with 16bit words and that is 16 words deep and stacked up 8 times.

There is a full description of how to edit the config file in the attached folder.

------------------------------------------------------------

Included is the .jar and an example world with two different roms and the corresponding config files. (the roms have no decoders attached. They're just for show anyways)


RE: MCRomWriter.jar - setblock based rom + ram loader - Chibill - 11-01-2014

I was working on a mod like this.


RE: MCRomWriter.jar - setblock based rom + ram loader - greatgamer34 - 11-01-2014

this is fucking cool...


RE: MCRomWriter.jar - setblock based rom + ram loader - Nuuppanaani - 11-02-2014

Added setblock permission to group Member for Magical to be able to test his cool program :3

Someone tell me if there was a reason it was disabled and I'll disable it.

Doesn't seem like it would be any more dangerous than WE...


RE: MCRomWriter.jar - setblock based rom + ram loader - LordDecapo - 11-03-2014

love this to death, but u need to speak louder xD lol

this can be used on server too! hell yes, i wil be trying this out tonight for sure, i have programs already made for my CPU in binary so this will make testing 100000x easier and faster

OMG U CAN ACTUALLY SELECT UR DIMENSIONS OF YOUR PROM (from like bit to bit and layer to layer!!!
Big Grin


RE: MCRomWriter.jar - setblock based rom + ram loader - jxu - 11-03-2014

You sound like you want to murder someone. I love it


RE: MCRomWriter.jar - setblock based rom + ram loader - greatgamer34 - 11-03-2014

I think it should build the rom for you out of a block that the user can change the ID value of, along with placing the torches!


RE: MCRomWriter.jar - setblock based rom + ram loader - Magic :^) - 11-12-2014

(11-03-2014, 12:30 AM)LordDecapo Wrote: love this to death, but u need to speak louder xD lol

Thanks! Yeah this is like the first time recording anything, so apologies for that xD
When I upload v2 I'll redo the video, I have new features anyways that need explaining.

(11-03-2014, 12:30 AM)LordDecapo Wrote: this can be used on server too! hell yes, i wil be trying this out tonight for sure, i have programs already made for my CPU in binary so this will make testing 100000x easier and faster

just make sure to test on a copy first! And double check your keyboard. The last three config elements are for your keyboard. There isn't a universal button for ~, :, or _ so the bot is programmed to type the key combinations instead.

(I think the readme in the folder explains it properly, but there's no harm in warning here ;P)

Also I've gotten stable output with:
keyDelay 2
commandDelay 90

It does also depend on the speed of your computer.