Welcome, Guest. Please login or register.
November 23, 2017, 02:37:36 am
Home Help Login Register
News: New Game Released - Beebris

+  Free Jaguar Project
|-+  Atari Jaguar Discussions
| |-+  Jaguar ROMs
| | |-+  Jaguar ROM types - differences?
« previous next »
Pages: [1] Print
Author Topic: Jaguar ROM types - differences?  (Read 9067 times)
Music Man
Newbie
*
Posts: 2


« on: August 15, 2009, 04:24:08 pm »

I'm new to Jaguar and apologize for a basic question.

I've noticed that there are several filetypes for Jaguar ROMs.

     - filename.abs
     - filename.bin
     - filename.cof
     - filename.jag

And of course any of the above may be embedded in a zip file.

So my questions are:
     1.  is there a format preferrable above others?
     2.  are the different formats because they run on different emulators?  If not, why the various formats?

Thank you,

Music Man
Logged
Zerosquare
Newbie
*
Posts: 37



« Reply #1 on: August 15, 2009, 04:34:05 pm »

It's explained in Virtual Jaguar's documentation :
Quote
There seems to be a lot of confusion surrounding the various file formats that
Jaguar programs come in, and a lot of this confusion seem to come from
Cowering's GoodJag renaming tool. Note that it simply gets some files wrong,
and it also incorrectly renames cartridge images with an extension that
belongs to an already established extension (.jag is a Jaguar Server
executable--read on). To clarify, there are basically four major types of
Jaguar binary images that are NOT cartridge images:

    .abs
    .jag
    .rom
    .bin

The first type, the .abs file, is a DRI/Alcyon format absolute location
executable. These come in two different flavors and contain load and run
addresses in their headers. Note that some files which have an .abs extension
are really incorrectly labelled .bin files with no header information
whatsoever.

The second type, the .jag file, is a Jaguar Server executable. These files
contain header information that tells you where to load and run the file's
executable code. Note that as of this writing (1/1/2004) that the GoodJag ROM
renaming tool by Cowering incorrectly renames Jaguar cartridge ROM dumps to
have a .jag extension (a better choice, and the one supported by Virtual
Jaguar, is .j64)--if you're trying to run a ROM image with a .jag extension on
VJ, it will misinterpret it as a Jaguar Server executable and likely fail to
run.

The third type, the .rom file, is an Alpine Board/ROM Image file. These files
have no header, but are known to load and run at $802000 in the Jaguar memory
space. Again, these are *different* from cartridge dumps since they load at a
higher address than a Jaguar cartridge.

The fourth type, the .bin file, is simply a Jaguar executable with no header.
Since these files contain no information about where they load and execute,
Virtual Jaguar does not support this file type. Go bug the author to release
either a file with headers or a file in Alpine ROM format. Virtual Jaguar is
not omniscient! Wink

There is a fifth type of file that is supported by Virtual Jaguar, the .j64
file, which is simply a 1, 2, or 4 Meg dump of a Jaguar cartridge ROM which
loads at $800000 in the Jaguar memory space.

Basically, if it's .COF, .JAG or .BIN, it's very likely a homebrew, not a ROM dump.
« Last Edit: August 15, 2009, 04:36:47 pm by Zerosquare » Logged
Music Man
Newbie
*
Posts: 2


« Reply #2 on: August 16, 2009, 01:38:06 am »

Many thanks.  I guess that clears it up...kind of.
Logged
Mr Morden
Newbie
*
Posts: 18



« Reply #3 on: August 16, 2009, 02:09:31 am »

.COF and .ABS are the same format. They have a header on them of $a8 bytes with load/run address and other information in them.

.BIN is a raw dump from a specific address which you would need to know to run the binary.

.JAG and .ROM are ROM images, one has the 8k encryption header on it, the other doesn't (can't remember which is which)
Logged

Shamus
Newbie
*
Posts: 22



WWW
« Reply #4 on: February 17, 2010, 03:56:20 am »

Like the README says... .jag is an invention of Cowering's GoodJag tool and one that was ignorant of what was going with things like BJL and the like. /me thanks $DEITY that the no-intro guys are doing it right (ROM w/8K key header == .j64). Wink

BTW, I'm seriously considering putting compatibility info into the emulator as well as using file hashing to determine what a file actually is, since guessing by using a file extension really sucks. Though it'll have to be used for some things since we can't include everything that moos in the database... Tongue Feel free to discuss in the other thread. Wink
Logged
Zerosquare
Newbie
*
Posts: 37



« Reply #5 on: February 19, 2010, 01:11:28 am »

I don't think any database is necessary. You can nearly always guess the filetype correctly with a few heuristics :

- an header is present -> parse it to get info
- filesize = 2 097 152 or 4 194 304 -> ROM dump with the header
- filesize = 2 088 960 or 4 186 112 -> ROM dump without the header
- file size > 2 MB (plus a few dozen bytes for the header, etc.) -> not BJL (since it wouldn't fit into internal RAM). 
- none of the above applies -> probably BJL program, load and run at $4000
« Last Edit: February 19, 2010, 01:13:30 am by Zerosquare » Logged
Pages: [1] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.10 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!