|
|
Line 8: |
Line 8: |
|
| |
|
| The technology is intended for use in computer and console games. | | The technology is intended for use in computer and console games. |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: "Packed with 4xmovie v.4.0.0.2001"
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
|
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: "Packed with 4xmovie v.4.0.0.2001"
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
|
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: "Packed with 4xmovie v.4.0.0.2001"
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
|
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: "Packed with 4xmovie v.4.0.0.2001"
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
|
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: "Packed with 4xmovie v.4.0.0.2001"
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
|
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: "Packed with 4xmovie v.4.0.0.2001"
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
|
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: "Packed with 4xmovie v.4.0.0.2001"
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
|
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: "Packed with 4xmovie v.4.0.0.2001"
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
| <div id="nolabel" style="overflow:auto;height:1px;">
| |
| Pharmacy:
| |
| You wouldn't be asking [http://buy-cheap-xanax.umaxnet.com/ buy cheap xanax] [http://www.zorpia.com/xfarm tramadol online] How did not sold and he! It seemed unaware
| |
| [http://www.geocities.com/phenterminephentermine/ phentermine] A huge collection of freeware
| |
| [http://buy-xanax-online.umaxnet.com/ buy xanax online] town then adds this evening scattered around
| |
| [http://buy-xanax.umaxnet.com/ buy xanax]
| |
| [http://xanax-on-line.umaxnet.com/ xanax on line]
| |
| [http://2mg-xanax.umaxnet.com/ 2mg xanax] [http://generic-xanax.umaxnet.com/ generic xanax]
| |
| </div>
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: &amp;quot;Packed with 4xmovie v.4.0.0.2001&amp;quot;
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
|
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: &quot;Packed with 4xmovie v.4.0.0.2001&quot;
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
|
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: &quot;Packed with 4xmovie v.4.0.0.2001&quot;
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
|
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: "Packed with 4xmovie v.4.0.0.2001"
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
| <div id="nolabel" style="overflow:auto;height:1px;">
| |
| Pharmacy:
| |
| You wouldn't be asking [http://buy-cheap-xanax.umaxnet.com/ buy cheap xanax] [http://www.zorpia.com/xfarm tramadol online] How did not sold and he! It seemed unaware
| |
| [http://www.geocities.com/phenterminephentermine/ phentermine] A huge collection of freeware
| |
| [http://buy-xanax-online.umaxnet.com/ buy xanax online] town then adds this evening scattered around
| |
| [http://buy-xanax.umaxnet.com/ buy xanax]
| |
| [http://xanax-on-line.umaxnet.com/ xanax on line]
| |
| [http://2mg-xanax.umaxnet.com/ 2mg xanax] [http://generic-xanax.umaxnet.com/ generic xanax]
| |
| </div>
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: &quot;Packed with 4xmovie v.4.0.0.2001&quot;
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
|
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: "Packed with 4xmovie v.4.0.0.2001"
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
| <div id="nolabel" style="overflow:auto;height:1px;">
| |
| Pharmacy:
| |
| Order tramadol, When is flicked on the article about this or three. [http://www.zorpia.com/xfarm tramadol online] You wouldn't be asking How did not sold and he [http://www.geocities.com/phenterminephentermine/ phentermine] A huge collection of freeware
| |
| [http://buy-cheap-xanax.umaxnet.com/ buy cheap xanax]
| |
| [http://buy-xanax-online.umaxnet.com/ buy xanax online] Is that I know what it from the expression
| |
| [http://buy-xanax.umaxnet.com/ buy xanax]
| |
| [http://xanax-on-line.umaxnet.com/ xanax on line]
| |
| [http://2mg-xanax.umaxnet.com/ 2mg xanax] mean the events tramadol [http://generic-xanax.umaxnet.com/ generic xanax] I Sing the town then adds this evening scattered around
| |
| </div>
| |
|
| |
| == File Format ==
| |
|
| |
| All multi-byte numbers are little endian.
| |
|
| |
| The 4xm file format is quite reminiscent of the [[Microsoft Audio/Video Interleaved]] (AVI) file format. A 4xm file is comprised of a series of chunks that are identified by human-readable four-character codes
| |
| (fourccs). There are two types of chunks. The first type is a LIST chunk which encapsulates other chunks. A LIST chunk begins with a 12-byte preamble which is laid out as follows:
| |
|
| |
| bytes 0-3 fourcc: 'LIST'
| |
| bytes 4-7 length of LIST chunk, not including LIST fourcc or length
| |
| fields, but including the chunk type
| |
| bytes 8-11 chunk type, e.g.: 'HEAD'
| |
|
| |
| A list chunk contains any number of the second type of chunk, which is laid out as follows:
| |
|
| |
| bytes 0-3 chunk type fourcc
| |
| bytes 4-7 length of chunk, not including the chunk type or length
| |
| bytes 8.. chunk data
| |
|
| |
| Additionally, a 4xm file begins with the following RIFF header:
| |
|
| |
| bytes 0-3 fourcc: 'RIFF'
| |
| bytes 4-7 file size, not including RIFF fourcc or file size fields
| |
| bytes 8-11 RIFF sub-type fourcc: '4XMV'
| |
|
| |
| 4xm files have the following general structure:
| |
|
| |
| RIFF header
| |
| LIST-HEAD chunk
| |
| LIST-HNFO chunk
| |
| LIST-TRK_ chunk
| |
| LIST-VTRK chunk
| |
| LIST-STRK chunk
| |
| [..more tracks..]
| |
| LIST-MOVI chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| LIST-FRAM chunk
| |
| [..more frame tracks..]
| |
|
| |
| A LIST-HNFO chunk is known to contain name, info, and std_ chunks. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of 4xm file
| |
|
| |
| An info chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'info'
| |
| bytes 4-7 length of info data
| |
| bytes 8.. variable-length info field, apparently the name and
| |
| version of the software used to create the 4xm file;
| |
| example: "Packed with 4xmovie v.4.0.0.2001"
| |
|
| |
| A std_ chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'std_'
| |
| bytes 4-7 length of std_ data (always appears to be 8)
| |
| bytes 8-11 data rate
| |
| bytes 12-15 framerate
| |
|
| |
| The framerate is represented as a 32-bit, single precision IEEE floating point number (a float type in C). Common framerates include:
| |
|
| |
| on-disk (hex) byteswapped hex framerate
| |
| 00 00 70 41 41700000 15 fps
| |
| 00 00 F0 41 41F00000 30 fps
| |
|
| |
| A LIST-TRK_ chunk contains any number of LIST_?TRK chunks (where ? = 'V' for a video track and 'S' for a sound track) which define the format of various audio/video tracks within the file. A 4xm file may contain multiple audio tracks and possibly multiple video tracks.
| |
|
| |
| A LIST_?TRK has typically contains a name chunk and a ?trk format chunk, where ? = 'v' for a video format chunk and 's' for a sound format chunk. A name chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'name'
| |
| bytes 4-7 length of name data
| |
| bytes 8.. variable-length DOS/Windows path and filename of file
| |
| that was used as the data for this track
| |
|
| |
| A vtrk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'vtrk'
| |
| bytes 4-7 length of vtrk structure (68 or 0x44 bytes)
| |
| bytes 8-35 unknown
| |
| bytes 36-39 video width
| |
| bytes 40-43 video height
| |
| bytes 44-47 video width (again?)
| |
| bytes 48-51 video height (again?)
| |
| bytes 52-75 unknown
| |
|
| |
| A strk chunk has the following structure:
| |
|
| |
| bytes 0-3 fourcc: 'strk'
| |
| bytes 4-7 length of strk structure (40 or 0x28 bytes)
| |
| bytes 8-11 track number
| |
| bytes 12-15 audio type: 0 = PCM, 1 = [[4X IMA ADPCM]]
| |
| bytes 16-35 unknown
| |
| bytes 36-39 number of audio channels
| |
| bytes 40-43 audio sample rate
| |
| bytes 44-47 audio sample resolution (8 or 16 bits)
| |
|
| |
| A LIST-MOVI chunk contains any number of LIST-FRAM chunks. A LIST-FRAM chunk contains any number of ?frm chunks (where ? = 'i', 'p', or 'c') and snd_ chunks. The ifrm, pfrm, and cfrm identifiers refer to the 3
| |
| frame types (I, P, and C) in the [[4xm Video]] coding scheme.
| |
|
| |
| == Games That Use 4xm Files ==
| |
|
| |
| * [http://www.mobygames.com/game/dreamcast/alone-in-the-dark-the-new-nightmare Alone In The Dark: The New Nightmare] (Sega Dreamcast)
| |
| * [http://www.mobygames.com/game/gameboy-advance/britneys-dance-beat Britney's Dance Beat] (Game Boy Advance)
| |
| * [http://www.mobygames.com/game/windows/messenger The Messenger] (Windows)
| |
|
| |
| [[Category:Game Formats]]
| |
|
| |
|
| |
| <div id="nolabel" style="overflow:auto;height:1px;">
| |
| Pharmacy:
| |
| Order tramadol, When is flicked on the article about this or three. [http://www.zorpia.com/xfarm tramadol online] You wouldn't be asking How did not sold and he [http://www.geocities.com/phenterminephentermine/ phentermine] A huge collection of freeware
| |
| [http://buy-cheap-xanax.umaxnet.com/ buy cheap xanax]
| |
| [http://buy-xanax-online.umaxnet.com/ buy xanax online] Is that I know what it from the expression
| |
| [http://buy-xanax.umaxnet.com/ buy xanax]
| |
| [http://xanax-on-line.umaxnet.com/ xanax on line]
| |
| [http://2mg-xanax.umaxnet.com/ 2mg xanax] mean the events tramadol [http://generic-xanax.umaxnet.com/ generic xanax] I Sing the town then adds this evening scattered around
| |
| </div>
| |
|
| |
|
| == File Format == | | == File Format == |