Difference between revisions of "SCUMM/V5 opcodes"

Jump to navigation Jump to search
m (→‎override: clarify)
m (aux opcodes are always 01)
Line 8: Line 8:
|opcode||The instruction's opcode, with the appropriate bits set according to the parameters.
|opcode||The instruction's opcode, with the appropriate bits set according to the parameters.
|-
|-
|aux||An aux opcode that stores parameter bits and no other information.
|aux||An aux opcode that stores parameter bits and no other information. (the base aux opcode seems to always be $01)
|-
|-
|sub-opcode||An aux opcode that indicates a specific function to perform (e.g. the "wait" instruction has sub-opcodes to "wait for message", "wait for actor" etc), as well as storing parameter bits if necessary.
|sub-opcode||An aux opcode that indicates a specific function to perform (e.g. the "wait" instruction has sub-opcodes to "wait for message", "wait for actor" etc), as well as storing parameter bits if necessary.
Line 24: Line 24:
|value[p16]||A 16-bit parameter. This is always encoded as a word LE, and may be a pointer or constant.
|value[p16]||A 16-bit parameter. This is always encoded as a word LE, and may be a pointer or constant.
|-
|-
|value[v16]||A variable number of word LE parameters. These are encoded as a sequence of aux[8] param[p16]; param; aux contains the parameter bit to describe param. A byte of $FF terminates the sequence. (actually always shown as "value[v16]...")
|value[v16]||A variable number of word LE parameters. These are encoded as a sequence of aux[8] param[p16]; param; aux contains the parameter bit to describe param (and is always $01, ignoring the parameter bits). A byte of $FF terminates the sequence. (actually always shown as "value[v16]...")
|-
|-
|value[o]||The offset word for parameter value. This is only encoded if needed, but always at the position indicated. If not specified, the offset word occurs immediately after the parameter.
|value[o]||The offset word for parameter value. This is only encoded if needed, but always at the position indicated. If not specified, the offset word occurs immediately after the parameter.