Puyo Puyo Tsuu (Arcade)
|Puyo Puyo Tsuu|
|This page or section needs more images. |
There's a whole lotta words here, but not enough pictures. Please fix this.
The second game in the Puyo Puyo series. Its addition of the rather simple offset rule completely revolutionized the game, and would come to define the series.
Puyo Puyo Tsuu features a few anti-piracy measures built into the game.
Sega Protection IC Detection
All System C2 games feature an Altera MAX EPM5032 that is responsible for handling some video controls, but it also contains a 256 x 4 bit table of values unique to each game. Reads from $800001 return a 4-bit value, the index of which is calculated from both the second-to-last thing written to $800001 (upper four bits) and the previously returned value (lower four bits). It is up to the game to implement consequences should the protection check fail, as the C2 hardware will not lock up in such a circumstance. Some of the responsible code is obfuscated through relative addressing of unclear addresses.
Puyo Puyo Tsuu's innovation over Puyo Puyo is that the garbage system has Sousai, the ability to return garbage, in addition to the pre-existing garbage system. If the game's table of expected return values does not match what the game reads, it will set memory address $FFA026 to 1, which disables the garbage system entirely. This effectively transforms a match into two single-player practice matches, making the game nearly unplayable. This subtle change means it is easy to burn the ROMs to a C2 board and think it's working initially, only to find later that the game isn't working correctly.
Copy Protection Protection
If a would-be bootlegger modifies the protection check routine, the garbage system will be made to work again. However, the protection check itself has an anti-tampering detection, run right before a match begins. This anti-tampering detection will once more set the "no-garbage" flag at $FFA026, and will also set an additional flag to indicate tampering. That flag makes the game lock up when the player wins a match.
The game is not truly frozen, as elements continue to animate, but the player sprites will never appear on-screen to say a losing phrase and fall off before proceeding. Instead, the losing player's lost animation will play in the center portrait, and both sides remain empty forever.
A debug menu titled "MODE SELECT" is hidden below the "BACKUP DATA CLEAR" option in the test menu. It can be accessed by putting the following cheat in MAME's puyopuy2.xml cheat file:
<cheat desc="Unlock Debug Menu"> <comment>Select the invisible option at the bottom of Test Menu</comment> <script state="run"> <action>maincpu.mb@002AF6=09</action> </script> </cheat>
Changes made in this menu are saved to the backup RAM of the arcade board, and will remain active until you change the debug options again or clear the backup RAM via the "BACKUP DATA CLEAR" option. The "MEMORY SWITCH CLEAR" option in the "CUSTOM" menu does not reset the debug options.
Return to the main menu.
Rule lock and customize option. When this option has a non-zero value, the game rule is locked to the one you selected and/or customized, regardless of the current game mode. When you change this option, the settings from "LINK VOLM" to "RATE TYPE" will be changed based on the UNIT you selected. You can make additional changes to your liking, but your changes will be erased if you select other UNITs.
|UNIT||LINK VOLM||HARD||PRICE||OJAMA SCORE||RATE TYPE||Used in...|
|0||004||NORMAL||070||000||1||(Default; Rules are not locked and your changes are ignored)|
|1||004||NORMAL||070||000||1||2P Normal Rule|
|4||004||SPECIAL||140||010||1||2P Hard Puyo Rule|
|6||004||NORMAL||120||050||2||2P Point Puyo Rule|
|7||004||NORMAL||180||030||3||1P Point Puyo Rule|
|8||004||FUTA||120||010||3||1P Hard Puyo Rule #1|
|9||004||SPECIAL||120||010||3||1P Hard Puyo Rule #2|
|A||004||NORMAL||120||000||3||1P Normal Rule|
I'm not really sure if UNIT 5 and B are unused or not.
Select the number of Puyos required to clear the group of it. The only value used during normal game play is obviously 004, but you can change it from 001 to 072.
Select the toughness of Nuisance Puyo.
- NORMAL: Regular Nuisance Puyo only.
- FUTA: Hard Puyos on top row, the rest are regular Nuisance Puyos.
- SPECIAL: Hard Puyo only.
Select the points required to send one Nuisance Puyo. Ranges from 001 to 255.
Select the bonus points given from clearing the Nuisance Puyo. Ranges from 000 to 255.
Select which Chain Power Table to use.
- 1:Multiplayer Normal
- 2:Multiplayer Point Puyo
Select the demo play AI. Ranges from 000 to 031. Default is 023 (Witch). Masked Satan (032) is strangely absent from this setting.
Level select for single player mode. This doesn't seem to include any secret boss fights or Masked Satan fights.
The game starts from various number of Stage numbers. If you beat the game while skipping earlier stages (ex. directly starting from final boss and winning), you will see bunch of bogus fight records against various characters such as Skeleton-T, Samurai Mole, and Masked Satan.
|000||1||1||Start from Level 1|
|009||2||2||Start from Level 2|
|016||3||3||Start from Level 3|
|022||4||4||Start from Level 4|
|027||5||5||Start from Level 5|
|030||6||6||vs. Schezo Wegey|
Lock the opponent character to the specific one. If you select someone other than Satan and Masked Satan then beat the game, you will get a bad ending, because the game chooses the ending based on what character you fought during the final battle.
|OFF||(Default; No opponent lock)|
|000||Will O Wisp|
|012||Trio the Banshee|
|019||Uroko Sakana Bito|
Unknown. This is the only option that does not get saved to the backup RAM. Default value is 000 and the range is 000 to 013.