Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Super Mario Bros./RAM map: Difference between revisions
Jump to navigation
Jump to search
(Fixed the line breaks) |
(Table'd. Added some clarity to the powerup state.) |
||
Line 1: | Line 1: | ||
This data was found by acmlm board member frantik. It is currently posted here exactly as it was posted on the acmlm board. | This data was found by acmlm board member frantik. It is currently posted here exactly as it was posted on the acmlm board. | ||
''(With minor updates. - 47)'' | |||
{| border="1" cellpadding="1" | |||
|'''RAM''' || '''Purpose''' | |||
000A | |- | ||
|0002 || Current y (vert) pos | |||
000B - Vertical | |- | ||
|0005 || Current x (horz) pos | |||
000D | |- | ||
|000A || Button State (4 - A, 8 - B) | |||
000E* | |- | ||
|000B || Pad State - Vertical (4 - Down, 8 - Up) | |||
000F* | |- | ||
|000D || Button State (4 - A, 8 - B) | |||
0014* | |- | ||
|000E*|| Mario mode | |||
0016* | {|border="1" cellpadding="1" | ||
|00||Move Mario to left side of screen. | |||
001B* | |- | ||
|01||Climbing up vine. | |||
001D | |- | ||
|02||Went in pipe. | |||
0023 | |- | ||
|03||Pipe2 | |||
002A* | |- | ||
|04,05||Autowalk | |||
002B* | |- | ||
|06||Mario dies. | |||
002C* | |- | ||
|08||Normal | |||
002D* | |- | ||
|09||Mario can't move. | |||
002E* | |- | ||
|} | |||
002F* | Higher numbers crash emu. | ||
|- | |||
0030* | |000F*|| Enemy mode (00 - not shown, 01 - shown) | ||
|- | |||
0031* | |0014*|| Show sprite (bool) | ||
|- | |||
0032* | |0016*|| Current Enemy type 06 - goomba; 11 - lakitu; 2a - surfing lift | ||
|- | |||
0033* | |001B*|| Current power up 2E - Mushroom/fire | ||
|- | |||
0039* | |001D || 00 when standing, 01 when jumping, 02 when falling, 03 when sliding down flagpole | ||
|- | |||
0045 | |0023 || set to 80 when a power up on screen. if set above 06, game will run power up checking routine | ||
|- | |||
0046 | |002A*|| Coin anim (?) | ||
|- | |||
0047 | |002B*|| Coin anim (?) | ||
|- | |||
004B | |002C*|| Coin anim (?) | ||
|- | |||
0057 | |002D*|| Coin anim (?) | ||
|- | |||
0058 | |002E*|| Coin anim (?) | ||
|- | |||
0059 | |002F*|| Coin anim (?) | ||
|- | |||
005A | |0030*|| Coin anim (?) | ||
|- | |||
006D* | |0031*|| Coin anim (?) | ||
|- | |||
0070 | |0032*|| Run 200pts animation or throw hammer (?) | ||
|- | |||
0071 | |0033*|| 00 to F1: face right, F2 - FF face left | ||
|- | |||
0072 | |0039*|| Power up type on screen (00 - mushroom, 01 - fire flower, 02 - starman, 03 - 1UP) | ||
|- | |||
0073 | |0045 || Mario Direction (01 - Right, 02 - Left) | ||
|- | |||
0086* | |0046 || Enemy Direction | ||
|- | |||
0087* | |0047 || Enemy Direction | ||
|- | |||
0088* | |004B || Mushroom Sprite Direction (01 - Right, 02 - Left) | ||
|- | |||
008C* | |0057 || horizontal speed (pos/neg) | ||
|- | |||
009F | |0058 || enemy speed (pos/neg) | ||
|- | |||
00B5 | |0059 || enemy speed (pos/neg) | ||
|- | |||
00CE* | |005A || enemy speed (pos/neg) | ||
|- | |||
00CF* | |006D*|| Horitonal position (?) | ||
|- | |||
00D0* | |0070 || current page (?) | ||
|- | |||
00D4* | |0071 || current page (?) | ||
|- | |||
03AD | |0072 || current page (?) | ||
|- | |||
03AE | |0073 || current page - 1 (?) | ||
|- | |||
03B8 | |0086*|| Mario x location | ||
|- | |||
03B9 | |0087*|| current enemy 1 sprite x location | ||
|- | |||
03C4* | |0088*|| current enemy 2 sprite x location | ||
|- | |||
0400 | |008C*|| current power up sprite x location | ||
|- | |||
0416 | |009F || Vertical speed | ||
|- | |||
0433 | |00B5 || appears to be the screen height multiplier (ie [mario's y location at 00CE] * [this byte] = [mario's true y val]) | ||
|- | |||
0450 | |00CE*|| Mario sprite y pos | ||
|- | |||
0456 | |00CF*|| enemy 1 sprite y pos | ||
|- | |||
0490* | |00D0*|| enemy 2 sprite y pos | ||
|- | |||
04C4 | |00D4*|| Power up sprite y pos | ||
|- | |||
04C6 | |03AD || mario x pos | ||
|- | |||
06CE | |03AE || enemy x pos | ||
|- | |||
06D4 | |03B8 || mario vertical pos | ||
|- | |||
06D5 | |03B9 || enemy vertical pos | ||
|- | |||
06FC | |03C4*|| mario palette # | ||
|- | |||
0700 | |0400 || horizontal movement counter | ||
|- | |||
0701 | |0416 || mario vert position | ||
|- | |||
0702 | |0433 || Mario vertical speed | ||
|- | |||
0705 | |0450 || F8 if running | ||
|- | |||
070B | |0456 || 28 if running | ||
|- | |||
0714* | |0490*|| FF normal game play allows horizontal movement | ||
|- | |||
071A | |04C4 || power up location 1 | ||
|- | |||
071B | |04C6 || power up location 2 | ||
|- | |||
071C* | |06CE || fire ball counter (?) increases when fireball thrown | ||
|- | |||
071D* | |06D4 || gold color cycle | ||
|- | |||
071F | |06D5 || Mario state (?) (B8 - small stand, [60, 70, 80] - small walk cycle, C8 - big stand, 20 - big jump, [00, 10, 20] - bigwalk cycle, 50 - crouch) | ||
|- | |||
0743 | |06FC || buttons pressed | ||
|- | |||
0744 | |0700 || x speed | ||
|- | |||
0747 | |0701 || is skidding | ||
|- | |||
074A | |0702 || E4 - is running, 30 - skidding, 98 normal | ||
|- | |||
074E | |0705 || some kind of horizontal movement counter, doesnt count while in air | ||
|- | |||
0752 | |070B || if true, runs big-small animation (doesnt affect state though) | ||
|- | |||
0753 | |0714*|| 04 when crouching | ||
|- | |||
0754 | |071A || current level room | ||
|- | |||
0756 - | |071B || next level room | ||
|- | |||
|071C*|| affects marios Horiz pos (on screen only though?) | |||
|- | |||
|071D*|| affects marios Horiz pos (on screen only though?) | |||
|- | |||
|071F || scroll speed? | |||
|- | |||
|0743 || if true, is cloud level (game sets to $03), can be set mid level | |||
|- | |||
0771 | |0744 || affects background color | ||
|- | |||
0772* | |0747 || timer (?) pauses enemies while set | ||
|- | |||
0773* | |074A || Buttons pressed | ||
|- | |||
0774 | |074E || "Gold" block pallette - 00 turns blocks into water world and makes bubble, but no swimming | ||
|- | |||
0775 | |0752 || if not 00 will crash game when level load | ||
|- | |||
0776* | |0753 || affects mario/luigi if set before level load, but prevents movement in level if not 00 | ||
|- | |||
0777 | |0754 || if true, is small | ||
|- | |||
0778* | |0756 || Player Power-Up State | ||
{| border="1" cellpadding="1" | |||
0779* | |0||Small Mario | ||
|- | |||
077A* | |1||Big Mario | ||
|- | |||
0780* | |2>||Fire Flower Mario | ||
|- | |||
0781* | |} | ||
Does not alter sprite or color palette ''(i.e. small Mario fires fireballs)'' | |||
0782* | |- | ||
|0757 || set to 01 during "prelevel" screen | |||
0783* | |- | ||
|075A || lives | |||
0784* | |- | ||
|075E || coins | |||
0785* | |- | ||
|0770*|| game mode (00 - demo, 01 - normal, 02 - End World, 03 - End Game (?) ) (set to 01 at the title screen and you start the game with the title screen showing ) | |||
0786* | |- | ||
|0771 || | |||
0787 | |- | ||
|0772*|| 00 restarts level | |||
0788* | |- | ||
|0773*|| Level palette (00 - normal, 01 - underwater, 02 - night, 03 - underground, 04 - castle) | |||
0789 | |- | ||
|0774 || ?? changes on game and level start. crashes game if changed | |||
078A* | |- | ||
|0775 || scroll speed (?) | |||
078B* | |- | ||
|0776*|| is paused (bool) | |||
078C* | |- | ||
|0777 || timer (set when pausing/unpausing | |||
078D* | |- | ||
|0778*|| affects blocks | |||
078E* | |- | ||
|0779*|| affects colors.. most values crash, 1E default, 1F makes it grey scale | |||
078F* | |- | ||
|077A*|| if true, will load luigi when mario dies. you have to unset 0753 to move with luigi though | |||
0790* | |- | ||
|0780*|| timer - (all timers count down from whatever value they are set to) | |||
0791* | |- | ||
|0781*|| timer - fired when fireball shot | |||
0792* | |- | ||
|0782*|| timer - fired when jumping | |||
0793* | |- | ||
|0783*|| timer | |||
0794* | |- | ||
|0784*|| timer | |||
0795* | |- | ||
|0785*|| timer | |||
0796* | |- | ||
|0786*|| timer | |||
0797* | |- | ||
|0787 || ?? | |||
0798* | |- | ||
|0788*|| timer | |||
0799* | |- | ||
|0789 || ?? | |||
079A* | |- | ||
|078A*|| timer | |||
079B* | |- | ||
|078B*|| timer | |||
079C* | |- | ||
|078C*|| timer | |||
079D* | |- | ||
|078D*|| timer | |||
079E* | |- | ||
|078E*|| timer | |||
079F* | |- | ||
|078F*|| timer | |||
07A0* | |- | ||
|0790*|| timer | |||
07A1* | |- | ||
|0791*|| timer | |||
07A2* | |- | ||
|0792*|| timer | |||
07A7 | |- | ||
|0793*|| timer | |||
07A8 | |- | ||
|0794*|| timer | |||
07A9 | |- | ||
|0795*|| timer - fired when you fall down a pit | |||
07AA | |- | ||
|0796*|| timer | |||
07AB | |- | ||
|- | |||
07AC | |0797*|| timer | ||
|- | |||
07AD | |0798*|| timer | ||
|- | |||
07B1* | |0799*|| timer | ||
|- | |||
07BD* | |079A*|| timer | ||
|- | |||
07D7* | |079B*|| timer | ||
|- | |||
07D8* | |079C*|| timer | ||
|- | |||
07D9* | |079D*|| timer | ||
|- | |||
07DA* | |079E*|| flashing timer (when you get hit and are invincible for a short while) | ||
|- | |||
07DB* | |079F*|| starman timer | ||
|- | |||
07DC* | |07A0*|| timer - "prelevel" screen timer, fired again when level starts | ||
|- | |||
07DD* | |07A1*|| timer | ||
|- | |||
07DE* | |07A2*|| timer - counts how long before demo is run on main screen | ||
|- | |||
07DF* | |07A7 || ?? rapidly changing even when paused | ||
|- | |||
07E0* | |07A8 || ?? rapidly changing even when paused | ||
|- | |||
07E1* | |07A9 || ?? rapidly changing even when paused | ||
|- | |||
07E2* | |07AA || ?? rapidly changing even when paused | ||
|- | |||
07E3* | |07AB || ?? rapidly changing even when paused | ||
|- | |||
07E4* | |07AC || ?? rapidly changing even when paused | ||
|- | |||
07E5* | |07AD || ?? rapidly changing even when paused | ||
|- | |||
07E6* | |07B1*|| if true, you wont "die" after falling or getting hit while small. you will be unable to move at the bottom of the screen though until you set it to 00) | ||
|- | |||
07E7* | |07BD*|| timer (?) 10 when mushroom/fireflower block last hit (fired when power up grabbed or coin block hit) | ||
|- | |||
07E8* | |07D7*|| high score - 1000000s | ||
|- | |||
07ED* | |07D8*|| high score - 100000s | ||
|- | |||
07EE* | |07D9*|| high score - 10000s | ||
|- | |||
07F8* | |07DA*|| high score - 1000s | ||
|- | |||
07F9* | |07DB*|| high score - 100s | ||
|- | |||
07FA* | |07DC*|| high score - 10s | ||
|- | |||
07FC* | |07DD*|| mario score - 1000000s | ||
|- | |||
|07DE*|| mario score - 100000s | |||
|- | |||
|07DF*|| mario score - 10000s | |||
|- | |||
|07E0*|| mario score - 1000s | |||
|- | |||
|07E1*|| mario score - 100s | |||
|- | |||
|07E2*|| mario score - 10s | |||
|- | |||
|07E3*|| luigi score - 1000000s | |||
|- | |||
|07E4*|| luigi score - 100000s | |||
|- | |||
|07E5*|| luigi score - 10000s | |||
|- | |||
|07E6*|| luigi score - 1000s | |||
|- | |||
|07E7*|| luigi score - 100s | |||
|- | |||
|07E8*|| luigi score - 10s | |||
|- | |||
|07ED*|| coins 10s (on screen only) | |||
|- | |||
|07EE*|| coins 1s (on screen only) | |||
|- | |||
|07F8*|| time - 100s | |||
|- | |||
|07F9*|| time - 10s | |||
|- | |||
|07FA*|| time - 1s | |||
|- | |||
|07FC*|| if true, game is harder (set after you beat the game) | |||
|- | |||
|} |
Revision as of 19:01, 23 October 2005
This data was found by acmlm board member frantik. It is currently posted here exactly as it was posted on the acmlm board.
(With minor updates. - 47)
RAM | Purpose | ||||||||||||||||
0002 | Current y (vert) pos | ||||||||||||||||
0005 | Current x (horz) pos | ||||||||||||||||
000A | Button State (4 - A, 8 - B) | ||||||||||||||||
000B | Pad State - Vertical (4 - Down, 8 - Up) | ||||||||||||||||
000D | Button State (4 - A, 8 - B) | ||||||||||||||||
000E* | Mario mode
Higher numbers crash emu. | ||||||||||||||||
000F* | Enemy mode (00 - not shown, 01 - shown) | ||||||||||||||||
0014* | Show sprite (bool) | ||||||||||||||||
0016* | Current Enemy type 06 - goomba; 11 - lakitu; 2a - surfing lift | ||||||||||||||||
001B* | Current power up 2E - Mushroom/fire | ||||||||||||||||
001D | 00 when standing, 01 when jumping, 02 when falling, 03 when sliding down flagpole | ||||||||||||||||
0023 | set to 80 when a power up on screen. if set above 06, game will run power up checking routine | ||||||||||||||||
002A* | Coin anim (?) | ||||||||||||||||
002B* | Coin anim (?) | ||||||||||||||||
002C* | Coin anim (?) | ||||||||||||||||
002D* | Coin anim (?) | ||||||||||||||||
002E* | Coin anim (?) | ||||||||||||||||
002F* | Coin anim (?) | ||||||||||||||||
0030* | Coin anim (?) | ||||||||||||||||
0031* | Coin anim (?) | ||||||||||||||||
0032* | Run 200pts animation or throw hammer (?) | ||||||||||||||||
0033* | 00 to F1: face right, F2 - FF face left | ||||||||||||||||
0039* | Power up type on screen (00 - mushroom, 01 - fire flower, 02 - starman, 03 - 1UP) | ||||||||||||||||
0045 | Mario Direction (01 - Right, 02 - Left) | ||||||||||||||||
0046 | Enemy Direction | ||||||||||||||||
0047 | Enemy Direction | ||||||||||||||||
004B | Mushroom Sprite Direction (01 - Right, 02 - Left) | ||||||||||||||||
0057 | horizontal speed (pos/neg) | ||||||||||||||||
0058 | enemy speed (pos/neg) | ||||||||||||||||
0059 | enemy speed (pos/neg) | ||||||||||||||||
005A | enemy speed (pos/neg) | ||||||||||||||||
006D* | Horitonal position (?) | ||||||||||||||||
0070 | current page (?) | ||||||||||||||||
0071 | current page (?) | ||||||||||||||||
0072 | current page (?) | ||||||||||||||||
0073 | current page - 1 (?) | ||||||||||||||||
0086* | Mario x location | ||||||||||||||||
0087* | current enemy 1 sprite x location | ||||||||||||||||
0088* | current enemy 2 sprite x location | ||||||||||||||||
008C* | current power up sprite x location | ||||||||||||||||
009F | Vertical speed | ||||||||||||||||
00B5 | appears to be the screen height multiplier (ie [mario's y location at 00CE] * [this byte] = [mario's true y val]) | ||||||||||||||||
00CE* | Mario sprite y pos | ||||||||||||||||
00CF* | enemy 1 sprite y pos | ||||||||||||||||
00D0* | enemy 2 sprite y pos | ||||||||||||||||
00D4* | Power up sprite y pos | ||||||||||||||||
03AD | mario x pos | ||||||||||||||||
03AE | enemy x pos | ||||||||||||||||
03B8 | mario vertical pos | ||||||||||||||||
03B9 | enemy vertical pos | ||||||||||||||||
03C4* | mario palette # | ||||||||||||||||
0400 | horizontal movement counter | ||||||||||||||||
0416 | mario vert position | ||||||||||||||||
0433 | Mario vertical speed | ||||||||||||||||
0450 | F8 if running | ||||||||||||||||
0456 | 28 if running | ||||||||||||||||
0490* | FF normal game play allows horizontal movement | ||||||||||||||||
04C4 | power up location 1 | ||||||||||||||||
04C6 | power up location 2 | ||||||||||||||||
06CE | fire ball counter (?) increases when fireball thrown | ||||||||||||||||
06D4 | gold color cycle | ||||||||||||||||
06D5 | Mario state (?) (B8 - small stand, [60, 70, 80] - small walk cycle, C8 - big stand, 20 - big jump, [00, 10, 20] - bigwalk cycle, 50 - crouch) | ||||||||||||||||
06FC | buttons pressed | ||||||||||||||||
0700 | x speed | ||||||||||||||||
0701 | is skidding | ||||||||||||||||
0702 | E4 - is running, 30 - skidding, 98 normal | ||||||||||||||||
0705 | some kind of horizontal movement counter, doesnt count while in air | ||||||||||||||||
070B | if true, runs big-small animation (doesnt affect state though) | ||||||||||||||||
0714* | 04 when crouching | ||||||||||||||||
071A | current level room | ||||||||||||||||
071B | next level room | ||||||||||||||||
071C* | affects marios Horiz pos (on screen only though?) | ||||||||||||||||
071D* | affects marios Horiz pos (on screen only though?) | ||||||||||||||||
071F | scroll speed? | ||||||||||||||||
0743 | if true, is cloud level (game sets to $03), can be set mid level | ||||||||||||||||
0744 | affects background color | ||||||||||||||||
0747 | timer (?) pauses enemies while set | ||||||||||||||||
074A | Buttons pressed | ||||||||||||||||
074E | "Gold" block pallette - 00 turns blocks into water world and makes bubble, but no swimming | ||||||||||||||||
0752 | if not 00 will crash game when level load | ||||||||||||||||
0753 | affects mario/luigi if set before level load, but prevents movement in level if not 00 | ||||||||||||||||
0754 | if true, is small | ||||||||||||||||
0756 | Player Power-Up State
Does not alter sprite or color palette (i.e. small Mario fires fireballs) | ||||||||||||||||
0757 | set to 01 during "prelevel" screen | ||||||||||||||||
075A | lives | ||||||||||||||||
075E | coins | ||||||||||||||||
0770* | game mode (00 - demo, 01 - normal, 02 - End World, 03 - End Game (?) ) (set to 01 at the title screen and you start the game with the title screen showing ) | ||||||||||||||||
0771 | |||||||||||||||||
0772* | 00 restarts level | ||||||||||||||||
0773* | Level palette (00 - normal, 01 - underwater, 02 - night, 03 - underground, 04 - castle) | ||||||||||||||||
0774 | ?? changes on game and level start. crashes game if changed | ||||||||||||||||
0775 | scroll speed (?) | ||||||||||||||||
0776* | is paused (bool) | ||||||||||||||||
0777 | timer (set when pausing/unpausing | ||||||||||||||||
0778* | affects blocks | ||||||||||||||||
0779* | affects colors.. most values crash, 1E default, 1F makes it grey scale | ||||||||||||||||
077A* | if true, will load luigi when mario dies. you have to unset 0753 to move with luigi though | ||||||||||||||||
0780* | timer - (all timers count down from whatever value they are set to) | ||||||||||||||||
0781* | timer - fired when fireball shot | ||||||||||||||||
0782* | timer - fired when jumping | ||||||||||||||||
0783* | timer | ||||||||||||||||
0784* | timer | ||||||||||||||||
0785* | timer | ||||||||||||||||
0786* | timer | ||||||||||||||||
0787 | ?? | ||||||||||||||||
0788* | timer | ||||||||||||||||
0789 | ?? | ||||||||||||||||
078A* | timer | ||||||||||||||||
078B* | timer | ||||||||||||||||
078C* | timer | ||||||||||||||||
078D* | timer | ||||||||||||||||
078E* | timer | ||||||||||||||||
078F* | timer | ||||||||||||||||
0790* | timer | ||||||||||||||||
0791* | timer | ||||||||||||||||
0792* | timer | ||||||||||||||||
0793* | timer | ||||||||||||||||
0794* | timer | ||||||||||||||||
0795* | timer - fired when you fall down a pit | ||||||||||||||||
0796* | timer | ||||||||||||||||
0797* | timer | ||||||||||||||||
0798* | timer | ||||||||||||||||
0799* | timer | ||||||||||||||||
079A* | timer | ||||||||||||||||
079B* | timer | ||||||||||||||||
079C* | timer | ||||||||||||||||
079D* | timer | ||||||||||||||||
079E* | flashing timer (when you get hit and are invincible for a short while) | ||||||||||||||||
079F* | starman timer | ||||||||||||||||
07A0* | timer - "prelevel" screen timer, fired again when level starts | ||||||||||||||||
07A1* | timer | ||||||||||||||||
07A2* | timer - counts how long before demo is run on main screen | ||||||||||||||||
07A7 | ?? rapidly changing even when paused | ||||||||||||||||
07A8 | ?? rapidly changing even when paused | ||||||||||||||||
07A9 | ?? rapidly changing even when paused | ||||||||||||||||
07AA | ?? rapidly changing even when paused | ||||||||||||||||
07AB | ?? rapidly changing even when paused | ||||||||||||||||
07AC | ?? rapidly changing even when paused | ||||||||||||||||
07AD | ?? rapidly changing even when paused | ||||||||||||||||
07B1* | if true, you wont "die" after falling or getting hit while small. you will be unable to move at the bottom of the screen though until you set it to 00) | ||||||||||||||||
07BD* | timer (?) 10 when mushroom/fireflower block last hit (fired when power up grabbed or coin block hit) | ||||||||||||||||
07D7* | high score - 1000000s | ||||||||||||||||
07D8* | high score - 100000s | ||||||||||||||||
07D9* | high score - 10000s | ||||||||||||||||
07DA* | high score - 1000s | ||||||||||||||||
07DB* | high score - 100s | ||||||||||||||||
07DC* | high score - 10s | ||||||||||||||||
07DD* | mario score - 1000000s | ||||||||||||||||
07DE* | mario score - 100000s | ||||||||||||||||
07DF* | mario score - 10000s | ||||||||||||||||
07E0* | mario score - 1000s | ||||||||||||||||
07E1* | mario score - 100s | ||||||||||||||||
07E2* | mario score - 10s | ||||||||||||||||
07E3* | luigi score - 1000000s | ||||||||||||||||
07E4* | luigi score - 100000s | ||||||||||||||||
07E5* | luigi score - 10000s | ||||||||||||||||
07E6* | luigi score - 1000s | ||||||||||||||||
07E7* | luigi score - 100s | ||||||||||||||||
07E8* | luigi score - 10s | ||||||||||||||||
07ED* | coins 10s (on screen only) | ||||||||||||||||
07EE* | coins 1s (on screen only) | ||||||||||||||||
07F8* | time - 100s | ||||||||||||||||
07F9* | time - 10s | ||||||||||||||||
07FA* | time - 1s | ||||||||||||||||
07FC* | if true, game is harder (set after you beat the game) |