static uint32_t sm501_system_config_read(void *opaque, target_phys_addr_t addr)
{
SM501State * s = (SM501State *)opaque;
- uint32_t offset = addr - (s->base + MMIO_BASE_OFFSET);
uint32_t ret = 0;
- SM501_DPRINTF("sm501 system config regs : read addr=%x, offset=%x\n",
- addr, offset);
+ SM501_DPRINTF("sm501 system config regs : read addr=%x\n", (int)addr);
- switch(offset) {
+ switch(addr) {
case SM501_SYSTEM_CONTROL:
ret = s->system_control;
break;
default:
printf("sm501 system config : not implemented register read."
- " addr=%x, offset=%x\n", addr, offset);
+ " addr=%x\n", (int)addr);
assert(0);
}
target_phys_addr_t addr, uint32_t value)
{
SM501State * s = (SM501State *)opaque;
- uint32_t offset = addr - (s->base + MMIO_BASE_OFFSET);
- SM501_DPRINTF("sm501 system config regs : write addr=%x, ofs=%x, val=%x\n",
- addr, offset, value);
+ SM501_DPRINTF("sm501 system config regs : write addr=%x, val=%x\n",
+ addr, value);
- switch(offset) {
+ switch(addr) {
case SM501_SYSTEM_CONTROL:
s->system_control = value & 0xE300B8F7;
break;
default:
printf("sm501 system config : not implemented register write."
- " addr=%x, val=%x\n", addr, value);
+ " addr=%x, val=%x\n", (int)addr, value);
assert(0);
}
}
&sm501_system_config_write,
};
-static uint32_t sm501_disp_ctrl_read(void *opaque,
- target_phys_addr_t addr)
+static uint32_t sm501_disp_ctrl_read(void *opaque, target_phys_addr_t addr)
{
SM501State * s = (SM501State *)opaque;
- uint32_t offset = addr - (s->base + MMIO_BASE_OFFSET + SM501_DC);
uint32_t ret = 0;
- SM501_DPRINTF("sm501 disp ctrl regs : read addr=%x, offset=%x\n",
- addr, offset);
+ SM501_DPRINTF("sm501 disp ctrl regs : read addr=%x\n", (int)addr);
- switch(offset) {
+ switch(addr) {
case SM501_DC_PANEL_CONTROL:
ret = s->dc_panel_control;
default:
printf("sm501 disp ctrl : not implemented register read."
- " addr=%x, offset=%x\n", addr, offset);
+ " addr=%x\n", (int)addr);
assert(0);
}
uint32_t value)
{
SM501State * s = (SM501State *)opaque;
- uint32_t offset = addr - (s->base + MMIO_BASE_OFFSET + SM501_DC);
- SM501_DPRINTF("sm501 disp ctrl regs : write addr=%x, ofs=%x, val=%x\n",
- addr, offset, value);
+ SM501_DPRINTF("sm501 disp ctrl regs : write addr=%x, val=%x\n",
+ addr, value);
- switch(offset) {
+ switch(addr) {
case SM501_DC_PANEL_CONTROL:
s->dc_panel_control = value & 0x0FFF73FF;
break;
default:
printf("sm501 disp ctrl : not implemented register write."
- " addr=%x, val=%x\n", addr, value);
+ " addr=%x, val=%x\n", (int)addr, value);
assert(0);
}
}
static uint32_t sm501_palette_read(void *opaque, target_phys_addr_t addr)
{
SM501State * s = (SM501State *)opaque;
- uint32_t offset = addr - (s->base + MMIO_BASE_OFFSET
- + SM501_DC + SM501_DC_PANEL_PALETTE);
- SM501_DPRINTF("sm501 palette read addr=%x, offset=%x\n", addr, offset);
+ SM501_DPRINTF("sm501 palette read addr=%x\n", (int)addr);
/* TODO : consider BYTE/WORD access */
/* TODO : consider endian */
- assert(0 <= offset && offset < 0x400 * 3);
- return *(uint32_t*)&s->dc_palette[offset];
+ assert(0 <= addr && addr < 0x400 * 3);
+ return *(uint32_t*)&s->dc_palette[addr];
}
static void sm501_palette_write(void *opaque,
target_phys_addr_t addr, uint32_t value)
{
SM501State * s = (SM501State *)opaque;
- uint32_t offset = addr - (s->base + MMIO_BASE_OFFSET
- + SM501_DC + SM501_DC_PANEL_PALETTE);
- SM501_DPRINTF("sm501 palette write addr=%x, ofs=%x, val=%x\n",
- addr, offset, value);
+ SM501_DPRINTF("sm501 palette write addr=%x, val=%x\n",
+ (int)addr, value);
/* TODO : consider BYTE/WORD access */
/* TODO : consider endian */
- assert(0 <= offset && offset < 0x400 * 3);
- *(uint32_t*)&s->dc_palette[offset] = value;
+ assert(0 <= addr && addr < 0x400 * 3);
+ *(uint32_t*)&s->dc_palette[addr] = value;
}
static CPUReadMemoryFunc *sm501_palette_readfn[] = {