|Central Processing Unit|
The CPU is the core of a RedPower computer. It requires some additional components to be attached, either directly or via Ribbon Cable, in order to be used effectively: a Monitor, and a Disk Drive. The Disk Drive is needed to load the system into RAM on starting the CPU, and optionally for saving the system state or other data to a Blank Floppy; once the CPU is started, the Disk Drive can be removed without interfering with diskless operation of the computer. The Monitor is needed for user input and—obviously—console output, but the computer will continue to execute running programs even if it is removed.
The CPU can be fully encoded with a FORTH Boot Disk to provide a FORTH command line, or a technically adept user can write their own system in assembly language. It comes with a fully functional 6502 microprocessor including several extensions.
The CPU block has 8k of integrated RAM, but if (up to seven) Backplane blocks are connected immediately behind the CPU block, up to seven 8k RAM Modules can be placed on the backplane blocks to expand the computer's memory by 8k each up to a maximum of 64k. Note that Backplane must be connected directly behind the CPU, must be contiguous with the CPU, and corners and branching are both impossible. Added RAM on the backplane must be contiguous with the CPU block; if there is a gap with empty Backplane, the CPU will not use RAM on the far side of the gap. Note that loading FORTH onto the system requires RAM; a computer with no RAM expansions, that is started up from a FORTH Boot Disk, will have only 600 bytes of RAM free to store and run programs This may not be enough for more complex programs.
IO Expanders can be connected through Ribbon Cable, and allow redstone signal input and output from each colour of a Bundled Cable connected to the IO Expander. Multiple expanders can be placed, so the computer can have many inputs and/or outputs if needed.
If you right click the CPU, you will see 3 switch boards for Disk, Console and CPU. These are binary switches that set the Bus ID the track will communicate to. The default setting for Console is 2, which means the CPU will communicate with the monitor whose ID matches, the 2.
You can alter a machines ID by using a Screwdriver or Sonic Screwdriver while sneak-clicking. It is a binary switch as well. This way you may have multiple output machines all connected to a CPU's bus and decide which one you are using simply by flipping the switchboard on the CPU.