|
|
(44 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
| This page is a work-in-progress document listing vm opcodes of the [[kyra|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. | | This page is a reference of unused opcodes in Kyrandia 1. |
|
| |
|
| ===Opcodes=== | | ==Unimplemented opcodes== |
| <code>
| | {| border="1" width="100%" |
| 44 = push
| | |- |
| 45 = ? compare [sp], [xx] ?
| | !|Opcode # |
| 49 = ? copy [xx], [sp] ?
| | !|Name |
| 4C = add sp,xx ; what would be dec sp,xx? maybe 4B or 4E?
| | !|Place of use |
| 4E = execute command (see below)
| | |- |
| </code>
| | |07 |
| | | |o1_runNPCScript |
| ===Commands===
| | |not used |
| <code>
| | |- |
| 01 3 arguments ; output string std color? (unk, unk, stringid) (see also 34)
| | |3E |
| 0B 4 ; walk to coordinates (unk, x,x,y) Cmd_Walk_Player_To_Point ?
| | |o1_loadSoundFile |
| 0D 4 ; remove item from screen? (removes note from desk)
| | |not used |
| 0E 1 ; pick up item (ie mousecursor=item id)
| | |- |
| 29 4 ; play WSA file? (or just load it? coords?)
| | |4B |
| 34 4 ; output string defined color? (color, unk, unk, stringid) (see also 01)
| | |o1_specificItemInInventory |
| 35 0 ; restore text background?
| | |not used |
| 36 0 ; disable mouse cursor
| | |- |
| 37 0 ; enable mouse cursor
| | |4D |
| 8B 2 ; set room name/status text (unk, stringID)
| | |o1_mobileCharacterInScene |
| 91 0 ; copyprotection box pops up
| | |not used |
| 93 0 ; Brandon turns to stone anim?
| | |- |
| </code>
| | |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 |
| | |} |