Jump to content



0

.A26 file header?


10 replies to this topic

#1 Matthew Nakayama OFFLINE  

Matthew Nakayama

    Combat Commando

  • 5 posts

Posted Sat Jul 30, 2011 5:30 PM

Hello. Let me introduce myself. I'm RalphDSpam. I'm a bit new to the Atari2600 scene, but I am planning on programming a 2600 emulator. (Yes, I already know about the 6507, the TIA and the RIOT.)

I do not know much about the actual file format itself, though.

What is the header for the .a26 file? Does the header include the bankswitching method? If not, what is the best way to determine the bankswitching method?

Thanks. :)

#2 ScumSoft OFFLINE  

ScumSoft

    Moonsweeper

  • 331 posts
  • Location:Polysorbate 60

Posted Sat Jul 30, 2011 5:42 PM

Welcome! have you taken a look at the Stella source?

#3 Matthew Nakayama OFFLINE  

Matthew Nakayama

    Combat Commando

  • 5 posts

Posted Sat Jul 30, 2011 7:19 PM

Oh, I'm not too good with higher level languages, such as C++. :sad:

Do you know which source file contains the file parsing routine?

Edited by Matthew Nakayama, Sat Jul 30, 2011 7:20 PM.


#4 Shawn Sr. OFFLINE  

Shawn Sr.

    Anti-Keyboard Warrior

  • 12,486 posts

Posted Sat Jul 30, 2011 7:21 PM

there is no such header .a26 is just a renamed .bin

#5 Matthew Nakayama OFFLINE  

Matthew Nakayama

    Combat Commando

  • 5 posts

Posted Sat Jul 30, 2011 8:09 PM

View PostShawn Sr., on Sat Jul 30, 2011 7:21 PM, said:

there is no such header .a26 is just a renamed .bin

Then what's the best way of determining bankswitching methods?

#6 tokumaru OFFLINE  

tokumaru

    Chopper Commander

  • 165 posts
  • Location:Rio de Janeiro - Brazil

Posted Sat Jul 30, 2011 9:18 PM

View PostMatthew Nakayama, on Sat Jul 30, 2011 8:09 PM, said:

Then what's the best way of determining bankswitching methods?
I think they take a peek at the code and look for instructions that appear to be mapper commands (i.e. accesses to the memory locations associated with bankswitching). You should always offer a way for the user to pick the mapper though, just in case your detection method fails.

#7 Matthew Nakayama OFFLINE  

Matthew Nakayama

    Combat Commando

  • 5 posts

Posted Sat Jul 30, 2011 10:08 PM

View Posttokumaru, on Sat Jul 30, 2011 9:18 PM, said:

I think they take a peek at the code and look for instructions that appear to be mapper commands (i.e. accesses to the memory locations associated with bankswitching). You should always offer a way for the user to pick the mapper though, just in case your detection method fails.

Thanks; I'll try that and see how it goes. :)

#8 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,781 posts
  • Busy bee!
  • Location:North, England

Posted Sun Jul 31, 2011 4:38 AM

There are two ways of finding out the bank switching method :-

- MD5 hash match (created from the ROM image) against a database of known hashes. When you find a match you know much more about the ROM image e.g. PAL/NTSC, company, controllers required etc.
- Heuristic analysis of the ROM image code. If the binary image is more than 4K in size then it needs to bank switch. Your code needs to look for bank switch hot spot access code sequences. You'll also have to check for code sequences that access on cart RAM too. If you want to support modern homebrew games you'll have to check for DPC+ (Melody/Harmony) ROM images and deal with them accordingly.

#9 Matthew Nakayama OFFLINE  

Matthew Nakayama

    Combat Commando

  • 5 posts

Posted Tue Aug 2, 2011 3:20 AM

Is there a place where I can find the MD5 hashes?

#10 dwane413 OFFLINE  

dwane413

    Chopper Commander

  • 233 posts
  • Location:Oklahoma

Posted Tue Aug 2, 2011 7:47 AM

View PostMatthew Nakayama, on Tue Aug 2, 2011 3:20 AM, said:

Is there a place where I can find the MD5 hashes?
There is a large list of MD5 hashes here (this is a 9.9MB HTML file), but if you're wanting to use them in software that you plan on releasing to the public then it might be better to make your own hashes instead of copying another person's work (unless you get permission first). A couple of Windows programs that can do that are hkSFV and MD5summer, but there are other programs if you search around.

#11 Nukey Shay ONLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Wed Aug 3, 2011 2:48 AM

If you just want to know the bankswitch type and it's a pre-1995 game (or a simple hack of one), check out Kevin Horton's file. That doc also includes some demo/proto information of those that were known at the time it was written.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users