▓ 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
| Tool | Key | Description |
| ✏ Paint | B | Freehand brush drawing. Respects brush size. Continuous pixel interpolation prevents gaps when drawing fast. |
| ░ Spray | A | Random scatter spray paint. Respects brush size and spray speed. Speed slider (1–10) appears when selected. |
| ▦ Dither | D | Paints checkerboard pattern alternating between the active color and a selectable 2nd color. Dropdown appears when selected. |
| ◻ Erase | E | Paints with background color (index 0). Respects brush size. |
| ▧ Fill | G | Flood fill — fills all contiguous pixels of the clicked color with the active color. |
| ◉ Pick | I | Eyedropper — 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. |
| ⇄ Replace | — | Click any pixel to replace all instances of that color with the active color across the entire canvas. |
SHAPE TOOLS
| Tool | Key | Description |
| ╱ Line | L | Click and drag from start to end point. Pixel-perfect Bresenham algorithm. Respects brush size. |
| ∿ Curve | V | Two-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. |
| ▭ Rect | R | Drag to draw a filled rectangle. |
| □ Rect Outline | Shift+R | Drag to draw a rectangle outline only. |
| ● Circle | C | Drag to draw a filled ellipse. |
| ○ Circle Outline | Shift+C | Drag to draw an ellipse outline only. |
All shape tools show a gold preview overlay while dragging.
SELECTION, STAMP & MOVE
| Tool | Key | Description |
| ⬚ Select | S | Drag to select a rectangular region. Dashed gold outline shown. |
| ⎘ Stamp | T | Paste a copied selection. Use Ctrl+C to copy the current selection first. Shows semi-transparent preview while hovering. |
| ✥ Move | M | Click and drag to shift the entire canvas contents in any direction. |
MODES & TOGGLES
| Mode | Key | Description |
| DLI Override | O | When 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. |
| Mirror | X | Horizontal 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. |
| Grid | P | Pixel grid overlay (visible at zoom 2× and above). Adjustable grid size from 1 to 16 pixels. |
SIDEBAR CONTROLS
Brush & Tool Options
| Control | Range | Description |
| Brush Size | 1 – 8 px | Affects Paint, Spray, Dither, Lighten, Darken, Line, Curve |
| Spray Speed | 1 – 10 | Density of spray particles. Only visible when Spray tool is selected. |
| Dither 2nd Color | BG / C1–C12 | Secondary color for the checkerboard dither. Only visible when Dither tool is selected. |
| Grid Size | 1 – 16 px | Spacing of the grid lines. Only visible when Grid is ON. |
Transform
| Button | Description |
| FLIP H | Flip entire canvas horizontally (left ↔ right) |
| FLIP V | Flip entire canvas vertically (top ↔ bottom), also flips DLI line overrides |
| ◀ ▶ ▲ ▼ | Shift (nudge) entire canvas by 1 pixel in any direction |
Reference Image
| Control | Description |
| LOAD REF | Load any image file as a semi-transparent overlay for tracing |
| CLEAR | Remove the reference image |
| Opacity | Slider 5% – 80% to control reference visibility |
PALETTE & COLORS
The editor uses 12 color slots (C1–C12) mapped to 4 MARIA palettes:
| Palette | Colors | Registers |
| P0 | C1, C2, C3 | $21, $22, $23 |
| P1 | C4, C5, C6 | $25, $26, $27 |
| P2 | C7, C8, C9 | $29, $2A, $2B |
| P3 | C10, 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 0–9 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.
| Feature | Description |
| Max 2 per line | Each scanline supports up to 2 color overrides |
| Cumulative | Overrides persist downward like real MARIA hardware |
| Add / Remove | Add new override entries or remove existing ones per line |
| Slot & Color | Pick which palette slot to override and what color to assign |
| Copy to Range | Copy 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
| Button | Description |
| CLEAR | Wipe entire canvas and all DLI overrides |
| UNDO | Undo last action (Ctrl+Z), up to 30 levels |
| REDO | Redo undone action (Ctrl+Y) |
| SAVE | Save project as .emp JSON file (preserves everything) |
| LOAD | Load a previously saved .emp project file |
| IMPORT PNG | Import any image (PNG, JPEG, etc.), auto-quantized to the current palette |
| EXPORT MADS | Export as MADS assembler source with correct 160B hardware encoding |
VIEW & NAVIGATION
| Action | How |
| Zoom In / Out | + / - keys, or sidebar buttons. Range: 1× to 8× |
| Pan | Middle-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
| B | Paint |
| A | Spray |
| D | Dither |
| E | Erase |
| G | Fill |
| I | Pick / Eyedrop |
| ] | Lighten |
| [ | Darken |
| L | Line |
| V | Curve |
| R | Rect (filled) |
| Shift+R | Rect Outline |
| C | Circle (filled) |
| Shift+C | Circle Outline |
| M | Move |
| S | Select |
| T | Stamp |
Modes & Actions
| O | Toggle DLI Override |
| X | Toggle Mirror |
| P | Toggle Grid |
| 0–9 | Select color 0–9 |
| + / - | Zoom in / out |
| Ctrl+Z | Undo |
| Ctrl+Y | Redo |
| Ctrl+C | Copy selection |
| Esc | Cancel current action |
TECHNICAL: 160B EXPORT FORMAT
The MADS export generates assembler source for the Atari 7800 MARIA chip:
| Detail | Value |
| Pixel encoding | 4-bit: bits 3–2 = palette (0–3), bits 1–0 = color (1–3), xx00 = transparent |
| Bytes per row | 80 bytes (2 pixels per byte, 160 pixels wide) |
| Transparent holes | $04, $08, $0C are skipped via IDX_TO_160B lookup |
| Palette registers | P0: $21–$23, P1: $25–$27, P2: $29–$2B, P3: $2D–$2F |
| Background | BACKGRND register $20 |
| DLI table | Per-line entries with MARIA register address + color byte |
| Format | MADS assembler .byte $XX directives, 16 bytes per line |
— Eagle Maria Painter • Atari 7800 160B Playfield Editor —