Kyra/Opcodes

From ScummVM :: Wiki
< Kyra
Revision as of 15:29, 16 September 2007 by LordHoto (talk | contribs) (reformatting list of unimplemented opcodes)
Jump to navigation Jump to search

This page is a work-in-progress document listing VM opcodes of the Kyrandia games. Unless otherwise noted, these opcodes are based on Kyrandia 1. Cyx created the list of Cmd functions, clem and Lordhoto will try to fill in parameters and usage notes. If you have any additions, contact the ScummVM team on IRC.

It is assumed that the opcodes stay the same during all revisions of Kyrandia. A quick comparison between English 1.0 and English 1.3 seems to support this. Generally the list is created by analysis of 1.0 script.

Hint: To disable an opcode/command pair in the compiled scripts, overwrite it with 4C 00 (add sp,00).


Unimplemented opcode

Opcode # Name Place of use
07 o1_runNPCScript not used
3E o1_loadSoundFile not used
4B o1_specificItemInInventory not used
4D o1_mobileCharacterInScene not used
4E o1_hideMobileCharacter not used? (many false positives, but since unhide isn't implemented I don't think that exists)
4F o1_unhideMobileCharacter not used
65 o1_pageFlip not used
69 o1_addItemToInventory not used
6A o1_intPrint not used
84 o1_setPaletteRange not used
92 o1_setPlayingLoop 2 times used (GRAVE.EMC, CAVEB.EMC - only used on failing copy protection, exit to DOS)
97 o1_resetMaskRegion not used