MR image: Difference between revisions

From dreamcast.wiki
Jump to navigation Jump to search
No edit summary
Line 11: Line 11:


==File Format==
==File Format==
A MR file starts off with a 30 byte header.
===File Header===
===File Header===
A MR file starts with a 30 byte header.
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 19: Line 19:
| 2 bytes || "MR"
| 2 bytes || "MR"
|-
|-
| 4 bytes || Filesize
| 4 bytes || Total Filesize
|-
|-
| 4 bytes || Crap
| 4 bytes || Crap
|-
|-
| 4 bytes || Image Data offset
| 4 bytes || Image Data offset (Header size + Palette size)
|-
|-
| 4 bytes || Image Width
| 4 bytes || Image Width
Line 34: Line 34:
|}
|}
===Palette===
===Palette===
The header is followed by the image palette.  The palette is composed of palette entries where each palette entry is 4 bytes long and is stored as BGRA. The alpha byte goes unused.
{| class="wikitable"
|-
! colspan="4"|Palette Entry
|-
| B || G || R || A
|}
In total, the byte size of your palette should be number of colors * 4.
===Image Data===
Lastly, the image data.  The image data is compressed using RLE.


==Encoding==
==Encoding==
==Decoding==
==Decoding==

Revision as of 06:44, 11 January 2020

About

A MR image is an image format solely used inside an IP.BIN file to show off a logo during the boot screen process of the Sega Dreamcast.

Games powered by Windows CE boot screen

This image format was used in commercialized Dreamcast games utilizing Windows CE SDK where we see a "Powered by Microsoft Windows CE" logo. It is now commonly used in homebrew to distinguish the creator(s) of the application or to disassociate the application being produced by or under license from Sega. Since IP.BIN is restricted to a 32k file size and the MR image must be inserted into that file in order to be displayed during the boot process, there are a couple of guidelines the MR image must meet to be shown during the boot process.

MR Image must be:

  • 320x90 or less
  • Max 128 colors
  • Less than 8192 bytes to fit in a IP.BIN
  • The transparent color is #c0c0c0, or 192, 192, 192 in RGB



File Format

A MR file starts off with a 30 byte header.

File Header

Size Contents
2 bytes "MR"
4 bytes Total Filesize
4 bytes Crap
4 bytes Image Data offset (Header size + Palette size)
4 bytes Image Width
4 bytes Image Height
4 bytes Crap
4 bytes Amount of colors in palette

Palette

The header is followed by the image palette. The palette is composed of palette entries where each palette entry is 4 bytes long and is stored as BGRA. The alpha byte goes unused.

Palette Entry
B G R A

In total, the byte size of your palette should be number of colors * 4.

Image Data

Lastly, the image data. The image data is compressed using RLE.

Encoding

Decoding