Quick start
The safest workflow is to keep the complete project in an .ape file and export target data only when it is ready for a game, demo, or emulator.
Tip: set the Atari mode and screen dimensions first, configure color registers next, and optimize character sets and export data last.
Project model
An APE project can contain multiple independent Atari screens, shared character sets, tilesets, and world maps. The active screen has its own graphics, mask, colors, PMG, DLI, and overscan settings.
Atari screen
An independent bitmap or character image. It stores GTIA registers, PMG, DLI, geometry, and the most recently used editing view.
Character set
A set of characters used by character screens and tiles. It can be protected from optimization or shared between screens.
Tileset
A collection of tiles. Tiles within one tileset may have different sizes. A tile stores character cells rather than copied pixels.
World map
Combines finished Atari screens into a larger area. Empty cells are transparent and all screens must have the same output dimensions.
A change to a shared character set is visible on every screen, tile, thumbnail, and world map that uses it.
Program interface
Top toolbar
Files, size, zoom, Atari mode, grids, overscan, view, full screen, palette, settings, help, and About.
Left panel
Drawing tools and block operations. Commands unavailable in the current view are dimmed.
Right panel
Screens, Graphics/Layout views, Tiles, World map, registers, character sets, DLI, PMG, and special operations.
Bottom panel
Color indexes for the active mode, updated for the DLI section under the cursor, P0..P3 and M0..M3 objects, Solo mode, and the status bar.
Main icons
Icons with extensions
A small triangle marks additional options. A left click performs the icon's primary action and a right click opens its extension. Extensions from the right panel open to the left, while extensions from the left panel open to the right.
Esc closes an open extension. Full-screen mode can only be left with F11.
Mouse and navigation
| Gesture | Action |
|---|---|
| Left button | Draw, set the starting point, or place a character, tile, or screen. |
| Right button on canvas | Pick a color index or character cell according to the active mode. |
| Middle button and drag | Pan the view, including PMG, tile, and map editing. |
| Mouse wheel | Zoom around the pointer. This behavior can be changed in Settings. |
| Ctrl while pointing | Snap the cursor to a character-grid edge. |
| Double-click a world-map cell | Open its screen without replacing the cell with the active stamp. |
Atari modes, pixels, and colors
The Atari mode determines the number of colors, logical pixel width, packed-data layout, and interpretation of character cells. The graphics-mode icon changes the mode of the active screen.
| Family | Main properties |
|---|---|
| Hires | A 1 bpp image. A pixel selects background or foreground; its color combines the COLPF2 hue with the COLPF1 luminance. PMG mixing and priorities follow the GTIA registers. |
| 4/5 colors | 2 bpp pixels. In character modes, a cell attribute may select an additional color variant. |
| GTIA | 16 luminances, 16 hues, or 9 colors. GTIA register restrictions are preserved during rendering and import. |
| Character modes | The image consists of cells referencing characters. Graphics view edits the pixel result; Screen layout works with cells. |
Colors 3 and 4 in five-color character mode
The fifth color uses the same 2-bit pixel code as color 3. Bit 7 of the complete character cell selects whether pixels with that code are displayed as color 3 or color 4. This is an Atari hardware restriction, so both colors cannot be used independently within one character.
While drawing with color 3 or 4, APE changes the attribute only in cells actually touched by the tool. A line, rectangle, or ellipse outline does not affect cells merely enclosed by the shape's bounding rectangle. Within a touched cell, however, the attribute changes every existing pixel that uses the shared color 3/4 code.
Proportional pixel
This option only changes display and pointer mapping on the PC screen. It does not change the native Atari data width. The renderer, cursor, tools, and mouse mapping follow the mode active at each location.
Color registers
- The bottom strip shows indexes available in the active mode and updates when the cursor enters another section.
- The Registers window edits GTIA and PMG values.
- The vertical sample strip beside the canvas shows colors for successive scanlines, including DLI changes.
- The overscan area uses
COLBK/COLBG.
Drawing
| Tool | Use |
|---|---|
| Edits the smallest unit of the active view: a pixel, PMG bit, or one cell in Screen layout and the tile editor. | |
| Draws from press to release. Its preview follows the active mode's pixel width, and five-color mode changes only the character cells crossed by the line. | |
| Outline or filled shape. Select the variant in the icon extension. An outline does not modify cells lying only inside the shape. | |
| Draws a circle or ellipse, outlined or filled. Width and height follow the dragged rectangle, but an outline affects only cells actually crossed by the curve. | |
| Flood-fills a connected area. While editing a mask, Alt fills according to the image color under the starting point. | |
| Draws a continuous stroke with the selected shape and pattern. Size, anchors, and custom tip libraries are available from the icon extension and the quick controls on the bottom strip. | |
| Places random points in a radius. In Screen Layout it chooses characters from the multi-selection in Charset Preview; the extension controls size and density. | |
| Places the active source: one character or a complete range from Charset Preview, or a tile from Tile Preview. The active character is the anchor and the cursor shows the actual range layout, including empty cells. The tool is unavailable in bitmap modes. |
Selecting a character or tile, including clicking an already selected item, changes the Stamp source.
Keyboard drawing: arrows move the cursor, pressing Shift alone places a point, and Shift with arrows draws while moving. Space and Enter remain alternatives, while Delete clears. Reaching an edge scrolls the view by half its width or height.
Extended Brush
The Brush icon extension combines size, shape, pattern, and pattern anchoring controls. Every change immediately updates the preview and cursor dummy.


Shape
Built-in tips include circle, square, diamond, horizontal line, and vertical line. You can also create multiple named custom shapes from 1x1 through 32x32.
Pattern
Available patterns include solid, checkerboard, 25% and 75% dithering, and horizontal or vertical stripes. Custom patterns use the same library and grid editor.
Anchoring
A pattern can be aligned to the complete canvas or begin at the current stroke origin. Canvas anchoring preserves the raster phase between separate strokes.
Quick selection
When Brush is active, previews of the current shape and pattern appear before the colors. Left-click for the entry list; right-click to open the editor on the Shapes or Patterns tab.
Designing a Pattern
The Patterns tab stores a repeating mask used while drawing. The strip above the grid contains values available in the active Atari mode. A contrasting border and corner mark the selected swatch, while the Drawing label names the value written by the next grid click.
A cells represent the dynamic active color. The letter and contrasting corner distinguish them from cells containing a fixed color index.| Cell | Meaning |
|---|---|
A Active color | Uses the color currently selected on the main window's bottom strip. The grid cell carries an A and a contrasting corner so it cannot be confused with a fixed index that happens to display the same color. |
0..F | A fixed Atari color index stored in the pattern. Only indexes available in the current image mode are shown. |
| Transparency | Leaves the destination pixel unchanged. It is shown as a red X in the grid. |
- With Multicolor disabled, every nontransparent cell uses the active color and the pattern acts as a mask.
- With Multicolor enabled, fixed cell indexes are preserved. An
Acell still follows the color selected in the main window. - Left-click a swatch to choose the drawing value. Right-click a grid cell to pick its value and update the selected swatch.
- Pattern anchoring controls phase. Canvas keeps one continuous pattern across operations; Stroke restarts it for each gesture.
Custom shapes and patterns
- Open the editor from the Brush extension, or right-click the Shape or Pattern preview on the bottom strip.
- Create a new entry or duplicate one, name it, and set its width and height with the spinner controls.
- Click grid cells. A light cell is active; a black cell is not drawn.
- To move the origin, enable Set anchor and click a grid cell. A red border marks the anchor.
- Confirm the changes and select the thumbnail from the scrolling strip of square buttons.
The last custom shape or pattern can also be deleted. An empty library does not recreate a placeholder: Brush falls back to the built-in Square or Solid pattern. Use Add to start a custom library again.
Saving and loading a library
The Save... and Load... buttons at the bottom of the editor use .apebrush files. One file contains every custom shape and pattern, their names, dimensions, anchors and ordering, plus the current Brush settings.
- Save... creates a portable copy of the complete library and asks before overwriting an existing file.
- Load... replaces the current library. An invalid or unsupported file leaves the current data unchanged.
- Add, Duplicate, Rename, Delete, Move up, and Move down organize entries before saving.
- Clear clears the active definition; Fill sets all of its cells.
Loading an .apebrush file replaces both the shape and pattern libraries. Save the current set first if you want to keep it available.
The Brush dummy outlines the actual tip silhouette and marks cells passed by the pattern. Fast pointer movement is interpolated, and one complete stroke creates one Undo entry.
Custom libraries, selected entries, and Brush settings are stored in the application configuration. They are not part of an individual .ape project.
Selection and block operations
The Selection icon has two states. The first activation lets you mark a rectangle; clicking it again removes the selection. Its state remains visible after another tool is selected while operations are still restricted to the area.
- Ctrl+C, Ctrl+X, and Ctrl+V use the program clipboard.
- Hand moves selected content. Hold Alt to skip pixels matching the active drawing color.
- Alt enables the same transparency while positioning pasted data.
- Mirrors, cyclic shifts, and rotations affect the selection, or the entire active document when there is no selection.
- The extension of any Roll icon sets a shared step. Each click moves by the stored amount.
- Character modes preserve bit order and character-set references.
- PMG block operations cover the full native object area.
Block-operation icons
Esc cancels a drag or removes the workspace selection.
Masks
A mask is a separate layer matching the image size. It can define a sprite cutout, collision data, or visibility.
Edit mode
The edit-mode icon switches between image and mask. The same drawing tools operate on the active layer.
Overlay
The mask overlay displays the mask over the image. Its color and opacity are configured in Settings and the icon extension.
Auto mask
Builds a mask from image pixels. Inverting and clearing the mask are also available.
Export
A mask can be saved as 1 bpp or with a bit layout matching the active Atari mode.
Overscan
Overscan extends the visible area around the playfield. Its icon extension sets independent left, top, right, and bottom margins. Settings are stored with the screen and project.
- The overscan area is filled with
COLBK/COLBG. - The cursor, selection, dragged operations, and mouse mapping include the playfield offset.
- PMG remains anchored to the playfield and is available across its complete vertical range.
- PNG export includes overscan only when selected by the user.
- XEX export corrects PMG vertical placement for active overscan.
Screen width affects the PMG HPOS left edge: narrow 64, normal 48, wide 32.
Character sets and character modes
Character-set preview
- Prot. displays
*when optimization must not remove the set. - No. is the character-set index used by screen cells.
- Group is the sharing identifier. Screens in one group use the same set.
- File shows the loaded
.fntfilename. - Zoom
x1..x4changes character size; Compact view removes labels and gaps. - Click a character to use it as the Stamp source; double-click to edit it.
- A multi-selection can feed Stamp and Screen Layout Spray or create a tile directly. The character-grid context menu chooses between preserving charset positions and compacting the range.
Cut, Copy, and Paste
Right-click the character grid to open clipboard operations for the current selection. APE copies the complete bounding rectangle together with information about occupied and empty positions.
| Command | Behavior |
|---|---|
| Cut | Copies selected characters to the Preview's internal clipboard and replaces their data in the active set with empty characters. |
| Copy | Preserves the characters and their relative positions without changing the active set. |
| Paste as original block | Restores rows, columns, and empty positions. Content beyond the right edge or the 128-character limit is skipped. |
| Paste sequentially | Skips empty source positions and writes occupied characters consecutively from the selected slot. |
After choosing a paste mode, move the preview over the character grid. Left-click to commit; right-click or press Esc to cancel. The status bar reports the starting slot and block size. You can select another target character set before pasting.
The Character-set Preview clipboard stores native APE character data. Use Character Studio Import/Export to exchange graphics with external applications.
Character Studio
Double-click one character or a multi-selection to open the scalable, modeless Studio. Other APE windows remain available while it is open, and additional independent Studio windows can be opened for other character ranges. Selected characters form one canvas where you can draw, select pixels, mirror, rotate, roll, shift, center, trim, outline, and add a shadow, with a local Undo/Redo history.
- The top bar starts with Import/Export. The View extension combines the grid, byte strip, character mode, bit 7 attribute, and base or DLI-derived Atari color context.
- The default Whole block scope treats the selection as one image. Each character keeps operations inside character boundaries.
- The pasted block follows the mouse. Left-click applies it, while right-click or Esc cancels; no target selection is required.
- The byte strip displays eight data rows per character and refreshes while drawing.
- Apply commits without closing, OK commits and closes, and Cancel discards only changes made since the last Apply.
- If two windows edit the same character, the first committed change remains in the document and the second Studio reports a conflict instead of overwriting newer data. Independent ranges can still be edited concurrently.
- Studio uses the active shortcut profile. Its dedicated actions are in the Character Studio Settings category.
- Changing the column count affects only the view layout by default. Moving characters to other slots requires explicitly enabling slot reallocation.
Managing sets
Right-click the list for New, Load, Save, Sharing, and Delete. Sharing can create a group, attach a set to an existing group, or make it independent again.
Optimization
Optimization removes unused characters and merges duplicate patterns. Protected sets and characters required by tiles, screens, and maps are retained. Disable optimization to keep stable character positions.
Cell bit 7
Screen layout and Tiles can display cell bit 7. Enable the overlay in the View extension; set, clear, or invert the bit with Character-cell attribute on the right panel.
A hardware character-screen row should use a set compatible with CHBASE. Screen-layout status reports conflicts and invalid references.
Tile editor


Left-click Tiles to open the tileset list. A single click changes the active set; a double-click edits it. Tile preview opens automatically. Tiles in one set may have different character-cell dimensions.
- The Tiles extension creates, renames, deletes, loads, and saves tilesets.
- Click a thumbnail to choose a Stamp source; double-click to edit the tile.
- Vertical commands create a tile, create one from the selection, duplicate, resize, rename, and delete.
- Right-click a cell to pick its character; left-click to place the active character.
- Selection, clipboard, mirrors, rotations, and shifts operate in cell units.
- Placing a tile copies its cells. Later changes to the tile definition do not alter the placed layout.
A tile created from a selection retains character-set indexes, character numbers, and cell bit 7.
A tile stores character-set number, character number, and cell attribute. Editing character graphics updates every tile that references it.
Atari screens


List and operations
Left-click the Atari Screens icon to open the list. Its extension creates, loads, duplicates, configures, renames, saves, and deletes screens. A newly created or loaded screen immediately becomes active.
- Each screen remembers whether it was last edited in Graphics or Screen layout.
- Screen preview refreshes the active thumbnail while drawing in Graphics view.
- Deleting a screen used on a map requires confirmation and leaves its map cells empty.
.apescreenstores the complete screen, including image, mask, character sets, GTIA, DLI, PMG, and overscan.
Graphics and Screen layout
| View | When to use it |
|---|---|
| Graphics | Edit the pixel result. In character modes APE updates characters and document cells. |
| Screen layout | Place characters and tiles and inspect set numbers, attributes, and CHBASE compatibility. |
Screen layout displays DLI color changes and the visible PMG layer, but these preview layers can only be modified in Graphics view.
Tile drawing refreshes immediately. Double-click a cell to open its character.
World maps
Creating a map
- Open the World maps list and create a map with dimensions expressed in screens.
- Select a screen in Screen preview.
- Place screens with the left button and pick one from a cell with the right button.
- Use selection, fill, move, and clipboard operations on larger areas.
Moving between a map and screen
Double-click an occupied cell to open its screen. A return button appears in the top information strip only when the screen was opened from a map or its Screen preview.
Map rules
- Screens may use different modes and data, but must have identical output dimensions.
- An empty cell is transparent.
- A missing screen is an error; an incompatible size is a warning.
- An
.apeproject embeds maps and screens..apeworldstores one map with its required screens.
Player/Missile Graphics
- PMG enabled activates the screen layer.
- Canvas editing draws directly in native memory for the active player or missile.
- Single-line stores 256 vertical bytes; double-line combines two scanlines into one byte.
- HPOS is an 8-bit value and does not scale freely with image width. Its reference depends on narrow, normal, or wide playfield geometry.
- The Hand tool can drag the solid green HPOS segment frame when its position comes from the base setting or a manual DLI entry.
- A dashed cyan frame identifies a segment controlled by a P/M Path. Clicking it opens and selects that path; key points can only be changed in path editing mode.
- An orange frame identifies an Add policy conflict in which the manual DLI entry takes precedence over automation.
- Object width can be normal, double, or quad.
- PMG visibility in View options shows or hides the layer without entering a PMG-only mode.
- Bottom buttons
P0..P3andM0..M3select objects; Solo hides the rest while editing.
PMG cursor, selection, and export include overscan and fixed HPOS geometry. PMG data is exported at its complete native size.
Display List Interrupts
DLI changes registers from a selected scanline. APE supports playfield and PMG colors, PMG positions and widths, and PRIOR.
- Add creates an entry, Copy duplicates it, Delete removes one, and Clear removes the entire program.
- The Line column identifies a scanline; Register changes summarizes the writes.
- The Colors tab enables registers and chooses Atari palette values.
- The PMG tab configures HPOS, widths, and PRIOR.
- Status estimates execution cost and warns when an interrupt approaches its deadline.
- The DLI strip at the left edge of the canvas displays entries at their scanlines; markers can be dragged.
DLI timing bar
Enable DLI timing in the View mode icon extension to display a vertical strip at the right side of the workspace. The strip remains fixed while scrolling or panning, while its markers stay aligned with their image scanlines.
- The width of each horizontal marker represents the approximate number of critical cycles needed for register changes on that line.
- Green means safe, yellow approaches the practical limit, and red indicates a risk of exceeding the interrupt time budget.
- At a sufficiently large zoom level, the marker also displays its cycle count.
- The bar includes color and PMG changes from manual entries and active DLI Gradients and P/M Paths.
A red marker does not block editing or export. It warns that real Atari hardware may not complete every register write within the available time.
Color gradients
Open DLI gradients from the DLI icon extension. Each gradient has a name, one target register, a line range, a step, and its own enabled state.
- Double-click an empty part of the strip to add a point. A single click selects its
^marker, a double-click chooses its color, dragging changes its line, and right-clicking removes an intermediate point. - The spinner beside Line selects a scanline; press Enter to add a point there.
- Interpolation can be stepped, linear, or smooth. Color interpretation supports luminance, Atari hue/luma, active-palette RGB matching, and uniform Atari steps.
- Dithering alternates adjacent values between scanlines. Set its strength to
0%to disable it. - Repeat, ping-pong, and phase settings reuse the same curve over a larger range.
Player/Missile paths
P/M paths generate changes for HPOSP0-HPOSP3 and HPOSM0-HPOSM3. The selected curve is displayed directly on the workspace.
- Double-click the curve to add a point, drag it to change its scanline and HPOS, and right-click an intermediate point to remove it.
- A path can use stepped, linear, smooth, or Bezier interpolation and can also control P/M color and width.
- Additional P/M objects can share one path with an independent HPOS offset.
- Preview preserves hardware HPOS geometry for Narrow, Normal, and Wide screens as well as PMG single/double-line settings.
Presets, tables, and the resulting DLI
- The preset menu includes fades, pulse, rainbows, passes, bounces, and waves. Parameters appear on a temporary tab and update the canvas before the preset is applied.
- Import ASM table accepts a file or pasted code using
dta,.byte,dc.b, ordb. Decimal,$FF,0xFF,FFh, and%11111111values are supported. - Merge gives automation priority only for its target register, Replace removes manual changes to that register in range, and Add preserves entries and reports conflicts.
- Integrate with DLI converts the selected automation into ordinary entries and removes its editable definition. XEX, ASM, MCH, and DLI data export also use active automation without integration.
- Status reports generated changes, occupied lines, and the cost of the most expensive interrupt. A budget warning means the curve should be simplified or use a larger step.
Automation is stored separately for each screen, participates in Undo/Redo, and appears in thumbnails. Use the list checkbox to compare the image with and without an automation.
Alt+D opens DLI, Alt+L adds or selects an entry at the cursor line, and Alt+N toggles the overlay.
PC image import
Select the PC image filter in Open. APE supports .bmp, .jpg, .jpeg, .png, and the first frame of .gif.
| Option | Meaning |
|---|---|
| Target | A new image or a movable pasted block in the active document. |
| Mode | Target Atari mode. Preview follows its color count and pixel width. |
| Scale | Stretch H/V, Fit while keeping aspect, or Fill and crop. |
| Frame X/Y | Offset the crop in aspect-preserving modes. |
| Dither | None, Bayer for a regular pattern, or Floyd-Steinberg for distributed error. |
| Choose Atari colors | Analyze the source and configure registers within mode restrictions, including GTIA. |
| Mask | None, PNG/GIF alpha, color 0, or pixels different from color 0. |
Character import must fit patterns into character-set limits. Invalid character dimensions or too many unique characters in a row stop conversion with an error.
Save, import, and export
F4 or a left-click on Save opens the shared save dialog. Right-clicking the same icon opens Export Atari data.
Creating or loading a project clears Undo/Redo so operations cannot cross document boundaries.
The Atari data filter in Open supports GR7, GR8, GR9, G10, G11, MIC, MCH, G2F, ATRVIEW, and the technical MCHRAW format. Before importing, APE shows detected interpretations, geometry, a preview, and color registers. Choose file... lets you inspect further files without closing the import window. The import can create a new screen or replace the active one.
Graph2Font MCH import restores the image, mode, base colors, and DLI changes from SHORT, MEDIUM, and FULL variants. The Graph2Font header distinguishes character documents from bitmaps; for 5-color and hires modes APE reconstructs an editable character set, character screen, and inverse attributes. An alternative bitmap interpretation remains available in the list. MEDIUM and FULL also restore PMG shapes, colors, positions, sizes, priority, and their DLI changes. When the shape data permits it, the import dialog offers a double-line PMG interpretation alongside single-line. The FULL Raster Program is explicitly reported as skipped. A raster program can change registers at different horizontal positions within one scanline, which the current APE DLI model cannot reproduce. Such a file may therefore look different in APE than in Graph2Font even when all other sections were imported correctly.
| Format | Purpose |
|---|---|
.ape | Complete project: screens, world maps, tiles, character sets, graphics, masks, GTIA, DLI, PMG, and view settings. |
.apescreen | One complete Atari screen loaded from the screen menu. |
.apeworld | A world map with required screens. |
.apetileset | Editable storage for one tileset. |
.apemap | Editable screen/map document from the earlier character editor. |
.chrmeta | Character-screen manifest connecting .scr, .fnt, and .charmap. |
.scr | Raw Atari screen bytes. With several sets, .charmap identifies the set used by each row. |
.fnt | Raw Atari character-set data. |
.tileset | All tile data plus a .tileset.json manifest with names, dimensions, and offsets. |
.tilemap | Character-map data in row or column order, single-set or multi-set encoding, with JSON metadata. |
.worldmap.json | World-map grid of ScreenId values with optional screens, character sets, DLI, PMG, metadata, and PNG. |
.xex | Runnable Atari program containing graphics, character sets, colors, DLI, PMG, and overscan supported by the exporter. |
.spr | Game sprites and tiles; .sprmap describes tile layout. |
.png | Preview image, optionally including overscan and the full PMG layer. |
.gr7, .gr8, .gr9 | Screen memory for standard Atari Graphics 7, 8, and 9 modes. GR7 and GR8 also offer explicit profiles with confirmed color tails. |
.g10 | Graphics 10, the 9-color GTIA mode. Nine COLPM0..3, COLPF0..3, and COLBK registers follow the image data. |
.g11 | Raw Graphics 11 screen memory for the 16-color GTIA mode. The format does not store the shared COLBK luminance. |
.mic | MIC image data up to 240 scanlines high. Import supports both a raw raster without colors and a variant followed by registers 712, 708, 709, and 710. When the file does not identify its geometry or packing, the dialog lists 1bpp, 2bpp, and 4bpp interpretations for Narrow, Normal, and Wide widths. |
.mch | A Graph2Font MCH SHORT, MEDIUM, or FULL file. It preserves the image, DLI colors, the inverse bit of 5-color character cells, GTIA data, and PMG when present. |
.g2f | A Graph2Font project, including the compressed G2FZLIB variant. Import restores the image, character sets, colors, linear DLI, PMG, and proportional-pixel setting. The report identifies mixed modes, blank Display List rows, Raster Program, and VBXE features that the current APE model cannot fully reproduce. |
.atrview | An Atari FontMaker project in the 2007 or 2023 format. Import restores the character map, per-row character-set assignment, embedded sets, and colors; pages in a newer file appear as separate interpretations. Export writes the active character screen in the 2023 format with up to four character sets. |
.mchraw | A technical raster-only export arranged in vertical 8-byte blocks. It is not a Graph2Font project file. |
.asm, .bas, .inc | Source code for MADS, FastBasic, or MAD Pascal with independently selectable graphics, text, character sets, colors, PMG, and DLI data. |
| Packed data | Raw image bytes in the active Atari mode layout, with a separate mask export. |
World-map export
The export dialog can split screens into files, choose bitmaps or raw character screens, and save character sets, DLI, PMG, metadata, and a flattened map PNG. A shared character set is saved once and referenced by all screens that use it.
PNG and XEX export
- PNG can contain the image, overscan, and PMG according to selected options.
- XEX preserves PMG placement relative to the playfield and PMG color registers.
- XEX export supports DLI for images up to 240 lines high.
- Before character export, APE checks character and set references and CHBASE conflicts.
Atari data export
On the Atari files tab, APE displays an export-frame overlay on the workspace. Drag its interior to move it. Handles on all four edges resize one dimension, while corner handles resize both; the opposite edge remains anchored. Horizontal values are quantized to a complete screen-memory byte or character cell, while vertical values follow the active format's line unit. The frame and the X/Y/W/H fields in the export dialog stay synchronized.
The source-frame size is independent of the selected Narrow, Normal, or Wide output geometry. A larger frame is cropped to the output size; a smaller one can be padded with color index 0. When padding is disabled, a raw raster is written only at its available size. APE warns that the result will not conform to the selected format but allows the export to continue. This option is unavailable for structured MCH profiles. The line-repetition option independently controls whether proportional pixels occupy 2 or 4 scanlines. These operations do not scale the artwork or modify the APE document.
The dialog opened by right-clicking Save separates export into Atari files and Source code tabs. The file tab suggests a format for the active mode and validates dimensions before writing. Errors disable export, while warnings identify data the selected format cannot store, such as DLI, PMG, character sets, or overscan.
Binary formats let you select Narrow, Normal, or Wide output (32, 40, or 48 bytes per line) and a height from 1 to 240 lines. Export does not scale the image: it preserves the top-left corner, crops excess data at the right and bottom edges, or pads missing space with color index zero. Every geometry change is reported by the validation panel before saving.
MIC repeats proportional image lines according to pixel width: 2x for 2bpp and 4x for GTIA 4bpp. A 160x96 image therefore produces a 160x192 raster containing 7680 bytes. APE then stores registers 712, 708, 709, and 710. MIC does not preserve DLI changes or the complete nine-register Graphics 10 palette.
GR7 can write either 3840 raw bytes or a 3844-byte variant containing COLBK, COLPF0, COLPF1, and COLPF2. GR8 can write either 7680 raw bytes or the 7682-byte Atari Graphics Studio profile containing COLPF2 and COLPF1 luminances. GR9 remains raw because no reliable contract for an additional palette tail has been confirmed.
G10 and G11 are suggested automatically for the GTIA 9-color and GTIA 16-color modes. With proportional pixels, APE repeats every row four times to preserve its shape in single-line ANTIC $0F. G10 retains all nine color registers. G11 stores only the raster, so the displaying program must set the COLBK luminance.
Atari FontMaker ATRVIEW preserves the active hires or 5-color character screen, its character map, colors, proportional-pixel setting, and one to four embedded character sets. Legacy 2007 files and current 2023 files are detected automatically. Every embedded page can be selected separately in the import dialog. Export creates a version 2023 file; DLI, PMG, overscan, and Atari FontMaker tiles are not stored, and APE reports those omissions before export.
The Graph2Font MCH SHORT profile supports widths of 32, 40, and 48 bytes and always writes the 240 scanlines required by this variant. In proportional-pixel mode every image line is duplicated, matching the Graph2Font representation of Graphics 13 and 15. Shorter images are then padded with color index 0. Character screens are written directly from the character set and screen map, preserving the fifth color through the inverse bit. Five color tables apply DLI register changes from their corresponding scanlines.
When a screen contains PMG, APE writes MCH MEDIUM, or MCH FULL for GTIA modes. The file includes four PMG color tables, eight HPOS tables, player and missile sizes, PRIOR, and five 256-byte shape blocks. DLI changes to colors, positions, sizes, and priority take effect at their corresponding scanlines. Double-line data is repeated across two scanlines, while single-line data retains one-scanline resolution.
The MCH raw raster profile writes only reordered image blocks and uses the .mchraw extension. It is intended for technical raw-data interchange, not for opening as a Graph2Font MCH project.
Source code
On the Source code tab, select MADS, FastBasic, or MAD Pascal. The Data sections group lets you independently include graphics data, base color registers, text data, character sets, PMG, and DLI. Options unavailable for the active screen are disabled.
The generated code preview updates after changing the language, base label, number format, bytes per line, or selected data. It shows the same code that will be written to the file.
Source settings let you change the base label, select hexadecimal or decimal values, and place 8, 12, 16, 24, or 32 data bytes on each line. APE sanitizes the name into a safe identifier.
APE remembers the selected language, number format, line length, and selected sections. Before saving, the validation panel explicitly lists available data that will be omitted.
Files use UTF-8 without a BOM and stable identifiers derived from the screen name. MADS output uses .byte, FastBasic uses DATA BYTE arrays, and MAD Pascal uses constant array of byte declarations.
The individual sections contain:
- Graphics data: the packed playfield and geometry constants;
- Text data: the character map and a character-set index for every row;
- Character sets: every character set as a separate section;
- active DLI entries as fixed 29-byte records;
- a PMG settings table and the complete single-line or double-line PMG memory block.
Each DLI record contains a 16-bit line, 16-bit color mask, 16-bit PMG mask, nine color-register values, and fourteen PMG-register values. Generated constants describe every field offset.
The PMG table contains resolution, PMBASE, PRIOR, GRACTL, SDMCTL, SIZEM, COLPM0-3, HPOSP0-3, HPOSM0-3, and SIZEP0-3. Separate constants give the missile and player offsets inside PMG memory.
Display List and the overscan border are not yet separate source sections. The full profile exports APE's editable data, but does not generate a complete screen initialization program.
Settings
- Application language selects Polish or English for the interface and help. It changes without restarting APE.
- Atari palette selects the
.actfile used to render Atari color codes. - VCL style changes standard control appearance.
- Application font is used by windows, controls, and title bars.
- Icon mode selects original atlas colors or a tint using the configured color.
- Mouse wheel zooms view enables zoom around the pointer.
- Separate colors configure pixel, tile and character grids, selection, thumbnail border, icons, mask overlay, and cursor.
Keyboard shortcut profiles
The Keyboard shortcuts tab lists APE functions by category together with their active bindings. You can filter the list by function, category, or key text. It includes every main-window icon command, separate actions for opening icon extensions, the buttons inside those extensions, and Character Studio tools. Without opening a popup, a shortcut can therefore select a zoom level or Atari mode, the Brush shape, pattern, and anchor, run character-set, clear, and character-attribute commands, or manage tilesets, screens, and world maps. New entries without a factory binding are marked as (none) and can receive a custom combination. The built-in Default profile is read-only; user profiles can be created, duplicated, renamed, and deleted. A captured combination can replace the current binding or be added as an alternative. You can also restore one function or all default bindings in the profile.
APE detects conflicts in overlapping contexts, rejects operating-system-reserved combinations, and asks before moving a shortcut. Profiles are separate JSON files in the keyboard-profiles directory beside the application. The selected profile is remembered, takes effect immediately in editors and tool windows, and icon hints show its current bindings.
Holding an arrow, character-selection key, or tile-selection key uses system key repeat. One-shot commands such as save, mode changes, and opening windows execute only once until the key is released.
Light and dark styles also change panel backgrounds, the DLI/charset area, and PMG controls. The selected palette, style, font, and icon mode are saved and restored after restarting the program.
Keyboard shortcuts
The table below describes the Default profile. Custom bindings and profiles are managed in Settings > Keyboard shortcuts.
Program and view
| Shortcut | Action |
|---|---|
| F1 | Open help. |
| F2 | New project/image. |
| F3 | Open file. |
| F4 | Save or export. |
| F5 | Resize canvas. |
| F6 | Zoom. |
| F7 | Atari mode. |
| F8 | Character-set preview. |
| F9 | Thumbnail. |
| F10 | Pixel grid. |
| F11 | Enter or leave full screen. |
| F12 | Settings. |
| Ctrl+F6 | Tile grid. |
| Ctrl+F7 | Image/mask edit mode. |
| Ctrl+F8 | View mode. |
| Ctrl+F9 | Mask overlay. |
Editing
| Shortcut | Action |
|---|---|
| Ctrl+Z | Undo. |
| Ctrl+Y / Ctrl+Shift+Z | Redo. |
| Ctrl+X, Ctrl+C, Ctrl+V | Cut, copy, paste. |
| A, H | Selection, Hand. |
| P, L, R, O | Point, Line, Rectangle, Circle/Ellipse. |
| F, B, S | Fill, Brush, Spray. |
| 0..9 | Select color index 0..9. |
| Shift+A..F | Select color index 10..15 when supported. |
| [ / ] | Previous/next character with Character Stamp active. |
| Ctrl + arrows | Move the selected character horizontally or vertically and use it as Stamp source. |
| Ctrl+Shift + arrows | Select the previous or next tile and use it as Stamp source. |
| Arrows | Move the keyboard cursor. |
| Shift | Place a pixel or the active source at the cursor. |
| Shift + arrows | Draw while moving. |
| Ctrl | While using the mouse, snap the cursor and drag endpoints to the character grid. |
| Alt | While moving or pasting, treat the active color as transparent. |
| Space / Enter | Alternatively place a point, character, tile, or screen. |
| Delete | Clear the active cell, pixel, or bit. |
| Esc | Cancel, remove selection, close an icon extension, or close Registers, Settings, or About. |
Character Studio
Character Studio uses the active shortcut profile. Shared drawing, color, cursor, clipboard, Undo/Redo, zoom, and block-operation actions retain the main editor bindings. The Character Studio category additionally lets you assign shortcuts to Pick Color, Swap Colors, Center, Trim, Outline, Shadow, Layout, Variants, Atari Context, Safety Report, Import/Export, Grid, Byte Strip, and operation scope.
| Shortcut | Action |
|---|---|
| Ctrl+A | Select all pixels in Character Studio. |
PMG and DLI
| Shortcut | Action |
|---|---|
| Alt+1..4 | Select or disable editing of P0..P3. |
| Alt+5..8 | Select or disable editing of M0..M3. |
| Alt+0 | PMG Solo mode. |
| Alt+D | Open/close DLI. |
| Alt+L | Add or select a DLI entry for the cursor line. |
| Alt+N | Show/hide the DLI overlay. |
Troubleshooting and tips
Character export reports a missing character set
Check Character-set preview columns and Screen-layout status. APE repairs older references while loading and before export, but save the project again after repair.
A character-set change is not visible on another screen
Use the character-set context menu to verify that both screens belong to the same sharing group. The Group column should contain the same identifier.
PMG is offset
Check narrow/normal/wide geometry, overscan margins, and HPOS. HPOS is 8-bit and does not scale with arbitrary image width.
A map or thumbnail does not update
The active screen thumbnail updates while drawing in Graphics view; other resources update after committing an operation. Reopen a closed preview from its screen or map icon.
APE cannot save the INI file
Check whether another APE instance or tool is locking the settings file beside the EXE. Each copy must be able to write to its directory.
Application crash
After a handled exception, APE writes AtariPixelEditor.crash.log beside the program. Attach the log, .ape project, and reproduction steps to a report.
Help is available offline. F1 extracts the active language from ape-lang.zip to the system temporary directory and opens it in the default browser.
No results
No section contains all entered words. Try a shorter term such as PMG, charset, map, or XEX.