Difference between revisions of "Bionic Commando"
(→End of Area Code) |
(→End of Area Code) |
||
Line 558: | Line 558: | ||
B143 - B9 6E B1 - LDA $B16E,Y - Load the inventory item for this area into A | B143 - B9 6E B1 - LDA $B16E,Y - Load the inventory item for this area into A | ||
B146 - A8 - TAY - Transfer A to Y | B146 - A8 - TAY - Transfer A to Y | ||
− | B147 - D0 06 - BNE $B14F - | + | B147 - D0 06 - BNE $B14F - If there isn't an item... |
− | B149 - 20 C3 D7 - JSR $D7C3 - | + | B149 - 20 C3 D7 - JSR $D7C3 - ...jump to sub D7C3. Else... |
B14F - A9 01 - LDA #$01 - Set A to TRUE | B14F - A9 01 - LDA #$01 - Set A to TRUE | ||
B151 - 99 CA 04 - STA $04CA,Y - Set the inventory flag specified by Y to TRUE (See [[Bionic Commando#End of Area Inventory Items Table]]) | B151 - 99 CA 04 - STA $04CA,Y - Set the inventory flag specified by Y to TRUE (See [[Bionic Commando#End of Area Inventory Items Table]]) |
Revision as of 10:19, 16 March 2010
Bionic Commando is a platform game where you play the role of Rad 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 004D - Area (Is updated on map screen as helicopter moves) 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 - Beat Area 12 Flag (Unused?) 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
End of Area Code
B134 - C6 6B - DEC $006B - Decrease 006B (Delay for reading the end screen dialog) B136 - D0 36 - BNE $B16E - B138 - C6 6A - DEC $006A - Decrease 006B (Delay for reading the end screen dialog) B13A - 10 32 - BPL $B16E - B13C - A4 4D - LDY $004D - Load Y with the {Area #} B13E - A9 01 - LDA #$01 - Set A to TRUE B140 - 99 EA 04 - STA $04EA,Y - Set the area flag completed for the area we're in B143 - B9 6E B1 - LDA $B16E,Y - Load the inventory item for this area into A B146 - A8 - TAY - Transfer A to Y B147 - D0 06 - BNE $B14F - If there isn't an item... B149 - 20 C3 D7 - JSR $D7C3 - ...jump to sub D7C3. Else... B14F - A9 01 - LDA #$01 - Set A to TRUE B151 - 99 CA 04 - STA $04CA,Y - Set the inventory flag specified by Y to TRUE (See Bionic Commando#End of Area Inventory Items Table) B154 - A9 0A - LDA #$0A - Load 10 bullets. B156 - 85 26 - STA $0026 - Store the 10 bullets B158 - 20 BA D7 - JSR $D7BA - Call acquire bullets routine.
End of Area Inventory Items Table
Memory Address: B16F ROM Address: 2B17F 10 - Area 01 - Medicine 08 - Area 02 - Pendant 13 - Area 03 - Rapid Fire Device 03 - Area 04 - Wide Cannon 02 - Area 05 - Rocket Launcher 11 - Area 06 - Permit 00 - Area 07 - Nothing 12 - Area 08 - Steel Boots 05 - Area 09 - 3-Way 00 - Area 10 - Nothing (1up) 0A - Area 11 - Bullet Proof Vest 00 - Area 12 - Nothing Use these values to alter the end of area rewards. Note: This doesn't change the game text, you must alter that as well. 01 - Rifle Flag 02 - Rocket Launcher Flag 03 - Wide Cannon Flag 04 - Machinegun Flag 05 - 3-Way Flag 08 - Pendant Flag 09 - Helmet Flag 0A - Bulletproof Vest Flag 0F - Flare Bomb Flag 10 - Medicine Flag 11 - Permit Flag 12 - Steel Boots Flag 13 - Rapid Fire Device Flag 16 - Alpha Communicator Flag 17 - Beta Communicator Flag 18 - Gamma Communicator Flag 19 - Delta Communicator Flag
Unknown Routines
9749 - B085 - B9AD - C000 - Beginning of code D6A0 - D6C1 - 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 E8DF - Check for level up? 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.