by Nazalassa
uploaded 2024-01-27
stock+DLC ship
#KAL #computer #bus #registers #cool


  • Type: SPH
  • Class: ship
  • Part Count: 533
  • Pure Stock
  • KSP: 1.12.3


  • Breaking Ground DLC
  • Squad (stock)


This is a register bank equipped with a bus and a MOV instruction, featuring 256 registers which can store numbers from 0 to 255 inclusive, with only 533 parts. For operation instructions, see Operation Instructions.

Built in the SPH in KSP 1.12.3. I also used cfp and emacs a lot.

Operation Instructions

Since this is a pretty big ship, it will take a lot of time to load. If you want to lower load times, size, and part count, you can remove blocks of 16 registers - that is, one (or more) grey plate, which will take away all the registers on it. The plates are attached from bottom to top, so you can remove the top to, three, seven plates if needed. Registers are numbered from bottom to top too, which means the top plate has the 16 registers with the highest numbe, the one below has the 16 next, etc. The bottom plate contains registers 00 - 0F, and five KALs in the middle, which are (by name, which you can get by right-clicking on them) the BUS, the RESET instruction (both directly on front of the ship), the MOV operands (MOV.FROM and MOV.TO; behind BUS and RESET), and the MOV instruction (behind the operands). It is the heart of the system.

For convenience, it is advised that you use number input and not slider input for KAL play positions (click on the ‘#’ button in the PAW bar).


The RESET KAL will correctly configure the registers and other KALs so that the thing works. It contains 1030 tracks (as of writing this). Do not open its editor. Simply run it when coming out of time warp, or after ship loading, or if stuff starts to go wrong.

Once you’ve done this, you can begin moving stuff around. If you want to begin with stuff in your registers, you can put these in register 0F (find it, it’s R0F (without a ‘r’), at the front of the ship), and then transfer them to the destination register.

Moving stuff

There are two KALs that are used to control the source and destination of the data that goes on the bus, respectively MOV.FROM and MOV.TO. They hold numbers as their play positions (play position of 1s. is 1, 33s. is 33, etc.). MOV.FROM holds the number of the source register, and MOV.TO holds the number of the destination register (in decimal, because play position input in KSP is in decimal). Once you’ve put the right numbers, play the MOV KAL. Then the data should’ve been transfered.

What’s next?

This is a regular register bank, so we can use more of these to make a decently-sized (albeit not decently-fast) storage for a computer made out of KALs. One bank with modified registers 00 - 0F (so they can be used as adders, memory access, etc.) and some more stuff around it would be nice, too. That would make a complete computer. I am working on one such thing, but that will take time.

Breaking spacetime and other stuff since [SEGMENTATION FAULT]

swipe to switch images, tap to close