I've found a japanese website with a lot of information.
Yet, babelfish can only go halfway...
Perhaps someone else who understand this can put this info to good use.
Inside:
- Map generation
- Portals randomization
- Battle calculation
- Foreign master appearances calculation
- Enemy appearance chart
- The way critical strikes are calculated
etc.
http://www.geocities.co.jp/Playtown-Dice/6769/dqmon/
With this information, someone could create a very nice viewer which could show the information at any moment (every frame).
I've started mine, but I can only have hp,mp, stats and skills yet.
---------
Update:
I managed to get the maps layout, current position and portal position. I've made a small viewer, working, but not perfect yet.
Trying to locate items and foreign trainers now.
Findings:
I don't know if any of this makes sense for anyone else...
The offsets are moving everytime the emulator is closed/started. Using an outside memory viewer, I start by finding the hp in battle (monster #1) and the map starts 87485 bytes (155BD in hex) after that offset.
Current position is 27 bytes before the offset, and portal position is 32 bytes after the map start offset. It's a value between 0 and 15 (F).
The map is 16 bytes long (4 x 4). In hex, the first part of the byte serves for map type (the value must be divided by 16).
0x ┼ 1x ┬ 2x ┴ 3x ├
4x ┤ 5x ─ 6x ┌ 7x ┐
8x └ 9x ┘ Ax │ Bx ↓
Cx ↑ Dx → Ex ← Fx (nothing)
Sample:
Current Pos: 8,
Portal Pos: 5,
Map: 60 70 60 70 30 40 30 40 30 40 30 40 80 22 23 90
would give
┌ ┐ ┌ ┐ (6x-7x-6x-7x)
├(┤)├ ┤ (3x-4x-3x-4x) (Portal Pos)
[├]┤ ├ ┤ (3x-4x-3x-4x) [Current Pos]
└ ┴ ┴ ┘ (8x-2x-2x-9x)