Jump to content
ballyalley

Atari Tool to Automate Astrocade Graphics Disassembly

Recommended Posts

I was inspired to make this posting by a utility called Edit/Show GFX by Bob Colbert. I'm hoping to find a utility that is a little more robust.

 

I'm looking for a way to help automate the disassembly process of Astrocade programs, in particular the graphics (there are already programs to help disassemble the assembly code). I'm hoping that there are some Atari programming tools that are already written that can help me with this task.

 

I want to take a raw binary file (a cartridge dump) and create a text file with the graphics. By the time I look for the graphics, I already have a very good idea of exactly where the graphics are located (by following some ROM write routines).

 

In this example of what I want the output to look like, a '1' represents a pixel is on and a '0' represents that a pixel is off. So, each bit represents one pixel. The monochrome large "Tie-Fighter" Graphic from the "Star Battle" cartridge would look like this:

 

	  DB	10000000B,00000010B  ;   X . . . . . . . . . . . . . X .
	  DB	10000000B,00000010B  ;   X . . . . . . . . . . . . . X .
	  DB	10000000B,00000010B  ;   X . . . . . . . . . . . . . X .
	  DB	10000011B,10000010B  ;   X . . . . . X X X . . . . . X .
	  DB	11000111B,11000110B  ;   X X . . . X X X X X . . . X X .
	  DB	11111111B,11111110B  ;   X X X X X X X X X X X X X X X .
	  DB	11111111B,11111110B  ;   X X X X X X X X X X X X X X X .
	  DB	11000111B,11000110B  ;   X X . . . X X X X X . . . X X .
	  DB	10000011B,10000010B  ;   X . . . . . X X X . . . . . X .
	  DB	10000000B,00000010B  ;   X . . . . . . . . . . . . . X .
	  DB	10000000B,00000010B  ;   X . . . . . . . . . . . . . X .
	  DB	10000000B,00000010B  ;   X . . . . . . . . . . . . . X .

 

Now a more common situation featuring color graphics. In the following instance two bits equals one pixel. The "3" means color 3 (of 4). This may be a tall order since color graphics are held in an unusual format on the Astrocade. For instance, in the "ICBM Attack" cartridge, $2BF3 - $2C1F holds the graphic for the "C" in the ""ICBM Attack" title screen:

 

;  Pattern ('C' in ICBM Attack on Title Screen)
L2BF1:  DB	  3,15		 ; X,Y Size	
	DB	  $00,$3F,$C0  ; . . . . . 3 3 3 3 . . .
	DB	  $03,$FF,$C0  ; . . . 3 3 3 3 3 3 . . .
	DB	  $0F,$FF,$C0  ; . . 3 3 3 3 3 3 3 . . .
	DB	  $3F,$C0,$00  ; . 3 3 3 3 . . . . . . .
	DB	  $3F,$00,$00  ; . 3 3 3 . . . . . . . .
	DB	  $FC,$00,$00  ; 3 3 3 . . . . . . . . .
	DB	  $FC,$00,$00  ; 3 3 3 . . . . . . . . .
	DB	  $FC,$00,$00  ; 3 3 3 . . . . . . . . .
	DB	  $FC,$00,$00  ; 3 3 3 . . . . . . . . .
	DB	  $FC,$00,$00  ; 3 3 3 . . . . . . . . .
	DB	  $3F,$00,$00  ; . 3 3 3 . . . . . . . .
	DB	  $3F,$C0,$00  ; . 3 3 3 3 . . . . . . .
	DB	  $0F,$FF,$C0  ; . . 3 3 3 3 3 3 3 . . .
	DB	  $03,$FF,$C0  ; . . . 3 3 3 3 3 3 . . .
	DB	  $00,$3F,$C0  ; . . . . . 3 3 3 3 . . .

 

In my mind, if the software was command line based, it would work like this:

 

DISGRAPH ICBMATK.EXE -C -3 -15 $2BF3 $2C1F

 

This command line would mean:

  1. "DISGRAPH" is the name of the graphic disassembly program
  2. "ICBMATK.EXE" is the name of the cartridge binary to be disassembled
  3. "-C" means the graphics are in 4-color format
  4. "-3" is the width of the graphic
  5. "-15" is the height of the graphic
  6. "$2BF3" is the address to begin disassembling
  7. "$2C1F" address to end disassembly

Perhaps some software for the Commodore 64, Atari 8-bit or Atari 2600 can create a text file like this. Does anyone know of software that can help with this graphic disassembly process?

 

Thanks.

 

Adam

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...