Skip to content
Projects

GaryOderNichts/OpenDMCUFirm has 47 GitHub stars and 4 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-15 06:21 UTC. Last push 2026-07-01.

How these counts are measured

47 stars4 Forks +1 in 24h

Measured star growth

in 24h
+1
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

A Wii U DMCU firmware reimplementation and replacement

Creative & Media

README.md

Original

OpenDMCUFirm

A Wii U DMCU firmware reimplementation and replacement.

Overview

The DMCU (Display Microcontroller Unit) is a M68HC11 compatible microcontroller part of many AMD GPUs. On desktop systems it is involved in eDP features like Adaptive Backlight Modulation and Panel Self Refresh. On the Wii U it is used for backwards compatibility with the Wii's Video Interface.

The Wii U's DMCU firmware reads the VI state from a hardware shim mapped in the graphics controller register space and configures the graphics controller accordingly. It sets up display output and configures things like deinterlacing, scaling and overscan.

Goals

This project reimplements the Wii U DMCU firmware based on reverse engineering of the original firmware. It is not a byte-for-byte matching decompilation.

This project builds a working DMCU firmware for the Wii U to use in Wii mode. It can be loaded using evWii.

The goal of this project is to gain an insight into what the DMCU firmware does and potentially improve upon it. It is currently still work-in-progress, potential issues are expected.

Building

OpenDMCUFirm is built using GCC 3.3.6-m68hc1x-20060122, one of the last GCC versions with working M68HC11 support. You can download the GNU 68HC11/12 packages here: http://gnu-m68hc11.vacs.fr/m68hc11_pkg_zip.php

A Dockerfile is provided with the repo to easily set up the toolchain. To build the project using docker, follow the steps below.

# Build using image from docker hub
docker run -it --rm -v ${PWD}:/project garyodernichts/dmcubuilder make PREFIX="wine /gnu-68hc1x/app/bin/m6811-elf-" SUFFIX=".exe"

# or alternatively build the docker image yourself
docker build . -t dmcubuilder
# and run make 
docker run -it --rm -v ${PWD}:/project dmcubuilder make PREFIX="wine /gnu-68hc1x/app/bin/m6811-elf-" SUFFIX=".exe"

The resulting dmcu.d.hex file should be placed in the wiiu folder on your SD Card and loaded using evWii's "Load DMCU Firmware from SD Card" option.

References

About the DMCU:

Graphics Controller Registers: