Difference between revisions of "Bionic Commando"
Line 3: | Line 3: | ||
==North America== | ==North America== | ||
[[File:Bionic Commando.png|256px|right]] | [[File:Bionic Commando.png|256px|right]] | ||
+ | |||
+ | ===Memory Addresses=== | ||
+ | 000A - Accumulator Register | ||
+ | |||
+ | 000F - Gets set to 0A when an action is performed | ||
+ | 0019 - The column of the highlighting box at equipment screen | ||
+ | 001A - The row of the highlighting box at equipment screen | ||
+ | 001D - Flag for which direction ego is facing (00 - left, 01 - right) | ||
+ | |||
+ | 004A - Player Lives | ||
+ | |||
+ | 0054-0055 - The location as the title logo is drawn on the screen | ||
+ | |||
+ | 0057 - The game over screen timeout | ||
+ | |||
+ | 005F - Changes with ego position or enemy position if one if on the screen (probably a temp variable) | ||
+ | |||
+ | 0061 - Ego X position on screen | ||
+ | 0062 - Ego Y position on screen | ||
+ | |||
+ | 006A-006B - Delay after title screen finishes drawing to start intro or demo. | ||
+ | |||
+ | 0080 - The cursor toggle (0-Comm / 1-Wire, 0-Desc / 1-Tran) | ||
+ | |||
+ | 0082 - Flag during intro story. 08 - Clear text. 09 - Writing text. 0A - Waiting after text. 0B - Fade out. | ||
+ | |||
+ | 0085 - Toggles from 1 to 0 as text is being written to the screen during intro | ||
+ | |||
+ | 0087-0088 - Delay counters for writing text and clearing text during intro story | ||
+ | |||
+ | 00C0-00EF - Loaded palette colors. | ||
+ | |||
+ | A Button | ||
+ | | B Button | ||
+ | | | Start | ||
+ | | | | Select | ||
+ | | | | | Up | ||
+ | | | | | | Down | ||
+ | | | | | | | Left | ||
+ | | | | | | | | Right | ||
+ | | | | | | | | | | ||
+ | 0:0:0:0:0:0:0:0 | ||
+ | |||
+ | 00F8 - Controller 1 Press (0 - Idle, 1 - Right, 2 - left, 4 - Down, 8 - Up, 10 - Start, 20 - Select, 40 - B, 80 - A) | ||
+ | 00FA - Controller 1 Down (0 - Idle, 1 - Right, 2 - left, 4 - Down, 8 - Up, 10 - Start, 20 - Select, 40 - B, 80 - A) | ||
+ | |||
+ | 0106 - Destination area part 1 in map mode | ||
+ | 0107 - Destination area part 2 in map mode | ||
+ | |||
+ | 0150-01F0 - Sound data being processed | ||
+ | 01FC-01FF - Stack | ||
+ | |||
+ | H Mirror | ||
+ | | V Mirror | ||
+ | | | Priority | ||
+ | | | | ??? Palette | ||
+ | 0:0:0:000 00 ------- Effects Byte | ||
+ | |||
+ | 00 - Object Y Position | ||
+ | 01 - Object # | ||
+ | 02 - Object Flags | ||
+ | 03 - Object X Position | ||
+ | |||
+ | 0200-02FF - Objects on screen (Note, changing these objects only works for one cycle before they're reset) | ||
+ | 0300-03FF - Screen background tiles and palette? | ||
+ | |||
+ | 0400-043F - PPU Memory used to animate the background. (Enemy doors, text, fire, etc.) | ||
+ | |||
+ | 0440 - Map Helicopter - Process Flag (00 - Ignore, 01 - Active, +80 - Hidden) | ||
+ | 0441 - Map Truck 1 - Process Flag | ||
+ | 0442 - Map Truck 2 - Process Flag | ||
+ | 0443 - Map Truck 3 - Process Flag | ||
+ | 0444 - Map Truck 4 - Process Flag | ||
+ | 0445 - Map Truck 5 - Process Flag | ||
+ | |||
+ | 0449 - Map Helicopter Frame | ||
+ | 044A - Map Truck 1 - Pattern (01) The patterns predict how the trucks turn when they reach each area. | ||
+ | 044B - Map Truck 2 - Pattern (03) | ||
+ | 044C - Map Truck 3 - Pattern (04) | ||
+ | 044D - Map Truck 4 - Pattern (05) | ||
+ | 044E - Map Truck 5 - Pattern (07) | ||
+ | |||
+ | 0450 - Cover up object for secret passage between areas 15 and 18 | ||
+ | 0451 - Cover up object for secret passage between areas 14 and 17 | ||
+ | 0452 - Map Helicopter - X | ||
+ | 0453 - Map Truck 1 - X | ||
+ | 0454 - Map Truck 2 - X | ||
+ | 0455 - Map Truck 3 - X | ||
+ | 0456 - Map Truck 4 - X | ||
+ | 0457 - Map Truck 5 - X | ||
+ | |||
+ | 045C - Map Truck 1 - Unknown Counter | ||
+ | 045D - Map Truck 2 - Unknown Counter | ||
+ | 045E - Map Truck 3 - Unknown Counter | ||
+ | 045F - Map Truck 4 - Unknown Counter | ||
+ | 0460 - Map Truck 5 - Unknown Counter | ||
+ | |||
+ | 0464 - Map Helicopter - Y | ||
+ | 0465 - Map Truck 1 - Y | ||
+ | 0466 - Map Truck 2 - Y | ||
+ | 0467 - Map Truck 3 - Y | ||
+ | 0468 - Map Truck 4 - Y | ||
+ | 0469 - Map Truck 5 - Y | ||
+ | |||
+ | 046D - Map Helicopter Propeller toggle (00 - Spin 1, C0 - Spin 2) | ||
+ | 046E - Map Truck 1 - Unknown Counter | ||
+ | 046F - Map Truck 2 - Unknown Counter | ||
+ | 0470 - Map Truck 3 - Unknown Counter | ||
+ | 0471 - Map Truck 4 - Unknown Counter | ||
+ | 0472 - Map Truck 5 - Unknown Counter | ||
+ | |||
+ | 0476 - Map Helicopter - Graphic offset | ||
+ | 0477 - Map Truck 1 - Graphic offset | ||
+ | 0478 - Map Truck 2 - Graphic offset | ||
+ | 0479 - Map Truck 3 - Graphic offset | ||
+ | 047A - Map Truck 4 - Graphic offset | ||
+ | 047B - Map Truck 5 - Graphic offset | ||
+ | |||
+ | 047F - Map Helicopter - Direction (0 - Right, 1 - Down+Right, 2 - Down, 3 - Down+Left, 4 - Left, 5-Up+Left, 6 - Up, 7 - Up+Right) | ||
+ | 0480 - Map Truck 1 - Direction | ||
+ | 0481 - Map Truck 2 - Direction | ||
+ | 0482 - Map Truck 3 - Direction | ||
+ | 0483 - Map Truck 4 - Direction | ||
+ | 0484 - Map Truck 5 - Direction | ||
+ | |||
+ | 0488 - Map Loop (0 - Reset, 1 - Idle, 2 - Moving) | ||
+ | 0489 - Map Truck 1 - Status for next direction (1 - Idle, 2 - Switch to next direction) | ||
+ | 048A - Map Truck 2 - Status for next direction | ||
+ | 048B - Map Truck 3 - Status for next direction | ||
+ | 048C - Map Truck 4 - Status for next direction | ||
+ | 048D - Map Truck 5 - Status for next direction | ||
+ | |||
+ | 0491 - Map Status (00 - Descend Screen, 01 - Please Instruct Us / Moving, 02 - Descend/Transfer, 03 - Choose Destination) | ||
+ | 049A - Map Helicopter Transfer index (2, 4, 6, 8, A) - Also countdown after collision with truck. | ||
+ | |||
+ | 04A3 - The number of the truck that you last hit (1-5 trucks, 7 - Passage 18-15 8 - Passage 14-17) | ||
+ | 04A4 - Map Truck 1 - Hidden Timeout (Set to FF when you defeat a truck. When it becomes 0, truck flag is ANDed with 80) | ||
+ | 04A5 - Map Truck 2 - Hidden Timeout | ||
+ | 04A6 - Map Truck 3 - Hidden Timeout | ||
+ | 04A7 - Map Truck 4 - Hidden Timeout | ||
+ | 04A8 - Map Truck 5 - Hidden Timeout | ||
+ | |||
+ | 04AD - Map Truck 1 - Next index direction | ||
+ | 04AE - Map Truck 2 - Next index direction | ||
+ | 04AF - Map Truck 3 - Next index direction | ||
+ | 04B0 - Map Truck 4 - Next index direction | ||
+ | 04B1 - Map Truck 5 - Next index direction | ||
+ | |||
+ | 04B5 - Map Helicopter - Area | ||
+ | 04B6 - Map Truck 1 - Area | ||
+ | 04B7 - Map Truck 2 - Area | ||
+ | 04B8 - Map Truck 3 - Area | ||
+ | 04B9 - Map Truck 4 - Area | ||
+ | 04BA - Map Truck 5 - Area | ||
+ | |||
+ | 04BE - The number of the door that you last exited. Used for where to return you when you die. | ||
+ | 04BF - Door locked flag (only gets checked when an area is initialized) Only one door can be locked per map. | ||
+ | |||
+ | 04C1 - Flare used flag | ||
+ | 04C2 - Medicine used flag | ||
+ | |||
+ | 04CA - Selected Gun (0 - Rifle, 1 - Launcher, 2 - Wide, 3 - Machine, 4 - 3 Way) | ||
+ | 04CB - Rifle Flag | ||
+ | 04CC - Rocket Launcher Flag | ||
+ | 04CD - Wide Cannon Flag | ||
+ | 04CE - Machinegun Flag | ||
+ | 04CF - 3-Way Flag | ||
+ | 04D0 - Unused Gun Flag | ||
+ | 04D1 - Selected Armor (0 - Pendant, 1 - Helmet, 2 - BPV) | ||
+ | 04D2 - Pendant Flag | ||
+ | 04D3 - Helmet Flag | ||
+ | 04D4 - Bulletproof Vest Flag | ||
+ | 04D5 - Unused Armor Flag 1 | ||
+ | 04D6 - Unused Armor Flag 2 | ||
+ | 04D7 - Unused Armor Flag 3 | ||
+ | 04D8 - Selected Item (0 - Flares, 1 - Medicine, etc.) | ||
+ | 04D9 - Flare Bomb Flag | ||
+ | 04DA - Medicine Flag | ||
+ | 04DB - Permit Flag | ||
+ | 04DC - Steel Boots Flag | ||
+ | 04DD - Rapid Fire Device Flag | ||
+ | 04DE - Unused Item Flag | ||
+ | 04DF - Selected Communicator (0 - Alpha, 1 - Beta, 2 - Gamma, 3 - Delta) | ||
+ | 04E0 - Alpha Communicator Flag | ||
+ | 04E1 - Beta Communicator Flag | ||
+ | 04E2 - Gamma Communicator Flag | ||
+ | 04E3 - Delta Communicator Flag | ||
+ | 04E4 - Unused Communicator Flag 1 | ||
+ | 04E5 - Unused Communicator Flag 2 | ||
+ | 04E6 - The highlighted position in the item selection screen | ||
+ | 04E7 - Bullet Canisters Collected Place holder 3 | ||
+ | 04E8 - Bullet Canisters Collected Place holder 2 | ||
+ | 04E9 - Bullet Canisters Collected Place holder 1 (Moves when >9) | ||
+ | 04EA - Player Hit Points | ||
+ | 04EB - Beat Area 1 Flag | ||
+ | 04EC - Beat Area 2 Flag | ||
+ | 04ED - Beat Area 3 Flag | ||
+ | 04EE - Beat Area 4 Flag | ||
+ | 04EF - Beat Area 5 Flag | ||
+ | 04F0 - Beat Area 6 Flag | ||
+ | 04F1 - Beat Area 7 Flag | ||
+ | 04F2 - Beat Area 8 Flag | ||
+ | 04F3 - Beat Area 9 Flag | ||
+ | 04F4 - Beat Area 10 Flag | ||
+ | 04F5 - Beat Area 11 Flag | ||
+ | 04F6 - | ||
+ | 04F7 - Underground passage's found flag | ||
+ | |||
+ | 04FA - Eagle Badges | ||
+ | |||
+ | 0537 - Bullet 1 is active flag | ||
+ | 0538 - Bullet 2 is active flag | ||
+ | 0539 - Bullet 3 is active flag | ||
+ | 053A - POW is active flag | ||
+ | 053B - Arm Flag (0 - None, 1 - Out, 80 - ?) | ||
+ | 053C - Enemy Bullet 1 Active Flag | ||
+ | 053D - Enemy Bullet 2 Active Flag | ||
+ | 053E - Enemy 1 Active Flag (Main System Bullet counts as enemy) | ||
+ | 053F - Enemy 2 Active Flag | ||
+ | 0540 - Enemy 3 Active Flag | ||
+ | 0541 - Object 1 Active Flag | ||
+ | 0542 - Object 2 Active Flag | ||
+ | 0543 - Object 3 Active Flag | ||
+ | 0544 - Object 4 Active Flag | ||
+ | 0545 - Object 5 Active Flag | ||
+ | 0546 - Object 6 Active Flag | ||
+ | 0547 - Object 7 Active Flag | ||
+ | 0548 - Object 8 Active Flag | ||
+ | |||
+ | 055D - Ego Bullet 1 flag. (00 - Moving or hit wall, 01 - Off Screen right, FF - Off screen left) | ||
+ | 055E - Ego Bullet 2 flag. (00 - Moving or hit wall, 01 - Off Screen right, FF - Off screen left) | ||
+ | 055F - Ego Bullet 3 flag. (00 - Moving or hit wall, 01 - Off Screen right, FF - Off screen left) | ||
+ | |||
+ | 0562 - Enemy bullet 1 flag (00 - Moving or hit wall, 01 - Off Screen right, FF - Off screen left) | ||
+ | 0563 - Enemy bullet 2 flag (00 - Moving or hit wall, 01 - Off Screen right, FF - Off screen left) | ||
+ | 0564 - Enemy 1 flag opposite? | ||
+ | 0565 - Enemy 2 flag opposite? | ||
+ | 0566 - Enemy 3 flag opposite? | ||
+ | 0567 - Object 1 X Screen offset (How many screens away this object is from ego) | ||
+ | 0568 - Object 2 X Screen offset (How many screens away this object is from ego) | ||
+ | 0569 - Object 3 X Screen offset (How many screens away this object is from ego) | ||
+ | 056A - Object 4 X Screen offset (How many screens away this object is from ego) | ||
+ | 056B - Object 5 X Screen offset (How many screens away this object is from ego) | ||
+ | 056C - Object 6 X Screen offset (How many screens away this object is from ego) | ||
+ | 056D - Object 7 X Screen offset (How many screens away this object is from ego) | ||
+ | 056E - Object 8 X Screen offset (How many screens away this object is from ego) | ||
+ | 056F - Ego X position | ||
+ | 0570 - Bullet 1 X position | ||
+ | 0571 - Bullet 2 X position | ||
+ | 0572 - Bullet 3 X position | ||
+ | 0573 - POW X Position | ||
+ | 0574 - Arm X position | ||
+ | 0575 - Enemy Bullet 1 X position | ||
+ | 0576 - Enemy Bullet 2 X position | ||
+ | 0577 - Enemy 1 X Position (Main system bullet counts as enemy) | ||
+ | 0578 - Enemy 2 X position | ||
+ | 0579 - Enemy 3 X position | ||
+ | 057A - Object 1 X position | ||
+ | 057B - Object 2 X position | ||
+ | 057C - Object 3 X position | ||
+ | 057D - Object 4 X position | ||
+ | 057E - Object 5 X position | ||
+ | 057F - Object 6 X position | ||
+ | 0580 - Object 7 X position | ||
+ | 0581 - Object 8 X position | ||
+ | 0582 - Highlighting box X position in prep screen. | ||
+ | 0583 - Increments by 20 when ego attempts to alter X position. | ||
+ | |||
+ | 058B - Increments by 20 when enemy attempts to alter X position. | ||
+ | 058C - Increments by 20 when enemy attempts to alter X position. | ||
+ | 058D - Increments by 20 when enemy attempts to alter X position. | ||
+ | |||
+ | 058F - Enemy Cycle by 20 | ||
+ | |||
+ | 05A1 - Object 1 Y Screen offset (How many screens away this object is from ego) | ||
+ | 05A2 - Object 2 Y Screen offset (How many screens away this object is from ego) | ||
+ | 05A3 - Object 3 Y Screen offset (How many screens away this object is from ego) | ||
+ | 05A4 - Object 4 Y Screen offset (How many screens away this object is from ego) | ||
+ | 05A5 - Object 5 Y Screen offset (How many screens away this object is from ego) | ||
+ | 05A6 - Object 6 Y Screen offset (How many screens away this object is from ego) | ||
+ | 05A7 - Object 7 Y Screen offset (How many screens away this object is from ego) | ||
+ | 05A8 - Object 8 Y Screen offset (How many screens away this object is from ego) | ||
+ | 05A9 - Ego Y position | ||
+ | 05AA - Bullet 1 Y Position | ||
+ | 05AB - Bullet 2 Y Position | ||
+ | 05AC - Bullet 3 Y Position | ||
+ | 05AD - POW Y Position | ||
+ | 05AE - Arm Y Position | ||
+ | 05AF - Enemy Bullet 1 Y position | ||
+ | 05B0 - Enemy Bullet 2 Y position | ||
+ | 05B1 - Enemy 1 Y Position (Main system bullet counts as enemy) | ||
+ | 05B2 - Enemy 2 Y Position | ||
+ | 05B3 - Enemy 3 Y Position | ||
+ | 05B4 - Object 1 Y position | ||
+ | 05B5 - Object 2 Y position | ||
+ | 05B6 - Object 3 Y position | ||
+ | 05B7 - Object 4 Y position | ||
+ | 05B8 - Object 5 Y position | ||
+ | 05B9 - Object 6 Y position | ||
+ | 05BA - Object 7 Y position | ||
+ | 05BB - Object 8 Y position | ||
+ | 05BC - Highlighting box Y position in prep screen. | ||
+ | 05BD - Increments by 20 when ego attempts to alter Y position. | ||
+ | |||
+ | 05C5 - Increments by 20 when enemy attempts to alter X position. | ||
+ | 05C6 - Increments by 20 when enemy attempts to alter X position. | ||
+ | 05C7 - Increments by 20 when enemy attempts to alter X position. | ||
+ | |||
+ | 05D0 - Ego Frame (26 - Idle, 4B - Walking, 71 - Duck/Arm Angle, FD - Arm Up, | ||
+ | 05DA - Enemy 1 state | ||
+ | 05DB - Enemy 1 Graphic pointer | ||
+ | 05DD - Enemy 1 Frame | ||
+ | 05DE - Main System Explosion Frame | ||
+ | 05DF - Enemy 2 state | ||
+ | 05E0 - Enemy 3 state | ||
+ | 05E9 - Ego Swing Frame | ||
+ | 05EF - Enemy 1 Graphic pointer 2 | ||
+ | |||
+ | 05F8 - Ego Frame (00 - Idle, 48 - connected up, 60 - connected angle 2A, 5?, 8? - Walking) | ||
+ | |||
+ | 0604 - Enemy Animation Frame | ||
+ | 060A - Ego State | ||
+ | 00 - Idle | ||
+ | 01 - Walking | ||
+ | 02 - Ducking | ||
+ | 03 - Arm attached Directly Up | ||
+ | 04 - Arm attached angle | ||
+ | 05 - Falling | ||
+ | 06 - Parachuting | ||
+ | 08 - Arm attached duck/walk | ||
+ | 0A - Injured | ||
+ | 10 - Dead | ||
+ | 11 - Passing through a door) | ||
+ | 060C - Ego Frame number (2-6 walking, A - Idle, 1 - duck, more) | ||
+ | |||
+ | 0611 - Arm swinging | ||
+ | 0620 - Flag for direction Ego is facing (0 - Right, 1 - Left) | ||
+ | |||
+ | 0625 - Ego position on swing and swing failure values (1-7) | ||
+ | |||
+ | 062C - Flag for direction Enemy 1 is facing | ||
+ | 0633 - Flag for direction Ego is facing (0 - Right, 1 - Left) | ||
+ | 0634 - Flag for direction bullet 1 is moving (0 - Right, 1 - Left) | ||
+ | 0635 - Flag for direction bullet 1 is moving (0 - Right, 1 - Left) | ||
+ | 0636 - Flag for direction bullet 1 is moving (0 - Right, 1 - Left) | ||
+ | |||
+ | 063E - Flag for direction Enemy 1 is facing | ||
+ | |||
+ | 0642 - Outside neutral zone flag | ||
+ | |||
+ | 0648 - Bullet 1 active Flag (Flare counts as a bullet) | ||
+ | 0649 - Bullet 1 active Flag | ||
+ | 064A - Bullet 1 active Flag | ||
+ | 064B - POW active flag | ||
+ | |||
+ | 064C - Arm State (0 - none, 1 - out, 2 - connected) | ||
+ | 0647 - Enemy 1 X position | ||
+ | |||
+ | 0652 - Darkness status (0 - Light, 1 - Pitch Black, 2 - Eyes Adjusted) | ||
+ | 0654 - Gets set from 1 to 0 when you pickup the delta comm | ||
+ | |||
+ | 065A - Ego State | ||
+ | 00 - Idle | ||
+ | 01 - Walking | ||
+ | 02 - Ducking | ||
+ | 03 - Arm attached Directly Up | ||
+ | 04 - Arm attached angle | ||
+ | 05 - Falling at an angle | ||
+ | 07 - Falling straight down | ||
+ | 0A - Recoiling from damage | ||
+ | 10 - Dead | ||
+ | |||
+ | 0665 - Enemy 1 State (0 - Idle, Walking, 2/3 - Jumping down, etc.) Changes per enemy | ||
+ | 0666 - Enemy 2 State (0 - Idle, Walking, 2/3 - Jumping down, etc.) | ||
+ | |||
+ | 0680 - Delay from death to reset. | ||
+ | 0681 - Bullet 1 duration | ||
+ | 0682 - Bullet 1 duration | ||
+ | 0683 - Bullet 1 duration | ||
+ | 0684 - POW duration x256 | ||
+ | |||
+ | 068B - The timeout for resetting the palette to semi dark in area 4. | ||
+ | |||
+ | 0697 - POW duration x1 | ||
+ | |||
+ | 069E - Effect darkness timeouts | ||
+ | |||
+ | 06A7 - Bullet 1 state | ||
+ | 00 - none | ||
+ | 02 - Hit something/Timed Out | ||
+ | 08 - remove | ||
+ | 0A - in flight | ||
+ | +10 - if bullet is a 2x2 sprite like rocket launcher or 3-way. | ||
+ | 06A8 - Bullet 1 state | ||
+ | 06A9 - Bullet 1 state | ||
+ | |||
+ | 06AB - Flag for arm attached (00 - not attached, F7 - attached) | ||
+ | 06AC - Enemy Bullet 1 effects | ||
+ | 06AD - Enemy Bullet 2 effects | ||
+ | 06AE - Object 1 effects (Add 10 for shimmering, 20 for behind background, 40 for flashing) | ||
+ | 06AF - Object 2 effects | ||
+ | 06B0 - Object 3 effects | ||
+ | 06B1 - Object 4 effects | ||
+ | 06B2 - Object 5 effects | ||
+ | 06B3 - Object 6 effects | ||
+ | 06B4 - Object 7 effects | ||
+ | 06B5 - Object 8 effects | ||
+ | |||
+ | 06BA - Effects ego collisions | ||
+ | |||
+ | 06BF - Arm distance from ego | ||
+ | |||
+ | 06D2 - Arm throw state (3 - Up, 6 - Up angle, 4 - Straight, 5 - Ducking) | ||
+ | |||
+ | 06D7 - Slow accumulator | ||
+ | |||
+ | 0711 - Object 1 bouncing flag | ||
+ | 0712 - Object 2 bouncing flag | ||
+ | 0713 - Object 3 bouncing flag | ||
+ | 0714 - Object 4 bouncing flag | ||
+ | |||
+ | 0719 - Ego Y velocity | ||
+ | |||
+ | 0724 - Object 1 Y velocity | ||
+ | 0725 - Object 2 Y velocity | ||
+ | |||
+ | 072C - Increments by 10 as ego flies through the air. | ||
+ | |||
+ | 0737 - Object 1 counter | ||
+ | 0738 - Object 2 counter | ||
+ | 0739 - Object 3 counter | ||
+ | 073A - Object 4 counter | ||
+ | |||
+ | 073F - Unknown Ego status (00 - Init, Move - A0, 20 - Falling) | ||
+ | |||
+ | 074A - Enemy jumping status (BD - Normal, 28 - Jumping) | ||
+ | |||
+ | 075D - Object 1 incrementer (for soldiers it counts down from 8. When 0 is reached, they jump) | ||
+ | 075E - Object 2 incrementer (Bullet canisters count up by 10 each time they bounce) | ||
+ | 075F - Object 3 incrementer | ||
+ | 0760 - Object 4 incrementer | ||
+ | |||
+ | 0779 - Ego hit points | ||
+ | 077A - Ego bullet's damage value 1 | ||
+ | 077B - Ego bullet's damage value 2 | ||
+ | 077C - Ego bullet's damage value 3 | ||
+ | |||
+ | 0783 - Enemy 1 HP When killed = FF until bullet goes away. Includes bosses and main systems. | ||
+ | 0784 - Enemy 2 HP | ||
+ | 0785 - Enemy 3 HP | ||
+ | 0786 - Enemy 4 HP | ||
+ | 0787 - Enemy 5 HP | ||
+ | 0788 - Enemy 6 HP | ||
+ | 0789 - Enemy 7 HP | ||
+ | 078A - Enemy 8 HP | ||
+ | 078B - Enemy 9 HP | ||
+ | 078C - Enemy 10 HP | ||
+ | |||
+ | 0791 - Arm value of some sort | ||
+ | |||
+ | 0796 - Enemy invincibility time | ||
+ | |||
+ | 07AA - Bullet canister 1 timeout and hop count | ||
+ | 07AB - Bullet canister 2 timeout and hop count | ||
+ | 07AC - Bullet canister 3 timeout and hop count | ||
+ | |||
+ | 07E3 - Flag for ego falling (0 - falling, 1 - on ground or arm attached) | ||
+ | 07E6 - Ego State | ||
+ | 00 - Not on screen | ||
+ | 01 - Walking | ||
+ | 02 - Ducking | ||
+ | 03 - Arm Up | ||
+ | 04 - Arm walking | ||
+ | 05 - Arm ducking | ||
+ | 06 - Arm Angle | ||
+ | 09 - Climbing | ||
+ | 0A - Parachuting | ||
+ | 0B - Falling | ||
+ | 0C - Swinging 1 | ||
+ | 0D - Swinging 2 | ||
+ | 0E - Swinging 3 | ||
+ | 10 - Idle | ||
+ | 11 - Injured | ||
+ | 12 - Dead) | ||
+ | 07E7 - Same as above. | ||
+ | |||
+ | 07EB - Hyper Bazooka flag | ||
+ | |||
+ | ====Map Notes==== | ||
+ | Power Technical Requirements | ||
+ | 8 - Must beat areas 1-6 and have gamma communicator | ||
+ | 10 - Must beat area 7 and have delta communicator | ||
+ | 12 - ? | ||
+ | |||
+ | +--+ +--+ | ||
+ | |10|=====|12| | ||
+ | +--+ +--+ +--+ +--+ +--+ +--+ | ||
+ | |13| |04|==|15| |07| || \\ || | ||
+ | +--+ +--+ +--+ +--+ || \\ || | ||
+ | || // \\ || || \\ || \\ || | ||
+ | +--+ +--+ +--+ +--+ +--+ +--+ | ||
+ | |01| |16|==|05| |18| |08| |11| | ||
+ | +--+ +--+ +--+ +--+ +--+ +--+ | ||
+ | || || // || // || \\ | ||
+ | || +--+ || // +--+ +--+ | ||
+ | || |02| || // |09| |19| | ||
+ | || +--+ || // +--+ +--+ | ||
+ | || || || // || | ||
+ | +--+ +--+ +--+ +--+ +--+ | ||
+ | |00| |03|==|06|==|14| |17| | ||
+ | +--+ +--+ +--+ +--+ +--+ | ||
+ | |||
+ | Truck and Helicopter X,Y position for each area | ||
+ | Area X, Y | ||
+ | 00 - 28, 98 | ||
+ | 01 - 28, 58 | ||
+ | 02 - 48, 78 | ||
+ | 03 - 48, 98 | ||
+ | 04 - 48, 38 | ||
+ | 05 - 68, 58 | ||
+ | 06 - 68, 98 | ||
+ | 07 - 88, 38 | ||
+ | 08 - A8, 58 | ||
+ | 09 - A8, 78 | ||
+ | 10 - A8, 28 | ||
+ | 11 - D8, 58 | ||
+ | 12 - D8, 28 | ||
+ | 13 - 28, 38 | ||
+ | 14 - 88, 98 | ||
+ | 15 - 68, 38 | ||
+ | 16 - 48, 58 | ||
+ | 17 - A8, 98 | ||
+ | 18 - 88, 58 | ||
+ | 19 - C8, 78 | ||
+ | |||
+ | Truck Patterns (beginning with their initial position) | ||
+ | Truck 1 - 4,5,15,4,1,4... | ||
+ | Truck 2 - 3,6,5,2,16,5,6,3... | ||
+ | Truck 3 - 7,8,10,8,19,8,6,8,7... | ||
+ | Truck 4 - 8,19,8,7,18,7,8... | ||
+ | Truck 5 - 10,12,11,10... | ||
+ | |||
+ | |||
+ | ===Code=== | ||
+ | |||
+ | 9749 - | ||
+ | B9AD - | ||
+ | C000 - Beginning of code | ||
+ | D6A0 - | ||
+ | D6C7 - Load the graphic from register Y and A | ||
+ | D6CD - | ||
+ | D6EB - | ||
+ | D6F1 - | ||
+ | D754 - Play sound from register Y | ||
+ | D75D - | ||
+ | D760 - | ||
+ | D778 - Gets called at game init | ||
+ | D79C - | ||
+ | D7BA - | ||
+ | D7BD - Gets called at game init | ||
+ | EA8F - | ||
+ | F04F - | ||
+ | |||
+ | FEE2 matches ROM location 3FEF2 (start of truck movement values) | ||
+ | |||
+ | FFFA - Non-Maskable Interrupt (NMI) Address (2 bytes) | ||
+ | FFFC - Reset Vector (2 bytes) | ||
+ | FFFE - IRQ/BRK Vector (2 bytes) | ||
+ | |||
===Text=== | ===Text=== |
Revision as of 18:00, 15 March 2010
Bionic Commando is a platform game where you play the role of Radd in his battle against the BADDS to rescue Super Joe and stop their evil empire from taking over the world. Rather than allow the player to jump, all vertical movements must be made using your trusty bionic arm. This creates a difficult learning curve, but once arm manipulation is learned, the game becomes relatively easy. Each area ends with a boss battle to win a new power up item.
Contents
North America
Memory Addresses
000A - Accumulator Register 000F - Gets set to 0A when an action is performed 0019 - The column of the highlighting box at equipment screen 001A - The row of the highlighting box at equipment screen 001D - Flag for which direction ego is facing (00 - left, 01 - right) 004A - Player Lives 0054-0055 - The location as the title logo is drawn on the screen 0057 - The game over screen timeout 005F - Changes with ego position or enemy position if one if on the screen (probably a temp variable) 0061 - Ego X position on screen 0062 - Ego Y position on screen 006A-006B - Delay after title screen finishes drawing to start intro or demo. 0080 - The cursor toggle (0-Comm / 1-Wire, 0-Desc / 1-Tran) 0082 - Flag during intro story. 08 - Clear text. 09 - Writing text. 0A - Waiting after text. 0B - Fade out. 0085 - Toggles from 1 to 0 as text is being written to the screen during intro 0087-0088 - Delay counters for writing text and clearing text during intro story 00C0-00EF - Loaded palette colors. A Button | B Button | | Start | | | Select | | | | Up | | | | | Down | | | | | | Left | | | | | | | Right | | | | | | | | 0:0:0:0:0:0:0:0 00F8 - Controller 1 Press (0 - Idle, 1 - Right, 2 - left, 4 - Down, 8 - Up, 10 - Start, 20 - Select, 40 - B, 80 - A) 00FA - Controller 1 Down (0 - Idle, 1 - Right, 2 - left, 4 - Down, 8 - Up, 10 - Start, 20 - Select, 40 - B, 80 - A) 0106 - Destination area part 1 in map mode 0107 - Destination area part 2 in map mode 0150-01F0 - Sound data being processed 01FC-01FF - Stack H Mirror | V Mirror | | Priority | | | ??? Palette 0:0:0:000 00 ------- Effects Byte 00 - Object Y Position 01 - Object # 02 - Object Flags 03 - Object X Position 0200-02FF - Objects on screen (Note, changing these objects only works for one cycle before they're reset) 0300-03FF - Screen background tiles and palette? 0400-043F - PPU Memory used to animate the background. (Enemy doors, text, fire, etc.) 0440 - Map Helicopter - Process Flag (00 - Ignore, 01 - Active, +80 - Hidden) 0441 - Map Truck 1 - Process Flag 0442 - Map Truck 2 - Process Flag 0443 - Map Truck 3 - Process Flag 0444 - Map Truck 4 - Process Flag 0445 - Map Truck 5 - Process Flag 0449 - Map Helicopter Frame 044A - Map Truck 1 - Pattern (01) The patterns predict how the trucks turn when they reach each area. 044B - Map Truck 2 - Pattern (03) 044C - Map Truck 3 - Pattern (04) 044D - Map Truck 4 - Pattern (05) 044E - Map Truck 5 - Pattern (07) 0450 - Cover up object for secret passage between areas 15 and 18 0451 - Cover up object for secret passage between areas 14 and 17 0452 - Map Helicopter - X 0453 - Map Truck 1 - X 0454 - Map Truck 2 - X 0455 - Map Truck 3 - X 0456 - Map Truck 4 - X 0457 - Map Truck 5 - X 045C - Map Truck 1 - Unknown Counter 045D - Map Truck 2 - Unknown Counter 045E - Map Truck 3 - Unknown Counter 045F - Map Truck 4 - Unknown Counter 0460 - Map Truck 5 - Unknown Counter 0464 - Map Helicopter - Y 0465 - Map Truck 1 - Y 0466 - Map Truck 2 - Y 0467 - Map Truck 3 - Y 0468 - Map Truck 4 - Y 0469 - Map Truck 5 - Y 046D - Map Helicopter Propeller toggle (00 - Spin 1, C0 - Spin 2) 046E - Map Truck 1 - Unknown Counter 046F - Map Truck 2 - Unknown Counter 0470 - Map Truck 3 - Unknown Counter 0471 - Map Truck 4 - Unknown Counter 0472 - Map Truck 5 - Unknown Counter 0476 - Map Helicopter - Graphic offset 0477 - Map Truck 1 - Graphic offset 0478 - Map Truck 2 - Graphic offset 0479 - Map Truck 3 - Graphic offset 047A - Map Truck 4 - Graphic offset 047B - Map Truck 5 - Graphic offset 047F - Map Helicopter - Direction (0 - Right, 1 - Down+Right, 2 - Down, 3 - Down+Left, 4 - Left, 5-Up+Left, 6 - Up, 7 - Up+Right) 0480 - Map Truck 1 - Direction 0481 - Map Truck 2 - Direction 0482 - Map Truck 3 - Direction 0483 - Map Truck 4 - Direction 0484 - Map Truck 5 - Direction 0488 - Map Loop (0 - Reset, 1 - Idle, 2 - Moving) 0489 - Map Truck 1 - Status for next direction (1 - Idle, 2 - Switch to next direction) 048A - Map Truck 2 - Status for next direction 048B - Map Truck 3 - Status for next direction 048C - Map Truck 4 - Status for next direction 048D - Map Truck 5 - Status for next direction 0491 - Map Status (00 - Descend Screen, 01 - Please Instruct Us / Moving, 02 - Descend/Transfer, 03 - Choose Destination) 049A - Map Helicopter Transfer index (2, 4, 6, 8, A) - Also countdown after collision with truck. 04A3 - The number of the truck that you last hit (1-5 trucks, 7 - Passage 18-15 8 - Passage 14-17) 04A4 - Map Truck 1 - Hidden Timeout (Set to FF when you defeat a truck. When it becomes 0, truck flag is ANDed with 80) 04A5 - Map Truck 2 - Hidden Timeout 04A6 - Map Truck 3 - Hidden Timeout 04A7 - Map Truck 4 - Hidden Timeout 04A8 - Map Truck 5 - Hidden Timeout 04AD - Map Truck 1 - Next index direction 04AE - Map Truck 2 - Next index direction 04AF - Map Truck 3 - Next index direction 04B0 - Map Truck 4 - Next index direction 04B1 - Map Truck 5 - Next index direction 04B5 - Map Helicopter - Area 04B6 - Map Truck 1 - Area 04B7 - Map Truck 2 - Area 04B8 - Map Truck 3 - Area 04B9 - Map Truck 4 - Area 04BA - Map Truck 5 - Area 04BE - The number of the door that you last exited. Used for where to return you when you die. 04BF - Door locked flag (only gets checked when an area is initialized) Only one door can be locked per map. 04C1 - Flare used flag 04C2 - Medicine used flag 04CA - Selected Gun (0 - Rifle, 1 - Launcher, 2 - Wide, 3 - Machine, 4 - 3 Way) 04CB - Rifle Flag 04CC - Rocket Launcher Flag 04CD - Wide Cannon Flag 04CE - Machinegun Flag 04CF - 3-Way Flag 04D0 - Unused Gun Flag 04D1 - Selected Armor (0 - Pendant, 1 - Helmet, 2 - BPV) 04D2 - Pendant Flag 04D3 - Helmet Flag 04D4 - Bulletproof Vest Flag 04D5 - Unused Armor Flag 1 04D6 - Unused Armor Flag 2 04D7 - Unused Armor Flag 3 04D8 - Selected Item (0 - Flares, 1 - Medicine, etc.) 04D9 - Flare Bomb Flag 04DA - Medicine Flag 04DB - Permit Flag 04DC - Steel Boots Flag 04DD - Rapid Fire Device Flag 04DE - Unused Item Flag 04DF - Selected Communicator (0 - Alpha, 1 - Beta, 2 - Gamma, 3 - Delta) 04E0 - Alpha Communicator Flag 04E1 - Beta Communicator Flag 04E2 - Gamma Communicator Flag 04E3 - Delta Communicator Flag 04E4 - Unused Communicator Flag 1 04E5 - Unused Communicator Flag 2 04E6 - The highlighted position in the item selection screen 04E7 - Bullet Canisters Collected Place holder 3 04E8 - Bullet Canisters Collected Place holder 2 04E9 - Bullet Canisters Collected Place holder 1 (Moves when >9) 04EA - Player Hit Points 04EB - Beat Area 1 Flag 04EC - Beat Area 2 Flag 04ED - Beat Area 3 Flag 04EE - Beat Area 4 Flag 04EF - Beat Area 5 Flag 04F0 - Beat Area 6 Flag 04F1 - Beat Area 7 Flag 04F2 - Beat Area 8 Flag 04F3 - Beat Area 9 Flag 04F4 - Beat Area 10 Flag 04F5 - Beat Area 11 Flag 04F6 - 04F7 - Underground passage's found flag 04FA - Eagle Badges 0537 - Bullet 1 is active flag 0538 - Bullet 2 is active flag 0539 - Bullet 3 is active flag 053A - POW is active flag 053B - Arm Flag (0 - None, 1 - Out, 80 - ?) 053C - Enemy Bullet 1 Active Flag 053D - Enemy Bullet 2 Active Flag 053E - Enemy 1 Active Flag (Main System Bullet counts as enemy) 053F - Enemy 2 Active Flag 0540 - Enemy 3 Active Flag 0541 - Object 1 Active Flag 0542 - Object 2 Active Flag 0543 - Object 3 Active Flag 0544 - Object 4 Active Flag 0545 - Object 5 Active Flag 0546 - Object 6 Active Flag 0547 - Object 7 Active Flag 0548 - Object 8 Active Flag 055D - Ego Bullet 1 flag. (00 - Moving or hit wall, 01 - Off Screen right, FF - Off screen left) 055E - Ego Bullet 2 flag. (00 - Moving or hit wall, 01 - Off Screen right, FF - Off screen left) 055F - Ego Bullet 3 flag. (00 - Moving or hit wall, 01 - Off Screen right, FF - Off screen left) 0562 - Enemy bullet 1 flag (00 - Moving or hit wall, 01 - Off Screen right, FF - Off screen left) 0563 - Enemy bullet 2 flag (00 - Moving or hit wall, 01 - Off Screen right, FF - Off screen left) 0564 - Enemy 1 flag opposite? 0565 - Enemy 2 flag opposite? 0566 - Enemy 3 flag opposite? 0567 - Object 1 X Screen offset (How many screens away this object is from ego) 0568 - Object 2 X Screen offset (How many screens away this object is from ego) 0569 - Object 3 X Screen offset (How many screens away this object is from ego) 056A - Object 4 X Screen offset (How many screens away this object is from ego) 056B - Object 5 X Screen offset (How many screens away this object is from ego) 056C - Object 6 X Screen offset (How many screens away this object is from ego) 056D - Object 7 X Screen offset (How many screens away this object is from ego) 056E - Object 8 X Screen offset (How many screens away this object is from ego) 056F - Ego X position 0570 - Bullet 1 X position 0571 - Bullet 2 X position 0572 - Bullet 3 X position 0573 - POW X Position 0574 - Arm X position 0575 - Enemy Bullet 1 X position 0576 - Enemy Bullet 2 X position 0577 - Enemy 1 X Position (Main system bullet counts as enemy) 0578 - Enemy 2 X position 0579 - Enemy 3 X position 057A - Object 1 X position 057B - Object 2 X position 057C - Object 3 X position 057D - Object 4 X position 057E - Object 5 X position 057F - Object 6 X position 0580 - Object 7 X position 0581 - Object 8 X position 0582 - Highlighting box X position in prep screen. 0583 - Increments by 20 when ego attempts to alter X position. 058B - Increments by 20 when enemy attempts to alter X position. 058C - Increments by 20 when enemy attempts to alter X position. 058D - Increments by 20 when enemy attempts to alter X position. 058F - Enemy Cycle by 20 05A1 - Object 1 Y Screen offset (How many screens away this object is from ego) 05A2 - Object 2 Y Screen offset (How many screens away this object is from ego) 05A3 - Object 3 Y Screen offset (How many screens away this object is from ego) 05A4 - Object 4 Y Screen offset (How many screens away this object is from ego) 05A5 - Object 5 Y Screen offset (How many screens away this object is from ego) 05A6 - Object 6 Y Screen offset (How many screens away this object is from ego) 05A7 - Object 7 Y Screen offset (How many screens away this object is from ego) 05A8 - Object 8 Y Screen offset (How many screens away this object is from ego) 05A9 - Ego Y position 05AA - Bullet 1 Y Position 05AB - Bullet 2 Y Position 05AC - Bullet 3 Y Position 05AD - POW Y Position 05AE - Arm Y Position 05AF - Enemy Bullet 1 Y position 05B0 - Enemy Bullet 2 Y position 05B1 - Enemy 1 Y Position (Main system bullet counts as enemy) 05B2 - Enemy 2 Y Position 05B3 - Enemy 3 Y Position 05B4 - Object 1 Y position 05B5 - Object 2 Y position 05B6 - Object 3 Y position 05B7 - Object 4 Y position 05B8 - Object 5 Y position 05B9 - Object 6 Y position 05BA - Object 7 Y position 05BB - Object 8 Y position 05BC - Highlighting box Y position in prep screen. 05BD - Increments by 20 when ego attempts to alter Y position. 05C5 - Increments by 20 when enemy attempts to alter X position. 05C6 - Increments by 20 when enemy attempts to alter X position. 05C7 - Increments by 20 when enemy attempts to alter X position. 05D0 - Ego Frame (26 - Idle, 4B - Walking, 71 - Duck/Arm Angle, FD - Arm Up, 05DA - Enemy 1 state 05DB - Enemy 1 Graphic pointer 05DD - Enemy 1 Frame 05DE - Main System Explosion Frame 05DF - Enemy 2 state 05E0 - Enemy 3 state 05E9 - Ego Swing Frame 05EF - Enemy 1 Graphic pointer 2 05F8 - Ego Frame (00 - Idle, 48 - connected up, 60 - connected angle 2A, 5?, 8? - Walking) 0604 - Enemy Animation Frame 060A - Ego State 00 - Idle 01 - Walking 02 - Ducking 03 - Arm attached Directly Up 04 - Arm attached angle 05 - Falling 06 - Parachuting 08 - Arm attached duck/walk 0A - Injured 10 - Dead 11 - Passing through a door) 060C - Ego Frame number (2-6 walking, A - Idle, 1 - duck, more) 0611 - Arm swinging 0620 - Flag for direction Ego is facing (0 - Right, 1 - Left) 0625 - Ego position on swing and swing failure values (1-7) 062C - Flag for direction Enemy 1 is facing 0633 - Flag for direction Ego is facing (0 - Right, 1 - Left) 0634 - Flag for direction bullet 1 is moving (0 - Right, 1 - Left) 0635 - Flag for direction bullet 1 is moving (0 - Right, 1 - Left) 0636 - Flag for direction bullet 1 is moving (0 - Right, 1 - Left) 063E - Flag for direction Enemy 1 is facing 0642 - Outside neutral zone flag 0648 - Bullet 1 active Flag (Flare counts as a bullet) 0649 - Bullet 1 active Flag 064A - Bullet 1 active Flag 064B - POW active flag 064C - Arm State (0 - none, 1 - out, 2 - connected) 0647 - Enemy 1 X position 0652 - Darkness status (0 - Light, 1 - Pitch Black, 2 - Eyes Adjusted) 0654 - Gets set from 1 to 0 when you pickup the delta comm 065A - Ego State 00 - Idle 01 - Walking 02 - Ducking 03 - Arm attached Directly Up 04 - Arm attached angle 05 - Falling at an angle 07 - Falling straight down 0A - Recoiling from damage 10 - Dead 0665 - Enemy 1 State (0 - Idle, Walking, 2/3 - Jumping down, etc.) Changes per enemy 0666 - Enemy 2 State (0 - Idle, Walking, 2/3 - Jumping down, etc.) 0680 - Delay from death to reset. 0681 - Bullet 1 duration 0682 - Bullet 1 duration 0683 - Bullet 1 duration 0684 - POW duration x256 068B - The timeout for resetting the palette to semi dark in area 4. 0697 - POW duration x1 069E - Effect darkness timeouts 06A7 - Bullet 1 state 00 - none 02 - Hit something/Timed Out 08 - remove 0A - in flight +10 - if bullet is a 2x2 sprite like rocket launcher or 3-way. 06A8 - Bullet 1 state 06A9 - Bullet 1 state 06AB - Flag for arm attached (00 - not attached, F7 - attached) 06AC - Enemy Bullet 1 effects 06AD - Enemy Bullet 2 effects 06AE - Object 1 effects (Add 10 for shimmering, 20 for behind background, 40 for flashing) 06AF - Object 2 effects 06B0 - Object 3 effects 06B1 - Object 4 effects 06B2 - Object 5 effects 06B3 - Object 6 effects 06B4 - Object 7 effects 06B5 - Object 8 effects 06BA - Effects ego collisions 06BF - Arm distance from ego 06D2 - Arm throw state (3 - Up, 6 - Up angle, 4 - Straight, 5 - Ducking) 06D7 - Slow accumulator 0711 - Object 1 bouncing flag 0712 - Object 2 bouncing flag 0713 - Object 3 bouncing flag 0714 - Object 4 bouncing flag 0719 - Ego Y velocity 0724 - Object 1 Y velocity 0725 - Object 2 Y velocity 072C - Increments by 10 as ego flies through the air. 0737 - Object 1 counter 0738 - Object 2 counter 0739 - Object 3 counter 073A - Object 4 counter 073F - Unknown Ego status (00 - Init, Move - A0, 20 - Falling) 074A - Enemy jumping status (BD - Normal, 28 - Jumping) 075D - Object 1 incrementer (for soldiers it counts down from 8. When 0 is reached, they jump) 075E - Object 2 incrementer (Bullet canisters count up by 10 each time they bounce) 075F - Object 3 incrementer 0760 - Object 4 incrementer 0779 - Ego hit points 077A - Ego bullet's damage value 1 077B - Ego bullet's damage value 2 077C - Ego bullet's damage value 3 0783 - Enemy 1 HP When killed = FF until bullet goes away. Includes bosses and main systems. 0784 - Enemy 2 HP 0785 - Enemy 3 HP 0786 - Enemy 4 HP 0787 - Enemy 5 HP 0788 - Enemy 6 HP 0789 - Enemy 7 HP 078A - Enemy 8 HP 078B - Enemy 9 HP 078C - Enemy 10 HP 0791 - Arm value of some sort 0796 - Enemy invincibility time 07AA - Bullet canister 1 timeout and hop count 07AB - Bullet canister 2 timeout and hop count 07AC - Bullet canister 3 timeout and hop count 07E3 - Flag for ego falling (0 - falling, 1 - on ground or arm attached) 07E6 - Ego State 00 - Not on screen 01 - Walking 02 - Ducking 03 - Arm Up 04 - Arm walking 05 - Arm ducking 06 - Arm Angle 09 - Climbing 0A - Parachuting 0B - Falling 0C - Swinging 1 0D - Swinging 2 0E - Swinging 3 10 - Idle 11 - Injured 12 - Dead) 07E7 - Same as above. 07EB - Hyper Bazooka flag
Map Notes
Power Technical Requirements 8 - Must beat areas 1-6 and have gamma communicator 10 - Must beat area 7 and have delta communicator 12 - ? +--+ +--+ |10|=====|12| +--+ +--+ +--+ +--+ +--+ +--+ |13| |04|==|15| |07| || \\ || +--+ +--+ +--+ +--+ || \\ || || // \\ || || \\ || \\ || +--+ +--+ +--+ +--+ +--+ +--+ |01| |16|==|05| |18| |08| |11| +--+ +--+ +--+ +--+ +--+ +--+ || || // || // || \\ || +--+ || // +--+ +--+ || |02| || // |09| |19| || +--+ || // +--+ +--+ || || || // || +--+ +--+ +--+ +--+ +--+ |00| |03|==|06|==|14| |17| +--+ +--+ +--+ +--+ +--+ Truck and Helicopter X,Y position for each area Area X, Y 00 - 28, 98 01 - 28, 58 02 - 48, 78 03 - 48, 98 04 - 48, 38 05 - 68, 58 06 - 68, 98 07 - 88, 38 08 - A8, 58 09 - A8, 78 10 - A8, 28 11 - D8, 58 12 - D8, 28 13 - 28, 38 14 - 88, 98 15 - 68, 38 16 - 48, 58 17 - A8, 98 18 - 88, 58 19 - C8, 78 Truck Patterns (beginning with their initial position) Truck 1 - 4,5,15,4,1,4... Truck 2 - 3,6,5,2,16,5,6,3... Truck 3 - 7,8,10,8,19,8,6,8,7... Truck 4 - 8,19,8,7,18,7,8... Truck 5 - 10,12,11,10...
Code
9749 - B9AD - C000 - Beginning of code D6A0 - D6C7 - Load the graphic from register Y and A D6CD - D6EB - D6F1 - D754 - Play sound from register Y D75D - D760 - D778 - Gets called at game init D79C - D7BA - D7BD - Gets called at game init EA8F - F04F -
FEE2 matches ROM location 3FEF2 (start of truck movement values)
FFFA - Non-Maskable Interrupt (NMI) Address (2 bytes) FFFC - Reset Vector (2 bytes) FFFE - IRQ/BRK Vector (2 bytes)
Text
Bionic Commando has a very strange table. The letters are jumbled up in a bizarre offset, most likely due to poor translation (which the game's text also suffers from). There are two files, one for the title screen the other for the game.
Title
20= C2=' C4=© C5=1 C6=9 C7=8 C9=C CA=A CC=C CD=O CE=M CF=T D1=S D2=R D3=N D4=I D5=U D6=E D7=G D8=V D9=B DA=P DB=H DC=., DD=. DE=D DF=L E0=Y E1=F E2=X E3=! E4=@ E5=/
Game
00= 01=F 02=0 03=G 04=1 05=H 06=2 07=I 08=3 09=J 0A=4 0B=K 0C=5 0D=L 0E=6 0F=M 10=7 11=N 12=8 13=O 14=9 15=P 16=A 17=Q 18=B 19=R 1A=C 1B=S 1C=D 1D=T 1E=E 1F=U 20=V 21=+ 22=W 23=Δ 24=X 26=Y 28=Z 2A=, 2C=' 2E=* 30=. 32=? 34=! 36=α 38=β 3A=γ 3C=d 3E=δ
Japan
The Original Japanese version of the game is called ヒットラーの復活 トップシークレット (Hitler no Fukkatsu: Top Secret) translated: Top Secret: The Resurrection of Hitler. In the game, you blast away at Nazis and there are swastikas all over the place.
Eupore
The European version of Bionic Commando is nearly identical to the North American version. No attempt was even made to re-synch the audio for the slower PAL frame rate.
Text
The text tables are identical to the North American release.