Basically, I'm currently making the on-board controls to my battleship in Tekkit Classic, but due to a certain bug between CC 1.33 and Redpower that causes turtles and computers to not update its location when it's physically moved by a frame motor, I'm finding it very tricky to get it to work correctly. My ship uses several turtles, which stay on and listen for commands from "button" turtles that form the controls of the ship. To describe, my startup for the "button" turtles execute a command, and then shuts itself down, so everytime you right click the turtle, it executes the command it's given and shuts down. When the ship moves by the command, it also kicks you out of the screen, so it more or less simulates an advanced wireless 1-block large button.
Now the thing is, updating the location for computers and turtles for that bug requires rebooting the computer. The turtles that make up the controls work via executing a command and then shutting down, so those reboot everytime you click on one for a command. However, the ship turtles don't. What happens then, is that when I have the ship move, the turtles for the engine continue to think they're at original location even after they physically moved since they don't reboot, and the controller turtles correctly know their locations everytime I press it.
Result being, for example: If I had the ship move 65 blocks away, the actual (nonphysical) location of the ship turtles are still at the location before the ship moved. Then the controller turtles are outside 64 blocks range and can no longer control the ship even when they are some 10m physical distance from the ship turtles.
This bug is fixed in Tekkit Lite with the newer CC version, and except for yet another bug described below, the code and design there runs flawlessly.
Now my 3 ideas to work around the problem:
1) The simplest one is of course, just move onto Tekkit Lite. I would, except then there's a strange bug that keeps turning certain wireless turtles into regular ones when the ship moves on my Tekkit Lite testing server, so I doubt I'll be doing that. (That and I prefer classic lol)
2) The controller turtles could always stay on, and use some other method to control the ship so the controller and ship turtles are always at the same relative distance factoring in the non updating location bug. This also doesn't work so well, because vanilla buttons get stuck when the ship is moving, levers don't turn themselves off, and both take another block of space that there simply isn't enough in the control platform, as they need to be attached to a turtle anyways. The whole idea with the button type of controller turtles was to compact the controls. I did see that in later CC versions, there seems to be an event called monitor_touch for monitors, but I don't see anything like that in Classic. Is there possibly a way for a computer to detect when someone accesses the computer besides my way of shutting itself down every time?
3) The ship turtles can reboot every time it moves. Even though I do have 2 pairs of motors for every direction (power supply thing), which allows the 2 pairs to communicate with each other, it still would be tricky to save information on computers that never stay turned on. I could use the FS API to directly write information onto the turtle, but unless that's the only way, I'd really prefer not to do such a messy solution. And then, another concern with rebooting turtles is, how would you be able to send a command to a rebooting computer? If a turtle reboots the other ship turtles while it's active, I'd imagine there'd be a lot of times where a new command fails to get through because every other turtle is off at that moment.
Preferably, my ideal solution is 2), if a computer can detect accessing it. Then I could have all turtles reboot when the ship stops or before it changes direction so it can both update its location and save the data to be able to for example, run a loop to move forward 20 blocks. But for now, this is the first time I've run into a roadblock on designing the ship, and I can't seem to find a way around it. If you need the code or pictures of the design for reference, I can post it up. Any ideas to resolve this?