Notes:Brain Lord
This page contains notes for the game Brain Lord.
The addresses and hex values stated in these notes are for the (U) version of Brainlord.
(?) indicates something that is not known for sure.
Contents
- 1 Map Documentation
- 2 Text Documentation
- 3 Shop Documentation
- 4 Item Documentation
- 5 NPC Documentation
- 6 RAM Addresses
- 7 ROM Addresses
- 8 SRAM
- 9 ASM Routines
- 10 Flags
- 11 Music IDs
- 12 Magic IDs
- 13 Item IDs
- 14 Monster IDs
- 15 Magic Properties
- 16 Monster Properties
- 17 Object IDs
- 18 Cutscene Information
- 19 Debug Warp Gate List
Map Documentation
Maps are separated into many parts. I do not fully understand it myself.
A map is first loaded by calling a pointerlist of databases for the map. These are Entrance Datablocks.
Outside of Arcs Entrance Datablock(0x63B2F) 00 E0 01 00 06 FC 06 C6 CF 53 C6 C5 75 C5 50 46 C5 34 46 C5 0C 00 00
Pointerlist decoded FF XX XX YY YY ?? ?? ?? MM MM MM EE EE EE EX EX EX OO OO OO ?? MU ?? FF=Direction Facing. 01=Right 02=Down 03=Left 04=Up XXYY=Coord to spawn at MM=Map information to load(?) EE=Room Monsters List EX=Pointer to ExitList 00=Object Data Pointerlist MU=Music for map
Room Monsters List
Monster List for Arcs Field (0x575C5) 16 18 20 00 02 00 28 54 20 00 02 00 22 4A 20 00 02 00 2A 40 20 00 02 00 22 34 20 1E 00 00 22 2C 20 00 02 00 1E 1A 20 00 02 00 2E 12 20 00 02 00 2A 1A 20 00 02 00 46 1A 20 00 02 00 4A 2C 20 04 00 10 16 24 20 00 02 00 50 3C 20 00 02 00 6A 46 20 00 02 00 70 40 20 00 02 00 68 1E 20 00 00 00 68 2C 20 04 00 12 1C 14 20 1E 00 00 5E 4A 06 01 00 13 3A 12 06 1E 00 16 42 24 20 00 02 00 36 1A 06 00 00 00 3C 2A 20 00 02 00 FF FF FF FF FF
Decoded, it's a large list of .. YY XX EE II DD 11 YX=Spawn location EE=Monster ID II=Item dropped on Death - Seems to be formatted weird? 04 = Exp Orb DD=Permadeath? (Until zone) 11=Clear flag required to drop item. FF FF FF FF FF seems like a 'end' for each chunk. TODO: Investigate DD a little more. Not all is as it seems. Might cause problems if used recklessly.
Objectlist
Arcs field doesn't have any objects, but it works roughly like the monster list above. XX YY ZZ 11 22 00 00 XY=Coord ZZ=ObjectID 1122=Extra object attributes (When applicable).
ExitList
Arcs Exitlist (0x54650) 4C 6C 03 00 99 3E C6 50 6C 03 00 99 3E C6 44 0C 04 0C 5D 3B C6 D8 10 03 00 FC 06 C6 FF FF FF FF 00 00 00
Decoded it's a bunch of.. XX YY TT AA DD DD DD XXYY=Coords TT=Exit Type -03 = Walk into, no sound -04 = Door, opening sound, Trigger Door Animation -05 = It is locked(Needs key perhaps? Can get stuck in if there is no collision?) AA=(Door animation or sound..?) -00=Nothing -01=Stairs DD = Destination Entrance Pointer
Map Information;
I couldn't for the life of me 100% figure this out. The notes here might not even be right.
Examples taken from the ROM to study them. They 'are' 'some kind' of mapping data, it's just hard to figure out exactly what. Notes here are messy. ------------------------------------------------ BD 76 D5 5F 84 D5 5F 8A D5 15 81 D6 85 4C D6 C5| - Hole Under Toronto 51 D6 00 00 CF 00 20 CF 00 40 CF 00 60 CD 6F 8C| D5 31 55 C6 08 C7 C8 00 00 00 00 00 00 8B C6 C8| ------------------------------------------------ 1E 37 D5 F2 5A D5 D2 66 D5 F7 C9 D6 F2 5A D5 D2| - Outside Arcs 66 D5 00 00 CB 00 20 CB 00 40 CB 00 60 CB 70 6A| D5 B7 53 C6 C4 C5 C8 D7 61 C6 00 00 00 4F C6 C8| ------------------------------------------------ 9C 0B D5 C4 2E D5 24 34 D5 15 82 D6 C4 2E D5 24| - Room 22 34 D5 00 00 CA 00 20 CA 00 40 CA 00 60 CA 20 36| D5 2A 4A C6 25 C6 C8 01 5D C6 96 30 C3 8B C6 C8| ------------------------------------------------ ?4 ?4 ?4 ?1 ?1 ?1 ?2 ?2 ?2 ?3 ?3 ?3 ?3 ?3 ?3 ?3 ?3 ?3 T1 T1 T1 T2 T2 T2 T3 T3 T3 T4 T4 T4 CC CC CC P2 P2 P2 LL LL LL TT TT TT TT TT TT ?? ?? ?? TT=Edge Tiles? LL=Lighting/Screen effect? P2=Palette? CC=Collision? PP=Related to the graphic set to use? Palette/Tiles ?1 = Kinda just turns the whole map into gibberish? ?2 = Turns the map into gibberish, but the tiles/palette and area outline stay the same. ?3 = Effects the 'map overlay' effect. ?4 = Tilemap Location? T4=Pointer to Misc Tiles. T3=Pointer to Land Tiles. T2=Pointer to Land Tiles. T1=Pointer to corner Tiles. 09 20 08 2E 0F 02 08 08 09 04 1B Tile Format: ## TT ## = Graphic TT = Effect 00='Slide' down.
Text Documentation
Addresses- 00066617 - Some Endgame Text and Item Names 0008DEC6 - Item Descriptions The text itself is compressed. Common words (or parts of words) have a Database (Stored at 0x12030D). The text engine quickly swaps out 1 byte pointers for the text within this database. This means that instead of using 2 or more bytes for a bunch of characters, they can use 1 byte in text and call as many characters as they want. Whatever word processor you use must support long-length .tbl files. Thing32 is ugly, but it does the job and even has a search(Taking the compression into consideration). The .tbl file can be found here: http://pastebin.com/StZpmqxa Simply paste it into any txt document and rename it from .txt to .tbl Some bytes, however, act as commands to (I think) engage scripting commands. F6 for example seems to do a bunch of functions. F6## - 03 - Turn Chatbox Off 05 - Turn Chatsound Off 08 - Inn(100g) 09 - Inn(200g) 0A - Item Obtained Sound 0F - Recovery Sound 10 - Returns (Without setting back your HP, Items, Enemies, etc) 11 - Teleports to Mice Attic 13 - Names a Jade 15 - Weapon Shop(Copper, Iron, Axe, Boomerang) 16 - Weapon Shop(Steel, gold, Big Axe, Chucker, Heavy Bow) 17 - Weapon Shop(Iron, Steel, Gold, Axe, Big Ace, Long Bow, Heavy Bow) 18 - Weapon Shop(Iron, Steel, Axe, Bigaxe, Boomerang) 19 - Weapon Shop(Iron, Iron, Platinum, Iron, Iron, Iron, Platinum, Iron, Iron...) (!) Probably used as data elsewhere. 1A - Armor Shop (Leather Arm, Chain Mail, Buckler, Round Shield, Leather Helm) 1B - Armor Shop (Bone Mail, Plate Armor, Round Shield, Kite Shield, Bone Shield, Warrior Shield, Iron Helm, Cross Helm) 1C - Armor Shop (Iron Helm, Buckler, Round Shield, Kite Shield) 1D - Armor Shop (Chain, Chain, Plate, Chain, Chain, Chain, Plate...) (!) Probably used as data elsewhere. 1E - Same as 1D 1F - Item Shop (Apple, Cheese, Warp, Cape Herb, Antidote Herb, Barrior Capsule, Power Capsule) Probably Arcs Shop 20 - Item Shop (?) 28 ... 35 - Acquire Sapphire Gem 37 - Acquire XRay Glasses 3F+- Poison Player. A shop is F6## ##=Store ID (There's more to it than this) Some text has special commands: FF#### is a Pointer, starting at 170000 Found "The sapphire" by taking 235A and turning it into (17)5A23
Shop Documentation
0x000183C0 - Shop Database Address. Shop format = ## ## ?? ?? ?? = Unknown ## = Item ID Take note that each item has it's own value within the item properties itself. Shop IDs; 15-Arcs Weapon Shop 16-Toronto Weapon Shop 17-Toronto Weapon Shop Full 1A-Tower of Light Shop 1F-Arcs Tool Shop
Item Documentation
0x18A02 = Item database. Each item has a value for a name, description, value and a stat modifier. The ItemIDs themselves simply act as multipliers for the item pointer itself. So the IDs are not stated anywhere. Format; 78 71 C6 C1 DE C8 00 00 00 = Apple 98 75 C6 D4 F1 C8 B8 0B 01 = Copper Sword 4F 76 C6 42 F5 C8 40 1F 01 = Leather Armor NN NN NN DD DD DD MM MM SS NN = Item Name Pointer DD = Item Description Pointer MM = Cost to buy/sell. (not 100% accurate? Seems to be a multiplier) SS = Stat Modifier. Depend on what type of item it is, this value is used to set the 'value' of an item. Armor, for instance.
NPC Documentation
NPCs are a Object. In case you haven't looked at what the object syntax is, here is the basic object syntax. 00 00 XX YY ZZ 11 22 00 00 XX=XCoord YY=YCoord ZZ=ObjectID 11=Object Attribute 22=Extra Attribute This is to be used within a maps 'object list' Person Format: .. .. 06 II AA 06 = This specifies that this is a NPC Object. XX = PersonID YY = AI -Person AI List; 00=Walk Randomly 04=Look up, if talked to, shift up after. 05=Look right, if talked to, shift right after. 06=Look down, if talked to, shift down after. 07=Look left, if talked to, shift left after. 08=Same as 04? 09=Same as 05? 0A=Same as 06? 0B=Same as 07? Repeats this pattern..
Person IDs: B/S=Size (Big/Small) O/B/R/G=Color(Orange/Blue/Red/Green) M/F=Gender 00=Jewel Seller(doesn't talk) 01=Arcs toolshop 02=Barn(Weapons guy in Arcs) 03=Farris 04=Inn girl 05=Arcs Toronto Guard 07=Arcs Mice in Attic girl 09=Arcs Marlon the Blacksmith 0A=Arcs women scred of monsters 0B=Arcs hag 'prepare of a long journey' 0C=???? Girl talking about Roun grieving 0D=Arcs Meister selling Jade 0F=Toro innkeeper 12=Arcs Barkeep 13=Arcs guy in bar 14=Towr Rein talking about Xray glasses 15=???? Rein talking about Warp Gates 16=Towr Farris making Map 17=Towr Kashian talking about odd wall 18=towr Rein looking at Dragon Scale 1A=Arcs Kashian 'you are rude' 1B=Towr Kashian explaining Save Statues 1C=Arcs Gem Thief 1D=Arcs Weapons Guy 1E=???? Poison Herb blue guy 1F=(!)? "This person is for Debugging" 20=???? "Ever since roun lost his job.." 21=???? "It's because of roun that this.." 23=Arcs Guard "This path is to the Tower of Light.." 24=???? "What do you want? Just leave me alone!" 25=???? BigGuy0 26=Towr Farris "I hate mice!" 27=Towr Barness "Take your Time" 28=Arcs Rein "There must be a Arms Dealer somewhere" 29=???? Rein "If you find dragon scales.." 2A=???? Barness "I originally worked for the gods.." 2B=???? Farris "The Handbills on the wall change.." 2C=???? Kashian "I'm out of money.." 30=???? Kashian "It's good to see you.." 31=Toro Rein "Is Vanessa Safe? What!.." 32=???? Barness "Alot of people in the village.." 33=???? Kashian "Did you see what was left in the.." 34=Arcs BigGuy0 "Have you met the.." 35=Arcs OldGuy "In my day there were enough.." 38=???? Barness "It's said that long ago a dragon.." 39=???? Guard "Are you still using a sword?.." 3A=Arcs Child "My father is a Blacksmith.." 3B=Arcs Child "What a waste of time!.." 3C=Toro InnGirl "The town was full of Monsters!" 3D=???? Kashian "Oh <Player> You scared me" 3E=???? Rein "Be careful, this trap is tough.." 3F=Arcs GemGuy "I'll be leaving on a journey soon" 41=???? GemGuy "There are many Dragon legends.." 42=???? InnGirl "Stop it! Talk about Dragons..." 43=Toro BigGuy0 "did you go to the Library?..." 44=Toro BigGuy0 "We've lived in Toronto since.." 45=???? InnGirl "Come in, are you a friend of.." 46=???? GemGuy "You're the guy that defeated.." 47=Toro BigGuyO "You've got a Stone Plague?..." 48=Toro BigGuyB "?" Arena Betting Man 49=Toro GemGuy "We're short one fighter" Arena Signup Man 4A=???? BigGuyO "Oh, its you. You went to the Ancient Ruins?" 4B=???? BigGuyB "The old guy from the library is a character" 4C=Toro Guard "This is the town of Toronto..." 4D=Toro Guard "I'm fighting at the underground Arena now" 4E=Toro Guard "Hey! It's dangerous outside" 4F=Toro BigGuyO "Oh no, I lost! My Money is gone!" 50=Toro GemGuy "Somehow the Arena headliner has fallen. " 52=Toro OldGuy "What do you want? I'm the owner of this " Arena Old Owner 53=???? InnGirl "What a good looking guy?" 54=???? BigGuyO "Are you a friend of Reubens?" Arena Guard 56=???? Guard "Something to drink? Everything here is.."
RAM Addresses
0x01C0 = Debug 'Escape' Value. 00=False,FF=True) 0x01BC = Debug 'Slow' Value. Same as above. 0x01B9 = Debug 'Time' Value. Same as above. 0x01BD = Debug 'Set' Value. Same as above. 0x01C3|0x03AE = Debug 'Task' Values. 0x0001 = XCoord? (Not persistant) 0x0004 = YCoord? (Not Persistant) 0x0374 = Money. Changes directly to it not shown. Perhaps there is a routine to 'update' the money shown on screen. 0x08C8 = Current Damage Output 0x10E4 = Players name? 0x1108 = Players name? 0x12C2 = Monster HP List for current map 0x81D0 = Enemy Data from the Map is stored here. Can be altered mid-game, for science. 0x08D0 = Equipped Items -Format- -- -- WW HH EE SS AA WW = Weapon ID HH = Helm ID EE = Armor ID SS = Shield ID AA = Accessory ID 0xA790 = Some UI stuff 0x0536 = the current selected inventory slot 0x016A|019E|03C7 = Button Listeners 1200 = Enemy in RAM: Data moves/refreshes when off screen? Entity Format; First skull in Tower of Light example- AD 45 C3 80 00 11 80 0F 0E 45 C3 02 00 02 20 00 ED 00 81 00 81 00 DF 81 AE 72 00 04 C4 04 0A 30 00 C0 04 00 80 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 FF 00 00 00 00 00 06 00 06 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 40 00 D0 00 00 1C 45 C3 01 00 FF B4 17 00 FA 46 C3 Understood- 11 11 11 ?? ?? ?? ?? ?? ?? ?? ?? ?? AA AA PP II ?? ?? ?? ?? ?? ?? DD DD MM MM ?? ?? GG GG GG ?? ?? XX XX ?? YY YY ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? HH HH ?? ?? ?? ?? SS SS ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? TT TT 11 11 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 22 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? AI JJ ?? ?? ?? ?? 1111 =Unknown Properties AAAA =Animation Frame PP =Palette II =Invincibility Frames DDDD =On death Script or item to drop? MMMM =Something with money to gain on death? GGGGGG=Sprite graphic? Perhaps in VRAM? XXXX =X Position on Map YYYY =Y Position on Map HHHH =Current HP SSSS =Strength/Damage TTTT =Time until next action? 1111 =Action status? 22 =On hit/death actions? AI =AI on 'targetted'? JJ =Movement Speed? 7F0000-7F8000 : Map Tiles. 4000 total tiles. ~64x64? 7F2840 Arcs Tile known spot Tiles Graphics AND collision seem to be combined. Palettes obviously not Tile tied, #### = TileID. Tile starts from (graphics) 0C0080. Tiles are aligned, so calculations might be close, but not perfect. 8 per YY-CHR Line. 00 1B 3A 51 02 1C 04 45 3C 24 1B 0D 45 CB 2E C8
ROM Addresses
To do: I should build a actual ROM map.. |
0x18A0F - Item Database 0x18C21 - Key Database 0x19365 - Accessory Database 0x19301 - Shield Database 0x192A7 - Helm Database 0x191DE - Armor Database 0x190A9 - Weapon Database 0x18F9B - Jade Database 0x190A9 - Item Text Pointers (Pointers for both the name and description of all items) 0x606CE - Entrance Pointers Datablocks 0x1F021 = Map Pointers Datablocks (For use with the map database, not the entrance database)
SRAM
SRAM: 0x1000 = Save1 0x1800 = Save2 0x000 = Save1 Backup? 0x800 = Save2 Backup? "brain0" at save0/1 made on first startup. If the normal save somehow gets corrupt but the backup is normal, it will revert. If the game (somehow) tells that the backup AND the normal save has been corrupted somehow, "Memory#Erased"- -will appear on bootup and wipe both the backup and the real save.
ASM Routines
0x0023BE = Controls how many inventory pages you can go through (Adding more space is, of course, more difficult than just modifying the page count) 0x02AA97 = Check to see if you can down any more inventory pages, for 'arrow' rendering. 0x02AA58 = Same as above but for 'up'. 0xC023D9 = Called when inventory page switches 0xC32C4C = Monster on-damaged calculation 0xC32BC0 = Called when players shield is hit
Flags
To do: Find more flags that are used |
These flags use the ID of the flags in the debug menu. 00 = Used for Yes/No option boxes? 01 = Clears itself fequently (Opening Menu, Loading new Area) 02 = Triggered when you first talk to someone?
Music IDs
Music IDs: 0x00=Path to Tower 0x01=Tower of Light 0x02=Underground Cavern 0x03=Shopping 0x04=Boss 0x05=Toronto 0x06=Ancient Civilization 0x07=Platinum Shrine 0x08=Arcs 0x09=Ice Castle 0x0A=Inn 0x0B=Path to Toronto 0x0C=Credits 0x0D=Arena 0x0E=Win Chime 0x0F=Loss 0x10=Intro(New Adventure) 0x11=Main Menu 0x12=Volcano 0x13=Path to Volcano 0x14=Under Toronto 0x15=Metal Boss 0x16=Boss Beat Chime 0x17=Death Chime 0x18=Getting Prepared 0x19=Intro(Father) 0x1A=Unused Chime 0x1B=Fade 0x1C=Troubled Earth 0x1D=Credits 0x1E=End Game
Magic IDs
Magic IDs; 00- Blank Space 02- Magic Shot 03- Magic Shield 04- Flame Ring 05- Fireball 06- Impulse 07- Lightning 08- Magic Missile 09- Bound 0A- Ice 0B- Phaser 0E- Slow 0F- Stop 10- Ghost
Item IDs
Note that the ItemIDs are not properties of the items themselves, rather, the values they are simply act as multipliers for a pointer. Format: II TT II=Item ID TT=Item Type 0100- Apple 0200- Cheese 0300- Warp Gate 0400- Master Key (see next section) 0500- Cape Herb 0600- Antidote Herb 0700- Dragon Scale 0800- Barrier Capsule 0900- Speed Capsule 0A00- Heart Container 0B00- Source of Power 0C00- Drop of Protect 0D00- Debug Warp Gate (see next section) 0E00- Magic Wallet 0F00- Silver Bullion 1000- Gold Bullion 1100- X-Ray Scope 1200- Drink 1300- Sapphire 1400- Scrap of Paper 1500- Silver Plaque 1F00- Ancient Coin 2000- Crystal Piece 2100- ??? (Looks like a faucet, sells for high price) 2200- Mushroom 2300- Meat - 2400- Blue Eye 0101- Copper Sword (Sword, 1 Attack) 0201- Iron Sword (Sword, 2 Attack) 0301- Steel Buster (Sword, 5 Attack) 0401- Golden Sword (Sword, 7 Attack) 0501- Platinum Sword (Sword, 10 Attack) 0601- Battle Axe (Axe, 5 Attack) 0701- Tomahawk (Axe, 10 Attack) 0801- Rock Breaker (Axe, 15 Attack) 0901- Great Axe (Axe, 20 Attack) 0A01- Boomerang (Boomerang, 5 Attack) 0B01- Chuckler (Boomerang, 9 Attack) 0C01- Morning Star (Flail, 7 Attack) 0D01- Heavy Mall (Flail, 15 Attack) 0E01- Long Bow (Bow, 2 Attack) 0F01- Silver Bow (Bow, 6 Attack) 1001- Lightning Bow (Bow, 10 Attack) 1201- Fire Sword (Magic Sword, 5 Attack) 0102- Leather Helmet (1 Defense) 0202- Iron Helmet (3 Defense) 0302- Cross Helmet (6 Defense) 0402- Blackgold Helm (8 Defense) 0502- Warrior's Helm (10 Defense) 0602- Platinum Helm (12 Defense) 0702- Nameless Helm (14 Defense) 0802- Nameless Helm (16 Defense) 0902- Nameless Helm (17 Defense) 0103- Leather Armor (1 Defense) 0203- Chain Mail (3 Defense) 0303- Banded Mail (5 Defense) 0403- Bone Mail (8 Defense) 0503- Plate Armor (10 Defense) 0603- Royal Armor (15 Defense) 0703- Cape (0 Defense, +Speed) 0803- Nameless Armor (20 Defense) 0903- Nameless Armor (10 Defense, +Speed) 0104- Buckler (30 Endurance) 0204- Round (50 Endurance) 0304- Kite (60 Endurance) 0404- Bone (70 Endurance) 0504- Warrior (80 Endurance) 0604- Battle (99 Endurance) 0704- Shield (Use in the Arena) 0105- Reviving Mirror 0205- Debug Mirror (see next section) 0305- Wind Shoes 0405- Spike Shoes 0106- Life Jade 0206- Crimson Jade 0306- Foundation Jade 0406- Power Jade 0506- Lightning Jade 0606- Anger Jade 0706- Water Jade 0806- Deceased Jade 0906- Light Jade 0107- Key to the Seal 0207- 3rd Floor Key 0307- 4th Floor Key 0407- Puzzle Key 0507- Crossroads Key 0607- Sky Room Key 0707- Cave Room Key 0807- Dark Room Key 0907- Basement Key 0A07- Detour Key 0B07- Bottomless Key 0C07- Distance Key 0D07- Office Key 0E07- Flyer's Key 0F07- Steel Sky Key 1007- Invisible Key 1107- Underground Key 1207- Control Key 1307- Preparation Key 1407- Laboratory Key 1507- Power Room Key 1607- Oblivion Key 1F07- Western Sky Key 2007- Ocean Key 2107- Under Ice Key 2207- Waterfall Key 2307- Flood Gate Key 2407- Wave Key 2507- Ice Key 2607- Water-Air Key 2707- Red Wing Key 2807- 1st Gate Key 2907- 2nd Gate Key 2A07- 3rd Gate Key 2B07- Sky Dragon Key 2C07- Land Dragon Key 2D07- Sea Dragon Key 2E07- Dead Dragon Key 3307- Silence Key 3407- Castle Key 3507- Endless Key 3607- Spirit Key 3707- Destruction Key 3807- Platinum Key 3907- Night Key 3A07- Afterworld Key 3B07- Entropy Key 3C07- Fountain Key 3E07- Duplicate Key 3F07- Duplicate Key
Monster IDs
For use with monster datablocks that get loaded with rooms
- 0x01 - Floating Electric Brain
- 0x02 - Rat
- 0x03 - Skull
- 0x04 - Worm
- 0x05 - Wall Eye
- 0x06 - Floating Blue Bat (Seen in the Arcs Field)
- 0x07 - Electric Wall-bouncing Ball
- 0x08 - Scorpion
- 0x09 - Floating Round Face (The gravity pull mob)
- 0x0C - Giant Bug from Underground
- 0x0D - Mini Tornado
- 0x0E - Vertical-moving Laser Rover
- 0x15 - Giant Purple Skeleton
- 0x16 - Teleporting ball-shooting wizard
- 0x17 - Orc
- 0x18 - Wolf Bowman
- 0x19 - Giant turquoise brute
- 0x1A - Reaper? (UNUSED!)
- 0x1B - Mini Dragon? They're in the Path to Drogg
- 0x1C - Horizontal-moving laser rover
- 0x1D - Giant laser robot
- 0x1E - Mimic
- 0x1F - Rogue (The fast knife guy on the road to Toronto)
- 0x20 - Cyclopes
- 0x21 - Short Knight
- 0x22 - Very fast orc? Seems somehow a bit broken.
- 0x23 - Skeleton
- 0x24 - Ball 'n chain guy
- 0x25 - Twirly spinny machine thing from ruins
- 0x26 - Guardian Statue (The one in the Tower of Light)
- 0x27 - Volcano rock face thing
- 0x28 - Exploding Black Floating Ball Face thing
- 0x29 - Wolf Bowman (Statue version)
- 0x2A - Cyclopes (Statue version)
- 0x2B - Ball 'n chain guy (Statue version)
- 0x2C - Ramus (Doesn't seem to do anything though. Probably needs the trigger)
- 0x2D - Poisonous Scorpion
- 0x2E - Red Orc
- 0x2F - Red Wolf Bowman
- 0x30 - Giant Silver Brute
- 0x31 - Red Skeleton
- 0x32 - Green Ball 'n Chain
- 0x33 - ? (Nothing?)
....
- 0x3C - Arena Orc (See special note on Arena mobs)
- 0x3D - Arena Rogue
- 0x3E - Arena Orc
- 0x3F - Arena Rogue
- 0x40 - Arena Cyclopes
- 0x41 - Arena Cyclopes
- 0x42 - Arena Small Soldier
- 0x43 - Arena Small Soldier
- 0x44 - Arena Ball 'n Chain
- 0x45 - Arena Ball 'n Chain
- 0x46 - Arena Brute
- 0x47 - Arena Brute
- 0x48 - ? (Nothing?)
...
- 0x54 - Particle Shooter Spinny Thing from Ice Castle
Special arena monster note: Arena mobs seem to mess up pretty badly on a map without the arena. Player spawns ontop of the mob and is stuck to it, while the mob can slowly move around. Map slightly messes up (Until the mob dies). A mob HP Counter appears on the top right of the screen. USeems to try and attack other mobs(Even if non-arena), but won't be able to inflict damage on non-arena mobs.
Magic Properties
It would've been nice if I kept where the pointer datablock was.
Magic Format 3D 71 C6 2F 01 D2 28 23 08 00 32 00 - NN NN NN TT TT TT ?? ?? DD ?? RR CC NNTT = Name and text pointers? Relationship unknown. DD = Damage RR = Charge Requirement Time CC = Collision Type COllision Types; 00 = None
Monster Properties
I should've documented this a little more. At least paid attention to the actual address. Meh..
Mob Properties Database? Called from Pointer List at ~00060000 HH PP MM MM ?? ?? ?? ?? ?? AA ?? 01 00 00 00 00 00 AA AA 20 17 0C HH = Health PP = Power on hit MM = Money on Drop AA = Speed while moving?
Object IDs
To do: Check more IDs |
These are to be used within a maps 'object list'.
Format is 00 00 OO PP PP 00 00.. 00 = Appears to be padding between each object(They're literally 0000).
OO = Object ID
PP = Parameters.
- 0x01 - Chest
Follows Format: .. OO II II LL FF(?) .. OO = The object ID. In this case, 01, for chest. II = Item to Give (By ItemID) LL = The chests 'locked' state. Perhaps also checks what flag to use for the chests 'has this been opened' state? FF = If not, this value most likely is what flag value to check.
- 0x03 - Invisible teleport spot
Mostly unknown on how to properly use it. Example use is the teleport to/from the Desert. The teleport is not linked to the blue sprite, it's its own invisible entity. The parameters from the desert teleport is .. OO A8 4C 03 00 16 1D C6 (OO being the object, 0x03 in this case)
- 0x05 - Wall Object(?)
Follows format(?): .. OO TT .. OO = Object (This case, 0x05) TT = Tile ID (?) Mostly unknown
- 0x06 - Person NPC
Look at the 'npc documentation' section for more information
- 0x07 - Pushable Object
Format is: .. OO BB .. OO = Object (0x07) BB = The actual 'Pushable Objects' ID Known Objects: 0x00 = Solid normal rock 0x01 = Pushable wall from the Tower of Light 0x02 = The pushable wall from the Abell Ruins that was required to solve a puzzle. 0x03 = Drogg statue 0x04 = Volcano Wall(?). Can't tell, my current testing environment doesn't seem to have the proper palette. 0x07 = Glitchy mess(?) Still moveable. Stops other objects from loading.
- 0x08 - Brown Pushable Ball
Doesn't seem to have any variants(?). Brown only ball.
- 0x09 - Auto moving floor platforms from the Tower of Light
Known format: .. OO AA .. OO = Object (0x09) AA = AI 0x00 = Moves down 2 tiles. 0x01 = Moves down 3 tiles. 0x02 = Moves up 2 tiles. 0x03 = Moves up 3 tiles. 0x04 = Moves down 1 tiles. 0x05 = Moves up 1 tiles. 0x06 = Moves right1 tiles. 0x07 = Moves left 1 tiles. 0x08 = Moves right2 tiles. 0x09 = Moves left 2 tiles. 0x0A = moves left 3 tiles. 0x0B = moves down 1 tiles. 0x0C = moves down 1 tiles. The AI will move back and forth
- 0x0C - Proximity Tile
Known format: .. OO TT .. OO = Object (0x0C) TT = Tile 0x00 = Spikes 0x01 = Wall from Tower of Light 0x02 = Cracked wall from Tower of Light Need to figure these out. Little strange
- 0x0D - Floor Light Switch
Unknown format. The first byte seems to change what tile the light switch turns into once pressed, but it's kind of weird looking. Also does nothing if the room isn't meant to have light(It's not dark).
- 0x0E - Healing Fountain
Known format: .. OO FF TT TT OO = Object (0x0E) FF = Fountain type TT = Text pointer, only used in specific cases. Types: 0x00 = Normal (Heals you) 0x01 = Hurts a little and causes paralysis 0x02 = Hurts a little and causes poison 0x03 = Frozen graphic. Calls text(Or script?) pointer. 0x04 = Normal graphic. Calls text(Or script?) pointer. In the Ice Palace, there was a fountain that was frozen, called text, 'and' poisoned you. Rather or not the poison was caused by the text, or the fountains object, is unknown. It's also possible the bits themselves control the effects, not the byte. So perhaps a byte that contains the bits for 0x02 and 0x03 would poison and call text with a frozen graphic?
- 0x0F - Item On Ground
Known format: .. OO II FF FF OO = Object (0x0F) II = ItemID. Usable Items only (Category 00?) FF = Flag to use, so this item can't be picked up more than once
- 0x10 - Pushable Red Ball
The ball that stalks you. No known variants(?)
- 0x11 - Pushable Blue Ball
The ball that bounces. Known format: .. OO AA .. OO = Object (0x11) AA = AI(?) 0F = Bounces forever else bounces only for a few bounces.
- 0x12 - Pushable Ice Blocks
Known format(?) .. OO AA .. OO = Object (0x12) AA = AI(?) Moving ice seems to move randomly. It's hard to track which AI values do what. But I'm 'sure' there is a difference.
- 0x13 - 'Summon Objects' Floor Button
Known format: .. OO SS XX YY TT .. OO = Object (0x13) SS = Object to spawn XX = X Coord YY = Y Coord TT = Tile the switch turns into (See 0x0D, light floor switch) Known objects to spawn are 0x00 = Pushable Ice 0x01 = Pushable brown ball It appears the XY coords arn't the same coords normally used when placing objects on a map. Unless I'm understanding it wrong?
- 0x14 - Pushable Sliding Ice
Seems to have no known variables.
- 0x15 - Pushable Sliding AND Bouncing Ice (UNUSED?)
Seems to trigger other ice blocks in the room to move depending on the one-byte(?) variable? Need to look into.
- 0x17 - 'Hitable' Chest
Known format: .. OO HH .. OO = Object (0x17) HH = HP Then the chest is killed. It'll spawn Tower of Light floor tiles everywhere, like the normal in-game puzzle chest. If the environment palette is wrong, it'll look messy. When I placed it the few times I tried, it also appeared invisible..?
- 0x19 - Door Tile(?)
Known format(?): .. OO DD .. 0xOO = Normal door (Didn't seem to specify WHICH normal door in my notes here..oops) 0x03 = Open door (Assumed to be the opened door of the above) Keep in mind that when you 'move' into another room, you do so by another object or entity or something. The door itself is not the 'teleporter'.
- 0x1A - Misc Equippable Item on Ground
Used like 0x0F. Except for 'misc' equippable items, like the Revival Mirror. I didn't specify in my notes, but I assume it uses '05 type' items.
- 0x1B - Invisible Wall(?)
What? Must look into
- 0x1C - Spike Ball
Mostly unknown. It's the spike ball from the Ice Palace. I feel it's safe to assume it has a AI variable, like the moving floor tiles. I haven't documented them, however.
- 0x1D - Invisible Wall(?)
Another one? My notes say there is a variable which allows this wall to display text when interacted with. I didn't define interact, I also didn't specify which variable. Need to look into.
- 0x1F - Controllable Moving Platforms from Abell Ruins
Doesn't seem like there is any variables. I didn't specify. Need to test.
- 0x20 - Floating Platforms from Tower of Light
Known format: .. OO AA .. OO = Object (0x20) AA = AI (See object 0x09) These ones move when jumped on, instead of automatically. Uses same AI pattern as 0x09
- 0x26 - Tile(?)
Known format(?): .. OO TT TT .. OO = Object (0x26) TT = Tile(?) 0x0002 = Tower of Light wall top 0x0003 = Pitch black? 0x0004 = Wall with plaque(I didn't specify if it could be interacted with. Need to test.) 0x0007 = Floral floor panel(As soon from Brainlords main tcrf page, unused room 50. I didn't specify if it could be used to teleport. Must test.) 0x0008 = Pit into 'Background' (Blue swirl pit in Tower of Light)
- 0x29 - NPC Script on Entry(?)
I didn't seem to test this much. Must look into. Unknown format
- 0x2B - Graphic Script(?)
Seen used in the Desert for the 'waving sand' effect. Need to test more. Unknown format
- 0x31 - Save Statue
I assume this has 'some' variable to tell it perhaps which save point you're using. Maybe not. Must test. Unknown format
- 0x32 - Graphic Script(?)
My notes only say 'Wavy pit?'. Perhaps it's for the Tower of Light background. Must test. Unknown format
- 0x33 - Teleport Hole
This teleport comes with the object. It's used to get from Toronto to the Desert. Mostly Unknown format. Notes say to use 33 02 E6 43 C6 FF FF = Flag (I assume to disable the hole, since it's no longer there once you beat the Ice Palace)
- 0x35 - Dragon
The dragon as seen in the cutscene where you meet him at Drogg. Has no collision and no way of interacting with him. Unknown format. Must look into
- 0x36 - Fog Effect
Need to look into. Unknown format.
- 0x37 - Freezes Sprites(?)
Need to look into. Unknown format.
- 0x38 - Freezes Sprites, but not Player(?)
Need to look into. Unknown format.
- 0x39 - Dragon Dying
Starts ending cutscene. Need to look into. Unknown format.
- 0x3A - Credits
The credits roll on the screen, although you can still move around and see your environment. Normally the credits are used in a 'blank area', so it appears no idea is loaded, but the credits are just a giant object. Need to look into. Unknown format.
- 0x3B - Earthquake
As seen in the ending sequence. Wee! Need to look into. Unknown format.
- 0x3C - 'Map Opening' screen transition for the post-credits ending sequence
Breaks alot of stuff, my notes say. Of course it doesn't specific what, though. Need to look into. Unknown format.
- 0x3D - 'Fin' map effect
Need to look into. Unknown format.
- 0x3E - Something?
Notes just call it "...?" with nothing else with it. Need to look into? Unknown format.
- 0x43 - Script(?)
Notes have no, well, notes on this. Need to look into. Unknown format.
There might be more 'non-obvious' objects that can be triggered. I'll need to find the pointers of all the objects and see if there is a proper list somewhere in ROM.
Cutscene Information
Alot of this won't make too much sense, since I didn't look into it too much.
The cutscene documented is the cutscene where you find Kashian in the second floor of the inn after you first start playing.
Room Data: FC 14 00 84 6E C6 TT .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. NN F6 66 F6 61 F6 61 F6 61 F6 60 F6 67 F6 62 FC 00 00 84 6E C6 F6 59 F6 76 F6 76 F6 56 F6 58 FC 1A 00 84 6E C6 F7 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. FF RR RR EE EE EE(?)
Understood(?) FF=If? RR=Execute if Flag Clear?(Pointer?) TT=Text "Don't look" EE=Executes if Flag Set? (Executes Nothing? Pointer?) NN=NextLine? Next bit of script?
cutscene commands? F6##=Command ..F6##=Command Arguement 0x00=Nothing? 0x66 = Begin Movement? 0x67 = End Movement? 0x61 = Look Left 0x60 = Look Down 0x5F = Look Right 0x5E = Look Up 0x5A = Walk Up 0x5B = Walk Right 0x5C = Walk Down 0x5D = Walk Left 0x03 = Turn Chatbox Off 0x05 = Turn Chatsound Off 0x08 - Inn(100g) 0x09 - Inn(200g) 0x0A - Item Obtained Sound 0x0F - Recovery Sound 0x10 - Returns to last exit (Without setting back your HP, Items, Enemies, etc) 0x11 - Teleports to Mice Attic 0x13 - Names a Jade 0x15 - Weapon Shop(Copper, Iron, Axe, Boomerang) 0x16 - Weapon Shop(Steel, gold, Big Axe, Chucker, Heavy Bow) 0x17 - Weapon Shop(Iron, Steel, Gold, Axe, Big Ace, Long Bow, Heavy Bow) 0x18 - Weapon Shop(Iron, Steel, Axe, Bigaxe, Boomerang) 0x19 - Weapon Shop(Probably used as data elsewhere, since the item choices seem pretty sparatic.) 0x1A - Armor Shop (Leather Arm, Chain Mail, Buckler, Round Shield, Leather Helm) 0x1B - Armor Shop (Bone Mail, Plate Armor, Round Shield, Kite Shield, Bone Shield, Warrior Shield, Iron Helm, Cross Helm) 0x1C - Armor Shop (Iron Helm, Buckler, Round Shield, Kite Shield) 0x1D - Armor Shop (Chain, Chain, Plate, Chain, Chain, Chain, Plate...) (!) Probably used as data elsewhere. 0x1E - Same as 1D 0x1F - Item Shop (Apple, Cheese, Warp, Cape Herb, Antidote Herb, Barrior Capsule, Power Capsule) Probably Arcs Shop 0x20 - Item Shop (?) 0x28 ... 0x35 - Acquire Sapphire Gem 0x37 - Acquire XRay Glasses 0x3F+- Poison Player. C6=Text?
Obviously, cutscenes need a little love in the knowledge department.
Debug Warp Gate List
A list of everywhere you can go via the Debug Warp Gate. Area names in bold cannot be accessed with a standard Warp Gate item.
- Arcs - Inside the Arcs inn.
- House - Outside the house in the hills north of Arcs.
- Tower1 - Light Tower, save point 1.
- Tower2 - Light Tower, save point 2.
- Tower3 - Light Tower, save point 3.
- Tower4 - Light Tower, save point 4.
- Field 2 - Entrance to the cavern under Arcs.
- Ruins1 - Adell Ruins, save point 1.
- Ruins2 - Adell Ruins, save point 2.
- Ruins3 - Adell Ruins, save point 3.
- Ruins4 - Adell Ruins, save point 4.
- Field 3 - Road between Arcs and Toronto, just outside Arcs gate.
- Toronto - Inside the Toronto inn.
- Desert - The large desert, near the portal to Toronto.
- Castle1 - Romus' Ice Castle, save point 1.
- Castle2 - Romus' Ice Castle, save point 2.
- Castle3 - Romus' Ice Castle, save point 3.
- Castle4 - Romus' Ice Castle, save point 4.
- Field 5 - Road to Droog Volcano, near statue.
- Droog1 - Droog Volcano, save point 1.
- Droog2 - Droog Volcano, save point 2.
- Droog3 - Droog Volcano, save point 3.
- Droog4 - Droog Volcano, save point 4.
- Worm - Insect tunnels under Toronto.
- Platinum1 - Platinum Shrine, save point 1.
- Platinum2 - Platinum Shrine, second floor, not far from first save point.
- Platinum3 - Platinum Shrine, save point 2.
- Platinum4 - Platinum Shrine, save point 3.
- Fairy - Just outside the Jade shop in the Arcs inn.
- Weapon 1 - Basement of the Arcs shop.
- Arena - Entrance to the Toronto combat arena.
- Weapon 2 - Entrance to the Toronto weapon shop.
- Boss 1 - Light Tower boss chamber.
- Boss 2 - Adell Ruins boss chamber.
- Boss 3 - Romus' Ice Castle boss chamber.
- Dragon - Dragon cutscene at Droog Volcano.
- Boss 5 - Platinum Shrine boss chamber (final battle).
- Dragon - Ending/credits.
- Restaurant - Epilogue sequence.
There are an additional twenty blank spaces after "Restaurant", but all lead to the house in the hills north of Arcs (same as the "House" option above).