Jump to content

Search the Community

Showing results for tags 'pokémon mystery dungeon'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Pokémon
    • Pokémon (Ultra Sun/Ultra Moon)
    • Pokémon (Sun/Moon)
    • Pokémon (PSMD)
    • Pokémon (EoS)
  • Egg Groups
    • Egg Groups (Ultra Sun/Ultra Moon)
    • Egg Groups (Sun/Moon)
  • Moves
    • Moves (Ultra Sun/Ultra Moon)
    • Moves (Sun/Moon)
    • Moves (PSMD)
    • Moves (EoS)
  • Abilities
    • Abilities (Ultra Sun/Ultra Moon)
    • Abilities (Sun/Moon)
    • Abilities (PSMD)
  • Types
    • Types (Ultra Sun/Ultra Moon)
    • Types (SM)
    • Types (PSMD)
    • Types (EoS)

Categories

  • Pokémon HOME
  • Generation 9
  • Generation 8
  • Generation 7
  • Generation 6
  • Generation 5
  • Generation 4
  • Mystery Dungeon 3DS
  • Mystery Dungeon NDS
  • Sprite Index
  • Other

Categories

  • Project Pokémon
  • Games
    • Pokémon Ultra Sun and Ultra Moon
    • Pokémon Sun and Moon
    • Pokémon Super Mystery Dungeon

Categories

  • Save Editing
    • Managing GB/GBC Saves
    • Managing GBA Saves
    • Managing NDS Saves
    • Managing 3DS Saves
    • Managing Gamecube Saves
    • Managing Wii Saves
    • Managing Switch Saves
    • Using PKHeX
    • Gen 3 Specific Edits
    • Gen 4 Specific Edits
    • Gen 5 Specific Edits
    • Gen 6 Specific Edits
    • Gen 7 Specific Edits
    • Gen 8 Specific Edits
    • Gen 9 Specific Edits
  • ROM Editing
    • Stars' Pokémon Colosseum and XD Hacking Tutorial
    • Editing ROMs with Sky Editor
    • NDS Pokémon Games Hacking Tutorials
    • 3DS Pokémon Games Hacking Tutorials
    • Switch Pokémon Games Hacking Tutorials
  • RAM Editing
    • GS ACE: Coin Case
    • GS ACE: TM17
  • Gameplay related support
    • How to play Rescue Team DX ROM hacks
    • e-reader support
    • Max Raid RNG Manipulation

Forums

  • ProjectPokemon.org
    • Announcements
    • News Discussion
    • Project Pokémon Feedback
    • Introductions
  • Event Pokémon
    • Event Pokémon News
    • Event Contributions
    • Events Help and Questions
  • Technical Discussions
    • ROM
    • Saves
    • RAM and Live Edits
    • Hardware
    • General Development
  • Pokémon Discussions
    • Pokémon Games Discussion
    • Pokémon Online Play
    • Pokémon Franchise
  • Other
    • Creative Discussion
    • General Gaming
    • Off Topic
  • Mystery Dungeon Hacking's Discussions
  • The "I Love Cats" Club's Discussions
  • The Cool Kids Corner's Discussions
  • Team Valor's General Discussion
  • Pokemon USUM Breeder's Club's Rules
  • Pokemon USUM Breeder's Club's Post breeding stories & pictures here
  • Pokemon USUM Breeder's Club's Competitive Breeding Requests
  • Pokemon USUM Breeder's Club's Non-Competitive Breeding Requests
  • Pokemon USUM Breeder's Club's Introduce self
  • The PBOE, (Pokémon Brotherhood of Evil)'s Topics
  • Sky Editor's Topics
  • Sky Editor's Questions
  • Hoopa's Café's Topics
  • Super pokemon POWER's Topics
  • Steel Of Time Club's Topics

Calendars

  • Pokémon Event Calendar
  • The "I Love Cats" Club's Events
  • Hoopa's Café's Important Dates
  • Super pokemon POWER's Events
  • Steel Of Time Club's Events

Categories

  • Event Gallery
    • Pokémon HOME
    • Generation 9
    • Generation 8
    • Generation 7 (Switch)
    • Generation 7 (3DS)
    • Generation 6
    • Generation 5
    • Dream World
    • C-Gear Skins
    • Pokédex Skins
    • Pokémon Musicals
    • Pokémon World Tournaments
    • Generation 4
    • Generation 3
    • Generation 2
    • Generation 1
  • In-Game Series
    • Pokémon GO -> HOME Transfers
    • Generation 9
    • Generation 8
    • Generation 7
    • Generation 6
    • Generation 5
    • Generation 4
    • Generation 3
    • Generation 2
    • Generation 1
  • Unreleased/Beta PKM Gallery
  • Tools
    • Save Editing
    • ROM Editing
    • RAM Editing
    • Files compatible w/ Saves
  • Saves and RAM edits
    • User Contributed Saves
    • User Contributed RAM edits and cheat files
    • User Contributed Super Secret Bases
  • PKM Files
    • User Contributed PKM files
  • ROM related entries
    • ROM hacks
    • Image Assets
    • Custom Resources
  • Misc
    • Images
    • Tools
  • Mystery Dungeon Hacking's Files
  • Hoopa's Café's Files
  • Super pokemon POWER's Files
  • Steel Of Time Club's Files

Blogs

  • Project Pokémon
  • Evan's Dev Blog
  • Diary
  • Pokémon Mystery Dungeon: Gate of the Shooting Star
  • theSLAYER's thoughts and ramblings
  • Alack Alay!
  • Mario and Lugi
  • Diary of Borjitasstoi
  • Bigjon357
  • Benjamen
  • Céliana || Cecillia || TheRealProcyon's Fun Blog
  • the manufacturing of steel structural parts
  • The Best in Career Guidance
  • How I Get My FREE ROBUX In One Easy Lesson
  • hello kitty has a day :3
  • Dairy, perharps pokemon
  • Trainer Sagas; An original series premiering on Cupencil!
  • Pokemon and their trainer bond in Pokémon GO
  • Pokemon distribution
  • Pknx error
  • Upgrated PPRE2 Editing Gen IV Pokemon Stats/Moves Beta Release!
  • Pokémon cards in Canada
  • UTI Relief Starts Here at Prime Health
  • Ensuring Continuity of Care: ABA Therapy in Schools and Beyond
  • Benefits of Medical Coding
  • Staff Discussions's Blog
  • Mystery Dungeon Hacking's Blog
  • The Cool Kids Corner's Blog
  • Project Pokemon Fun Club!'s Blog: Random Stuff
  • Project Pokemon Fun Club!'s Blog.. So fun..So wow...SHARE YOUR NEWS!
  • Create your own Pokemon Region's Storyline
  • Create your own Pokemon Region's Team Rocket of the Region
  • Create your own Pokemon Region's Pokemon Region base off of.....
  • Create your own Pokemon Region's Pokemon Region main Character
  • Sky Editor's Sky Editor
  • Sky Editor's Blog
  • Hoopa's Café's Blog
  • Steel Of Time Club's Blog
  • SkyTemple Documentation's Documentation & Tutorial Drafts

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Gender


About Me


Friend Code (Nintendo Switch)


Friend Code (3DS)


NNID (Wii U)

Found 5 results

  1. Version 1.1

    398 downloads

    AT7View is an archive extractor/compressor/modifier for the AT7 container format used in the three Pokémon Mystery Dungeon games released for WiiWare in Japan only. Source code and how-to guide can be found here. Support thread can be found here.
  2. AT7 File Container Format Documentation for... Pokémon Mystery Dungeon: Keep Going! Blazing Adventure Squad Pokémon Mystery Dungeon: Let's Go! Stormy Adventure Squad Pokémon Mystery Dungeon: Go For It! Light Adventure Squad Or by it's other names... Pokémon Mystery Dungeon: Forward! Adventurers of Flame Pokémon Mystery Dungeon: Let's Go! Adventurers of Storm Pokémon Mystery Dungeon: Aspire! Adventurers of Light All on WiiWare~ Hello everyone, I've actually been making some progress with the research into the AT7 File Container format, here's what I have currently documented: As of now, I've done some huge research into the AT7 Container format and I have made some progress (finally). The AT7 format is split into multiple segments and sectors. Each segment has a 6-byte long header, both which indicate it's ID and size of the segment. AT7P counts the header, where as AT7X does not. Like AT4PX or PKDPX, the segment headers have control flags in it's header, but it is only determined within the first AT7P segment header .AT7P segments have only been examined with compressed data sizes of less than 49,158 bytes. It is unknown if the AT7P segments can go higher than 49,158 bytes AT7X segments have uncompressed data, but can only be 49,158 bytes long. Now here's some examples of where you can find the AT7 Segments for data2_WPAJ.bin: Address Type Segment Size 0x0 - 42F8 AT7P 42F9 bytes (Dec: 17,145 bytes) 0x42F9 - 87C1 AT7P 44C8 bytes (Dec: 17,608 bytes) 0x11589 - 1D58E AT7X C006 bytes (Dec: 49,158 bytes) 0x1D58F - 29594 AT7X C006 bytes (Dec: 49,158 bytes) 0x29595 - 3559A AT7X C006 bytes (Dec: 49,158 bytes) 0x3559B - 415A0 AT7X C006 bytes (Dec: 49,158 bytes) .. 0x14AAD78-14BFFF0 AT7E 15288 (Dec: 86,664 bytes) (This would keep going on and on, can't post all of the offsets since it would take too long, but I am posting about AT7E though) Segments AT7P segments can be any size! The size of the segment is always stated at offsets 0x4-5 in little endian. Where as AT7X is always at a fixed size and have uncompressed data, therefore meaning that offsets 0x4-5 will only count the uncompressed data, but not the header. The entire AT7 file container is split into sectors, containing 131,072 bytes (20000h) each. The AT7E segment always indicates the end of the archived files and then the free space comes after the AT7E header. Compressed data works as follows: After the compressed size bytes, it begins with each of the blocks. Each block starts with a flag byte. As it goes from MSB to LSB, if the bit is set, it reads, takes the next byte from the input and moves it to the output completely unchanged. If the bit is clear, it reads a 2-byte big-endian control code. The top nybble is a repeated string length of 3. The remaining bits are a 12-bit negative offset of the most recent occurrence of the string to repeat. AT7P Segment Info Offset Name Type Endianness Size 0x0-3 Text (AT7P) - Big Endian 4 bytes 0x4-5 AT7P Length* uint16 Little Endian 2 bytes 0x6 Compressed data begins - - - * - These bytes count both the header and compressed data As explained before, AT7X segments are a fixed size of 49,158 (C006) each, counting the header as well. Unlike with AT7P, AT7X segments have uncompressed data, which means that the data can be read without any need to decompress. Since AT7X can only hold data sizes of 49,152 bytes, any data contained has to be exactly 49,152 bytes. This can often be used for textures or certain images or any data that has no data that can be re-replicated in any way, but must be exactly 49,152 bytes within parts of large files. AT7X Segment Info** Offset Name Type Endianness Size 0x0-3 Text (AT7X) - Big Endian 4 bytes 0x4-5 Data size*** uint16 Little Endian 2 bytes 0x6-C006 Uncompressed data - - 49,152 bytes (fixed size) ** - It always has a fixed length of 49,158 bytes (C006h) each *** - The bytes are always 00 C0 (C000h), which means it is always 49,152 bytes long in decimal. Unlike AT7P, these bytes only count the compressed data, but not the header The AT7E segment marks the end of the container and will fill any remaining bytes within a sector with byte values of "45" (or "E" in ASCII). AT7E Segment Info**** Offset Name Type Endianness Size 0x0-3 Text (AT7E) - Big Endian 4 bytes 0x4 Free space***** - - - **** - This segment always indicates the end of the AT7 container, before the free space ***** - These bytes can be any size, the entire AT7 container is made of blocks that are 131,072 bytes (20000h) each, and all free space bytes have a value of "45". The size of the free space will depend on how much space the last block has left over. For example, the last block of data2_WPAJ.bin only has AD7C (44,412 bytes) of data left in it 20000h - AD7Ch = 15284h (86,660 bytes), which means data2_WPAJ.bin only has 86,660 bytes of free space with each byte value of "45" Sectors Sectors are sections of the container that make up the file, like how sectors work on a Hard Disk Drive. Each sector is 131,072 bytes long (20000h). There can be multiple sectors within an AT7 container, for example, data2_WPAJ.bin contains 166 sectors (A6 in hexadecimal). But some contain as little as just 1 sector (such as data1_WPAJ.bin). If the last sector of the AT7 container has free space, the end of the data will be flagged with the AT7E segment, beginning the start of the free space. Special thanks to: MegaMinerd - For discovering and explaining about how the compressed data works and explaining that AT7X data isn't compressed
  3. Pokémon Mystery Dungeon (WiiWare) data1_XXXX.bin and data2_XXXX.bin archive information The files, data1 and data2 are archive binaries, the "XXXX" indicated in the file name, is the game code for the files, which can vary depending on the version (eg. data2_WPAJ.bin). Since data1 and data2 archive binaries are compressed with the AT7 compression algorithm, the archives must be decompressed before any data can be extracted. But here's how the decompressed data1 and data2 files are structured: Part 1 - Pointer and file name table Part 2 - Actual data of all files Part 1 - Pointer and file name table This data contains all the pointers of all files, as well as their file names. Each table row consists of: Offset Endianness Type 0x0-3 Big Endian Data location offset 0x4-7 Big Endian File size 0x8-1B Big Endian Namespace data Namespace data This data contains the filename data, and all filenames can only be in ASCII format. Filenames can only be a maximum of 19 characters long, every filename always ends with a 00 value byte and must be in the namespace data in order for it to function properly. Anything after the 00 valued byte through to offset 0x1B will be what we'll refer to it as "junk text". Junk text is the remains of what used to be a previous file that existed on that entry before it was overwritten by a different filename, either through renaming or removal of a file during development. So essentially it would be development leftovers. It's possible to create a program that would re-replicate the same type of junk data results though file namespace overwriting. For example, we have a file called adev_app_icon.tex, then we name it "app_icon.tex", it would look like this: "app_icon.tex tex". Alternatively if we renamed or removed "bg_event.sed", the file name in the table row below it called "bg.swd" would take priority and overwrite the text (and file offset data) on that table row and the namespace would look like "bg.swd t.sed", then if the file was renamed again to "b.swd", it would be "b.swd t.sed" which would look like "62 2E 73 77 64 00 00 74 2E 73 65 64 00 00 00 00 00 00 00 00" in hex. This means that an addition of a new file or renaming a file in the archive has the potential to create junk data, overwriting text in an existing entry while leaving some of it there. Part 2 - Actual data Each file data fits into this area as followed: First - File data Second - Line break filling Line break filling This data occurs between each file to show that its sepparate data, it can either be 16 or 32 bytes long, the FF value marks the end of the file data and start of the filling data, all the rest of the filling data is 00 value bytes, after that, the next file begins. The end of the entire data1 or data2 archive is marked with a FF value byte as well, but without the 00 values after it. 32-byte filling data: FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16-byte filling data: FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Credits: MegaMinerd - For most of the research into filling data
  4. Pokémon Mystery Dungeon (WiiWare) data1_XXXX.bin and data2_XXXX.bin archive information The files, data1 and data2 are archive binaries, the "XXXX" indicated in the file name, is the game code for the files, which can vary depending on the version (eg. data2_WPAJ.bin). Since data1 and data2 archive binaries are compressed with the AT7 compression algorithm, the archives must be decompressed before any data can be extracted. But here's how the decompressed data1 and data2 files are structured: Part 1 - Pointer and file name table Part 2 - Actual data of all files Part 1 - Pointer and file name table This data contains all the pointers of all files, as well as their file names. Each table row consists of: Offset Endianness Type 0x0-3 Big Endian Data location offset 0x4-7 Big Endian File size 0x8-1B Big Endian Namespace data Namespace data This data contains the filename data, and all filenames can only be in ASCII format. Filenames can only be a maximum of 19 characters long, every filename always ends with a 00 value byte and must be in the namespace data in order for it to function properly. Anything after the 00 valued byte through to offset 0x1B will be what we'll refer to it as "junk text". Junk text is the remains of what used to be a previous file that existed on that entry before it was overwritten by a different filename, either through renaming or removal of a file during development. So essentially it would be development leftovers. It's possible to create a program that would re-replicate the same type of junk data results though file namespace overwriting. For example, we have a file called adev_app_icon.tex, then we name it "app_icon.tex", it would look like this: "app_icon.tex tex". Alternatively if we renamed or removed "bg_event.sed", the file name in the table row below it called "bg.swd" would take priority and overwrite the text (and file offset data) on that table row and the namespace would look like "bg.swd t.sed", then if the file was renamed again to "b.swd", it would be "b.swd t.sed" which would look like "62 2E 73 77 64 00 00 74 2E 73 65 64 00 00 00 00 00 00 00 00" in hex. This means that an addition of a new file or renaming a file in the archive has the potential to create junk data, overwriting text in an existing entry while leaving some of it there. Part 2 - Actual data Each file data fits into this area as followed: First - File data Second - Line break filling Line break filling This data occurs between each file to show that its sepparate data, it can either be 16 or 32 bytes long, the FF value marks the end of the file data and start of the filling data, all the rest of the filling data is 00 value bytes, after that, the next file begins. The end of the entire data1 or data2 archive is marked with a FF value byte as well, but without the 00 values after it. 32-byte filling data: FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16-byte filling data: FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Credits: MegaMinerd - For most of the research into filling data
  5. AT7 File Container Format Documentation for... Pokémon Mystery Dungeon: Keep Going! Blazing Adventure Squad Pokémon Mystery Dungeon: Let's Go! Stormy Adventure Squad Pokémon Mystery Dungeon: Go For It! Light Adventure Squad Or by it's other names... Pokémon Mystery Dungeon: Forward! Adventurers of Flame Pokémon Mystery Dungeon: Let's Go! Adventurers of Storm Pokémon Mystery Dungeon: Aspire! Adventurers of Light All on WiiWare~ Hello everyone, I've actually been making some progress with the research into the AT7 File Container format, here's what I have currently documented: As of now, I've done some huge research into the AT7 Container format and I have made some progress (finally). The AT7 format is split into multiple segments and sectors. Each segment has a 6-byte long header, both which indicate it's ID and size of the segment. AT7P counts the header, where as AT7X does not. Like AT4PX or PKDPX, the segment headers have control flags in it's header, but it is only determined within the first AT7P segment header .AT7P segments have only been examined with compressed data sizes of less than 49,158 bytes. It is unknown if the AT7P segments can go higher than 49,158 bytes AT7X segments have uncompressed data, but can only be 49,158 bytes long. Now here's some examples of where you can find the AT7 Segments for data2_WPAJ.bin: Address Type Segment Size 0x0 - 42F8 AT7P 42F9 bytes (Dec: 17,145 bytes) 0x42F9 - 87C1 AT7P 44C8 bytes (Dec: 17,608 bytes) 0x11589 - 1D58E AT7X C006 bytes (Dec: 49,158 bytes) 0x1D58F - 29594 AT7X C006 bytes (Dec: 49,158 bytes) 0x29595 - 3559A AT7X C006 bytes (Dec: 49,158 bytes) 0x3559B - 415A0 AT7X C006 bytes (Dec: 49,158 bytes) .. 0x14AAD78-14BFFF0 AT7E 15288 (Dec: 86,664 bytes) (This would keep going on and on, can't post all of the offsets since it would take too long, but I am posting about AT7E though) Segments AT7P segments can be any size! The size of the segment is always stated at offsets 0x4-5 in little endian. Where as AT7X is always at a fixed size and have uncompressed data, therefore meaning that offsets 0x4-5 will only count the uncompressed data, but not the header. The entire AT7 file container is split into sectors, containing 131,072 bytes (20000h) each. The AT7E segment always indicates the end of the archived files and then the free space comes after the AT7E header. Compressed data works as follows: After the compressed size bytes, it begins with each of the blocks. Each block starts with a flag byte. As it goes from MSB to LSB, if the bit is set, it reads, takes the next byte from the input and moves it to the output completely unchanged. If the bit is clear, it reads a 2-byte big-endian control code. The top nybble is a repeated string length of 3. The remaining bits are a 12-bit negative offset of the most recent occurrence of the string to repeat. AT7P Segment Info Offset Name Type Endianness Size 0x0-3 Text (AT7P) - Big Endian 4 bytes 0x4-5 AT7P Length* uint16 Little Endian 2 bytes 0x6 Compressed data begins - - - * - These bytes count both the header and compressed data As explained before, AT7X segments are a fixed size of 49,158 (C006) each, counting the header as well. Unlike with AT7P, AT7X segments have uncompressed data, which means that the data can be read without any need to decompress. Since AT7X can only hold data sizes of 49,152 bytes, any data contained has to be exactly 49,152 bytes. This can often be used for textures or certain images or any data that has no data that can be re-replicated in any way, but must be exactly 49,152 bytes within parts of large files. AT7X Segment Info** Offset Name Type Endianness Size 0x0-3 Text (AT7X) - Big Endian 4 bytes 0x4-5 Data size*** uint16 Little Endian 2 bytes 0x6-C006 Uncompressed data - - 49,152 bytes (fixed size) ** - It always has a fixed length of 49,158 bytes (C006h) each *** - The bytes are always 00 C0 (C000h), which means it is always 49,152 bytes long in decimal. Unlike AT7P, these bytes only count the compressed data, but not the header The AT7E segment marks the end of the container and will fill any remaining bytes within a sector with byte values of "45" (or "E" in ASCII). AT7E Segment Info**** Offset Name Type Endianness Size 0x0-3 Text (AT7E) - Big Endian 4 bytes 0x4 Free space***** - - - **** - This segment always indicates the end of the AT7 container, before the free space ***** - These bytes can be any size, the entire AT7 container is made of blocks that are 131,072 bytes (20000h) each, and all free space bytes have a value of "45". The size of the free space will depend on how much space the last block has left over. For example, the last block of data2_WPAJ.bin only has AD7C (44,412 bytes) of data left in it 20000h - AD7Ch = 15284h (86,660 bytes), which means data2_WPAJ.bin only has 86,660 bytes of free space with each byte value of "45" Sectors Sectors are sections of the container that make up the file, like how sectors work on a Hard Disk Drive. Each sector is 131,072 bytes long (20000h). There can be multiple sectors within an AT7 container, for example, data2_WPAJ.bin contains 166 sectors (A6 in hexadecimal). But some contain as little as just 1 sector (such as data1_WPAJ.bin). If the last sector of the AT7 container has free space, the end of the data will be flagged with the AT7E segment, beginning the start of the free space. Special thanks to: MegaMinerd - For discovering and explaining about how the compressed data works and explaining that AT7X data isn't compressed
×
×
  • Create New...