If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Notes:Brain Lord

From The Cutting Room Floor
Jump to navigation Jump to search

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.



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

Hmmm...
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

Hmmm...
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

Hmmm...
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).