projects
/
emu8051.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add proper error checking in asciihex2int functions
[emu8051.git]
/
src
/
common
/
memory.c
diff --git
a/src/common/memory.c
b/src/common/memory.c
index
a75f51d
..
daaa1fa
100644
(file)
--- a/
src/common/memory.c
+++ b/
src/common/memory.c
@@
-21,7
+21,7
@@
struct mem_infos_t {
int size;
int max_size;
struct mem_infos_t {
int size;
int max_size;
- u
_
int8_t *buf;
+ uint8_t *buf;
};
struct mem_infos_t mem_infos[MEM_ID_COUNT];
};
struct mem_infos_t mem_infos[MEM_ID_COUNT];
@@
-50,14
+50,12
@@
mem_init(void)
m = &mem_infos[k];
if (m->size > m->max_size) {
m = &mem_infos[k];
if (m->size > m->max_size) {
- log_err("Memory size invalid (max = %d)", m->max_size);
- exit(1);
+ log_fail("Memory size invalid (max = %d)", m->max_size);
}
m->buf = malloc(m->size);
if (m->buf == NULL) {
}
m->buf = malloc(m->size);
if (m->buf == NULL) {
- log_err("%s", strerror(errno));
- exit(1);
+ log_fail("%s", strerror(errno));
}
memset(m->buf, 0x00, m->size);
}
memset(m->buf, 0x00, m->size);
@@
-93,7
+91,7
@@
mem_convert_bit_address(uint8_t bit_address, uint8_t *byte_address,
}
}
}
}
-u
_
int8_t *
+uint8_t *
mem_getbuf(enum mem_id_t id, unsigned long address)
{
return &mem_infos[id].buf[address];
mem_getbuf(enum mem_id_t id, unsigned long address)
{
return &mem_infos[id].buf[address];
@@
-106,7
+104,7
@@
mem_clear(enum mem_id_t id)
}
void
}
void
-mem_write8(enum mem_id_t id, unsigned long address, u
_
int8_t value)
+mem_write8(enum mem_id_t id, unsigned long address, uint8_t value)
{
if (address >= (unsigned long) mem_infos[id].max_size) {
log_err("Error writing to memory ID: %d\n"
{
if (address >= (unsigned long) mem_infos[id].max_size) {
log_err("Error writing to memory ID: %d\n"
@@
-154,20
+152,20
@@
mem_write_bit(uint8_t bit_address, uint8_t value)
}
void
}
void
-mem_sfr_write8(unsigned long address, u
_
int8_t value)
+mem_sfr_write8(unsigned long address, uint8_t value)
{
/* SFR registers are from addresses $80 to $FF. */
mem_write8(INT_MEM_ID, address, value);
}
void
{
/* SFR registers are from addresses $80 to $FF. */
mem_write8(INT_MEM_ID, address, value);
}
void
-mem_sfr_write_dptr(u
_
int16_t value)
+mem_sfr_write_dptr(uint16_t value)
{
mem_write8(INT_MEM_ID, _DPTRHIGH_, value >> 8);
mem_write8(INT_MEM_ID, _DPTRLOW_, (uint8_t) value);
}
{
mem_write8(INT_MEM_ID, _DPTRHIGH_, value >> 8);
mem_write8(INT_MEM_ID, _DPTRLOW_, (uint8_t) value);
}
-u
_
int8_t
+uint8_t
mem_read8(enum mem_id_t id, unsigned long address)
{
if (address >= (unsigned long) mem_infos[id].max_size) {
mem_read8(enum mem_id_t id, unsigned long address)
{
if (address >= (unsigned long) mem_infos[id].max_size) {
@@
-215,14
+213,14
@@
mem_read_bit(uint8_t bit_address)
return bit_value;
}
return bit_value;
}
-u
_
int8_t
+uint8_t
mem_sfr_read8(unsigned long address)
{
/* SFR registers are from addresses $80 to $FF. */
return mem_read8(INT_MEM_ID, address);
}
mem_sfr_read8(unsigned long address)
{
/* SFR registers are from addresses $80 to $FF. */
return mem_read8(INT_MEM_ID, address);
}
-u
_
int16_t
+uint16_t
mem_sfr_read_dptr(void)
{
return (mem_read8(INT_MEM_ID, _DPTRHIGH_) << 8) +
mem_sfr_read_dptr(void)
{
return (mem_read8(INT_MEM_ID, _DPTRHIGH_) << 8) +
@@
-319,13
+317,13
@@
mem_dump(unsigned int address, int size, enum mem_id_t id)
return;
for (offset = 0; offset < size; offset += 16) {
return;
for (offset = 0; offset < size; offset += 16) {
- u
nsigned char
data[16];
+ u
int8_t
data[16];
printf("%.4X ", address + offset);
for (col = 0; col < 16; col++) {
data[col] = mem_read8(id, address + offset + col);
printf("%.4X ", address + offset);
for (col = 0; col < 16; col++) {
data[col] = mem_read8(id, address + offset + col);
- printf(" %.2X",
(int)
data[col]);
+ printf(" %.2X", data[col]);
}
printf(" ");
}
printf(" ");
@@
-333,7
+331,7
@@
mem_dump(unsigned int address, int size, enum mem_id_t id)
for (col = 0; col < 16; col++) {
if ((int) data[col] >= 32 &&
(int) data[col] <= 126)
for (col = 0; col < 16; col++) {
if ((int) data[col] >= 32 &&
(int) data[col] <= 126)
- printf("%c", data[col]);
+ printf("%c",
(char)
data[col]);
else
printf(".");
}
else
printf(".");
}