Matthew Nakayama Posted July 30, 2011 Share Posted July 30, 2011 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. Quote Link to comment Share on other sites More sharing options...
ScumSoft Posted July 30, 2011 Share Posted July 30, 2011 Welcome! have you taken a look at the Stella source? Quote Link to comment Share on other sites More sharing options...
Matthew Nakayama Posted July 31, 2011 Author Share Posted July 31, 2011 (edited) Oh, I'm not too good with higher level languages, such as C++. Do you know which source file contains the file parsing routine? Edited July 31, 2011 by Matthew Nakayama Quote Link to comment Share on other sites More sharing options...
Shawn Posted July 31, 2011 Share Posted July 31, 2011 there is no such header .a26 is just a renamed .bin Quote Link to comment Share on other sites More sharing options...
Matthew Nakayama Posted July 31, 2011 Author Share Posted July 31, 2011 there is no such header .a26 is just a renamed .bin Then what's the best way of determining bankswitching methods? Quote Link to comment Share on other sites More sharing options...
tokumaru Posted July 31, 2011 Share Posted July 31, 2011 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. Quote Link to comment Share on other sites More sharing options...
Matthew Nakayama Posted July 31, 2011 Author Share Posted July 31, 2011 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. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted July 31, 2011 Share Posted July 31, 2011 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. Quote Link to comment Share on other sites More sharing options...
Matthew Nakayama Posted August 2, 2011 Author Share Posted August 2, 2011 Is there a place where I can find the MD5 hashes? Quote Link to comment Share on other sites More sharing options...
dwane413 Posted August 2, 2011 Share Posted August 2, 2011 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. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 3, 2011 Share Posted August 3, 2011 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. 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.