Eloraams Blog

Welcome To The Future.

So I’ve been feeling a little run down lately, with all the hard work of getting RedPower 2 out there and working in all the various cases. Especially considering how badly 1.8.1 broke Forge.

So today, being a Friday and being a good day for goofing around, I put on my mad hat and threw a mad tea party. By which I mean, I decided to do something fun for the pure fun of it.

I make no big secret of the fact that I have a full 3-tier tech tree planned for RedPower, stretching far into the technological future. It’s easy to lose sight of that fact when RedPower World just looks like another “ores and tools” mod, rather than the resources for future mods. The existing work on RedPower is Tech 1, and I’m just starting to inch into Tech 2 with Blue Alloy and the Blutricity system. It takes a while, though, because I have to clear all the prerequisites, figure out crafting paths to each planned milestone, and all that.

Today, though, I threw all of that to the wind. In the name of my own sanity, I broke ground on a new RedPower module: RedPower Control.

It’s a Tech 3 module.

The items to craft the items to craft the items required to craft these blocks don’t exist yet.

But that wasn’t going to stop me. Here’s some screenshots: imgAlt imgAlt

There are a lot of new blocks there, so here’s a brief rundown:

The CPU

The CPU block (on the left) contains a 6502 microprocessor, 8K of RAM, and a Universal Parallel Bus interface, with a stylish front-end modeled after the famous PDP-8.

The Backplane

Behind the CPU block is a trail of backplane blocks, which provide expansion for the CPU local bus. You can connect up to 7 backplane blocks, and each one represents the next 8k bank of the 64k address space.

8k RAM expansion

Currently the only expansion block you can add to the CPU local bus, it adds 8k more RAM to the computer. You can have up to 64k, but you will likely save one bank for a system ROM (to be added soon).

Ribbon Cable

The ribbon cable connects Universal Parallel Bus (UPB) endpoints. It comes complete with all the features you would expect in a RedPower wire.

Terminal Interface

A monitor modeled after the one Commodore sold with the C64, except this one is a UPB peripheral, and has a built-in keyboard. Right-clicking it opens the GUI, where you interact with the computer.


So let’s have some FAQ’s before anyone asks them:

Is this a real computer in Minecraft?

YES. This is a real 8-bit microcomputer like a family might have owned in the early 1980s. It’s based on the same 6502 microprocessor that drove the Commodore 64, and it supports up to a full 64k of RAM.

Does it work?

To be honest, I spent most of today doing up the art assets, getting the basic framework to work, and writing the console font rendering code. At the moment, it doesn’t do anything. But it will!

What does it run?

Whatever is on the system ROM. I haven’t finished that part yet. I plan to start by writing a FORTH interpreter, to get people started, but since the system is relatively simple and 6502-based, I expect other people will send in system ROM images that I can add to the default set. Who knows, maybe someone will write a BASIC interpreter eventually.

What can I do with it?

In addition to the various things that you can do with just a computer and a display, I plan to add a UPB-connected IO expander, which connects to a bundled cable. That way, you can control your world using a computer, if you’re not afraid to write a little software!

When is this coming out

This is a Tech 3 module. I may choose to release an early-adopters preview with temporary crafting recipes (probably involving diamond blocks), or I may wait until Tech 3.

Do the backplanes have to be behind the CPU

Yes. The local bus has to be fast, or using computers would cause considerable lag. Really, it’s for your own good.

Can I network them to make a cluster?

The UPB is multimaster capable, so you can put multiple CPUs on the same ribbon, but they can’t directly address one another. Still, a clever person might find a way to pass messages between CPUs this way, by using a shared peripheral of some sort.