Shadowrun (SNES)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Added registers containing Joypad Data)
 
(2 intermediate revisions by 2 users not shown)
Line 81: Line 81:
                     18 = Stereo
                     18 = Stereo
</pre>
</pre>
{{Internal Data}}

Latest revision as of 21:20, 28 January 2024

Chip tiny.png The following article is a RAM map for Shadowrun (SNES).


          7E0030 = Temporary storage of $4200 value*
                   (NMI-Flag, Auto-Joypad-Flag)

7E006E to 7E0070 = Address of Subroutine while VBLANK*
                   (The VBLANK Handler contains a part where it jumps
                    to the address that is stored in $6E/$6F)

          7E013F = Upper Border of Stack while non-VBLANK*

7E0C1A to 7E0C1B = Joypad Data ($4218/9) of the current frame*
7E0C1C to 7E0C1D = Joypad Data ($4218/9) of the previous frame*
7E0C1E to 7E0C1F = Held Buttons (pushed both current and prev. frame)*

7E0D1E to 7E0F1D = Temporary storage of CGRAM data*
7E0F1E to 7E111D = Temporary storage of OAM data, Low Table*
7E111E to 7E113D = Temporary storage of OAM data, High Table*
*At least in the German ROM

          7E1438 = Matrix - Facing direction
                     00 = Up
                     04 = Right
                     08 = Down
                     0C = Left

7E176A to 7E176B = Matrix - Storage (current, out of 0x40)
7E176C to 7E176D = Matrix - Storage (target value)
7E176E to 7E176F = Matrix - Health (current)
7E1770 to 7E1771 = Matrix - Health (target value)

          7E1774 = Matrix - Programs modified (bit toggles)

          7E1776 = Matrix - Datastores accessed (bit toggles)

          7E1C76 = VBLANK - VBLANK counter (gets increased every VBLANK)*
7E1C78 to 7E1C79 = VBLANK - Temporary storage of A while VBLANK*
7E1C7A to 7E1C7B = VBLANK - Temporary storage of the Stack Pointer while VBLANK*
          7E1CBB = Upper Border of Stack while VBLANK*
*At least in the German ROM

7E1DA3 to 7E1DA4 = Cortex bomb timer - "Seconds" (actually frames)
7E1DA5 to 7E1DA6 = Cortex bomb timer - "Hours" (actually minutes)

          7E3BFB = Jake - Attributes - Body
          7E3BFC = Jake - Attributes - Magic
          7E3BFD = Jake - Attributes - Strength
          7E3BFE = Jake - Attributes - ??? (Maybe a hired-shadowrunner-only value?)
          7E3BFF = Jake - Attributes - Charisma
          7E3C00 = Jake - Attributes - Max HP
          7E3C01 = Jake - Skills - Firearms
          7E3C02 = Jake - Skills - Unarmed Combat
          7E3C03 = Jake - Skills - Armed Combat
          7E3C04 = Jake - Skills - Computer
          7E3C05 = Jake - Skills - Leadership
          7E3C06 = Jake - Skills - Negotiation
          7E3C07 = Jake - Magic - Powerball
          7E3C08 = Jake - Magic - Heal
          7E3C09 = Jake - Magic - Invisibility
          7E3C0A = Jake - Magic - Armor
          7E3C0B = Jake - Magic - Summon Spirit
          7E3C0C = Jake - Magic - Freeze
7E3C0D to 7E3C10 = Nuyen
7E3C11 to 7E3C12 = Experience

          7E3C17 = Jake - Sunglasses
          7E3C18 = Jake - Cyberware - Dermal Armor
          7E3C19 = Jake - Cyberware - Wired Reflexes

7E3CA3 to 7E3CE3 = Known keywords
                   The numbers of known words (0x0000 - 0x003F), terminated by 0xFFFF.

          7E8AB3 = Control type
                     16 = Control type A
                     17 = Control type B

          7E8B2F = Sound type
                     00 = Mono
                     18 = Stereo