Jump to content
playermissile

Omnivore, the Atari 8-bit Binary Editor

Recommended Posts

Announcing Omnivore, the Atari 8-bit binary editor. It is a cross-platform app for modern hardware (running Linux, OS X and Windows) to work with executables or disk images of Atari 8-bit machines. It is a hex editor, a disassembler (with mini-assembler) and a map editor.
main-hex.png
It is still beta-level code, so testing and bug reports would be appreciated! Thanks to Kevin Savetz of the ANTIC Podcast and Wade of the Inverse ATASCII Podcast for early testing and feedback.

 

Binaries are available for Windows (64-bit) and OS X. Linux users currently have to install from source, see the README. I'm especially interested in feedback from Windows users as that version has been tested the least.
Features
  • Opens .ATR, .XEX, .XFD disk images in single, double, and enhanced density formats
  • Save data in same format
  • Edit entire disk image or in logical segments
  • Unlimited undo/redo
  • Copy/paste
  • Built-in support for default Atari character set
  • Custom character set support
  • Custom color definition or default NTSC or PAL colors
  • Multiple views of the same data in different windows; changes are reflected in all windows
Hex Editor
  • Displays data in multiple forms: hex, binary, character graphics
  • Select regions and copy/paste
  • Operate on hex data in selected regions (logical functions, shift/rotate, set/clear, arithmetic functions)
  • Edit hex data right in the hex grid
  • Character map supports ANTIC 2 (Graphics 0), ANTIC 4 or 5, and ANTIC 6 and 7 (Graphics 1 and 2 large character mode)
  • Character map may display either ATASCII or internal ANTIC format
  • Edit character data right in the character map window
  • Displays 6502 disassembly with memory map for Atari 8-bit or Atari 5200
  • Includes a 6502 mini assembler allowing you to change the assembly code without needing a 6502 reference card
  • Smart search that matches in hex grid, character map, or disassembly comments
  • Highlights all matches, move forward and backward among them
Map Editor
  • Edit arbitrarily wide images
  • Rectangular copy/paste
  • Select drawing character ("ink") from character set palette
  • Draw freehand
  • Draw lines
  • Draw rectangle
  • Draw filled rectangles
  • Copy between different maps
Goals
  • save in different formats
  • attach notes to regions (for reverse engineering support)
  • add a character set editor
  • add a player/missile graphics editor
  • support editing MAME ROMs (including other 8-bit processors like the Z80. Long term, maybe even 16-bit processors like the 68000)
  • support disk images for other 8-bit machines like the C64 and Apple ][

 

  • Like 24

Share this post


Link to post
Share on other sites

It looks very useful. Is it possible to compile a 32 bit Windows version?

  • Like 1

Share this post


Link to post
Share on other sites

Cool!

If you'll make a player editor, please implement third ORed color and gap when overlapping frames (like Atari Player Editor).

 

Yeah, that looks like a great feature set. I'll aim to support everything that program does. I hadn't seen that before, so thanks for the link.

Share this post


Link to post
Share on other sites

It looks very useful. Is it possible to compile a 32 bit Windows version?

 

I will try. There's no reason the app needs 64 bit because we're not editing very big files.

 

I only have 64 bit Windows, but I may be able to install the 32 bit python and compile a 32 bit application. I'll give it a shot.

  • Like 1

Share this post


Link to post
Share on other sites

Good job so far.

 

Two suggestions:

1. option to view byte graphics in Antic E

2. ability to set/select the view width for byte graphics, in bytes (for either mode).

Edited by MrFish
  • Like 2

Share this post


Link to post
Share on other sites

Another, simple one: option to view all hex values in CAPS.

 

OK. Also related: I should allow the choice of upper/lower case for the disassembly as well; it's currently hardcoded as upper case.

Share this post


Link to post
Share on other sites

OK. Also related: I should allow the choice of upper/lower case for the disassembly as well; it's currently hardcoded as upper case.

 

I prefer them all in upper-case. But yes, I know quite a few people like their mnemonics in lower-case. May want to allow keeping the comments/equates in upper-case though, as I think most people prefer them that way.

Share this post


Link to post
Share on other sites

 

I prefer them all in upper-case. But yes, I know quite a few people like their mnemonics in lower-case. May want to allow keeping the comments/equates in upper-case though, as I think most people prefer them that way.

 

I agree to everything you just said. :)

Share this post


Link to post
Share on other sites

Had some graphical glitches appear in the hex editor when changing the font type.

 

Seemed to be fixed when adjusting the pane size for the hex editor, so it must just be a refresh problem.

 

post-6369-0-02576400-1454287341_thumb.png

 

Share this post


Link to post
Share on other sites

Had some graphical glitches appear in the hex editor when changing the font type.

 

Seemed to be fixed when adjusting the pane size for the hex editor, so it must just be a refresh problem.

 

OK, thanks. What OS are you using?

Share this post


Link to post
Share on other sites

Would it be possible to automate a little more of the Linux build? i.e. Just have a shell script which prompts for a github account and its details and then downloads everything and installs it?

Share this post


Link to post
Share on other sites

Would it be possible to automate a little more of the Linux build? i.e. Just have a shell script which prompts for a github account and its details and then downloads everything and installs it?

 

I'll add it to the list, but because of the different flavors of unix, it might be hard to guarantee that it would work on other systems. I only have Gentoo and Ubuntu.

Share this post


Link to post
Share on other sites

 

I'll add it to the list, but because of the different flavors of unix, it might be hard to guarantee that it would work on other systems. I only have Gentoo and Ubuntu.

 

Good point! Perhaps if you account for the most popular distributions then you'll be OK. I guess that'll be Ubuntu/Linux Mint for home users. They should work with each other. I can test Linux Mint if you like.

  • Like 1

Share this post


Link to post
Share on other sites

 

I will try. There's no reason the app needs 64 bit because we're not editing very big files.

 

I only have 64 bit Windows, but I may be able to install the 32 bit python and compile a 32 bit application. I'll give it a shot.

 

Go grab yourself "WinPython" and put it on a flash drive. You can have several versions, 2, 3, 32, 64, etc. Each one is an environment unto itself. Then go download PyInstaller. Use the WinPython Control Panel program to install the PyInstaller package you got. Then you're in business the easy way.

 

EDIT: Yes, WinPython comes with numpy, wx, etc. already installed (including Qt and tons of other often used ones).

Edited by fujidude

Share this post


Link to post
Share on other sites

 

Go grab yourself "WinPython" and put it on a flash drive. You can have several versions, 2, 3, 32, 64, etc. Each one is an environment unto itself. Then go download PyInstaller. Use the WinPython Control Panel program to install the PyInstaller package you got. Then you're in business the easy way.

 

EDIT: Yes, WinPython comes with numpy, wx, etc. already installed (including Qt and tons of other often used ones).

 

Thanks for the link. I'm not much of a windows person so hadn't run across WinPython before. I also have used and have some history with the arcane py2exe, but maybe I should try the PyInstaller instead. It claims to work across multiple platforms as well, maybe with the same recipes? Worth checking out, thanks!

Share this post


Link to post
Share on other sites

Hope the info is useful. I've only used PyInstaller to make stand alones, and yes it worked under Linux just great too. I chose that after I did quite a bit of research into what would be the most useful and easy to use.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...