Jump to content
IGNORED

Does an .A78 Header Document Exist?


kevtris

Recommended Posts

As the title says. I spent about an hour looking around on the innertubes for an .A78 header document and didn't find much. Google only returned 7 hits which weren't terribly useful, and I even downloaded the source to Dan Boris' emulator (he apparently came up with .A78) but it has no documents about the header format in there either.

 

I can reverse engineer the ROM loader in the emulator I guess as a last-ditch effort but was hoping a document exists about it. Thanks for any help in advance!

Link to comment
Share on other sites

I found the following at ftp://ftp.pigwa.net/stuff/collections/holmes%20cd/Holmes%202/PC%20Atari%20Emulators%20Old/v7800%200.12%207800/V7800.TXT

 

Cart Header:

 

To work with this emulator ROM images must have this 128 byte cart header at

the start of the raw data. This header allows the emulator to know the features

of the cart thus preventing you from having to use a bunch of command line

options.

 

0 Header version - 1 byte

1..16 "ATARI7800 " - 16 bytes

17..48 Cart title - 32 bytes

49..52 data length - 4 bytes

53..54 cart type - 2 bytes

bit 0 - Pokey cart

bit 1 - Supercart bank switched

bit 2 - Supercart RAM

55 controller 1 type - 1 byte

56 controller 2 type - 1 byte

0 = None

1 = Joystick

2 = Light Gun

 

100..127 "ACTUAL CART DATA STARTS HERE" - 28 bytes

 

Maybe you could look at the headers of some actual A78 files in a hex editor to see how they compare with this?

 

And I just found this: https://sites.google.com/site/atari7800wiki/a78-header

Edited by SeaGtGruff
Link to comment
Share on other sites

Breakdown too (including revision updates to it) is located in the MESS source under:

 

\%root%\mame\src\mess\machine\a7800.c

 

Attached here: a7800.zip

 

Latest source update is 0.149.

 

/***************************************************************************
CARTRIDGE HANDLING
***************************************************************************/
#define MBANK_TYPE_ATARI 0x0000
#define MBANK_TYPE_ACTIVISION 0x0100
#define MBANK_TYPE_ABSOLUTE 0x0200
/* Header format
0	 Header version	 - 1 byte
1..16 "ATARI7800	 " - 16 bytes
17..48 Cart title	 - 32 bytes
49..52 data length	 - 4 bytes
53..54 cart type		 - 2 bytes
bit 0 0x01 - pokey cart
bit 1 0x02 - supercart bank switched
bit 2 0x04 - supercart RAM at $4000
bit 3 0x08 - additional state->m_ROM at $4000
bit 8-15 - Special
 0 = Normal cart
 1 = Absolute (F18 Hornet)
 2 = Activision
55 controller 1 type - 1 byte
56 controller 2 type - 1 byte
0 = None
1 = Joystick
2 = Light Gun
57 0 = NTSC/1 = PAL
100..127 "ACTUAL CART DATA STARTS HERE" - 28 bytes
Versions:
Version 0: Initial release
Version 1: Added PAL/NTSC bit. Added Special cart byte.
		 Changed 53 bit 2, added bit 3
*/

 

You could also visit the 'Dad': http://atarihq.com/danb/a7800.shtml

Link to comment
Share on other sites

Thanks to both of you for the information! I was going to look at the MESS source but had not gotten that far yet.

 

I will implement all the mappers tonight, they don't look too tough. So far my CPU's making it through all the tests in the BIOS (there sure are a lot of tests... almost 1K worth). It then jumps into RAM to do the ROM hashing, and I have not confirmed it gets past that (it very well could be, but my video isn't functional yet :-)

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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