log_err("%s", strerror(errno));
exit(1);
}
+
+ memset(m->buf, 0x00, m->size);
}
}
return value;
}
-void
-psw_write_cy(int cy)
-{
- u_int8_t psw = memory_read8(INT_MEM_ID, _PSW_);
-
- if (cy)
- psw |= 0x80; /* Set */
- else
- psw &= ~0x80; /* Clear */
-
- memory_write8(INT_MEM_ID, _PSW_, psw); /* Save updated value */
-}
-
-void
-psw_set_cy(void)
-{
- u_int8_t psw = memory_read8(INT_MEM_ID, _PSW_);
-
- psw |= 0x80;
-
- memory_write8(INT_MEM_ID, _PSW_, psw); /* Save updated value */
-}
-
-void
-psw_clr_cy(void)
+/* Read a 16-bit address from PGM memory, starting at <base> offset */
+uint16_t
+pgm_read_addr16(uint16_t base)
{
- u_int8_t psw = memory_read8(INT_MEM_ID, _PSW_);
-
- psw &= ~0x80;
+ uint16_t addr;
- memory_write8(INT_MEM_ID, _PSW_, psw); /* Save updated value */
-}
+ addr = memory_read8(PGM_MEM_ID, base) << 8; /* MSB */
+ addr |= memory_read8(PGM_MEM_ID, base + 1); /* LSB */
-/* Returns 0 or 1 */
-int
-psw_read_cy(void)
-{
- return memory_read8(INT_MEM_ID, _PSW_) >> 7;
+ return addr;
}
/* Dump memory */