Index ¦ Archives ¦ Atom ¦ RSS

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, so …


The Moxie Game Console?

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

nethack

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 it …


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 Connection …

A Really Tiny GDB Remote Protocol Stub

I recently trimmed the Marin SoC's on-chip memory down to 4k. The existing firmware for downloading srecord programs into external RAM for execution was taking up about 2k. With 2k to spare, I was wondering if you could fit a GDB remote protocol stub in there as well. It turns …


Moxie on Altera's Cyclone II, and a Chance Encounter

I recently fired up the Altera software, Quartus II, and spent a little time porting the Marin SoC to the popular Cyclone II based DE2 board. There's no external memory support yet, but on-chip memory is working, and it looks like the on-chip bootloader is coming up properly. As usual …


QEMU 1.5 includes Moxie support

QEMU 1.5 was just released the other day, and in the "And much more..." category I'm happy to say that it includes Moxie support!

This release contains basic Moxie core support, with the imaginary "moxiesim" board support. I have some local changes that provide Marin SoC emulation, and can …


An On-Chip Bootloader

Good news: we can access external memory! The logic for my pseudo-static RAM controller is working, and big programs can finally run on hardware.

You may recall that I had previously only been accessing fake memory that was configured directly out of limited FPGA resources. I could squeeze a tiny …


And time ticks on...

The interrupt controller is working now, as is the timer and my exception handling firmware. So now I'm able to write a basic stop-watch application, where the 7-segment display simply increments the count every second. Yes, this sounds basic, but there's a lot of complexity under the hood! This is …


Moxie ports and hardware developments

It's been a while since my last update.. let me bring you up to speed.

A couple of libffi releases got in the way of moxie hacking (although libffi 3.0.13 now includes full moxie support!), but things are picking up speed again.

On the software side of things …


Native On-Chip GDB Remote Protocol Support

A typical software debug solution for an embedded systems might involve a JTAG connection to the board, and then some kind of protocol translation software that handles communication between GDB's remote serial protocol and the target JTAG port (see OpenOCD, for instance). The FPGA systems I'm working with include JTAG …

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