-
- //printf("Write to Z2 autoconf area.\n");
- autoconfig_write_memory_8(cfg, addr, val);
- return 1;
+ printf("Unexpected %s write to Z2 autoconf addr %.X\n", op_type_names[type], addr - AC_Z2_BASE);
+ return -1;
+ }
+ if (!ac_z3_done && ac_z3_current_pic < ac_z3_pic_count) {
+ uint32_t addr_ = addr - AC_Z2_BASE;
+ if (addr_ & 0x02) {
+ addr_ = (addr_ - 2) + 0x100;
+ }
+ if (type == OP_TYPE_BYTE) {
+ autoconfig_write_memory_z3_8(cfg, addr_ - AC_Z2_BASE, val);
+ return 1;
+ }
+ else if (type == OP_TYPE_WORD) {
+ autoconfig_write_memory_z3_16(cfg, addr_ - AC_Z2_BASE, val);
+ return 1;
+ }
+ printf("Unexpected %s write to Z3 autoconf addr %.X\n", op_type_names[type], addr - AC_Z2_BASE);
+ return -1;