|    | Done |
|    | Partly Done |
|    | N/A |
|    | TODO |
|
The table in this section gives a brief overview of the opcodes that make up the RCX byte code and is an index into the RCX Opcode Reference, where more information about the opcodes can be found. An alphabetical opcode index is also available.
In the table below, the valid contexts of each opcode are listed under the Modes heading. A P indicates a request sent from the PC to the RCX, an R indicates a reply from the RCX to the PC, and a C indicates a command that may be used in byte code.
| Opcode | Modes | Name | Encoding | Notes | ||
|---|---|---|---|---|---|---|
| 10/18 | P | Alive | void | [details] | ||
| 12/1a | P | Get value For registers only | byte source
byte argument |
[details] | ||
| 13/1b | P | C | Set motor power | byte motors
byte source byte argument |
[details] | |
| 14/1c | P | C | Set variable | byte index
byte source short argument |
[details] | |
| 15/1d | P | Get versions | byte key[5] | [details] | ||
| 16/1e | R | Set motor direction | void | [details] | ||
| 17/xx | C | Call subroutine | byte subroutine | [details] | ||
| 20/28 | P | Get memory map | void | [details] | ||
| 21/29 | P | C | Set motor on/off | byte code | [details] | |
| 22/2a | P | C | Set time | byte hours
byte minutes |
[details] | |
| 23/2b | P | C | Play tone | short frequency
byte duration |
[details] | |
| 24/2c | P | C | Add to variable | byte index
byte source short argument |
[details] | |
| 25/2d | P | Start task download | byte unknown
short task short length |
[details] | ||
| 26/2e | R | Clear sensor value | void | [details] | ||
| 27/xx | C | Branch always near | byte offset | [details] | ||
| 30/38 | P | Get battery power | void | [details] | ||
| 31/39 | P | C | Set transmitter range | byte range | [details] | |
| 32/3a | P | C | Set sensor type | byte sensor
byte type |
[details] | |
| 33/3b | P | C | Set display | byte source
short argument |
[details] | |
| 34/3c | P | C | Subtract from variable | byte index
byte source short argument |
[details] | |
| 35/3d | P | Start subroutine download | byte unknown
short subroutine short length |
[details] | ||
| 36/3e | R | Delete subroutine | void | [details] | ||
| 37/xx | C | Decrement loop counter near | byte offset | [details] | ||
| 40/48 | P | C | Delete all tasks | void | [details] | |
| 42/4a | P | C | Set sensor mode | byte sensor
byte code |
[details] | |
| 43/xx | C | Wait | byte source
short argument |
[details] | ||
| 44/4c | P | C | Divide variable | byte index
byte source short argument |
[details] | |
| 45/4d | P | Transfer data | short index
short length byte data[length] byte checksum |
[details] | ||
| 46/4e | R | Set power down delay | void | [details] | ||
| 50/58 | P | C | Stop all tasks | void | [details] | |
| 51/59 | P | C | Play sound | byte sound | [details] | |
| 52/5a | P | C | Set datalog size | short size | [details] | |
| 52/5a | R | Unlock firmware | byte data[25] | [details] | ||
| 53/5b | R | Upload datalog | dlrec data[length] | [details] | ||
| 54/5c | P | C | Multiply variable | byte index
byte source short argument |
[details] | |
| 56/5e | R | Clear timer | void | [details] | ||
| 60/68 | P | C | Power off | void | [details] | |
| 61/69 | P | C | Delete task | byte task | [details] | |
| 62/6a | P | C | Datalog next | byte source
byte argument |
[details] | |
| 63/6b | R | Or variable | void | [details] | ||
| 64/6c | P | C | Sign variable | byte index
byte source short argument |
[details] | |
| 65/6d | P | C | Delete firmware | byte key[5] | [details] | |
| 66/6e | R | Set program number | void | [details] | ||
| 70/78 | P | C | Delete all subroutines | void | [details] | |
| 71/79 | P | C | Start task | byte task | [details] | |
| 72/xx | C | Branch always far | byte offset
byte extension |
[details] | ||
| 73/7b | R | And variable | void | [details] | ||
| 74/7c | P | C | Absolute value | byte index
byte source short argument |
[details] | |
| 75/7d | P | Start firmware download | short address
short checksum byte unknown |
[details] | ||
| 76/7e | R | Stop task | void | [details] | ||
| 81/89 | P | C | Stop task | byte task | [details] | |
| 82/8a | R | Start firmware download | byte errorcode | [details] | ||
| 82/xx | C | Set loop counter | byte source
byte argument |
[details] | ||
| 83/8b | R | Absolute value | void | [details] | ||
| 84/8c | P | C | And variable | byte index
byte source byte argument |
[details] | |
| 85/xx | C | Test and branch near | byte opsrc1
byte src2 short arg1 byte arg2 byte offset |
[details] | ||
| 86/8e | R | Start task | void | [details] | ||
| 87/8f | R | Delete all subroutines | void | [details] | ||
| 90/xx | C | Clear message | void | [details] | ||
| 91/99 | P | C | Set program number | byte program | [details] | |
| 92/9a | R | Delete firmware | void | [details] | ||
| 92/xx | C | Decrement loop counter far | short offset | [details] | ||
| 93/9b | R | Sign variable | void | [details] | ||
| 94/9c | P | C | Or variable | byte index
byte source byte argument |
[details] | |
| 95/9d | R | Datalog next | byte errorcode | [details] | ||
| 95/xx | C | Test and branch far | byte opsrc1
byte src2 short arg1 byte arg2 short offset |
[details] | ||
| 96/9e | R | Delete task | void | [details] | ||
| 97/9f | R | Power off | void | [details] | ||
| a1/a9 | P | C | Clear timer | byte timer | [details] | |
| a3/ab | R | Multiply variable | void | [details] | ||
| a4/ac | P | Upload datalog | short first
short count |
[details] | ||
| a5/ad | P | Unlock firmware | byte key[5] | [details] | ||
| a5/ad | R | Set datalog size | byte errorcode | [details] | ||
| a6/ae | R | Play sound | void | [details] | ||
| a7/af | R | Stop all tasks | void | [details] | ||
| b1/b9 | P | C | Set power down delay | byte minutes | [details] | |
| b2/ba | R | Transfer data | byte errorcode | [details] | ||
| b2/xx | C | Send message | byte source
byte argument |
[details] | ||
| b3/bb | R | Divide variable | void | [details] | ||
| b5/bd | R | Set sensor mode | void | [details] | ||
| b7/bf | R | Delete all tasks | void | [details] | ||
| c1/c9 | P | C | Delete subroutine | byte subroutine | [details] | |
| c2/ca | R | Start subroutine download | byte errorcode | [details] | ||
| c3/cb | R | Subtract from variable | void | [details] | ||
| c4/cc | R | Set display | void | [details] | ||
| c5/cd | R | Set sensor type | void | [details] | ||
| c6/ce | R | Set transmitter range | void | [details] | ||
| c7/cf | R | Get battery power | short millivolts | [details] | ||
| d1/d9 | P | C | Clear sensor value | byte sensor | [details] | |
| d2/da | R | Start task download | byte errorcode | [details] | ||
| d3/db | R | Add to variable | void | [details] | ||
| d4/dc | R | Play tone | void | [details] | ||
| d5/dd | R | Set time | void | [details] | ||
| d6/de | R | Set motor on/off | void | [details] | ||
| d7/df | R | Get memory map | short map[94] | [details] | ||
| e1/e9 | P | C | Set motor direction | byte code | [details] | |
| e2/ea | R | Get versions | short rom[2]
short firmware[2] |
[details] | ||
| e3/eb | R | Set variable | void | [details] | ||
| e4/ec | R | Set motor power | void | [details] | ||
| e5/ed | R | Get value For registers only | short value | [details] | ||
| e7/ef | R | Alive | void | [details] | ||
| f7/xx | P | C | Set message | byte message | [details] | |
| Copyright © 1998, 1999 Kekoa Proudfoot. All rights reserved. | kekoa@graphics.stanford.edu |