PenOG jogress DigiROM format: Difference between revisions

From DigiMeta
Jump to navigation Jump to search
Created page with "The PenOG jogress DigiROM format corresponds to the DigiROMs generated by the Digimon Pendulum Original version in order to perform connection jogress. == Practical example == Let's take the following DigiROM as an example: '''(placeholder)''' {| class="wikitable" ! Packet number !colspan="7"| Data |- | Packet 1 |style="background: #f4cccc;"| 0 |style="background: #d9ead3;"| 001 |style="background: #fce5cd;"| 0 |style="background: #c9daf8;"| 1 |style="background: #d9d..."
 
No edit summary
 
Line 47: Line 47:
The first packet is shared with the battle DigiROM. Second packet changes, since a lot of the data from the battle DigiROM is not needed.
The first packet is shared with the battle DigiROM. Second packet changes, since a lot of the data from the battle DigiROM is not needed.


* '''COU''': Stands for Constant Or Unknown. This is a value that is the same across all signals we’ve analyzed, and may just be something that doesn’t get used. The possibility may exist though that it’s just a value we haven’t discovered the purpose of yet.  
* '''COU''': Stands for Constant Or Unknown. This is a value that is the same across all signals we’ve analyzed, and may just be something that doesn’t get used. The possibility may exist though that it’s just a value we haven’t discovered the purpose of yet.


* '''Version''': This value will identify which specific version of a device series is being used. Each Battle System has its own range of version numbers, generally in sequence starting with the first released device.
* '''Version''': This value will identify which specific version of a device series is being used. Each Battle System has its own range of version numbers, generally in sequence starting with the first released device. Note that .5 versions do NOT have a separate version from their .0 counterparts.
** '''Example Value''': 1 (Pendulum 2.X)


* '''Operation''': Whether this connection is a  Battle (0), or Jogress (1). Jogressing between a Digimon Pendulum and a Digimon Pendulum Ver.20th is not possible. Example Value: Battle
* '''Sick''': Whether or not the Digimon is Sick. If it is, the enemy Digimon will become sick after the battle.


* '''Slot''': Just like on the Digital Monster, each Digimon belongs to a specific slot. Unfortunately, the ratios for these slots do not appear to have been officially published, and would require a LOT of tedious testing to determine reasonably on our own. Higher Stage Digimon being stronger than lower stage ones, and the attribute tree applies but in reverse. This means Vaccine is stronger than Data, Data is stronger than Virus, and Virus is stronger than Vaccine, despite the official guides stating the opposite. (See Common Values for Attribute). Example Value: 6 (Vaccine Adult 1)
* '''Operation''': Whether this connection is a Battle (0), or Jogress (1). Jogressing between a Digimon Pendulum and a Digimon Pendulum Ver.20th is not possible.
** '''Example Value''': Tag Battle


* '''Sick''': Whether or not the Digimon is Sick. If it is, the enemy Digimon will become sick after the battle.
* '''Slot''': Just like on the Digital Monster, each Digimon belongs to a specific slot. Unfortunately, the ratios for these slots do not appear to have been officially published, and would require a LOT of tedious testing to determine reasonably on our own. Higher Stage Digimon being stronger than lower stage ones, and the attribute tree applies but in reverse. This means Vaccine is stronger than Data, Data is stronger than Virus, and Virus is stronger than Vaccine, despite the official guides stating the opposite. (See Common Values for Attribute)
** '''Example Value''': 6 (Vaccine Adult 1)


* '''EOL''': In most Battle Systems, the final 4 bits of each packet will be a constant value that doesn’t really mean anything on its own. In other words, you can ignore these bits when interpreting signals.
* '''EOL''': In most Battle Systems, the final 4 bits of each packet will be a constant value that doesn’t really mean anything on its own. In other words, you can ignore these bits when interpreting signals.
** '''Example Value''': 15
* '''Effort''': Effort is broken up into two sections, strangely enough. No idea why, as it could have used fewer bits to represent as a normal binary number. Instead, Effort 1 is the first Digit of the effort value, and Effort 2 is the second digit. In this case, Effort 1 is 4, and Effort 2 is 0, meaning that the actual effort is 40. Effort increases by 1 every time you train your Digimon, so all Digimon start at 0 and cap out at 40.
** '''Example Value''': 40
* '''Attack''': In this context, Attack is how much damage will be dealt for each successful hit. This is generally some kind of pattern, and the signal will instruct how much damage will be dealt each round. Usually you will get stronger attacks when you do better at the Pre-Battle Minigame. There are only two attack levels, so it can simply be read from right to left to see whether each round will be a weak attack (0) or a strong attack (1). Weak attacks deal 1 damage while strong attacks deal 2.
** '''Example Value''': Strong, Strong, Strong, Strong, Strong
* '''Hits''': How many successful hits you will deal against your opponent, represented as a 0 for a miss, 1 for a hit. The direction the hits and misses are read from in the signal can vary from device to device. For example, if the device requires that hits are read from right to left, and the Hits value is 10100, this means that your shots will miss, miss, hit, miss and hit, in that order. 5 bits long, read from right to left.
** '''Example Value''': Hit, Hit, Hit, Hit, Hit


* '''Check''': The Check is a value that will frequently change to help ensure a certain remainder is achieved on a finished code. As such, the Check will always be in the final packet. This value is used to tell the device that the incoming code is in fact legitimate. The way it works is like this:
* '''Check''': The Check is a value that will frequently change to help ensure a certain remainder is achieved on a finished code. As such, the Check will always be in the final packet. This value is used to tell the device that the incoming code is in fact legitimate. The Check itself does not equal the intended remainder, but rather ensures the intended remainder is reached. So if the intended remainder is 11, and the current sum without the Check is 71, then the Check will be 4 (because 16 goes into 75 4 times with a remainder of 11). Remainder should always equal 11. The way it works is like this:
** The signal is divided into 4 bit groups
** The signal is divided into 4 bit groups
** Each group of 4 bits is added together
** Each group of 4 bits is added together
** The sum is divided by 16
** The sum is divided by 16
** The remainder is checked
** The remainder is checked
The Check itself does not equal the intended remainder, but rather ensures the intended remainder is reached. So if the intended remainder is 11, and the current sum without the Check is 71, then the Check will be 4 (because 16 goes into 75 4 times with a remainder of 11). Remainder should always equal 11. Example value: 8.
** '''Example Value''': 8


* '''Result''': The resulting character of the jogress.
* '''Shot''': This value determines which sprite gets used for attacks. Generally speaking there would be two sprites, one for stronger attacks (Shot S) and one for weaker (Shot W). The Digital Monster X also includes a sprite for Mega Hits (Shot M). The number itself is an index value specific to that device.
** '''Example Value''': 151

Latest revision as of 17:18, 8 June 2026

The PenOG jogress DigiROM format corresponds to the DigiROMs generated by the Digimon Pendulum Original version in order to perform connection jogress.

Practical example

Let's take the following DigiROM as an example: (placeholder)

Packet number Data
Packet 1 0 001 0 1 0 00110 1111
Packet 2 0000 00000000 1111
Packet number Data
Packet 1 COU Version Sick Operation COU Slot EOL
Packet 2 Check Result EOL

Meaning of each field

The first packet is shared with the battle DigiROM. Second packet changes, since a lot of the data from the battle DigiROM is not needed.

  • COU: Stands for Constant Or Unknown. This is a value that is the same across all signals we’ve analyzed, and may just be something that doesn’t get used. The possibility may exist though that it’s just a value we haven’t discovered the purpose of yet.
  • Version: This value will identify which specific version of a device series is being used. Each Battle System has its own range of version numbers, generally in sequence starting with the first released device. Note that .5 versions do NOT have a separate version from their .0 counterparts.
    • Example Value: 1 (Pendulum 2.X)
  • Sick: Whether or not the Digimon is Sick. If it is, the enemy Digimon will become sick after the battle.
  • Operation: Whether this connection is a Battle (0), or Jogress (1). Jogressing between a Digimon Pendulum and a Digimon Pendulum Ver.20th is not possible.
    • Example Value: Tag Battle
  • Slot: Just like on the Digital Monster, each Digimon belongs to a specific slot. Unfortunately, the ratios for these slots do not appear to have been officially published, and would require a LOT of tedious testing to determine reasonably on our own. Higher Stage Digimon being stronger than lower stage ones, and the attribute tree applies but in reverse. This means Vaccine is stronger than Data, Data is stronger than Virus, and Virus is stronger than Vaccine, despite the official guides stating the opposite. (See Common Values for Attribute)
    • Example Value: 6 (Vaccine Adult 1)
  • EOL: In most Battle Systems, the final 4 bits of each packet will be a constant value that doesn’t really mean anything on its own. In other words, you can ignore these bits when interpreting signals.
    • Example Value: 15
  • Effort: Effort is broken up into two sections, strangely enough. No idea why, as it could have used fewer bits to represent as a normal binary number. Instead, Effort 1 is the first Digit of the effort value, and Effort 2 is the second digit. In this case, Effort 1 is 4, and Effort 2 is 0, meaning that the actual effort is 40. Effort increases by 1 every time you train your Digimon, so all Digimon start at 0 and cap out at 40.
    • Example Value: 40
  • Attack: In this context, Attack is how much damage will be dealt for each successful hit. This is generally some kind of pattern, and the signal will instruct how much damage will be dealt each round. Usually you will get stronger attacks when you do better at the Pre-Battle Minigame. There are only two attack levels, so it can simply be read from right to left to see whether each round will be a weak attack (0) or a strong attack (1). Weak attacks deal 1 damage while strong attacks deal 2.
    • Example Value: Strong, Strong, Strong, Strong, Strong
  • Hits: How many successful hits you will deal against your opponent, represented as a 0 for a miss, 1 for a hit. The direction the hits and misses are read from in the signal can vary from device to device. For example, if the device requires that hits are read from right to left, and the Hits value is 10100, this means that your shots will miss, miss, hit, miss and hit, in that order. 5 bits long, read from right to left.
    • Example Value: Hit, Hit, Hit, Hit, Hit
  • Check: The Check is a value that will frequently change to help ensure a certain remainder is achieved on a finished code. As such, the Check will always be in the final packet. This value is used to tell the device that the incoming code is in fact legitimate. The Check itself does not equal the intended remainder, but rather ensures the intended remainder is reached. So if the intended remainder is 11, and the current sum without the Check is 71, then the Check will be 4 (because 16 goes into 75 4 times with a remainder of 11). Remainder should always equal 11. The way it works is like this:
    • The signal is divided into 4 bit groups
    • Each group of 4 bits is added together
    • The sum is divided by 16
    • The remainder is checked
    • Example Value: 8
  • Shot: This value determines which sprite gets used for attacks. Generally speaking there would be two sprites, one for stronger attacks (Shot S) and one for weaker (Shot W). The Digital Monster X also includes a sprite for Mega Hits (Shot M). The number itself is an index value specific to that device.
    • Example Value: 151