Index ¦ Archives ¦ Atom ¦ RSS

Moxie talk at Bitcoin Dev Meetup

A very meta photo of me at the Toronto Bitcoin Developer Meetup yesterday, explaining moxie, and the value of a security oriented VM (moxiebox).

Photo used by permission from Jan Miranda.

An ELF Machine Number for Moxie

Moxie was assigned an official ELF machine number this week! You can check it out here:

All ELF files start with a header describing properties of the object at hand. One of the most important properties is the 'machine' type ...

Compacting the code with shorter load/store offsets

You may recall that moxie supports two instructions lengths: 16- and 48-bit. Today I'm introducing a few 32-bit instructions as well.

Previously, moxie's "load and store with offset" instructions were defined as...

ldo.l00001100AAAABBBB iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
Load offset, long. Loads into $rA the 32-bit value from memory pointed ...

Multiplication in the Real World

The bitcoin team has been exercising moxie in ways that it hasn't been stressed before. For example, they've been examining the code quality for their crypto libraries like libsecp256k1, an elliptical curve crypto library in C. One of their first feedbacks here was that moxie provides no native ...

Moxiebox and bitcoin

One of the more interesting developments around moxie is the adoption of the moxie architecture by the core bitcoin developers (Jeff Garzik, in particular), for an experimental project called moxiebox.

To quote Jeff...

The goal is to provide a secure, sandboxed execution mechanism that enables deterministic input, processing and output ...

New Site

I had finally had enough of the wiki spammers, and decided to migrate all of my content over to a static github hosted site. I believe all of the blog entries migrated over now, and I'm in the process of migrating the wiki content over to pages you can ...

Sign Extension

Moxie zero-extends all 8 and 16-bit loads from memory. Until recently, however, the GCC port didn't understand how loads worked, and would always shift loaded values back and forth to either empty out the upper bits or sign-extend the loaded value. While correct, it was overly bloated. If we ...

NetHack in your browser

This is a moxie-rtems port of NetHack running on a modified version of the gdb moxie simulator compiled to javascript with emscripten.

Terminal uses canvas

Krister Lagerström is responsible for this marvellous hack.

Also, I suppose this blog entry represents a distribution of some GPL'd source code from GDB ...

The Moxie Game Console?

Ok, not quite, but Krister Lagerström recently did something cool..


That's NetHack ported to RTEMS running on the moxie based Marin SoC.

It runs on QEMU, via "qemu-system-moxie --nographic --machine marin --kernel nethack.elf", or on FPGA hardware. I tested with a Nexys 3 Spartan-6 board by simply converting ...

Putting it together: on-chip firmware

The on-chip firmware for the Marin SoC has been updated with the gdb stub, so now when you program the FPGA, you'll see the following on the serial console:

MOXIE On-Chip Bootloader v2.0
Copyright (c) 2013 Anthony Green

Waiting for an S-Record Download or Remote GDB ...

© Anthony Green. Built using Pelican. Theme by Giulio Fidente on github. .