| esc | 0x1B | implemented, tested | Does nothing. |
| set_devicetype | 'T' | implemented, tested | Set device type. The host sends another byte which selects the device. The programmer responds with 0x0D. This command is mandatory before prog_enter. |
| get_software_id | 'S' | implemented, tested | Return Software Identifier, a 7 character ASCII string identifying the programmer. For the development board it is "AVR DEV", for the parallel programmer it is "AVR PPR" and for the in-curcuit programmer it is "AVR ISP". |
| get_software_ver | 'V' | implemented, tested | Return Software Version. The software/hardware version are returned as two ASCII numbers. |
| get_hardware_ver | 'v' | implemented, tested | Return Hardware Version. The software/hardware version are returned as two ASCII numbers. |
| get_devices | 't' | implemented, tested | Show Supported Devices. A list with supported devices (one byte per device, avr910devCode) is returned in binary form, followed by 0x00. |
| get_progtype | 'p' | implemented, tested | Return Programmer Type. This command should be used to identify the programmer type. The return value is 'S' for serial (or SPI) programmers or 'P' for parallel programmers. |
| has_autoinc | 'a' | implemented, tested | Return autoincrement address support ('Y', as the device does support it). |
| has_blockwrite | 'b' | implemented, tested | Return Block write Mode support. To indicate that block mode (avr109) is supported, the programmer returns 'Y' followed by highbyte of internal buffer size in bytes and lowbyte of the size. |
| get_chip_id | 'i' | implemented, tested | Return Chip ID. The 'i' command is only used with a Terminal, for debug reasons. Not used in any Programmer so far. Returns a string, followed by newline and carriage return. |
| led_set | 'x' | implemented, untested | The host sends one byte of data, the programmer responds with 0x0D. |
| led_clear | 'y' | implemented, untested | The host sends one byte of data, the programmer responds with 0x0D. |
| prog_enter | 'P' | implemented, tested | Enter Programming Mode. |
| prog_wr_pm_l | 'c' | not needed | Write Program Memory, Low Byte. |
| prog_wr_pm_h | 'C' | not needed | Write Program Memory, High Byte. |
| prog_wr_block | 'B' | implemented, tested | Block Write Memory (EEPROM or flash) |
| prog_wr_pm_page | 'm' | not needed | Write Program Memory Page. |
| prog_rd_pm | 'R' | implemented, tested | Read Program Memory |
| prog_rd_block | 'g' | implemented, tested | Block Read Memory (EEPROM or flash) |
| prog_load_adr | 'A' | implemented, tested | Load Address |
| prog_wr_dm | 'D' | not needed | Write Data Memory |
| prog_rd_dm | 'd' | implemented, tested | Read Data Memory. Read byte from EEPROM. |
| prog_leave | 'L' | implemented, tested | Leave Programming Mode |
| prog_exit | 'E' | implemented, tested | Exit, release all Ports, inhibit AVR910 |
| prog_erase | 'e' | implemented, tested | Chip Erase |
| prog_read_sig | 's' | implemented, tested | Read Signature Bytes |
| prog_universal | ':' | implemented, tested | Universal Command. The host sends three additional bytes. The programmer responds with a byte and 0x0D. |
| prog_universal_new | '.' | implemented, tested | New Universal Command. The host sends four additional bytes. The programmer responds with a byte and 0x0D. |
| prog_wr_lock | 'l' | - | Write Lock Bits |
| prog_rd_lock | 'r' | - | Read Lock Bits |
| debug | 'j' | - | Contains sub-commands for debug mode. Every sub-command is four byte long. |