It’s official. [Notch], creator of Minecraft, has confirmed he’s shelved plans for 0x10c, the space-based block building and exploration MMO that features assembly programming as a core game component.
Over the last year or so since 0x10c was announced, a whole lot of programmers have picked up the in-game fictional CPU – the DCPU – by writing emulators and even emulating this CPU that only exists as a design document on an AVR. Needless to say, there are a lot of very skilled programmers that want this game to exist. Now, it seems, this community is forging ahead with this project without [Notch].
This is a truly massive undertaking by the community. Not only are the current plans to build an open world, procedurally generated, space-based MMO, it looks like these new developers will also be writing their own engine from scratch. If this were a commercial endeavour, it would require millions of dollars and many years to get to a rough alpha build, and the 0x10c community is doing this for free.
If you have experience in C++, OpenGL, and 3D game programming, the official signup thread is over on the 0x10c subreddit. Even if you’re not a programmer and only have experience in modeling, writing, your experience would be greatly appreciated.
[skywodd] just finished his own DCPU emulator (French, translation) based on [notch]’s upcoming game, 0x10c. The neat thing about [skywodd]’s build is his emulator uses the lowly ATMega328, the same microcontroller found in (some) Arduinos.
The DCPU specification goes over the operations required of any DCPU emulator. There’s a lot of crazy stuff here – a division instruction that takes only 3 clock cycles, using an overflow for carry conditions, and a complete lack of a JMP instruction – but [skywodd] was able to tease something apart from DCPU studio and a VGA interface
Everything in this emulator is built on a solderless breadboard, but the ROM and RAM isn’t complete yet. As of now, everything is handled by the ‘328, using 478 bytes of RAM on the microprocessor.
We promised we would be holding a contest for the best physical implementation of the DCPU when we caught wind of 0x10c, and [skywodd]’s build is starting to look like the beginnings of the winning entry. We honestly have no idea when we’ll be holding this contest, but it’ll probably be shortly after the first playable release. Go bug [notch] if you’d like to speed up the progress, because obviously Twitter abuse speeds up software development.
[Notch], the guy behind Minecraft, is currently working on a new game called 0x10c. This game includes an in-game 16-bit computer called the DCPU that hearkens back to the 1980s microcomputers with really weird hardware architecture. [Benedek] thought it would be a great idea to turn his ThinkPad into a DCPU, so he wrote a bootable x86 emulator for the DCPU that is fully compliant with the current DCPU spec.
This bootable DCPU emulator comes from the fruitful workshop of [Benedek], the brains behind drawing fractals on the DCPU, emulating bit-flipping radiation, and even putting the Portal end credits inside [notch]’s 0x10c computer.
[Benedek] wrote this new in x86 assembly, allowing it to be booted without an OS from a USB flash drive on any old laptop. This allows for direct hardware communication for everything implemented for the DCPU so far.
If you’d like to run your bare-metal DCPU, [Benedek] made all the files avaiable. Since the entire emulator is only 1800 lines of x86 assembly, it’s possible to load this off a floppy disk; an ancient tech we’ll be seeing in [notch]’s new game.
Oh. One more thing. When we were introduced to 0x10c, we said we’ll be holding a contest for the best hardware implementation of the DCPU. We’re still waiting on some of the hardware specs to be released (hard drives and the MIDI-based serial interface), so we’ll probably be holding that when there is a playable alpha release. [Benedek]’s bootable emulator is a great start, though.
We’ll admit that we haven’t been following Minecraft like we used to; its been a while since we’ve seen something amazing in Minecraft, but [eloraam]’s 6502 emulator (part of her RedPower Minecraft mod) takes the cake.
The RedPower mod adds a lot of industrial technology to Minecraft. Pumps, solar panels, and pneumatic tubes to move blocks around are the staple of this mod, but with the addition of a fully emulated 6502 computer, Minecraft moves from an anachronistic medieval-themed steampunk aesthetic to a full-on machine age, mainframes everywhere style.
The heart of the 6502 portion of the RedPower mod are three craftable blocks; a CPU, a monitor, and a disk drive. All these blocks are connected together with ribbon cables and can interact with other blocks in the Minecraft universe. The CPU is an emulated 6502, with a few instructions borrowed from the 65816 and the addition of MUL and DIV. It’s possible to program this computer in assembly, but [eloraam] a Forth interpreter with the OS to make programming a little easier.
It’s been almost two years since we first saw the beginnings of a CPU made in Minecraft, but this mod takes everything to the next level. In actuality, this isn’t very different from the game [notch] is currently working on; both feature an emulated 80’s era computer that can do all your in-game bidding. We can’t imagine anything better to get us hooked on Minecraft again, and we’ve got to commend [eloraam] for some seriously awesome work.
After the break is a 23-minute tutorial on the functions of the RedPower CPU, as demonstrated by Minecraft aficionado [direwolf20].
Continue reading “Building a 6502 in Minecraft”
If you’ve been trying to think of stuff you can do with the DCPU-16 this may inspire you to write a clone of a classic game.
This version of Pac-Man was written using a sprite system with a 16 color pallette. It runs in an HTML-based emulator, so you can even monkey around with the assembly code to help you figure out how it works. But if you’re not into writing code that is this machine-close, you can just click the ‘run’ button and use your keyboard arrows to play through a level or two. You’ll notice there’s only one game board available so far and some things are still missing like that familiar waka-waka as he gobbles up the dots. Let us know if you mange to extend the features of this version.
In case you missed it, this emulator is running the DCPU-16 spec from Notch’s new game, 0x10c (. We have no idea how that’s going to shape up, but getting in on the game early will pay off it turns out to be as popular as Minecraft.
[notch], the mastermind behind Minecraft, is working on a new game. It’s called 0x10c (pronounced ‘trillek’, we think) and promises to teach an entire new generation the joys of assembly programming on a 1980s-era computer.
The setup for the game is nerdy/awesome enough to make [Douglas Adams] blush; a ‘deep sleep core’ was invented in 1988 that attached to the 16-bit computers of the day. This core was big endian, where the DCPU-16 (the computer in the game) was little endian. What was supposed to be a one-year hibernation turned into a 281 Trillion year coma, the Universe is dying, and everyone from 1988 is just waking up.
The game features a fully functional 16-bit CPU that controls every aspect of your spaceship. The specs for the DCPU-16 have been released and there are several emulators available.
Already, a few communities have been set up around the web to discuss how to program the DCPU-16: the official forum of 0x10c, the 0x10c subreddit, and another dedicated to programming the in-game computer. Already there’s a C-like language that compiles executables for the DCPU and a Game of Life implementation.
We know this isn’t a usual Hackaday post. Despite this, we’re fairly certain a good percentage of our readership will be programming a DCPU-16 in the next year. It just might be time to crack the books and learn how to build a compiler and OS. The dragon book (Compilers Principles, Techniques, and Tools, Aho, Sethi, Ullman, 1985) is very good, and [Andy Tanenbaum]’s Operating Systems Design and Implementation is how [Linus Torvalds] got his start.
One more thing: we’re going to be running a contest for the best physical implementation of the DCPU-16 in a few months. We’ll wait until the in-game hardware is nailed down, along with any peripherals [notch] plans to add. Right now the prizes are some HaD schwag, but that may change. Further info with updates pending, but you’re free to start working now.