[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.
[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.
Falling on the heels of some fabulous ‘lets see what we can emulate on an AVR’ builds we’ve seen, [Dimitri] emulated an ARM Cortex-M0 on an 8-pin ATtiny85.
The emulator is written entirely in AVR assembly. Unfortunately, the instruction set of ATtinys don’t have a multiply instruction, so that had to emulated in a separate piece of code. Even with this addition, the emulator is very small; the core is just over 1300 instructions and small enough to fit on the Flash of the very small ‘tiny85.
Unlike the ATMega running Linux we saw last month, [Dimitri] won’t be doing anything crazy like making the tiniest and worst Linux computer ever. The Cortex-M0 doesn’t have a MMU, so Linux is out of the question. [Dimitri] could go with μCLinux, with the addition of a I2C EEPROM and RAM, but don’t expect a speed demon for an emulated ARM running at 200kHz.
[Dimitri] put all the code up on his webpage, and the installation is just running ‘make.’ It looks easy enough to get up and running very quickly, so we’re sure some bored hardware guru will come up with something interesting to do with this code.
After designing three versions, [dgcx] eventually ended up with a one-FPGA implementation of a PDP-10 and an awesome PDF writeup. Although PDP-10 emulators do exist, this project isn’t an emulation – the system actually has the 36-bit word length of the original, implemented on five 4096 kilobit SRAM chips. This is a fully functioning replica, and even has CHAOSNET implemented with a small Ethernet controller.
When you are running emulators or virtual machines it may be sometimes handy to be able to connect a serial port from the guest machine to the host machine. [Aurimas] had that issue, and also had a fun fix for that using 2 USB <> Serial adapters, but as you can imagine that is not a ideal solution, enter the Virtual Serial Bridge.
Digging around Vmware it was found that the support for what he needed was there, but not really used. A little addition of a few lines to the guest OS vmx file and configuring the socat multipurpose relay package. Though the instructions revolve around the Mac platform as the host and Windows as the guest socat and Vmware you can probably mix it up with any software that uses the serial port and a *x or windows host.
This device is called the Cumulus and it’s used to emulate the floppy disk hardware for Oric-1 and Oric Atmos computers. These 1980′s era computers included an expansion slot to which you could connect a floppy drive. That module, called a Microdisc system, also included the driver circuit which means you can’t just use a modern-day floppy drive as a replacement. [Retromaster] sidestepped the need for magnetic media all together by building an SD card interface which emulates the original module. We can tell by the use of a color screen and clean board layout that a lot of love went into the project. A CPLD implements the communications protocol used by the Microdisc system and creates all of the registers that would have been found on the original hardware. A PIC takes care of the SD card communications and the user interface.
After a lengthy process that had previously met with rejection, Manomio’s Commodore 64 emulator for the iPhone and iPod touch has finally been accepted by Apple. This marks the first time a multi-purpose emulation title has been approved by the App Store. The $4.99 C64 app comes bundled with five fully-licensed classic games, and additional titles can be purchased and downloaded directly within the application.
App Store policies prohibit software that could run downloadable code, which barred most emulation attempts in the past. A couple of Sega titles worked around this by nature of being single-purpose emulators. The condition by which the C64 title was finally approved was the removal of the BASIC programming language (though ironically it’s still shown in screen shots, even on the App Store). Since only sanctioned programs can be installed and run from within the application, no user-alterable code is present.
The C64 emulator is neat enough in itself, but the really encouraging news here is that a precedent has been set; the business model may open the floodgates for developers to bring more classic gaming titles to the iPhone platform. So download that SDK and get hacking!
Apparently you can run pretty much anything on a PS3. [mopx0] has managed to get Vista running on his PS3. He used Qemu 9.0.1 to install Vista on a PC. He says it takes “about a day or so”, after using Vlite to speed it up, so be patient. You then make an image of the install and copy it to your PS3. Don’t worry though, your hard work will be rewarded by a speedy 25 minute boot time when you’re done.
Even though it is extremely slow, to the point of being nearly unusable, its good to see people pushing the boundaries of our hardware’s intended use.