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_pause
label.
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_data
is 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_3c
are equalsprite_29
andsprite_42
are equalsprite_3b
andsprite_3f
are equalsprite_3d
andsprite_3e
are equalsprite_93
andsprite_94
are equalsprite_b7
andsprite_b8
are equalsprite_bd
andsprite_be
are equalsprite_cc
,sprite_cd
,sprite_ce
are 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_03
graphic_data_01
graphic_data_02
graphic_data_03
graphic_data_04
graphic_data_05
graphic_data_06
graphic_data_07
graphic_data_08
graphic_data_09
graphic_data_0b
graphic_data_0c
graphic_data_0d
graphic_data_0e
graphic_data_13
graphic_data_15
graphic_data_17
graphic_data_18
graphic_data_19
graphic_data_1a