
Beaglewire
The BeagleWire is an FPGA (Lattice iCE40HX4k) development platform that has been designed for use with BeagleBone boards.


This project explores the transformation of a DVD-class MediaTek MT1389 system into a dedicated interactive game platform. Instead of functioning as a traditional DVD player, the hardware is repurposed through custom firmware to run a lightweight 2D game system.
The platform is built around a multi-processor architecture, using an ARM7 CPU for game logic, an 8032 system controller for low-level hardware management, and dedicated multimedia hardware for video and audio processing.
Rather than relying on standard DVD-Video or DVD-Audio behavior, the system operates using a proprietary disc format and a custom runtime environment designed specifically for games and interactive media.
The result is a closed, console-like platform that redefines DVD-era multimedia hardware as a dedicated interactive game system.
When a game disc is inserted, the system reads it as a custom game format rather than a movie disc. The disc contains everything needed to run the game, including code, assets, audio, and visual data.
Once loaded, the firmware takes control and runs the game directly on the hardware. Instead of rendering everything through software, the system uses built-in video and audio features to handle most of the presentation, allowing smooth playback even on limited hardware.
The system uses several processing units working together:
The ARM7 processor runs the main game logic and controls how the game behaves.
The 8032 system controller handles input, hardware signals, and low-level system tasks.
A built-in audio DSP manages sound processing such as mixing, effects, and playback.
The video hardware is responsible for decoding and displaying visual content like backgrounds and interface elements such as MPEG, Subpicture, On Screen Display layers.
Each processor has a specific role, allowing the system to stay responsive while handling multimedia tasks efficiently.
Developers are provided with a dedicated SDK and toolchain for creating games for this platform. The development environment is built around the Iris SDK, which provides the core libraries, APIs, and build tools needed to develop software for the system.
At the center of the platform is the Iris System, a middleware framework and tools layer that sits between the game code and the hardware. It handles core runtime functions such as input processing, audio playback, video coordination, and system-level scheduling. This allows developers to focus on gameplay and content while the middleware manages the underlying hardware complexity.
The main application code is developed using ARM Developer Suite v1.2 (Metrowerks CodeWarrior), which is used for compiling, linking, and debugging ARM7 game binaries. This provides direct control over performance-critical game logic and system behavior.
For testing and development, the Iris Emulator (Win32) is available. It simulates the full runtime environment on a PC, including DVD emulation layer, system execution flow using the win32 api, allowing games to be tested without physical hardware.
Together, the Iris SDK, Iris System middleware layer, ARM Developer Suite, and Iris Emulator form a complete development ecosystem for building and validating games on the platform.
Games are stored on optical discs using a custom format called GROM, designed specifically for this system. Unlike standard DVD discs, these are not meant for movies or music.
Each disc contains a complete game package, including program code, graphics, audio, and gameplay data. When inserted, the system reads and loads this data directly into memory, preparing it for execution.
To ensure only valid games run on the system, each game is digitally verified before running signed code before execution. The firmware checks the game’s signature using a built-in security key.
If the game passes verification, it is allowed to run. If not, it is rejected. This helps maintain system stability and ensures that only properly built games can be executed.
Instead of using a traditional graphics engine, the system relies on built-in video and overlay hardware.
This allows:
Full-screen video backgrounds
Layered user interfaces on top of video
Simple animations and transitions handled by hardware
This approach is well-suited for 2D games and cinematic-style presentations.
Audio is processed through the system’s built-in sound hardware and an external TAS5026 digital audio amplifier.
The system supports multiple audio channels for music, sound effects, and voice. It can also apply effects like mixing and reverb, and output sound in stereo or surround formats depending on the configuration.
User input is handled by a dedicated system controller that processes button presses and remote signals. This controller sends input events to the main processor, where the game logic responds in real time.
This separation helps keep input responsive even during heavy video or audio playback.
The goal of this project is to repurpose DVD-class multimedia hardware into a dedicated interactive game platform. Instead of relying on modern engines or general-purpose computing, the system explores how far fixed-function media hardware can be pushed for 2D and cinematic game experiences.
The result is a specialized, lightweight game system built entirely around custom firmware and hardware-driven media playback.