▓ EAGLE MARIA PAINTER — HELP

Atari 7800 MARIA 160B Playfield Editor

Canvas: 160 × 192 pixels • 4bpp • 12 colors + background • double-wide pixels

Single-file HTML application — runs in any modern browser, no install needed.

DRAWING TOOLS

ToolKeyDescription
✏ PaintBFreehand brush drawing. Respects brush size. Continuous pixel interpolation prevents gaps when drawing fast.
░ SprayARandom scatter spray paint. Respects brush size and spray speed. Speed slider (1–10) appears when selected.
▦ DitherDPaints checkerboard pattern alternating between the active color and a selectable 2nd color. Dropdown appears when selected.
◻ EraseEPaints with background color (index 0). Respects brush size.
▧ FillGFlood fill — fills all contiguous pixels of the clicked color with the active color.
◉ PickIEyedropper — click a pixel to set it as the active color.
☀ Lighten]Shifts each painted pixel to the nearest lighter color in the palette.
◗ Darken[Shifts each painted pixel to the nearest darker color in the palette.
⇄ ReplaceClick any pixel to replace all instances of that color with the active color across the entire canvas.

SHAPE TOOLS

ToolKeyDescription
╱ LineLClick and drag from start to end point. Pixel-perfect Bresenham algorithm. Respects brush size.
∿ CurveVTwo-phase Bezier curve: (1) drag to set start and end points, (2) move mouse to bend the curve, click to commit. Guide lines and control point shown during phase 2.
▭ RectRDrag to draw a filled rectangle.
□ Rect OutlineShift+RDrag to draw a rectangle outline only.
● CircleCDrag to draw a filled ellipse.
○ Circle OutlineShift+CDrag to draw an ellipse outline only.
All shape tools show a gold preview overlay while dragging.

SELECTION, STAMP & MOVE

ToolKeyDescription
⬚ SelectSDrag to select a rectangular region. Dashed gold outline shown.
⎘ StampTPaste a copied selection. Use Ctrl+C to copy the current selection first. Shows semi-transparent preview while hovering.
✥ MoveMClick and drag to shift the entire canvas contents in any direction.

MODES & TOGGLES

ModeKeyDescription
DLI OverrideOWhen ON, all painting tools also write DLI line overrides for the active color’s palette slot on each painted scanline. Respects max 2 overrides per line.
MirrorXHorizontal symmetry mode. Everything drawn is mirrored on the opposite side. A red center line is shown as guide. Applies to all painting and shape tools.
GridPPixel grid overlay (visible at zoom 2× and above). Adjustable grid size from 1 to 16 pixels.

SIDEBAR CONTROLS

Brush & Tool Options

ControlRangeDescription
Brush Size1 – 8 pxAffects Paint, Spray, Dither, Lighten, Darken, Line, Curve
Spray Speed1 – 10Density of spray particles. Only visible when Spray tool is selected.
Dither 2nd ColorBG / C1–C12Secondary color for the checkerboard dither. Only visible when Dither tool is selected.
Grid Size1 – 16 pxSpacing of the grid lines. Only visible when Grid is ON.

Transform

ButtonDescription
FLIP HFlip entire canvas horizontally (left ↔ right)
FLIP VFlip entire canvas vertically (top ↔ bottom), also flips DLI line overrides
◀ ▶ ▲ ▼Shift (nudge) entire canvas by 1 pixel in any direction

Reference Image

ControlDescription
LOAD REFLoad any image file as a semi-transparent overlay for tracing
CLEARRemove the reference image
OpacitySlider 5% – 80% to control reference visibility

PALETTE & COLORS

The editor uses 12 color slots (C1–C12) mapped to 4 MARIA palettes:

PaletteColorsRegisters
P0C1, C2, C3$21, $22, $23
P1C4, C5, C6$25, $26, $27
P2C7, C8, C9$29, $2A, $2B
P3C10, C11, C12$2D, $2E, $2F

Plus Background color (BACKGRND register $20).

Click any palette swatch or the BG swatch to open the Atari color picker (16 hues × 8 luminance levels = 128 unique colors).

Number keys 09 quick-select colors 0 through 9.

DLI LINE OVERRIDE EDITOR

The right sidebar contains the DLI (Display List Interrupt) line override editor.

DLI overrides let you change palette colors on specific scanlines, enabling more than 12 colors on screen.

FeatureDescription
Max 2 per lineEach scanline supports up to 2 color overrides
CumulativeOverrides persist downward like real MARIA hardware
Add / RemoveAdd new override entries or remove existing ones per line
Slot & ColorPick which palette slot to override and what color to assign
Copy to RangeCopy overrides from the current line to a range of other lines
The palette strip on the left edge of the canvas shows the effective palette per scanline. Gold dots indicate lines with DLI overrides.

HEADER ACTIONS

ButtonDescription
CLEARWipe entire canvas and all DLI overrides
UNDOUndo last action (Ctrl+Z), up to 30 levels
REDORedo undone action (Ctrl+Y)
SAVESave project as .emp JSON file (preserves everything)
LOADLoad a previously saved .emp project file
IMPORT PNGImport any image (PNG, JPEG, etc.), auto-quantized to the current palette
EXPORT MADSExport as MADS assembler source with correct 160B hardware encoding

VIEW & NAVIGATION

ActionHow
Zoom In / Out+ / - keys, or sidebar buttons. Range: 1× to 8×
PanMiddle-click drag, or Alt+click drag

The status bar at the bottom shows current pixel coordinates (X, Y), the color index under the cursor, and any DLI overrides on that line.

KEYBOARD SHORTCUTS

Tools

BPaint
ASpray
DDither
EErase
GFill
IPick / Eyedrop
]Lighten
[Darken
LLine
VCurve
RRect (filled)
Shift+RRect Outline
CCircle (filled)
Shift+CCircle Outline
MMove
SSelect
TStamp

Modes & Actions

OToggle DLI Override
XToggle Mirror
PToggle Grid
09Select color 0–9
+ / -Zoom in / out
Ctrl+ZUndo
Ctrl+YRedo
Ctrl+CCopy selection
EscCancel current action

TECHNICAL: 160B EXPORT FORMAT

The MADS export generates assembler source for the Atari 7800 MARIA chip:

DetailValue
Pixel encoding4-bit: bits 3–2 = palette (0–3), bits 1–0 = color (1–3), xx00 = transparent
Bytes per row80 bytes (2 pixels per byte, 160 pixels wide)
Transparent holes$04, $08, $0C are skipped via IDX_TO_160B lookup
Palette registersP0: $21–$23, P1: $25–$27, P2: $29–$2B, P3: $2D–$2F
BackgroundBACKGRND register $20
DLI tablePer-line entries with MARIA register address + color byte
FormatMADS assembler .byte $XX directives, 16 bytes per line

— Eagle Maria Painter • Atari 7800 160B Playfield Editor —