From 925d0670c45e1100e412070fa0ce2405604f219a Mon Sep 17 00:00:00 2001 From: Attila Veghelyi Date: Thu, 29 Jun 2023 16:24:54 +0200 Subject: Init repo --- instructions.h | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 instructions.h (limited to 'instructions.h') diff --git a/instructions.h b/instructions.h new file mode 100644 index 0000000..bb96aa0 --- /dev/null +++ b/instructions.h @@ -0,0 +1,99 @@ +// programmer instructions v0.12.0 +#define NOP 0x00 +#define PROG_RST 0x01 // ->10B +#define PROG_ID 0x02 // ->6B +#define CHECK_INS 0x03 //+1B ->1B +#define FLUSH 0x04 //no echo +#define VREG_EN 0x05 +#define VREG_DIS 0x06 +#define SET_PARAMETER 0x07 //+3B: 1B parameter, 2B data + #define SET_T1T2 0 //T1, T2 + #define SET_T3 1 //T3(H,L) + #define SET_timeout 2 //timeout(H,L) + #define SET_MN 3 //M, N +#define WAIT_T1 0x08 +#define WAIT_T2 0x09 +#define WAIT_T3 0x0A +#define WAIT_US 0x0B //+1B +#define READ_ADC 0x0C // ->2B +#define SET_VPP 0x0D //+1B ->1B +#define EN_VPP_VCC 0x0E //+1B +#define SET_CK_D 0x0F //+1B +#define READ_PINS 0x10 // ->1B +#define LOAD_CONF 0x11 //+2B 000000 +#define LOAD_DATA_PROG 0x12 //+2B 000010 +#define LOAD_DATA_DATA 0x13 //+2B 000011 +#define READ_DATA_PROG 0x14 // ->2B 000100 +#define READ_DATA_DATA 0x15 // ->1B 000101 +#define INC_ADDR 0x16 // 000110 +#define INC_ADDR_N 0x17 //+1B 000110 +#define BEGIN_PROG 0x18 // 001000 +#define BULK_ERASE_PROG 0x19 // 001001 +#define END_PROG 0x1A // 001010 +#define BULK_ERASE_DATA 0x1B // 001011 +#define END_PROG2 0x1C // 001110 +#define ROW_ERASE_PROG 0x1D // 010001 +#define BEGIN_PROG2 0x1E // 011000 +#define CUST_CMD 0x1F //+1B +#define PROG_C 0x20 //+2B ->1B 001000&001110 +#define CORE_INS 0x21 //+2B 0000 +#define SHIFT_TABLAT 0x22 // ->1B 0010 +#define TABLE_READ 0x23 // ->1B 1000 +#define TBLR_INC_N 0x24 //+1B ->1+NB 1001 +#define TABLE_WRITE 0x25 //+2B 1100 +#define TBLW_INC_N 0x26 //+1+2NB 1101 +#define TBLW_PROG 0x27 //+4B 1111 +#define TBLW_PROG_INC 0x28 //+4B 1110 +#define SEND_DATA 0x29 //+3B +#define READ_DATA 0x2A //+1B ->1B +#define I2C_INIT 0x2B //+1B +#define I2C_READ 0x2C //+3B ->1+NB +#define I2C_WRITE 0x2D //+3+NB ->1B +#define I2C_READ2 0x2E //+4B ->1+NB +#define SPI_INIT 0x2F //+1B +#define SPI_READ 0x30 //+1B ->1+NB +#define SPI_WRITE 0x31 //+1+NB ->1B +#define EXT_PORT 0x32 //+2B +#define AT_READ_DATA 0x33 //+3B ->1+2NB +#define AT_LOAD_DATA 0x34 //+3+2NB ->1B +#define CLOCK_GEN 0x35 //+1B +#define SIX 0x36 //+3B +#define REGOUT 0x37 // ->2B +#define ICSP_NOP 0x38 // +#define TX16 0x39 //+1+2NB +#define RX16 0x3A //+1B ->1+2NB +#define uW_INIT 0x3B // +#define uWTX 0x3C //+1+NB +#define uWRX 0x3D //+1B ->+1+NB +#define SIX_LONG 0x3E //+3B +#define SIX_N 0x3F //+1+3NB ->1B +#define OW_RESET 0x40 // ->1B +#define OW_WRITE 0x41 //+1+NB +#define OW_READ 0x42 //+1B ->1+NB +#define UNIO_STBY 0x43 // +#define UNIO_COM 0x44 //+2+NB ->1+NB +#define SET_PORT_DIR 0x45 //+2B +#define READ_B 0x46 // ->1B +#define READ_AC 0x47 // ->1B +#define AT_HV_RTX 0x48 //+1+NB ->1B +#define SIX_LONG5 0x49 //+3B +#define LOAD_PC 0x50 //+2B 011101 +#define LOAD_DATA_INC 0x51 //+2B 100010 +#define READ_DATA_INC 0x52 // ->2B 100100 +#define JTAG_SET_MODE 0x53 //+1B +#define JTAG_SEND_CMD 0x54 //+1B +#define JTAG_XFER_DATA 0x55 //+4B -> 4B +#define JTAG_XFER_F_DATA 0x56 //+4B -> 4B +#define ICSP8_SHORT 0x57 //+1B +#define ICSP8_READ 0x58 //+1B -> 2B +#define ICSP8_LOAD 0x59 //+3B +// special ins. +#define SPI_TEST 0xEF //+2B ->2B +#define READ_RAM 0xF0 //+2B ->3B +#define WRITE_RAM 0xF1 //+3B ->3B +#define LOOP 0xF2 +#define TBLRD 0xF3 //+3B ->2B +#define TBLWT 0xF4 //+5B +#define REPEAT 0xF5 //+1B +#define REPEAT_END 0xF6 +#define MAX_INS 0x59 //last instruction -- cgit v1.2.3-54-g00ecf