11 March 2016 - Forum Rules

Main Menu

Dragon Quest 1+2 Pointerdebug...

Started by RedScorpion, November 04, 2014, 10:37:18 AM

Previous topic - Next topic


Hi guys,

iam currently investigate the pointer system of DQ1+2 and have some problems to understand the script and the pointer.

One of the first dialogs on DQ2 is "Cabinet Minister: Prince... It looks like the time for your leave has come!..."

Each dialog start with a FD als Scrollingcomand and there are some bytes before the FD value occurs. I have debugged the dialog and find a pointer on pc 0e2f37 (headerless)

It is a 3 byte pointer: 91 8D 14 (DQ is lorom).

I dont know for what are the command in the most cases of the dialogs.

Further: Next after each pointer there are 10 bytes and then the next pointer occurs. What does this bytes in the game? I change someone and i thing this bytes are responsible for events and so on.

Quote$06/8305 9D A6 15    STA $15A6,x[$1C:15D2]   A:0060 X:002C Y:AF42 P:envmxdizc
$06/8308 B9 02 00    LDA $0002,y[$1C:AF44]   A:0060 X:002C Y:AF42 P:envmxdizc -> PC 0E2F44
$06/830B 9D A1 15    STA $15A1,x[$1C:15CD]   A:8D91 X:002C Y:AF42 P:eNvmxdizc
$06/830E A9 00 00    LDA #$0000              A:8D91 X:002C Y:AF42 P:eNvmxdizc
$06/8311 E2 20       SEP #$20                A:0000 X:002C Y:AF42 P:envmxdiZc
$06/8313 B9 04 00    LDA $0004,y[$1C:AF46]   A:0000 X:002C Y:AF42 P:envMxdiZc
$06/8316 9D A3 15    STA $15A3,x[$1C:15CF]   A:0014 X:002C Y:AF42 P:envMxdizc
$06/8319 B9 05 00    LDA $0005,y[$1C:AF47]   A:0014 X:002C Y:AF42 P:envMxdizc

Hope anyone could anwer how the pointersystem works...

Have a nice day.



Hi, RedScorpion.

I have a partially completed project in cleaning up the DQ1-2 text, but I'm stumped by the character codes when the Prince of Cannock gets cursed. I might need some help on that myself, but I need to look at where I am and what I need before I make that request.

In any case, here is what I've found about the pointers and dialogue commands:


*Text in long dialogue sequences will loop if not explicitly pointed
to the next line.

*The dialogue is single-width font, with some custom characters.

5F - *: - the symbol for a random NPC speaker
8B - play sound for dialogue
E5 - new string (non-dialogue)
FD - new string (dialogue)
F0 - prompt for next line
FE - end of line
FF - end of string

D80301 XXXX - command to point to the next string of text to show in big-endian
(text starting at 83B2 is written as B283)

D85200 - short delay in text
D85300 - longer delay in text


hi darkmage,

thanks for your feedback. This would help to understand the structure of the dialogs.

Will investigate in deeper look to the dialogs. Could you already create a dumper for the dialogs to work with them?!

I had traced the pointer for the first dialogs which are total confusing in his structure. So i could find some "head"-Pointer and the other are located in the dialog structure.

So i thing it would need a special dumper/inserter to change the pointer automatically. Or do you thing it would be possible to use a tool like cartographer or kruptar?