kevtris Posted July 18, 2013 Share Posted July 18, 2013 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! Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted July 18, 2013 Share Posted July 18, 2013 (edited) 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 July 18, 2013 by SeaGtGruff Quote Link to comment Share on other sites More sharing options...
Trebor Posted July 18, 2013 Share Posted July 18, 2013 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 Quote Link to comment Share on other sites More sharing options...
kevtris Posted July 19, 2013 Author Share Posted July 19, 2013 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 :-) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.