If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
Notes:Addams Family Values (SNES)
Jump to navigation
Jump to search
This page contains notes for the game Addams Family Values (SNES).
Contents
Memory Addresses
7E0060 - in object scripts, holds 24-bit jump address to routines (object script command FC) 7E0074 - temp RAM - pointer (24-bit) to current event script command being executed 7E00A0 - object index (ex: 00EE = Fester) 7E0104 - frame counter since last controller input (16-bit) 7E0106 - frame counter (16-bit) 7E0234 - RNG value (16-bit) seed = #$5257 7E0414 - if #$5257 (ASCII RW), allowed access to debug menu and debug WTW/collision disable. if non-zero, allowed access to debug menu functions and debug inventory. if zero, no debug access. 7E0658 - SECTION 7E065E - ROOM 7E07C2 - direction facing? (TODO) see also 7E104F 7E088A - set to #$0001 if completed event script where currently standing (set to #$0000 after walking away) TODO 7E0BB4 - currently equipped item index (16-bit) (see RAM range starting at 7EE9D7 below for item ID) FFFF=nothing equipped 7E0DFB - P1 controller presses 0100=right 0200=left 0400=down 0800=up 7E1027 - multiple bits 0001=Fester movement enabled 0004=unknown 7E104F - Fester direction facing 0001=left 0002=right 0004=up 0008=down 7E1051 - counter for Fester pressed against an object or wall 7E105D - pointer to object script (16-bit) 7E9000,object object ID 7E91E0,object x coord? 7E92D0,object y coord? 7E93C0,object ??? 7E9870,object ??? 7E9B42,object ??? 7E9C32,object countdown timer for object 7E9D22,object frame counter for object 7E9E12,object animation frame index (TODO - check if stored as 8-bit or 16-bit) 7E9F02,object ??? 7EA72E,object ??? (possibly a script pointer) 7EA90E,object script pointer used by commands DA,D9 7EA9FE,object script pointer used by commands A5,A4 7EAAEE,object processor status - uses bits 0x80 (negative) 0x02 (zero) 0x01 (carry) 7EACCE,object movement counter (object keeps moving until counter reaches 0?) 7EB08E,object x coord copied from 7E91E0,object? 7EB17E,object y coord copied from 7E92D0,object? 7EB62E,object ??? used by command D8 7EB71E,object ??? used by command D7 7EB80E,object ??? used by command D6 7EB8FE,object ??? used by command D5 7EB9EE,object ??? used by command D4 7EBADE,object ??? used by command D3 7EBBCE,object ??? used by command D5 7EBCBE,object ??? used by command D4 7EBDAE,object ??? used by command D3 7EBE9E,object multiple bits (Fester touched object, draw object) bit 0x02 used by command DE TODO 7EBF8E,object ??? 7EC07E,object ??? used by command CF 7EC16E,object ??? 7EC25E,object ??? 7EC34E,object ??? used by command BB 7EC52E,object ??? used by command B8 7ECD9E,object if value isn't #$4321, the object being touched is an item that can be picked up 7ED15E,object ??? used by command B1 Cutscene flags (16-bit) 0000=off FFFF=viewed cutscene 7EE8BA - ID 00 Front gate 7EE8BC - ID 01 Smashed pillar hidden staircase 7EE8BE - ID 02 Bookcase (MANSION ROOM 010) 7EE8C0 - ID 03 Wednesday pumpkin 7EE8C2 - ID 04 Petrified wilderness 7EE8C4 - ID 05 Swamp 7EE8C6 - ID 06 Uncle Fritz 7EE8C8 - ID 07 Mansion 7EE8CA - ID 08 Pipe ready to burst 7EE8CC - ID 09 Foul sewage 7EE8CE - ID 0A Congratulations! Ending 7EE8D0 - ID 0B Gargoyle 7EE8D2 - ID 0C Thing escapes up the vine 7EE8D4 - ID 0D Bookcase (MANSION ROOM 011) 7EE8D6 - ID 0E Bookcase (MANSION ROOM 012) 7EE8D8 - ID 0F Bookcase (MANSION ROOM 013) Event flags 0x7A total (8-bit) 00=off FF=on 7EE8DE 7EE94F door in final boss room FF=open 00=closed - set in MANSION ROOM 019, checked in MANSION ROOM 019 7EE956 Jellinsky defeated - set in MANSION ROOM 037 Event flags (8-bit) 00=off FF=on 7EE958 Items (8-bit) 00=nothing FF=have item 7EE9D7 ID 00 THE GREENHOUSE KEY (added SWAMPS ROOM 008) 7EE9D8 ID 01 A GREEN KEY (added GREENHSE ROOM 004) 7EE9D9 ID 02 A SKULL KEY 7EE9DA ID 03 THE STONE TWIG KEY 7EE9DB ID 04 A JEWELLED KEY 7EE9DC ID 05 THE STONE KEY 7EE9DD ID 06 THE SPIDER KEY 7EE9DE ID 07 THE IRON KEY 7EE9DF ID 08 DRAGON BELCH COOKIE 7EE9E0 ID 09 BLACK BEETLE COOKIE 7EE9E1 ID 0A CRUSTY COOKIE 7EE9E2 ID 0B CRUMBLE COOKIE 7EE9E3 ID 0C DRAGON BELCH COOKIE 7EE9E4 ID 0D BLACK BEETLE COOKIE 7EE9E5 ID 0E CRUSTY COOKIE 7EE9E6 ID 0F CRUMBLE COOKIE 7EE9E7 ID 10 RED POTION 7EE9E8 ID 11 PORTAL POTION (unused) 7EE9E9 ID 12 SLIMMING POTION 7EE9EA ID 13 BOTTLE OF DR JIBES PLANT FOOD (added GREENHSE ROOM 020) 7EE9EB ID 14 SMALL ROCKS 7EE9EC ID 15 BLUE MARBLES 7EE9ED ID 16 MAGICAL SEEDS 7EE9EE ID 17 SWAMP SLIME 7EE9EF ID 18 CLYDE'S COOKIE COMPENDIUM 7EE9F0 ID 19 BIG BOOK OF BISCUITS 7EE9F1 ID 1A MAX's MUNCH MANUAL 7EE9F2 ID 1B JOURNAL (added ENDBAD 0 ROOM 000 - Gomez) 7EE9F3 ID 1C PUMPKIN (added GREENHSE ROOM 004) 7EE9F4 ID 1D HEADLESS TEDDY 7EE9F5 ID 1E SACK OF GOLD 7EE9F6 ID 1F CANDLE (added DUNGEON ROOM 117) 7EE9F7 ID 20 BONE SPOON 7EE9F8 ID 21 SKULL RATTLE (added ROCKIES ROOM 000 - Phweep) 7EE9F9 ID 22 BOOK OF FLYING 7EE9FA ID 23 BLACK ROSE (added DUNGEON ROOM 015) 7EE9FB ID 24 MUSICAL BOX 7EE9FC ID 25 AMULET OF TRUESIGHT 7EE9FD ID 26 SHOCKWAVE 7EE9FE ID 27 SPIDERS EYE 7EE9FF ID 28 MAGNET 7EEA00 ID 29 STRANGE BLACK CUBE 7EEA01 ID 2A STONE BUTTON 7EEA02 ID 2B LARGE VINE 7EEA03 ID 2C FIREFLY 7EEA04 ID 2D LURCH'S BOWLING BALL 7EEA05 ID 2E BLACK EGG (unused) 7EEA06 ID 2F GOLD COIN Temporary event flags? 7EEA09
Map Script Commands
0000 ???? ???? ???? use exit unverified TODO 0100 ii00 add item - ii=index of item to add, range $00-2F (see Memory Addresses for list) 0200 ???? 0300 unknown, has no arguments? 0400 unknown, has no arguments? 0500 ???? ???? ???? probably a warp command 0600 ???? ???? ???? probably a warp command 0700 ???? ???? ???? probably a warp command 0800 ??00 ??00 ??00 warp - TODO 0900 ???? ???? ???? probably a warp command 0A00 ii00 display cutscene - cc=index of cutscene to display, range $00-0F (see Memory Addresses for list) 0B00 ii00 vv00 flip bits (8-bit) - if RAM address is #$00, flip all bits (set to #$FF) if X button pressed. if RAM address already non-zero, do ??? - ii=index to base RAM table vv=value to add to base address for final RAM address 0C00 ii00 vv00 set RAM address to #$FF (8-bit) if X button pressed - ii=index to base RAM table vv=value to add to base address for final RAM address 0D00 ii00 vv00 set RAM address to #$00 (8-bit) if X button pressed - ii=index to base RAM table vv=value to add to base address for final RAM address 0E00 ii00 display textbox - ii=index of textbox to display, range $00-C1 (range needs verification) 0F00 ???? unknown TODO 1000 ii00 vv00 tttt ffff if statement - ii=index to base RAM table vv=value to add to base address for final RAM address tttt=pointer to event if RAM zero ffff=pointer to event if RAM non-zero 1100 ii00 vv00 ii00 vv00 tttt ffff if statement - multiple RAM addresses - ii=index to base RAM table vv=value to add to base address for final RAM address tttt=pointer to event if true ffff=pointer to event if false TODO 1200 probably an if statement TODO 1300 probably an if statement TODO 1400 ii00 jump to event - ii=index (multiply x2) of event to jump to 1500 ii00 vv00 flip bits (8-bit) - if RAM address is #$00, flip all bits (set to #$FF) if RAM address already non-zero, do ??? - ii=index to base RAM table vv=value to add to base address for final RAM address TODO 1600 ii00 vv00 flip bits (8-bit) - if RAM address is #$00, flip all bits (set to #$FF) - ii=index to base RAM table vv=value to add to base address for final RAM address 1700 ii00 multipurpose - performs a special action - ii=index (multiply x2) for pointer table at $80FB96-80FBAD, range $00-0B 1800 ii00 vv00 clear bits (8-bit) - if RAM address is non-zero, clear all bits (set to #$00) - ii=index to base RAM table vv=value to add to base address for final RAM address 1900 set Continue point (NEEDS VERIFICATION) 1A00 ii00 play sound effect - ii=index of sound effect FFFF end script
RAM Base Address
Value for ii used by map script commands 0B, 0C, 0D, 10, 11, 15, 16, 18 and maybe more 00 - 7EE8DE event flags 01 - 7EE9D7 inventory 02 - 7EEA09 temp. event flags? 03 - FFFFFFFF likely an unused slot 04 - 7EE958 event flags 05 - 12341234 currently equipped item in 7E0BB4 (16-bit)
Example: Map script located at SNES addressd $8A8F7B 0C00 0400 0000 (7EE958 set to #$FF, switch pressed flag) 0C00 0000 0000 (7EE8DE set to #$FF, gate open flag) 1A00 2800 (play sound effect #$28- pressed switch) FFFF (end)
Map Script Command 17
00 - if 7EE764 (16-bit) value is non zero, store #$0001 to 7EE788 01 - if 7EE764 (16-bit) value is non zero, store #$0001 to 7EE78C - used in GREENHSE ROOM 003 02 - if 7EE764 (16-bit) value is non zero, store #$0001 to 7EE78A 03 - store #$0001 (1. ACTIVE) to 7EE762 (RIMB SIGN) 04 - store #$0001 to 7EE786 05 - store #$0002 to 7EE786 06 - store #$0003 to 7EE786 07 - store #$0001 to 7EE782 08 - checks 7E0D18, then writes #$0007 to RAM range 7E0C5A-7E0C79 ($20 total) TODO 09 - compares 7E0870 to 7E087A and 7E087C - TODO 0A - display text index #$00C1 "HEY I CAN'T LEAVE JUST YET(...)" when trying to use the south exit at the very beginning of the game 0B - if 7EE764 (MOROBE4) and 7EE766 (MOROBE5) are both #$0001 (1. ACTIVE), set 7EE760 (MOROBE2) to #$0002 (2. SLEEP) and 7EE6F2 (MOROBE3) to #$0001 (1. ACTIVE) - TODO NEEDS VERIFICATION
Object Script Commands
Command, EOR #$FF then ASL, Offset, Length, Description
<80 display animation frame FF 00x02=00 83B933 03 FF vvvv unfinished or placeholder or unused. vvvv=16-bit value note: loads the value into accumulator and exits, but accumulator is then overwritten by the next script command to load FE 01x02=02 83B939 03 FE vvvv store 16-bit value to 7EB942,object. vvvv=16-bit value TODO FD 02x02=04 83B945 05 FD aaaaaaaa jump to programming then resume script. aaaaaaaa=jml address note: pushes #$83, and also Y FC 03x02=06 83B962 05 FC aaaaaaaa jump to programming then end script. aaaaaaaa=jml address note: pushes #$83 FB 04x02=08 83B97E 07 FB vvvv aaaaaaaa store 16-bit value. vvvv=16-bit value aaaaaaaa=address to store to FA 05x02=0A 83B994 09 FA vvvvvvvv aaaaaaaa store 32-bit value. vvvvvvvv=32-bit value aaaaaaaa=address to store to F9 06x02=0C 83B9B6 05 F9 vvvv aaaa store 16-bit value indexed. vvvv=16-bit value aaaa=address to store to,object F8 07x02=0E 83B9CF 07 F8 vvvv aaaaaaaa comparison. vvvv=value to compare aaaaa=address note: saves comparison result to 7EAAEE,object TODO F7 08x02=10 83B9F3 05 F7 vvvv aaaa comparison. vvvv=16-bit value to compare aaaa=address + 7E0000 + object index x2 note: saves comparison result to 7EAAEE,object TODO F6 09x02=12 83BA1A 03 F6 aaaa branch. aaaa=address to branch to if value at 7EAAEE,object is zero F5 0Ax02=14 83BA35 03 F5 aaaa branch. aaaa=address to branch to if value at 7EAAEE,object is non-zero F4 0Bx02=16 83BA50 03 F4 aaaa branch. aaaa=address to branch to if value at 7EAAEE,object is positive F3 0Cx02=18 83BA6B 03 F3 aaaa branch. aaaa=address to branch to if value at 7EAAEE,object is negative F2 0Dx02=1A 83BA86 03 F2 aaaa branch. aaaa=address to branch to if carry clear at 7EAAEE,object F1 0Ex02=1C 83BAA1 03 F1 aaaa branch. aaaa=address to branch to if carry set at 7EAAEE,object F0 0Fx02=1E 83BABC 03 F0 aaaa jump to script. aaaa=address to jump to (local, must be within same bank) EF 10x02=20 83BAC5 01 EF end script (sets carry flag to exit) EE 11x02=22 83BAC7 01 EE remove object and end script? note: stores #$0000 to 7EA72E,object 7E9870,object 7E9B42,object TODO ED 12x02=24 83BB3E 01 ED remove object and end script? note: stores #$0000 to 7E9B42,object TODO EC 13x02=26 83BB4C 03 EC vvvv reset object timer vvvv=16-bit timer value to set at 7E9C32,object note: sets 7E9D22,object counter to zero EB 14x02=28 83BB5F 03 EB vvvv coordinates comparison of distance between objects? vvvv=value note: saves comparison result (carry flag set/not set) to 7EAAEE,object TODO EA 15x02=2A 83BC09 05 EA oooo vvvv spawn object. oooo=object ID vvvv=16-bit value to store to 7EA72E,object (possibly a script pointer) note: appears to be used for dropped items (eg: skull health refill) E9 16x02=2C 83BD14 01 E9 copy object properties? uses 7EBF8E,object to copy values at 7E91E0,object 7E92D0,object 7E93C0,object 7E9F02,object TODO E8 17x02=2E 83BD45 03 E8 appears to link multi-part objects? vvvv=16-bit value note: value 0100 is valid TODO E7 18x02=30 83BDEC 05 E7 aaaa bbbb add values. aaaa=16-bit value to add to 7E91E0,object bbbb=16-bit value to add to 7E92D0,object TODO E6 19x02=32 83BE0A 05 E6 aaaa bbbb unknown. aaaa=16-bit value added with 7E91E0,object then stored to 7E0A94 bbbb=16-bit value added with 7E92D0,object then stored to 7E0A96 E5 1Ax02=34 83BE55 03 E5 vvvv store value to 7EC16E,object. vvvv=16-bit value E4 1Bx02=36 83BE61 03 E4 aaaa branch. aaaa=address to branch to if value at 7EC16E,object is positive E3 1Cx02=38 83BE7B 01 E3 copy object unknown properties. copies 7E91E0,object to 7EB08E,object. copies 7E92D0,object to 7EB17E, object. copies 7E93C0, object to 7EB26E,object note: opposite of command E2 TODO E2 1Dx02=3A 83BE97 01 E2 copy object unknown properties. copies 7EB08E,object to 7E91E0,object. copies 7EB17E,object to 7E92D0, object. copies 7EB26E, object to 7E93C0,object note: opposite of command E3 TODO E1 1Ex02=3C 83BEB3 05 E1 vvvv aaaa add value to address indexed. vvvv=16-bit value to add aaaa=address + 7E0000 + object index x2 note: use #$FFFF for -1 E0 1Fx02=3E 83BEDD 07 E0 vvvv aaaaaaaa add value to address. vvvv=16-bit value to add aaaaaaaa=address DF 20x02=40 83BEF6 03 DF vvvv store value to 7EC25E,object. vvvv=16-bit value TODO DE 21x02=42 83BF02 01 DE toggle bit $02 (zero flag) in 7EBE9E,object. note: saves comparison result to 7EAAEE,object TODO DD 22x02=44 83BF1D 01 DD unknown possible coordinates comparison. note: saves comparison result to 7EAAEE,object TODO DC 23x02=46 83BFBC 01 DC unknown possible remove object. checks 7EBF8E,object DB 24x02=48 83BDE9 01 DB jump. branches over the next byte in the script. likely used to jump over a script ending command DA 25x02=4A 83C016 03 DA aaaa jump to script and store return address in 7EA90E,object aaaa=address to jump to (local/must be within same bank) D9 26x02=4C 83C02D 01 D9 return from script by loading return address from 7EA90E,object D8 27x02=4E 83C03A 03 D8 vvvv store value to 7EB62E,object. vvvv=16-bit value TODO D7 28x02=50 83C046 03 D7 vvvv store value to 7EB71E,object. vvvv=16-bit value TODO D6 29x02=52 83C052 03 D6 vvvv store value to 7EB80E,object. vvvv=16-bit value TODO D5 2Ax02=54 83C05E 05 D5 aaaa bbbb unknown. aaaa=value to store to 7EB8FE,object. bbbb=value to store to 7EBBCE,object TODO D4 2Bx02=56 83C072 05 D4 aaaa bbbb unknown. aaaa=value to store to 7EB9EE,object. bbbb=value to store to 7EBCBE,object TODO D3 2Cx02=58 83C086 05 D3 aaaa bbbb unknown. aaaa=value to store to 7EBADE,object. bbbb=value to store to 7EBDAE,object TODO D2 2Dx02=5A 83C09A 01 D2 unknown. adds value to various RAM addresses including 7EB8FE,object with 7EBBCE,object and 7EB9EE,object with 7EBCBE,object and 7EBADE,object with 7EBDAE,object also adds to 7E91E0,object and 7E92D0,object and 7E93C0,object TODO D1 2Ex02=5C 83C10A 01 D1 unknown. TODO D0 2Fx02=5E 83C1FE 01 D0 transfer object properties? loads value from 7EBF8E,object then if non-negative uses 7EB8FE,object and 7EB9EE,object and 7EB62E,object and 7EB71E,object and 7EBBCE,object and 7EBCBE,object TODO CF 30x02=60 83C20C 01 CF transfer object properties? loads value from 7EC07E,object then if non-negative uses 7EB8FE,object and 7EB9EE,object and 7EB62E,object and 7EB71E,object and 7EBBCE,object and 7EBCBE,object TODO CE 31x02=62 83C257 05 CE ffff tttt add value from RAM address. ffff=RAM address containing 16-bit value to add + 7E0000 + object index x2 tttt=RAM address to add to + 7E0000 + object index x2 note: saves processor status 7EAAEE,object CD 32x02=64 84C28C 03 CD vvvv set bits vvvv=bits to set in RAM address 7EBE9E,object CC 33x02=66 83C29C 03 CC vvvv clear bits vvvv=bits to clear in RAM address 7EBE9E,object CB 34x02=68 83C2B3 03 CB vvvv unknown comparison. vvvv=value to compare to 7EBE9E,object note: saves processor status 7EAAEE,object CA 35x02=6A 83C2D0 03 CA vvvv flip bits. vvvv=value to XOR with 7EBE9E,object C9 36x02=6C 83C2E4 03 C9 aaaa flip all bits and increment. aaaa=address to modify + 7E0000 C8 37x02=6E 83C2FD 05 C8 ffff tttt copy 16-bit value indexed. ffff=RAM address to copy from + 7E0000 + object index x2 tttt=RAM address to copy to + 7E0000 + object index x2 C7 38x02=70 83C31E 07 C7 pppp vvvv aaaa add random number. pppp=number of possibilities for RNG vvvv=base value to add random number to aaaa=address to store result to + 7E0000 C6 39x02=72 83C342 03 C6 aaaa set new timer from RAM address and reset counter. aaaa=address to load new timer value from + 7E0000 then store to 7E9C32,object (timer) and also store #$0000 to 7E9D22,object (counter) C5 3Ax02=74 83C361 03 C5 aaaa decrement and store. aaaa=address to load value from + 7E0000 and then decrement and store result to 7EC16E,object TODO C4 3Bx02=76 83C37A 01 C4 unknown. TODO C3 3Cx02=78 83C45B 05 C3 aaaa bbbb comparison of two RAM addresses. aaaa=address to load from + 7E0000,object bbbb=address to load from + 7E0000,object note: saves comparison result to 7EAAEE,object C2 3Dx02=7A 83C48D 09 C2 aaaa bbbb cccc dddd store value based on object direction facing? loads 7E9F02,object then aaaa=store to 7E9B42,object if #$0004 bbbb=store to 7E9B42,object if #$0008 cccc=store to 7E9B42,object if #$0001 dddd=store to 7E9B42,object if #$0002 TODO C1 3Ex02=7C 83C4D1 03 C1 uuuu unknown. TODO C0 3Fx02=7E 83C579 05 C0 aaaa bbbb unknown possibly direction facing related. aaaa=address to load from + 7E0000,object bbbb=address to load from + 7E0000,object and later store result to TODO BF 40x02=80 83C5E8 03 BF pppp get random number and store. pppp=number of possibilities for RNG stores random number to 7EC16E,object TODO BE 41x02=82 83C5FA 05 BE aaaa bbbb unknown possibly used for mode7 effects. aaaa=address to load from + 7E0000,object bbbb=address to load from + 7E0000,object also uses 7E91E0,object and 7E92D0,object TODO BD 42x02=84 83C669 05 BD vvvv wwww unknown. vvvv=value to store to 7E0642. wwww=value to store to 7E063E (add +1) also uses 7E91E0,object and 7E92D0,object TODO BC 43x02=86 83C6F5 05 BC vvvv wwww unknown. vvvv=value to store to 7E0642. wwww=value to store to 7E063E (add +1) also uses 7E91E0,object and 7E92D0,object TODO BB 44x02=88 83CA99 03 BB vvvv unknown. vvvv=value to store to 7EC34E,object TODO BA 45x02=8A 83CAA5 07 BA vvvv aaaa bbbb unknown. vvvv=value to store to 7E001F temp aaaa=address to store to + 7E0000,object bbbb=address to store to + 7E0000,object TODO B9 46x02=8C 83CB68 05 B9 aaaa bbbb unknown. aaaa=address to load value from + 7E0000,object then adds and stores to 7E91E0,object bbbb=address to load from + 7E0000,object then adds and stores to 7E92D0,object TODO B8 47x02=8E 83CB9B 05 B8 vvvv wwww unknown. vvvv=value to store to 7E9B42,object if 7EC52E,object is zero wwww=value to store to if 7E9B42,object if 7EC52E,object is non-zero TODO B7 48x02=90 83CBBF 05 B7 vvvv aaaa comparison. vvvv=value to compare aaaa=address + 7E0000,object which contains a pointer to the final address to compare to note: saves comparison result to 7EAAEE,object TODO B6 49x02=92 83CBED 05 B6 vvvv aaaa store unknown. vvvv=value to store aaaa=address + 7E0000,object which contains a pointer to the final address to store to TODO B5 4Ax02=94 83CC0C 07 B5 aaaa bbbbbbbb copy value. aaaa=address to load value from + 7E0000,object bbbbbbbb=address to store value to B4 4Bx02=96 83CC31 03 B4 vvvv add value to RAM address. vvvv=value + #$0011 to store to 7E070B TODO B3 4Cx02=98 83CC3E 03 B3 vvvv screen display/brightness. vvvv=value to store to register $2100 upper 8 bits ignored B2 4Dx02=9A 83CC4B 05 B2 aaaa bbbb unknown possibly coordinates related. aaaa=address to load from + 7E0000,object also uses 7E91E0,object and 7E0A94 bbb=address to load from + 7E0000,object also uses 7E92D0,object and 7E0A96 TODO B1 4Ex02=9C 83B811 05 B1 dddd tttt talk when press X button. dddd=distance between object and Fester (in pixels?) tttt=set to non-zero value to auto-talk when Fester within range note: uses 7ED15E,object and also saves comparison result to 7EAAEE,object TODO B0 4Fx02=9E 83B919 03 B0 aaaa unknown. aaaa=address load value from indexed then add #$0011 and store to 7E070B TODO AF 50x02=A0 83CCB3 03 AF aaaa unknown. aaaa=address to load from if value at 7EBF8E,object is positive then takes that value to use as an index and store obtained value to aaaa,object TODO AE 51x02=A2 83CCD3 03 AE aaaa unknown. aaaa=address to load from if value at 7EC07E,object is positive then takes that value to use as an index and store obtained value to aaaa,object TODO AD 52x02=A4 83CCF3 03 AD iiii unknown possibly play music or sound effect? iiii=index TODO AC 53x02=A6 83CD02 05 AC aaaa bbbb possible play sound effect. aaaa=sound effect index? bbbb=unknown TODO AB 54x02=A8 83CD51 05 AB iiii uuuu unknown. iiii=index(x2) to 81EC72,y uuuu=unknown 0000, 0001 or 0002 are known accepted values TODO AA 55x02=AA 83B8A1 05 AA dddd tttt talk when press X button. dddd=distance between object and Fester (in pixels?) tttt=set to non-zero value to auto-talk when Fester within range note: saves comparison result to 7EAAEE,object TODO A9 56x02=AC 83CD76 09 A9 uuuu iiii xxxx yyyy spawn item. uuuu=unknown, when #$FFFF do ??? iiii=item xxxx=x coord yyyy=y coord TODO A8 57x02=AE 83CE95 03 A8 vvvv unknown. vvvv=value to add + #$0014 and store to 7E0870 used for ??? TODO A7 58x02=B0 83BBC5 03 A7 dddd compare Y? coordinates. dddd=distance between object and Fester (in pixels?) note: saves comparison result to 7EAAEE,object TODO A6 59x02=B2 83B7F9 01 A6 subtraction unknown. subtracts 7E93C0,object from 7E92D0,object and stores result to 7E92D0,object then sets 7E93C0,object to #$0000 TODO A5 5Ax02=B4 83CEB8 03 A5 aaaa jump to script from RAM address,object. aaaa=address + 7E0000 containing script pointer and if it's non-zero, store current script to 7EA9FE,object A4 5Bx02=B6 83CEE1 01 A4 return from script. loads script pointer from 7EA9FE,object
Sound Effects List
28 - pressed switch
Misc.
- Cousin It is located in SWAMPS ROOM 006
- Morobe/Black Egg is in MANSION ROOM 020 (the room before the final boss)