Bitmap Editor

Overview

The Bitmap editor will be a pixel-level editor for any of the graphics modes that Omnivore supports.

But currently it is little more than an image viewer and not terribly interesting apart from that. I will document this more when I add some editing functions.


File Menu

New

A list of supported file types that can be created by Omnivore.

Choosing an item in this list will open up a new tab in the current window showing a new blank template of the selected file format.

Available templates include:

  • Apple DOS 3.3 (140K) AUTOBRUN image

  • Apple DOS 3.3 (140K) blank image

  • Atari DOS 2 DD (180K) blank image

  • Atari DOS 2 ED (130K) blank image

  • Atari DOS 2 SD (90K) blank image

  • Atari DOS 2.0S SD (90K) system disk

  • Atari DOS 2.5 ED (130K) system disk

  • Getaway Map

  • Jumpman Level

  • template://no-json.dsk

Open

Open a file using a file select dialog box.

Open Recent

This submenu contain a list of the files most recently loaded or saved.

You can limit the number of items to remember in the General tab of the Preferences dialog.

Insert File

Insert binary data at the cursor

The data from the loaded file will overwrite data starting at the cursor, so it’s not inserted in the text editor sense where space is created in the existing data.

Save

Save the file, overwriting the previously saved version

Save As

Save the file to a new filename, leaving the originally loaded unchanged on disk.

Save Segment As

Raw Data (.dat)

Save As Image

Save the current view as an image (if possible with this editor)

Revert

Reverts the file to the last saved version on disk

This throws away any edits and is not undoable.

Page Setup

Choose options for printing

Print

Print the current view to a printer

Export as XEX

Create an Atari 8-bit executable from a set of segments.

Opens a dialog window providing a list of segments to be added to the new executable and a starting address at which the Atari will begin executing the program on completion of the load.

Export as Boot Disk

Create an Atari 8-bit boot disk from a set of segments.

Opens a dialog window providing a list of segments to be added to the boot disk and a starting address at which the Atari will begin executing the program after reading all the sectors written to disk.

This creates a smaller-than-normal ATR image with a custom bootloader. Any sectors beyond the number fo sectors required to create the image are not included in the image.

Quit

Quit the program

Edit Menu

Undo

Undo the last action

Actions that modify data are undoable; some that modify the metadata are but movement commands are not stored in the undo list, so for example cursor moves or changes to selection regions are not undoable.

Redo

Redo the last operation that was undone. See Undo.

The commands in this menu operate on the current selection to change the byte values to:

Revert to Baseline Data

Restore the selection to the data contained in the `Baseline Data`_ file.

Cut

Cut and remove the current selection

Copy

Copy the current selection

Copy Special

Copy Disassembly Text

Copy the disassembly text of the current selection to the clipboard.

Copy Disassembly Comments

Copy the text of the comments only, using the disassembly for line breaks. Any blank lines that appear in the disassembly are included in the copy.

Copy as Escaped String

Copy the current selection as a text string containing a string (with escaped characters where necessary) that reproduces the bytes in the selection.

Python note: both double quotes and single quotes are escaped as hex values so the resulting string is safe to use inside either of those characters as the string delimiter.

Copy as C Data

Copy the current selection as text where each byte is converted to the C source code representation.

Paste

Paste from the clipboard

Paste Special

Paste and Repeat

Paste and repeat clipboard data until current selection is filled

Paste Comments

Paste text as comment lines

Select All

Select the entire document

Select None

Clear selection

Invert Selection

Inverts the selection; that is, select everything that is currently unselected and unselect those that were selected.

Mark Selection As

Code

Marks the selected bytes as valid code to be disassembled using the current processor definition.

Data

Marks the selected bytes as data, not to be disassembled but shown as byte values in the disassembly listing.

Uninitialized Data

Marks the selected bytes as unitialized data, skipping over those bytes and placing an origin directive in the disassembly that points to the next address that contains any other type of data.

Display List

Marks the selected bytes as an ANTIC display list, which will be shown as data in the disassembly listing. The data will be grouped by ANTIC command, where all bytes that belong to a command will be on a single line. This can result in a large number of data bytes appearing on one line when displaying a graphics 8 display list, for example. Exporting the disassembly will produce listings that break up these long lines into normal amounts, defaulting to 4 bytes on a line.

Jumpman Level Data

Marks the selected bytes as Jumpman drawing element descriptors. This is not used much for direct editing now that the Jumpman Level Editor is available.

Jumpman Harvest Table

Marks the selected bytes as a Jumpman harvest table. This is not used much for direct editing now that the Jumpman Level Editor is available.

Find

Find bytes or characters in the raw data or in disassembly comments

Find Using Expression

Find bytes using logical and arithmetic comparisons

Find Next

Find next match

Find to Selection

Convert all matched locations to multi-selection

Preferences

Open a window to change program settings and defaults.

View Menu

Colors

This list sets the color encoding standard for all bitmapped graphics of the disk image. Currently supported are:

  • NTSC

  • PAL

ANTIC Powerup Colors

Changes the color palette to ANTIC Powerup Colors

Use ANTIC Colors

Open a window to choose the color palette from the available colors of the ANTIC processor.

Bitmap Display

This submenu contains a list of all available bitmap renderers. Selecting an item in this list will change the rendering of the graphics display.

  • B/W, 1bpp, on=black

  • B/W, 1bpp, on=white

  • Player/Missile, normal width

  • Player/Missile, double width

  • Player/Missile, quad width

  • B/W, Apple 2, Linear

  • Antic B (Gr 6, 1bpp)

  • Antic C (Gr 6+, 1bpp)

  • Antic D (Gr 7, 2bpp)

  • Antic E (Gr 7+, 2bpp)

  • GTIA 9 (4bpp, 16 luminances, 1 color)

  • GTIA 10 (4bpp, 9 colors)

  • GTIA 11 (4bpp, 1 luminace, 16 colors)

  • 2bpp

  • 4bpp

  • 2 Bit Planes (little endian)

  • 2 Bit Planes (little endian, interleave by line)

  • 2 Bit Planes (big endian)

  • 2 Bit Planes (big endian, interleave by line)

  • 3 Bit Planes (little endian)

  • 3 Bit Planes (little endian, interleave by line)

  • 3 Bit Planes (big endian)

  • 3 Bit Planes (big endian, interleave by line)

  • 4 Bit Planes (little endian)

  • 4 Bit Planes (little endian, interleave by line)

  • 4 Bit Planes (big endian)

  • 4 Bit Planes (big endian, interleave by line)

Bitmap Width

Set the number of bytes per row of the bitmap display, which in turn sets the width in pixels.

Bitmap Zoom

Set the zoom factor of bitmap display. This is an integer value greater than zero that scales the display size of each pixel in the bitmap.

Show Baseline Differences

Toggle whether differences to the `Baseline Data`_ are highlighted or not.

Text Font

Open a font selection window to choose the font and size used to display the values in the hex grid and the disassembly text.

Pane Visibility:

Toggles whether or not the named extra pane is shown or hidden in the current window.

Current Task:

Changes the view in the entire window to a new editing task. The files in the current task are not lost, it’s just a way to edit different types of files while using the same top level window on the desktop.

Segment Menu

View Segment

This submenu contains a list of all segments in the disk image. Selecting one of these items will change the view to the selected segment.

New Segment From Selection

Create a new segment in the segment list using the current selection.

All the bytes in the current selection will be shown in the new segment. If there are multiple selections, the new segment will show the bytes as contiguous but they will represent the original locations in the disk image.

Multiple Segments From Selection

Create a set of segments from the current selection, given the desired length of the resulting segments. If the number of bytes in the selection is not an exact multiple of the specified length, the last segment created will contain the remaining bytes. It will not be padded with zeros.

Documents Menu

This menu contains a list of all documents open in the current session, across all windows and tabs. Selecting an item in this list will switch the view to that document, using the editor that was being used the last time it was edited.

Window Menu

New View In

This menu will contain a list of all editors that can modify this file. Selecting an item in this list will add a new view into this file using the selected editor. For instance, you can have a map editor and a hex editor on the same file; they point to the same data and modifying data in one window will show up in the other window.

New Window

Open a new, blank Omnivore window that can be used to load new files or to provide a second view on a currently loaded file.

Help Menu

About

Display window with version number and author info

User Guide

Display the user guide in a new window

Open Log Directory in File Manager

Open the log directory in the desktop file manager program.

The log directory will contain debug logs (if enabled) and other files, most of which are generally only useful for developers or to get more information to send to the developers in the event of a problem.

Show Debug Log

Displays a window that can be used to turn on debugging of particular parts of the program.

The log levels shown initially are the default log levels for each logger. Using the Filter text entry box, you can enter a string or a comma separated list of strings that will be used to select which loggers get switched to DEBUG mode. Everything else gets set to its default state, usually either INFO or WARNING.

The string is not a regular expression, but will match partial strings.

More Debugging

Widget Inspector

Open the wxPython Widget Inspector

Raise Exception

Raise an exception to test the error reporter