4.3 KiB
Overview
This file outlines the differences between Contra (US) and Probotector.
Probotector is the PAL-specific variation of the Contra (US) game. Note
that all of the documentation that refers to code or look up table memory
addresses were documented using Contra (US) and may not be identical to the
addresses in Probotector. All of the addresses that are used for game logic
are the same. This includes pretty much any address defined in constants.asm.
Differences
There are about 168 differences (#$a8 differences) between Contra (US) and Probotector. Most of these differences are sprites.
Logic
- When destroying all enemies (cleared screen, defeated boss, or picked up falcon weapon item), there is an additional check to not update the enemy to the "enemy destroyed" routine if its HP is 0. This check isn't done in Contra (US). This has no known effective difference in game play.
- There is a useless execution of a function that does nothing but exit in the
check_for_pauselabel.
Audio
The helicopter sound is not played during the ending animation in Probotector. This is because the helicopter was replaced with a Jet.
Background
- The introduction screen is completely different in Probotector. There is no scrolling introduction, and Bill and Lance have been replaced with a large PROBOTECTOR graphic.
- The
level_8_supertile_datais different between Probotector and Contra (US). 3 super-tiles on the wall in front of the Alien Guardian (enemy type #$10) in Alien's Lair contain more well-formed shells in Probotector. The shells in Probotector are actually retained from the super-tiles from the Japanese version.
Palettes
A few palettes are different, causing the sprites to have been updated to use a different palette index to maintain the same color as the Contra. Some of the sprites are different colors due to the sprite changes
- Giant boss soldier's (enemy type #$13) spiked projectiles (enemy type #$14) were changed from blue to gray.
- Enemy bullet color is red rather than white.
- Dragon orbs (enemy type #$15) are red and blue rather than grey and red.
- Ice grenades (enemy type #$11) are gray instead of blue.
- Mining carts (enemy type #$14 and #$15) have black wheels instead of blue.
- Flying capsules (enemy type #$03) on Alien's Lair are pink.
Player invincibility sprite palette pattern for player 2 alternates between red and gray instead of red and blue like in Contra (US). In Contra (US) both player 1 and player 2 flash between red and blue when have the B weapon.
Text
- In the SPECIAL THANKS section of the credits, the to "AC CONTRA TEAM" has been replaced with "AC TEAM".
- The location of various text on the game over screen and continue screen have
been slightly moved
- GAME OVER
- CONTINUE
- END
- 1 PLAYER
- 2 PLAYERS
- Similarly, the introduction screen cursor locations have been updated to match the new location of CONTINUE/END.
Sprites
Many of the sprites were changed to replace humans with robots. Additionally, some sprite animations were simplified, making many sprites identical, when they weren't in Contra (US)
sprite_27,sprite_28,sprite_3care equalsprite_29andsprite_42are equalsprite_3bandsprite_3fare equalsprite_3dandsprite_3eare equalsprite_93andsprite_94are equalsprite_b7andsprite_b8are equalsprite_bdandsprite_beare equalsprite_cc,sprite_cd,sprite_ceare unused in Probotector. However, they do exist and point tosprite_cf(ending animation islands).
To accommodate the player sprite changes, the initial location relative to the
center of the player where bullets are generated have been adjusted (see
bullet_initial_pos_00).
Graphics
Below is the list of compressed graphics that are different. I haven't confirmed, but these differences are most likely just sprite pattern table tile differences (left pattern table).
alt_graphic_data_03graphic_data_01graphic_data_02graphic_data_03graphic_data_04graphic_data_05graphic_data_06graphic_data_07graphic_data_08graphic_data_09graphic_data_0bgraphic_data_0cgraphic_data_0dgraphic_data_0egraphic_data_13graphic_data_15graphic_data_17graphic_data_18graphic_data_19graphic_data_1a