diff options
Diffstat (limited to 'src')
274 files changed, 1547 insertions, 1429 deletions
diff --git a/src/emu/cpu/mips/psx.c b/src/emu/cpu/mips/psx.c index 296c2a98333..d5bbf621008 100644 --- a/src/emu/cpu/mips/psx.c +++ b/src/emu/cpu/mips/psx.c @@ -1311,7 +1311,8 @@ static void mips_update_scratchpad( const address_space *space ) } else if( ( psxcpu->biu & BIU_DS ) == 0 ) { - memory_install_readwrite32_handler( space, 0x1f800000, 0x1f8003ff, 0, 0, psx_berr_r, (write32_space_func)SMH_NOP ); + memory_install_read32_handler( space, 0x1f800000, 0x1f8003ff, 0, 0, psx_berr_r ); + memory_nop_write( space, 0x1f800000, 0x1f8003ff, 0, 0 ); } else { diff --git a/src/emu/cpu/tms7000/tms7000.c b/src/emu/cpu/tms7000/tms7000.c index 356fa39a36e..5ccbb01d07c 100644 --- a/src/emu/cpu/tms7000/tms7000.c +++ b/src/emu/cpu/tms7000/tms7000.c @@ -135,7 +135,7 @@ static WRITE8_HANDLER( tms70x0_pf_w ); static ADDRESS_MAP_START(tms7000_mem, ADDRESS_SPACE_PROGRAM, 8) AM_RANGE(0x0000, 0x007f) AM_READWRITE(tms7000_internal_r, tms7000_internal_w) /* tms7000 internal RAM */ - AM_RANGE(0x0080, 0x00ff) AM_READWRITE(SMH_NOP, SMH_NOP) /* reserved */ + AM_RANGE(0x0080, 0x00ff) AM_NOP /* reserved */ AM_RANGE(0x0100, 0x01ff) AM_READWRITE(tms70x0_pf_r, tms70x0_pf_w) /* tms7000 internal I/O ports */ ADDRESS_MAP_END diff --git a/src/emu/debug/debugcmd.c b/src/emu/debug/debugcmd.c index be32ca0317f..e6ddc3d9311 100644 --- a/src/emu/debug/debugcmd.c +++ b/src/emu/debug/debugcmd.c @@ -1786,7 +1786,7 @@ static void execute_cheatinit(running_machine *machine, int ref, int params, con cheat_region[region_count].offset = memory_address_to_byte(space, entry->addrstart) & space->bytemask; cheat_region[region_count].endoffset = memory_address_to_byte(space, entry->addrend) & space->bytemask; cheat_region[region_count].share = entry->share; - cheat_region[region_count].disabled = (entry->write.shandler8 == SMH_RAM) ? FALSE : TRUE; + cheat_region[region_count].disabled = (entry->write.type == AMH_RAM) ? FALSE : TRUE; /* disable double share regions */ if (entry->share != 0) diff --git a/src/emu/memory.c b/src/emu/memory.c index 9982175aa4f..a7aac8c8f8d 100644 --- a/src/emu/memory.c +++ b/src/emu/memory.c @@ -156,6 +156,20 @@ enum _read_or_write }; typedef enum _read_or_write read_or_write; +/* static data access handler constants */ +enum +{ + STATIC_INVALID = 0, /* invalid - should never be used */ + STATIC_BANK1 = 1, /* first memory bank */ + STATIC_BANKMAX = 122, /* last memory bank */ + STATIC_RAM, /* RAM - reads/writes map to dynamic banks */ + STATIC_ROM, /* ROM - reads = RAM; writes = UNMAP */ + STATIC_NOP, /* NOP - reads = unmapped value; writes = no-op */ + STATIC_UNMAP, /* unmapped - same as NOP except we log errors */ + STATIC_WATCHPOINT, /* watchpoint - used internally */ + STATIC_COUNT /* total number of static handlers */ +}; + /*************************************************************************** @@ -169,7 +183,6 @@ typedef enum _read_or_write read_or_write; /* helper macros */ #define HANDLER_IS_RAM(h) ((FPTR)(h) == STATIC_RAM) #define HANDLER_IS_ROM(h) ((FPTR)(h) == STATIC_ROM) -#define HANDLER_IS_NOP(h) ((FPTR)(h) == STATIC_NOP) #define HANDLER_IS_BANK(h) ((FPTR)(h) >= STATIC_BANK1 && (FPTR)(h) <= STATIC_BANKMAX) #define HANDLER_IS_STATIC(h) ((FPTR)(h) < STATIC_COUNT) @@ -210,7 +223,7 @@ struct _bank_info UINT8 index; /* array index for this handler */ UINT8 read; /* is this bank used for reads? */ UINT8 write; /* is this bank used for writes? */ - void * handler; /* SMH_BANK(n) handler for this bank */ + void * handler; /* handler for this bank */ bank_reference * reflist; /* linked list of address spaces referencing this bank */ offs_t bytestart; /* byte-adjusted start offset */ offs_t byteend; /* byte-adjusted end offset */ @@ -316,6 +329,7 @@ const char *const address_space_names[ADDRESS_SPACES] = { "program", "data", "I/ static void memory_init_spaces(running_machine *machine); static void memory_init_preflight(running_machine *machine); static void memory_init_populate(running_machine *machine); +static void memory_init_map_entry(address_space *space, const address_map_entry *entry, read_or_write readorwrite); static void memory_init_allocate(running_machine *machine); static void memory_init_locate(running_machine *machine); static void memory_exit(running_machine *machine); @@ -814,10 +828,10 @@ void address_map_free(address_map *map) { address_map_entry *entry = map->entrylist; map->entrylist = entry->next; - if (entry->read_devtag_string != NULL) - astring_free(entry->read_devtag_string); - if (entry->write_devtag_string != NULL) - astring_free(entry->write_devtag_string); + if (entry->read.derived_tag != NULL) + astring_free(entry->read.derived_tag); + if (entry->write.derived_tag != NULL) + astring_free(entry->write.derived_tag); if (entry->region_string != NULL) astring_free(entry->region_string); free(entry); @@ -1396,6 +1410,22 @@ void _memory_install_bank_handler(const address_space *space, offs_t addrstart, } +/*------------------------------------------------- + _memory_unmap - unmap a section of address + space +-------------------------------------------------*/ + +void _memory_unmap(const address_space *space, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, UINT8 unmap_read, UINT8 unmap_write, UINT8 quiet) +{ + address_space *spacerw = (address_space *)space; + + if (unmap_read) + space_map_range(spacerw, ROW_READ, space->dbits, 0, addrstart, addrend, addrmask, addrmirror, (genf *)(quiet ? STATIC_NOP : STATIC_UNMAP), spacerw, "unmapped"); + if (unmap_write) + space_map_range(spacerw, ROW_WRITE, space->dbits, 0, addrstart, addrend, addrmask, addrmirror, (genf *)(quiet ? STATIC_NOP : STATIC_UNMAP), spacerw, "unmapped"); +} + + /*************************************************************************** DEBUGGER HELPERS @@ -1676,7 +1706,7 @@ static void memory_init_preflight(running_machine *machine) adjust_addresses(space, &entry->bytestart, &entry->byteend, &entry->bytemask, &entry->bytemirror); /* if this is a ROM handler without a specified region, attach it to the implicit region */ - if (space->spacenum == ADDRESS_SPACE_0 && HANDLER_IS_ROM(entry->read.generic) && entry->region == NULL) + if (space->spacenum == ADDRESS_SPACE_0 && entry->read.type == AMH_ROM && entry->region == NULL) { /* make sure it fits within the memory region before doing so, however */ if (entry->byteend < regionsize) @@ -1735,96 +1765,95 @@ static void memory_init_populate(running_machine *machine) while (last_entry != space->map->entrylist) { const address_map_entry *entry; - read_handler rhandler; - write_handler whandler; /* find the entry before the last one we processed */ for (entry = space->map->entrylist; entry->next != last_entry; entry = entry->next) ; last_entry = entry; - rhandler = entry->read; - whandler = entry->write; - - /* if we have a read port tag, look it up */ - if (entry->read_porttag != NULL) - { - const input_port_config *port = input_port_by_tag(&machine->portlist, entry->read_porttag); - int bits = (entry->read_bits == 0) ? space->dbits : entry->read_bits; - genf *handler = NULL; - - if (port == NULL) - fatalerror("Non-existent port referenced: '%s'\n", entry->read_porttag); - switch (bits) - { - case 8: handler = (genf *)input_port_read8; break; - case 16: handler = (genf *)input_port_read16; break; - case 32: handler = (genf *)input_port_read32; break; - case 64: handler = (genf *)input_port_read64; break; - } - space_map_range_private(space, ROW_READ, bits, entry->read_mask, entry->addrstart, entry->addrend, entry->addrmask, entry->addrmirror, handler, (void *)port, entry->read_porttag); - } - - /* if we have a write port tag, look it up */ - if (entry->write_porttag != NULL) - { - const input_port_config *port = input_port_by_tag(&machine->portlist, entry->write_porttag); - int bits = (entry->write_bits == 0) ? space->dbits : entry->write_bits; - genf *handler = NULL; + + /* map both read and write halves */ + memory_init_map_entry(space, entry, ROW_READ); + memory_init_map_entry(space, entry, ROW_WRITE); + } + } +} - if (port == NULL) - fatalerror("Non-existent port referenced: '%s'\n", entry->write_porttag); - switch (bits) - { - case 8: handler = (genf *)input_port_write8; break; - case 16: handler = (genf *)input_port_write16; break; - case 32: handler = (genf *)input_port_write32; break; - case 64: handler = (genf *)input_port_write64; break; - } - space_map_range_private(space, ROW_WRITE, bits, entry->write_mask, entry->addrstart, entry->addrend, entry->addrmask, entry->addrmirror, handler, (void *)port, entry->write_porttag); - } - /* if we have a read bank tag, look it up */ - if (entry->read_banktag != NULL) - { - void *handler = bank_find_or_allocate(space, entry->read_banktag, entry->addrstart, entry->addrend, ROW_READ); - space_map_range_private(space, ROW_READ, space->dbits, entry->read_mask, entry->addrstart, entry->addrend, entry->addrmask, entry->addrmirror, handler, space, entry->read_banktag); - } +/*------------------------------------------------- + memory_init_map_entry - map a single read or + write entry based on information from an + address map entry +-------------------------------------------------*/ - /* if we have a write bank tag, look it up */ - if (entry->write_banktag != NULL) - { - void *handler = bank_find_or_allocate(space, entry->write_banktag, entry->addrstart, entry->addrend, ROW_WRITE); - space_map_range_private(space, ROW_WRITE, space->dbits, entry->write_mask, entry->addrstart, entry->addrend, entry->addrmask, entry->addrmirror, handler, space, entry->write_banktag); - } +static void memory_init_map_entry(address_space *space, const address_map_entry *entry, read_or_write readorwrite) +{ + const map_handler_data *handler = (readorwrite == ROW_READ) ? &entry->read : &entry->write; + int bits = (handler->bits != 0) ? handler->bits : space->dbits; + genf *funcptr = handler->handler.generic; + const char *name = handler->name; + void *object = space; - /* install the read handler if present */ - if (rhandler.generic != NULL) - { - int bits = (entry->read_bits == 0) ? space->dbits : entry->read_bits; - void *object = space; - if (entry->read_devtag != NULL) - { - object = (void *)device_list_find_by_tag(&machine->config->devicelist, entry->read_devtag); - if (object == NULL) - fatalerror("Unidentified object in memory map: tag=%s\n", entry->read_devtag); - } - space_map_range_private(space, ROW_READ, bits, entry->read_mask, entry->addrstart, entry->addrend, entry->addrmask, entry->addrmirror, rhandler.generic, object, entry->read_name); - } + /* based on the handler type, alter the bits, name, funcptr, and object */ + switch (handler->type) + { + case AMH_NONE: + return; + + case AMH_RAM: + bits = space->dbits; + name = "RAM"; + funcptr = (genf *)STATIC_RAM; + break; + + case AMH_ROM: + bits = space->dbits; + name = "ROM"; + funcptr = (genf *)STATIC_ROM; + break; + + case AMH_NOP: + bits = space->dbits; + name = "nop"; + funcptr = (genf *)STATIC_NOP; + break; + + case AMH_UNMAP: + bits = space->dbits; + name = "unmapped"; + funcptr = (genf *)STATIC_NOP; + break; - /* install the write handler if present */ - if (whandler.generic != NULL) - { - int bits = (entry->write_bits == 0) ? space->dbits : entry->write_bits; - void *object = space; - if (entry->write_devtag != NULL) - { - object = (void *)device_list_find_by_tag(&machine->config->devicelist, entry->write_devtag); - if (object == NULL) - fatalerror("Unidentified object in memory map: tag=%s\n", entry->write_devtag); - } - space_map_range_private(space, ROW_WRITE, bits, entry->write_mask, entry->addrstart, entry->addrend, entry->addrmask, entry->addrmirror, whandler.generic, object, entry->write_name); - } + case AMH_DEVICE_HANDLER: + object = (void *)device_list_find_by_tag(&space->machine->config->devicelist, handler->tag); + if (object == NULL) + fatalerror("Non-existent device '%s' referenced in memory map\n", handler->tag); + break; + + case AMH_HANDLER: + break; + + case AMH_PORT: + name = handler->tag; + switch (bits) + { + case 8: funcptr = (readorwrite == ROW_READ) ? (genf *)input_port_read8 : (genf *)input_port_write8; break; + case 16: funcptr = (readorwrite == ROW_READ) ? (genf *)input_port_read16 : (genf *)input_port_write16; break; + case 32: funcptr = (readorwrite == ROW_READ) ? (genf *)input_port_read32 : (genf *)input_port_write32; break; + case 64: funcptr = (readorwrite == ROW_READ) ? (genf *)input_port_read64 : (genf *)input_port_write64; break; } - } + object = (void *)input_port_by_tag(&space->machine->portlist, handler->tag); + if (object == NULL) + fatalerror("Non-existent port '%s' referenced in memory map\n", handler->tag); + break; + + case AMH_BANK: + bits = space->dbits; + name = handler->tag; + funcptr = (genf *)bank_find_or_allocate(space, handler->tag, entry->addrstart, entry->addrend, readorwrite); + break; + } + + /* do the actual mapping */ + space_map_range_private(space, readorwrite, bits, handler->mask, entry->addrstart, entry->addrend, entry->addrmask, entry->addrmirror, funcptr, object, name); } @@ -2064,10 +2093,9 @@ static void memory_exit(running_machine *machine) fatalerror("%s: %s included a mismatched address map (%s %d) for an existing map with %s %d!\n", driver->source_file, driver->name, #field, tmap.field, #field, map->field); \ } while (0) - -#define check_entry_handler(handler) do { \ - if (entry->handler.generic != NULL && entry->handler.generic != (genf *)SMH_RAM) \ - fatalerror("%s: %s AM_RANGE(0x%x, 0x%x) %s handler already set!\n", driver->source_file, driver->name, entry->addrstart, entry->addrend, #handler); \ +#define check_entry_handler(row) do { \ + if (entry->row.type != AMH_NONE) \ + fatalerror("%s: %s AM_RANGE(0x%x, 0x%x) %s handler already set!\n", driver->source_file, driver->name, entry->addrstart, entry->addrend, #row); \ } while (0) #define check_entry_field(field) do { \ @@ -2156,59 +2184,62 @@ static void map_detokenize(address_map *map, const game_driver *driver, const ch case ADDRMAP_TOKEN_READ: check_entry_handler(read); TOKEN_UNGET_UINT32(tokens); - TOKEN_GET_UINT32_UNPACK3(tokens, entrytype, 8, entry->read_bits, 8, entry->read_mask, 8); - entry->read = TOKEN_GET_PTR(tokens, read); - entry->read_name = TOKEN_GET_STRING(tokens); + TOKEN_GET_UINT32_UNPACK4(tokens, entrytype, 8, entry->read.type, 8, entry->read.bits, 8, entry->read.mask, 8); + if (entry->read.type == AMH_HANDLER || entry->read.type == AMH_DEVICE_HANDLER) + { + entry->read.handler.read = TOKEN_GET_PTR(tokens, read); + entry->read.name = TOKEN_GET_STRING(tokens); + } + if (entry->read.type == AMH_DEVICE_HANDLER || entry->read.type == AMH_PORT || entry->read.type == AMH_BANK) + { + if (entry->read.derived_tag == NULL) + entry->read.derived_tag = astring_alloc(); + entry->read.tag = device_inherit_tag(entry->read.derived_tag, devtag, TOKEN_GET_STRING(tokens)); + } break; case ADDRMAP_TOKEN_WRITE: check_entry_handler(write); TOKEN_UNGET_UINT32(tokens); - TOKEN_GET_UINT32_UNPACK3(tokens, entrytype, 8, entry->write_bits, 8, entry->write_mask, 8); - entry->write = TOKEN_GET_PTR(tokens, write); - entry->write_name = TOKEN_GET_STRING(tokens); + TOKEN_GET_UINT32_UNPACK4(tokens, entrytype, 8, entry->write.type, 8, entry->write.bits, 8, entry->write.mask, 8); + if (entry->write.type == AMH_HANDLER || entry->write.type == AMH_DEVICE_HANDLER) + { + entry->write.handler.write = TOKEN_GET_PTR(tokens, write); + entry->write.name = TOKEN_GET_STRING(tokens); + } + if (entry->write.type == AMH_DEVICE_HANDLER || entry->write.type == AMH_PORT || entry->write.type == AMH_BANK) + { + if (entry->write.derived_tag == NULL) + entry->write.derived_tag = astring_alloc(); + entry->write.tag = device_inherit_tag(entry->write.derived_tag, devtag, TOKEN_GET_STRING(tokens)); + } break; - case ADDRMAP_TOKEN_DEVICE_READ: + case ADDRMAP_TOKEN_READWRITE: check_entry_handler(read); - TOKEN_UNGET_UINT32(tokens); - TOKEN_GET_UINT32_UNPACK3(tokens, entrytype, 8, entry->read_bits, 8, entry->read_mask, 8); - entry->read = TOKEN_GET_PTR(tokens, read); - entry->read_name = TOKEN_GET_STRING(tokens); - if (entry->read_devtag_string == NULL) - entry->read_devtag_string = astring_alloc(); - entry->read_devtag = device_inherit_tag(entry->read_devtag_string, devtag, TOKEN_GET_STRING(tokens)); - break; - - case ADDRMAP_TOKEN_DEVICE_WRITE: check_entry_handler(write); TOKEN_UNGET_UINT32(tokens); - TOKEN_GET_UINT32_UNPACK3(tokens, entrytype, 8, entry->write_bits, 8, entry->write_mask, 8); - entry->write = TOKEN_GET_PTR(tokens, write); - entry->write_name = TOKEN_GET_STRING(tokens); - if (entry->write_devtag_string == NULL) - entry->write_devtag_string = astring_alloc(); - entry->write_devtag = device_inherit_tag(entry->write_devtag_string, devtag, TOKEN_GET_STRING(tokens)); - break; - - case ADDRMAP_TOKEN_READ_PORT: - check_entry_field(read_porttag); - entry->read_porttag = TOKEN_GET_STRING(tokens); - break; - - case ADDRMAP_TOKEN_WRITE_PORT: - check_entry_field(write_porttag); - entry->write_porttag = TOKEN_GET_STRING(tokens); - break; - - case ADDRMAP_TOKEN_READ_BANK: - check_entry_field(read_banktag); - entry->read_banktag = TOKEN_GET_STRING(tokens); - break; - - case ADDRMAP_TOKEN_WRITE_BANK: - check_entry_field(write_banktag); - entry->write_banktag = TOKEN_GET_STRING(tokens); + TOKEN_GET_UINT32_UNPACK4(tokens, entrytype, 8, entry->read.type, 8, entry->read.bits, 8, entry->read.mask, 8); + entry->write.type = entry->read.type; + entry->write.bits = entry->read.bits; + entry->write.mask = entry->read.mask; + if (entry->read.type == AMH_HANDLER || entry->read.type == AMH_DEVICE_HANDLER) + { + entry->read.handler.read = TOKEN_GET_PTR(tokens, read); + entry->read.name = TOKEN_GET_STRING(tokens); + entry->write.handler.write = TOKEN_GET_PTR(tokens, write); + entry->write.name = TOKEN_GET_STRING(tokens); + } + if (entry->read.type == AMH_DEVICE_HANDLER || entry->read.type == AMH_PORT || entry->read.type == AMH_BANK) + { + const char *basetag = TOKEN_GET_STRING(tokens); + if (entry->read.derived_tag == NULL) + entry->read.derived_tag = astring_alloc(); + entry->read.tag = device_inherit_tag(entry->read.derived_tag, devtag, basetag); + if (entry->write.derived_tag == NULL) + entry->write.derived_tag = astring_alloc(); + entry->write.tag = device_inherit_tag(entry->write.derived_tag, devtag, basetag); + } break; case ADDRMAP_TOKEN_REGION: @@ -2288,7 +2319,7 @@ static void space_map_range_private(address_space *space, read_or_write readorwr { /* translate ROM to RAM/UNMAP here */ if (HANDLER_IS_ROM(handler)) - handler = (readorwrite == ROW_WRITE) ? (genf *)STATIC_UNMAP : (genf *)SMH_RAM; + handler = (readorwrite == ROW_WRITE) ? (genf *)STATIC_UNMAP : (genf *)STATIC_RAM; /* assign banks for RAM/ROM areas */ if (HANDLER_IS_RAM(handler)) @@ -2423,12 +2454,12 @@ static int space_needs_backing_store(const address_space *space, const address_m return TRUE; /* if we're writing to any sort of bank or RAM, then yes, we do need backing */ - if (entry->write_banktag != NULL || (FPTR)entry->write.generic == STATIC_RAM) + if (entry->write.type == AMH_BANK || entry->write.type == AMH_RAM) return TRUE; /* if we're reading from RAM or from ROM outside of address space 0 or its region, then yes, we do need backing */ - if ((FPTR)entry->read.generic == STATIC_RAM || - ((FPTR)entry->read.generic == STATIC_ROM && (space->spacenum != ADDRESS_SPACE_0 || entry->addrstart >= memory_region_length(space->machine, space->cpu->tag)))) + if (entry->read.type == AMH_RAM || + (entry->read.type == AMH_ROM && (space->spacenum != ADDRESS_SPACE_0 || entry->addrstart >= memory_region_length(space->machine, space->cpu->tag)))) return TRUE; /* all other cases don't need backing */ @@ -2444,7 +2475,7 @@ static int space_needs_backing_store(const address_space *space, const address_m /*------------------------------------------------- bank_find_or_allocate - allocate a new bank, or find an existing one, and return the - SMH_BANK(n) handler + read/write handler -------------------------------------------------*/ void *bank_find_or_allocate(const address_space *space, const char *tag, offs_t bytestart, offs_t byteend, read_or_write readorwrite) @@ -2495,7 +2526,7 @@ void *bank_find_or_allocate(const address_space *space, const char *tag, offs_t /* populate it */ bank->index = banknum; - bank->handler = SMH_BANK(banknum); + bank->handler = (void *)(FPTR)(STATIC_BANK1 + banknum - 1); bank->bytestart = bytestart; bank->byteend = byteend; bank->curentry = MAX_BANK_ENTRIES; diff --git a/src/emu/memory.h b/src/emu/memory.h index 92844f7fd27..79bdd6ec527 100644 --- a/src/emu/memory.h +++ b/src/emu/memory.h @@ -35,21 +35,20 @@ enum }; -/* static data access handler constants */ -enum +/* address map handler types */ +enum _map_handler_type { - STATIC_INVALID = 0, /* invalid - should never be used */ - STATIC_BANK1 = 1, /* first memory bank */ - /* entries 1-96 are for fixed banks 1-96 specified by the driver */ - /* entries 97-122 are for dynamically allocated internal banks */ - STATIC_BANKMAX = 122, /* last memory bank */ - STATIC_RAM, /* RAM - reads/writes map to dynamic banks */ - STATIC_ROM, /* ROM - reads = RAM; writes = UNMAP */ - STATIC_NOP, /* NOP - reads = unmapped value; writes = no-op */ - STATIC_UNMAP, /* unmapped - same as NOP except we log errors */ - STATIC_WATCHPOINT, /* watchpoint - used internally */ - STATIC_COUNT /* total number of static handlers */ + AMH_NONE = 0, + AMH_RAM, + AMH_ROM, + AMH_NOP, + AMH_UNMAP, + AMH_HANDLER, + AMH_DEVICE_HANDLER, + AMH_PORT, + AMH_BANK }; +typedef enum _map_handler_type map_handler_type; /* address map tokens */ @@ -69,12 +68,7 @@ enum ADDRMAP_TOKEN_MIRROR, ADDRMAP_TOKEN_READ, ADDRMAP_TOKEN_WRITE, - ADDRMAP_TOKEN_DEVICE_READ, - ADDRMAP_TOKEN_DEVICE_WRITE, - ADDRMAP_TOKEN_READ_PORT, - ADDRMAP_TOKEN_WRITE_PORT, - ADDRMAP_TOKEN_READ_BANK, - ADDRMAP_TOKEN_WRITE_BANK, + ADDRMAP_TOKEN_READWRITE, ADDRMAP_TOKEN_REGION, ADDRMAP_TOKEN_SHARE, ADDRMAP_TOKEN_BASEPTR, @@ -211,33 +205,33 @@ union _memory_handler }; +/* address map handler data */ +typedef struct _map_handler_data map_handler_data; +struct _map_handler_data +{ + map_handler_type type; /* type of the handler */ + UINT8 bits; /* width of the handler in bits, or 0 for default */ + UINT8 mask; /* mask for which lanes apply */ + memory_handler handler; /* a memory handler */ + const char * name; /* name of the handler */ + const char * tag; /* tag pointing to a reference */ + astring * derived_tag; /* string used to hold derived names */ +}; + + /* address_map_entry is a linked list element describing one address range in a map */ typedef struct _address_map_entry address_map_entry; struct _address_map_entry { address_map_entry * next; /* pointer to the next entry */ - astring * read_devtag_string; /* string used to hold derived names */ - astring * write_devtag_string;/* string used to hold derived names */ astring * region_string; /* string used to hold derived names */ offs_t addrstart; /* start address */ offs_t addrend; /* end address */ offs_t addrmirror; /* mirror bits */ offs_t addrmask; /* mask bits */ - read_handler read; /* read handler callback */ - UINT8 read_bits; /* bits for the read handler callback (0=default, 1=8, 2=16, 3=32) */ - UINT8 read_mask; /* mask bits indicating which subunits to process */ - const char * read_name; /* read handler callback name */ - const char * read_devtag; /* read tag for the relevant device */ - const char * read_porttag; /* tag for input port reading */ - const char * write_porttag; /* tag for output port writing */ - const char * read_banktag; /* tag for bank reading */ - const char * write_banktag; /* tag for bank writing */ - write_handler write; /* write handler callback */ - UINT8 write_bits; /* bits for the write handler callback (0=default, 1=8, 2=16, 3=32) */ - UINT8 write_mask; /* mask bits indicating which subunits to process */ - const char * write_name; /* write handler callback name */ - const char * write_devtag; /* read tag for the relevant device */ + map_handler_data read; /* data for read handler */ + map_handler_data write; /* data for write handler */ UINT32 share; /* index of a shared memory block */ void ** baseptr; /* receives pointer to memory (optional) */ size_t * sizeptr; /* receives size of area in bytes (optional) */ @@ -448,14 +442,6 @@ union _addrmap64_token #define WRITE64_DEVICE_HANDLER(name) void name(ATTR_UNUSED const device_config *device, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT64 data, ATTR_UNUSED UINT64 mem_mask) -/* static memory handler (SMH) macros that can be used in place of read/write handlers */ -#define SMH_RAM ((void *)STATIC_RAM) -#define SMH_ROM ((void *)STATIC_ROM) -#define SMH_NOP ((void *)STATIC_NOP) -#define SMH_UNMAP ((void *)STATIC_UNMAP) -#define SMH_BANK(n) ((void *)(FPTR)(STATIC_BANK1 + (n) - 1)) - - /* helper macro for merging data with the memory mask */ #define COMBINE_DATA(varptr) (*(varptr) = (*(varptr) & ~mem_mask) | (data & mem_mask)) @@ -508,6 +494,10 @@ union _addrmap64_token _memory_install_port_handler(space, start, end, mask, mirror, rtag, NULL) #define memory_install_read_bank_handler(space, start, end, mask, mirror, rtag) \ _memory_install_bank_handler(space, start, end, mask, mirror, rtag, NULL) +#define memory_unmap_read(space, start, end, mask, mirror) \ + _memory_unmap(space, start, end, mask, mirror, TRUE, FALSE, FALSE) +#define memory_nop_read(space, start, end, mask, mirror) \ + _memory_unmap(space, start, end, mask, mirror, TRUE, FALSE, TRUE) /* wrappers for dynamic write handler installation */ #define memory_install_write_handler(space, start, end, mask, mirror, whandler) \ @@ -536,6 +526,10 @@ union _addrmap64_token _memory_install_port_handler(space, start, end, mask, mirror, NULL, wtag) #define memory_install_write_bank_handler(space, start, end, mask, mirror, wtag) \ _memory_install_bank_handler(space, start, end, mask, mirror, NULL, wtag) +#define memory_unmap_write(space, start, end, mask, mirror) \ + _memory_unmap(space, start, end, mask, mirror, FALSE, TRUE, FALSE) +#define memory_nop_write(space, start, end, mask, mirror) \ + _memory_unmap(space, start, end, mask, mirror, FALSE, TRUE, TRUE) /* wrappers for dynamic read/write handler installation */ #define memory_install_readwrite_handler(space, start, end, mask, mirror, rhandler, whandler) \ @@ -564,6 +558,10 @@ union _addrmap64_token _memory_install_port_handler(space, start, end, mask, mirror, rtag, wtag) #define memory_install_readwrite_bank_handler(space, start, end, mask, mirror, tag) \ _memory_install_bank_handler(space, start, end, mask, mirror, tag, tag) +#define memory_unmap_readwrite(space, start, end, mask, mirror) \ + _memory_unmap(space, start, end, mask, mirror, TRUE, TRUE, FALSE) +#define memory_nop_readwrite(space, start, end, mask, mirror) \ + _memory_unmap(space, start, end, mask, mirror, TRUE, TRUE, TRUE) /* macros for accessing bytes and words within larger chunks */ @@ -669,110 +667,214 @@ union _addrmap64_token #define AM_MIRROR(_mirror) \ TOKEN_UINT64_PACK2(ADDRMAP_TOKEN_MIRROR, 8, _mirror, 32), + +/* space reads */ #define AM_READ(_handler) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_READ, 8, 0, 8, 0, 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_HANDLER, 8, 0, 8, 0, 8), \ TOKEN_PTR(sread, _handler), \ TOKEN_STRING(#_handler), #define AM_READ8(_handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_READ, 8, 8, 8, UNITMASK8(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_HANDLER, 8, 8, 8, UNITMASK8(_unitmask), 8), \ TOKEN_PTR(sread8, _handler), \ TOKEN_STRING(#_handler), #define AM_READ16(_handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_READ, 8, 16, 8, UNITMASK16(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_HANDLER, 8, 16, 8, UNITMASK16(_unitmask), 8), \ TOKEN_PTR(sread16, _handler), \ TOKEN_STRING(#_handler), #define AM_READ32(_handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_READ, 8, 32, 8, UNITMASK32(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_HANDLER, 8, 32, 8, UNITMASK32(_unitmask), 8), \ TOKEN_PTR(sread32, _handler), \ TOKEN_STRING(#_handler), + +/* space writes */ #define AM_WRITE(_handler) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_WRITE, 8, 0, 8, 0, 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_HANDLER, 8, 0, 8, 0, 8), \ TOKEN_PTR(swrite, _handler), \ TOKEN_STRING(#_handler), #define AM_WRITE8(_handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_WRITE, 8, 8, 8, UNITMASK8(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_HANDLER, 8, 8, 8, UNITMASK8(_unitmask), 8), \ TOKEN_PTR(swrite8, _handler), \ TOKEN_STRING(#_handler), #define AM_WRITE16(_handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_WRITE, 8, 16, 8, UNITMASK16(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_HANDLER, 8, 16, 8, UNITMASK16(_unitmask), 8), \ TOKEN_PTR(swrite16, _handler), \ TOKEN_STRING(#_handler), #define AM_WRITE32(_handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_WRITE, 8, 32, 8, UNITMASK32(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_HANDLER, 8, 32, 8, UNITMASK32(_unitmask), 8), \ TOKEN_PTR(swrite32, _handler), \ TOKEN_STRING(#_handler), + +/* space reads/writes */ +#define AM_READWRITE(_rhandler, _whandler) \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READWRITE, 8, AMH_HANDLER, 8, 0, 8, 0, 8), \ + TOKEN_PTR(sread, _rhandler), \ + TOKEN_STRING(#_rhandler), \ + TOKEN_PTR(swrite, _whandler), \ + TOKEN_STRING(#_whandler), + +#define AM_READWRITE8(_rhandler, _whandler, _unitmask) \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READWRITE, 8, AMH_HANDLER, 8, 8, 8, UNITMASK8(_unitmask), 8), \ + TOKEN_PTR(sread8, _rhandler), \ + TOKEN_STRING(#_rhandler), \ + TOKEN_PTR(swrite8, _whandler), \ + TOKEN_STRING(#_whandler), + +#define AM_READWRITE16(_rhandler, _whandler, _unitmask) \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READWRITE, 8, AMH_HANDLER, 8, 16, 8, UNITMASK16(_unitmask), 8), \ + TOKEN_PTR(sread16, _rhandler), \ + TOKEN_STRING(#_rhandler), \ + TOKEN_PTR(swrite16, _whandler), \ + TOKEN_STRING(#_whandler), + +#define AM_READWRITE32(_rhandler, _whandler, _unitmask) \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READWRITE, 8, AMH_HANDLER, 8, 32, 8, UNITMASK32(_unitmask), 8), \ + TOKEN_PTR(sread32, _rhandler), \ + TOKEN_STRING(#_rhandler), \ + TOKEN_PTR(swrite32, _whandler), \ + TOKEN_STRING(#_whandler), + + +/* device reads */ #define AM_DEVREAD(_tag, _handler) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_DEVICE_READ, 8, 0, 8, 0, 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_DEVICE_HANDLER, 8, 0, 8, 0, 8), \ TOKEN_PTR(dread, _handler), \ TOKEN_STRING(#_handler), \ TOKEN_STRING(_tag), #define AM_DEVREAD8(_tag, _handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_DEVICE_READ, 8, 8, 8, UNITMASK8(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_DEVICE_HANDLER, 8, 8, 8, UNITMASK8(_unitmask), 8), \ TOKEN_PTR(dread8, _handler), \ TOKEN_STRING(#_handler), \ TOKEN_STRING(_tag), #define AM_DEVREAD16(_tag, _handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_DEVICE_READ, 8, 16, 8, UNITMASK16(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_DEVICE_HANDLER, 8, 16, 8, UNITMASK16(_unitmask), 8), \ TOKEN_PTR(dread16, _handler), \ TOKEN_STRING(#_handler), \ TOKEN_STRING(_tag), #define AM_DEVREAD32(_tag, _handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_DEVICE_READ, 8, 32, 8, UNITMASK32(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_DEVICE_HANDLER, 8, 32, 8, UNITMASK32(_unitmask), 8), \ TOKEN_PTR(dread32, _handler), \ TOKEN_STRING(#_handler), \ TOKEN_STRING(_tag), + +/* device writes */ #define AM_DEVWRITE(_tag, _handler) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_DEVICE_WRITE, 8, 0, 8, 0, 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_DEVICE_HANDLER, 8, 0, 8, 0, 8), \ TOKEN_PTR(dwrite, _handler), \ TOKEN_STRING(#_handler), \ TOKEN_STRING(_tag), #define AM_DEVWRITE8(_tag, _handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_DEVICE_WRITE, 8, 8, 8, UNITMASK8(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_DEVICE_HANDLER, 8, 8, 8, UNITMASK8(_unitmask), 8), \ TOKEN_PTR(dwrite8, _handler), \ TOKEN_STRING(#_handler), \ TOKEN_STRING(_tag), #define AM_DEVWRITE16(_tag, _handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_DEVICE_WRITE, 8, 16, 8, UNITMASK16(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_DEVICE_HANDLER, 8, 16, 8, UNITMASK16(_unitmask), 8), \ TOKEN_PTR(dwrite16, _handler), \ TOKEN_STRING(#_handler), \ TOKEN_STRING(_tag), #define AM_DEVWRITE32(_tag, _handler, _unitmask) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_DEVICE_WRITE, 8, 32, 8, UNITMASK32(_unitmask), 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_DEVICE_HANDLER, 8, 32, 8, UNITMASK32(_unitmask), 8), \ TOKEN_PTR(dwrite32, _handler), \ TOKEN_STRING(#_handler), \ TOKEN_STRING(_tag), + +/* device reads/writes */ +#define AM_DEVREADWRITE(_tag, _rhandler, _whandler) \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READWRITE, 8, AMH_DEVICE_HANDLER, 8, 0, 8, 0, 8), \ + TOKEN_PTR(dread, _rhandler), \ + TOKEN_STRING(#_rhandler), \ + TOKEN_PTR(dwrite, _whandler), \ + TOKEN_STRING(#_whandler), \ + TOKEN_STRING(_tag), + +#define AM_DEVREADWRITE8(_tag, _rhandler, _whandler, _unitmask) \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READWRITE, 8, AMH_DEVICE_HANDLER, 8, 8, 8, UNITMASK8(_unitmask), 8), \ + TOKEN_PTR(dread8, _rhandler), \ + TOKEN_STRING(#_rhandler), \ + TOKEN_PTR(dwrite8, _whandler), \ + TOKEN_STRING(#_whandler), \ + TOKEN_STRING(_tag), + +#define AM_DEVREADWRITE16(_tag, _rhandler, _whandler, _unitmask) \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READWRITE, 8, AMH_DEVICE_HANDLER, 8, 16, 8, UNITMASK16(_unitmask), 8), \ + TOKEN_PTR(dread16, _rhandler), \ + TOKEN_STRING(#_rhandler), \ + TOKEN_PTR(dwrite16, _whandler), \ + TOKEN_STRING(#_whandler), \ + TOKEN_STRING(_tag), + +#define AM_DEVREADWRITE32(_tag, _rhandler, _whandler, _unitmask) \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READWRITE, 8, AMH_DEVICE_HANDLER, 8, 32, 8, UNITMASK32(_unitmask), 8), \ + TOKEN_PTR(dread32, _rhandler), \ + TOKEN_STRING(#_rhandler), \ + TOKEN_PTR(dwrite32, _whandler), \ + TOKEN_STRING(#_whandler), \ + TOKEN_STRING(_tag), + + +/* special-case accesses */ +#define AM_ROM \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_ROM, 8, 0, 8, 0, 8), + +#define AM_READONLY \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_RAM, 8, 0, 8, 0, 8), + +#define AM_WRITEONLY \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_RAM, 8, 0, 8, 0, 8), + +#define AM_RAM \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READWRITE, 8, AMH_RAM, 8, 0, 8, 0, 8), + +#define AM_UNMAP \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READWRITE, 8, AMH_UNMAP, 8, 0, 8, 0, 8), + +#define AM_NOP \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READWRITE, 8, AMH_NOP, 8, 0, 8, 0, 8), + +#define AM_READNOP \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_NOP, 8, 0, 8, 0, 8), + +#define AM_WRITENOP \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_NOP, 8, 0, 8, 0, 8), + + +/* port accesses */ #define AM_READ_PORT(_tag) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_READ_PORT, 8, 0, 8, 0, 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_PORT, 8, 0, 8, 0, 8), \ TOKEN_STRING(_tag), #define AM_WRITE_PORT(_tag) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_WRITE_PORT, 8, 0, 8, 0, 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_PORT, 8, 0, 8, 0, 8), \ TOKEN_STRING(_tag), + +/* bank accesses */ #define AM_READ_BANK(_tag) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_READ_BANK, 8, 0, 8, 0, 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_READ, 8, AMH_BANK, 8, 0, 8, 0, 8), \ TOKEN_STRING(_tag), #define AM_WRITE_BANK(_tag) \ - TOKEN_UINT32_PACK3(ADDRMAP_TOKEN_WRITE_BANK, 8, 0, 8, 0, 8), \ + TOKEN_UINT32_PACK4(ADDRMAP_TOKEN_WRITE, 8, AMH_BANK, 8, 0, 8, 0, 8), \ TOKEN_STRING(_tag), + +/* attributes for accesses */ #define AM_REGION(_tag, _offs) \ TOKEN_UINT64_PACK2(ADDRMAP_TOKEN_REGION, 8, _offs, 32), \ TOKEN_STRING(_tag), @@ -802,28 +904,12 @@ union _addrmap64_token /* common shortcuts */ -#define AM_READWRITE(_read,_write) AM_READ(_read) AM_WRITE(_write) -#define AM_READWRITE8(_read,_write,_mask) AM_READ8(_read,_mask) AM_WRITE8(_write,_mask) -#define AM_READWRITE16(_read,_write,_mask) AM_READ16(_read,_mask) AM_WRITE16(_write,_mask) -#define AM_READWRITE32(_read,_write,_mask) AM_READ32(_read,_mask) AM_WRITE32(_write,_mask) - -#define AM_DEVREADWRITE(_tag,_read,_write) AM_DEVREAD(_tag,_read) AM_DEVWRITE(_tag,_write) -#define AM_DEVREADWRITE8(_tag,_read,_write,_mask) AM_DEVREAD8(_tag,_read,_mask) AM_DEVWRITE8(_tag,_write,_mask) -#define AM_DEVREADWRITE16(_tag,_read,_write,_mask) AM_DEVREAD16(_tag,_read,_mask) AM_DEVWRITE16(_tag,_write,_mask) -#define AM_DEVREADWRITE32(_tag,_read,_write,_mask) AM_DEVREAD32(_tag,_read,_mask) AM_DEVWRITE32(_tag,_write,_mask) - -#define AM_ROM AM_READ(SMH_ROM) #define AM_ROMBANK(_bank) AM_READ_BANK(_bank) - -#define AM_RAM AM_READWRITE(SMH_RAM, SMH_RAM) #define AM_RAMBANK(_bank) AM_READ_BANK(_bank) AM_WRITE_BANK(_bank) -#define AM_RAM_WRITE(_write) AM_READWRITE(SMH_RAM, _write) -#define AM_WRITEONLY AM_WRITE(SMH_RAM) - -#define AM_UNMAP AM_READWRITE(SMH_UNMAP, SMH_UNMAP) -#define AM_NOP AM_READWRITE(SMH_NOP, SMH_NOP) -#define AM_READNOP AM_READ(SMH_NOP) -#define AM_WRITENOP AM_WRITE(SMH_NOP) +#define AM_RAM_READ(_read) AM_READ(_read) AM_WRITEONLY +#define AM_RAM_WRITE(_write) AM_READONLY AM_WRITE(_write) +#define AM_RAM_DEVREAD(_tag, _read) AM_DEVREAD(_tag, _read) AM_WRITEONLY +#define AM_RAM_DEVWRITE(_tag, _write) AM_READONLY AM_DEVWRITE(_tag, _write) #define AM_BASE_SIZE_MEMBER(_struct, _base, _size) AM_BASE_MEMBER(_struct, _base) AM_SIZE_MEMBER(_struct, _size) #define AM_BASE_SIZE_GENERIC(_member) AM_BASE_GENERIC(_member) AM_SIZE_GENERIC(_member) @@ -939,6 +1025,9 @@ void _memory_install_port_handler(const address_space *space, offs_t addrstart, /* install a new bank handler into the given address space */ void _memory_install_bank_handler(const address_space *space, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, const char *rtag, const char *wtag) ATTR_NONNULL(1); +/* unmap a section of address space */ +void _memory_unmap(const address_space *space, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, UINT8 unmap_read, UINT8 unmap_write, UINT8 quiet) ATTR_NONNULL(1); + /* ----- debugger helpers ----- */ diff --git a/src/emu/validity.c b/src/emu/validity.c index 7bb79ae4b3e..37374c22604 100644 --- a/src/emu/validity.c +++ b/src/emu/validity.c @@ -1325,7 +1325,7 @@ static int validate_devices(int drivnum, const machine_config *config, const inp } /* if this is a program space, auto-assign implicit ROM entries */ - if ((FPTR)entry->read.generic == STATIC_ROM && entry->region == NULL) + if (entry->read.type == AMH_ROM && entry->region == NULL) { entry->region = device->tag; entry->rgnoffs = entry->addrstart; @@ -1362,30 +1362,26 @@ static int validate_devices(int drivnum, const machine_config *config, const inp } /* make sure all devices exist */ - if (entry->read_devtag != NULL && device_list_find_by_tag(&config->devicelist, entry->read_devtag) == NULL) + if ((entry->read.type == AMH_DEVICE_HANDLER && entry->read.tag != NULL && device_list_find_by_tag(&config->devicelist, entry->read.tag) == NULL) || + (entry->write.type == AMH_DEVICE_HANDLER && entry->write.tag != NULL && device_list_find_by_tag(&config->devicelist, entry->write.tag) == NULL)) { - mame_printf_error("%s: %s device '%s' %s space memory map entry references nonexistant device '%s'\n", driver->source_file, driver->name, device->tag, address_space_names[spacenum], entry->read_devtag); - error = TRUE; - } - if (entry->write_devtag != NULL && device_list_find_by_tag(&config->devicelist, entry->write_devtag) == NULL) - { - mame_printf_error("%s: %s device '%s' %s space memory map entry references nonexistant device '%s'\n", driver->source_file, driver->name, device->tag, address_space_names[spacenum], entry->write_devtag); + mame_printf_error("%s: %s device '%s' %s space memory map entry references nonexistant device '%s'\n", driver->source_file, driver->name, device->tag, address_space_names[spacenum], entry->write.tag); error = TRUE; } /* make sure ports exist */ - if (entry->read_porttag != NULL && input_port_by_tag(portlist, entry->read_porttag) == NULL) + if ((entry->read.type == AMH_PORT && entry->read.tag != NULL && input_port_by_tag(portlist, entry->read.tag) == NULL) || + (entry->write.type == AMH_PORT && entry->write.tag != NULL && input_port_by_tag(portlist, entry->write.tag) == NULL)) { - mame_printf_error("%s: %s device '%s' %s space memory map entry references nonexistant port tag '%s'\n", driver->source_file, driver->name, device->tag, address_space_names[spacenum], entry->read_porttag); + mame_printf_error("%s: %s device '%s' %s space memory map entry references nonexistant port tag '%s'\n", driver->source_file, driver->name, device->tag, address_space_names[spacenum], entry->read.tag); error = TRUE; } - /* make sure ports exist */ - if (entry->write_porttag != NULL && input_port_by_tag(portlist, entry->write_porttag) == NULL) - { - mame_printf_error("%s: %s device '%s' %s space memory map entry references nonexistant port tag '%s'\n", driver->source_file, driver->name, device->tag, address_space_names[spacenum], entry->write_porttag); - error = TRUE; - } + /* validate bank tags */ + if (entry->read.type == AMH_BANK) + error |= validate_tag(driver, "bank", entry->read.tag); + if (entry->write.type == AMH_BANK) + error |= validate_tag(driver, "bank", entry->write.tag); } /* release the address map */ diff --git a/src/emu/video/generic.c b/src/emu/video/generic.c index 379e0fdf5fc..8993215fc76 100644 --- a/src/emu/video/generic.c +++ b/src/emu/video/generic.c @@ -307,7 +307,7 @@ equal to the size of normal spriteram. Spriteram size _must_ be declared in the memory map: - { 0x120000, 0x1207ff, SMH_BANK(2), &spriteram, &spriteram_size }, + AM_RANGE(0x120000, 0x1207ff) AM_RAMBANK("sprites") AM_BASE_SIZE_GENERIC(spriteram) Then the video driver must draw the sprites from the buffered_spriteram pointer. The function buffer_spriteram_w() is used to simulate hardware diff --git a/src/mame/audio/dcs.c b/src/mame/audio/dcs.c index b1118089e84..552ca87d114 100644 --- a/src/mame/audio/dcs.c +++ b/src/mame/audio/dcs.c @@ -1114,8 +1114,8 @@ static void sdrc_remap_memory(running_machine *machine) /* if SRAM disabled, clean it out */ if (SDRC_SM_EN == 0) { - memory_install_readwrite32_handler(dcs.program, 0x0800, 0x3fff, 0, 0, (read32_space_func)SMH_UNMAP, (write32_space_func)SMH_UNMAP); - memory_install_readwrite16_handler(dcs.data, 0x0800, 0x37ff, 0, 0, (read16_space_func)SMH_UNMAP, (write16_space_func)SMH_UNMAP); + memory_unmap_readwrite(dcs.program, 0x0800, 0x3fff, 0, 0); + memory_unmap_readwrite(dcs.data, 0x0800, 0x37ff, 0, 0); } /* otherwise, map the SRAM */ @@ -1140,7 +1140,7 @@ static void sdrc_remap_memory(running_machine *machine) /* map 1: nothing from 0800-17ff, alternate RAM at 1800-27ff, same RAM at 2800-37ff */ else { - memory_install_readwrite16_handler(dcs.data, 0x0800, 0x17ff, 0, 0, (read16_space_func)SMH_UNMAP, (write16_space_func)SMH_UNMAP); + memory_unmap_readwrite(dcs.data, 0x0800, 0x17ff, 0, 0); memory_install_readwrite_bank_handler(dcs.data, 0x1800, 0x27ff, 0, 0, "bank23"); memory_install_readwrite_bank_handler(dcs.data, 0x2800, 0x37ff, 0, 0, "bank24"); memory_set_bankptr(machine, "bank23", dcs_sram + 0x3000); diff --git a/src/mame/audio/exidy440.c b/src/mame/audio/exidy440.c index 93596678f77..ffd973d3469 100644 --- a/src/mame/audio/exidy440.c +++ b/src/mame/audio/exidy440.c @@ -895,10 +895,10 @@ static ADDRESS_MAP_START( exidy440_audio_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_NOP AM_RANGE(0x8000, 0x801f) AM_MIRROR(0x03e0) AM_READWRITE(m6844_r, m6844_w) AM_BASE(&m6844_data) AM_RANGE(0x8400, 0x840f) AM_MIRROR(0x03f0) AM_RAM_WRITE(sound_volume_w) AM_BASE(&sound_volume) - AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x03ff) AM_READWRITE(sound_command_r, SMH_NOP) + AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x03ff) AM_READ(sound_command_r) AM_WRITENOP AM_RANGE(0x8c00, 0x93ff) AM_NOP - AM_RANGE(0x9400, 0x9403) AM_MIRROR(0x03fc) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&sound_banks) - AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READWRITE(SMH_NOP, sound_interrupt_clear_w) + AM_RANGE(0x9400, 0x9403) AM_MIRROR(0x03fc) AM_READNOP AM_WRITEONLY AM_BASE(&sound_banks) + AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READNOP AM_WRITE(sound_interrupt_clear_w) AM_RANGE(0x9c00, 0x9fff) AM_NOP AM_RANGE(0xa000, 0xbfff) AM_RAM AM_RANGE(0xc000, 0xdfff) AM_NOP diff --git a/src/mame/audio/jedi.c b/src/mame/audio/jedi.c index b9c2bfcbc00..9dc14e2430d 100644 --- a/src/mame/audio/jedi.c +++ b/src/mame/audio/jedi.c @@ -179,15 +179,15 @@ static ADDRESS_MAP_START( audio_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0810, 0x081f) AM_MIRROR(0x07c0) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w) AM_RANGE(0x0820, 0x082f) AM_MIRROR(0x07c0) AM_DEVREADWRITE("pokey3", pokey_r, pokey_w) AM_RANGE(0x0830, 0x083f) AM_MIRROR(0x07c0) AM_DEVREADWRITE("pokey4", pokey_r, pokey_w) - AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x00ff) AM_READWRITE(SMH_NOP, irq_ack_w) - AM_RANGE(0x1100, 0x1100) AM_MIRROR(0x00ff) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE_MEMBER(jedi_state, speech_data) - AM_RANGE(0x1200, 0x13ff) AM_READWRITE(SMH_NOP, speech_strobe_w) - AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x00ff) AM_READWRITE(SMH_NOP, audio_ack_latch_w) - AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x00ff) AM_READWRITE(SMH_NOP, speech_reset_w) + AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x00ff) AM_READNOP AM_WRITE(irq_ack_w) + AM_RANGE(0x1100, 0x1100) AM_MIRROR(0x00ff) AM_READNOP AM_WRITEONLY AM_BASE_MEMBER(jedi_state, speech_data) + AM_RANGE(0x1200, 0x13ff) AM_READNOP AM_WRITE(speech_strobe_w) + AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x00ff) AM_READNOP AM_WRITE(audio_ack_latch_w) + AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x00ff) AM_READNOP AM_WRITE(speech_reset_w) AM_RANGE(0x1600, 0x17ff) AM_NOP - AM_RANGE(0x1800, 0x1800) AM_MIRROR(0x03ff) AM_READWRITE(audio_latch_r, SMH_NOP) - AM_RANGE(0x1c00, 0x1c00) AM_MIRROR(0x03fe) AM_READWRITE(speech_ready_r, SMH_NOP) - AM_RANGE(0x1c01, 0x1c01) AM_MIRROR(0x03fe) AM_RAM_WRITE(SMH_NOP) AM_BASE_MEMBER(jedi_state, audio_comm_stat) + AM_RANGE(0x1800, 0x1800) AM_MIRROR(0x03ff) AM_READ(audio_latch_r) AM_WRITENOP + AM_RANGE(0x1c00, 0x1c00) AM_MIRROR(0x03fe) AM_READ(speech_ready_r) AM_WRITENOP + AM_RANGE(0x1c01, 0x1c01) AM_MIRROR(0x03fe) AM_READONLY AM_WRITENOP AM_BASE_MEMBER(jedi_state, audio_comm_stat) AM_RANGE(0x2000, 0x7fff) AM_NOP AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/audio/mcr.c b/src/mame/audio/mcr.c index 9db9f8bd6ea..d8bdb6c9a38 100644 --- a/src/mame/audio/mcr.c +++ b/src/mame/audio/mcr.c @@ -459,7 +459,7 @@ static ADDRESS_MAP_START( ssio_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xb000, 0xb000) AM_MIRROR(0x0ffc) AM_DEVWRITE("ssio.2", ay8910_address_w) AM_RANGE(0xb001, 0xb001) AM_MIRROR(0x0ffc) AM_DEVREAD("ssio.2", ay8910_r) AM_RANGE(0xb002, 0xb002) AM_MIRROR(0x0ffc) AM_DEVWRITE("ssio.2", ay8910_data_w) - AM_RANGE(0xc000, 0xcfff) AM_READWRITE(SMH_NOP, ssio_status_w) + AM_RANGE(0xc000, 0xcfff) AM_READNOP AM_WRITE(ssio_status_w) AM_RANGE(0xd000, 0xdfff) AM_WRITENOP /* low bit controls yellow LED */ AM_RANGE(0xe000, 0xefff) AM_READ(ssio_irq_clear) AM_RANGE(0xf000, 0xffff) AM_READ_PORT("SSIO.DIP") /* 6 DIP switches */ diff --git a/src/mame/audio/redalert.c b/src/mame/audio/redalert.c index 37ae35fd9c0..5bea5325733 100644 --- a/src/mame/audio/redalert.c +++ b/src/mame/audio/redalert.c @@ -193,7 +193,7 @@ static ADDRESS_MAP_START( redalert_voice_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM AM_RANGE(0x4000, 0x7fff) AM_NOP AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x3c00) AM_RAM - AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x3fff) AM_READWRITE(soundlatch2_r, SMH_NOP) + AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x3fff) AM_READ(soundlatch2_r) AM_WRITENOP ADDRESS_MAP_END diff --git a/src/mame/drivers/alg.c b/src/mame/drivers/alg.c index 0ca9868a20c..867266eca9a 100644 --- a/src/mame/drivers/alg.c +++ b/src/mame/drivers/alg.c @@ -210,7 +210,7 @@ static WRITE8_DEVICE_HANDLER( alg_cia_0_porta_w ) else /* overlay enabled, map Amiga system ROM on 0x000000 */ - memory_install_write16_handler(space, 0x000000, 0x07ffff, 0, 0, (write16_space_func)SMH_UNMAP); + memory_unmap_write(space, 0x000000, 0x07ffff, 0, 0); } diff --git a/src/mame/drivers/arcadia.c b/src/mame/drivers/arcadia.c index dc89b7a7eef..b7044ddc78a 100644 --- a/src/mame/drivers/arcadia.c +++ b/src/mame/drivers/arcadia.c @@ -75,7 +75,7 @@ static WRITE16_HANDLER( arcadia_multibios_change_game ) if (data == 0) memory_install_read_bank_handler(space, 0x800000, 0x97ffff, 0, 0, "bank2"); else - memory_install_read16_handler(space, 0x800000, 0x97ffff, 0, 0, (read16_space_func)SMH_NOP); + memory_nop_read(space, 0x800000, 0x97ffff, 0, 0); } @@ -107,7 +107,7 @@ static WRITE8_DEVICE_HANDLER( arcadia_cia_0_porta_w ) else /* overlay enabled, map Amiga system ROM on 0x000000 */ - memory_install_write16_handler(cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x000000, 0x07ffff, 0, 0, (write16_space_func)SMH_UNMAP); + memory_unmap_write(cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x000000, 0x07ffff, 0, 0); /* bit 2 = Power Led on Amiga */ set_led_status(device->machine, 0, (data & 2) ? 0 : 1); diff --git a/src/mame/drivers/astrocde.c b/src/mame/drivers/astrocde.c index 9572118bc27..b7de066ecc7 100644 --- a/src/mame/drivers/astrocde.c +++ b/src/mame/drivers/astrocde.c @@ -448,7 +448,7 @@ static WRITE8_HANDLER( profpac_banksw_w ) memory_set_bankptr(space->machine, "bank2", memory_region(space->machine, "user2") + 0x4000 * bank); } else - memory_install_read8_handler(space, 0x4000, 0x7fff, 0, 0, (read8_space_func)SMH_UNMAP); + memory_unmap_read(space, 0x4000, 0x7fff, 0, 0); } } diff --git a/src/mame/drivers/bfm_sc1.c b/src/mame/drivers/bfm_sc1.c index 293a0df90e8..8d0d887977a 100644 --- a/src/mame/drivers/bfm_sc1.c +++ b/src/mame/drivers/bfm_sc1.c @@ -798,7 +798,7 @@ static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4000, 0x5FFF) AM_ROM // 8k ROM AM_RANGE(0x6000, 0x7FFF) AM_ROMBANK("bank1") // 8k paged ROM (4 pages) - AM_RANGE(0x8000, 0xFFFF) AM_RAM AM_WRITE(watchdog_w) // 32k ROM + AM_RANGE(0x8000, 0xFFFF) AM_RAM_WRITE(watchdog_w) // 32k ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/canyon.c b/src/mame/drivers/canyon.c index 8b1b737951d..cf2a8b55341 100644 --- a/src/mame/drivers/canyon.c +++ b/src/mame/drivers/canyon.c @@ -115,7 +115,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0680, 0x0683) AM_WRITE(canyon_led_w) AM_RANGE(0x0700, 0x0703) AM_DEVWRITE("discrete", canyon_attract_w) AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(canyon_videoram_w) AM_BASE_MEMBER(canyon_state, videoram) - AM_RANGE(0x1000, 0x17ff) AM_READWRITE(canyon_switches_r, SMH_NOP) /* sloppy code writes here */ + AM_RANGE(0x1000, 0x17ff) AM_READ(canyon_switches_r) AM_WRITENOP /* sloppy code writes here */ AM_RANGE(0x1800, 0x1fff) AM_READ(canyon_options_r) AM_RANGE(0x2000, 0x3fff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c index 41377f3fdb5..63cc5f41f67 100644 --- a/src/mame/drivers/cave.c +++ b/src/mame/drivers/cave.c @@ -471,7 +471,7 @@ static ADDRESS_MAP_START( dfeveron_map, ADDRESS_SPACE_PROGRAM, 16 ) /**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0 /**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE(&cave_vram_1) // Layer 1 /**/AM_RANGE(0x708000, 0x708fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette -/**/AM_RANGE(0x710000, 0x710bff) AM_READ(SMH_RAM) // ? +/**/AM_RANGE(0x710000, 0x710bff) AM_READONLY // ? AM_RANGE(0x710c00, 0x710fff) AM_RAM // ? AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x800000, 0x80007f) AM_WRITEONLY AM_BASE(&cave_videoregs) // Video Regs @@ -543,13 +543,13 @@ static ADDRESS_MAP_START( donpachi_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x200000, 0x207fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE(&cave_vram_1) // Layer 1 AM_RANGE(0x300000, 0x307fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0 AM_RANGE(0x400000, 0x407fff) AM_RAM_WRITE(cave_vram_2_8x8_w) AM_BASE(&cave_vram_2) // Layer 2 - AM_RANGE(0x500000, 0x507fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites + AM_RANGE(0x500000, 0x507fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites AM_RANGE(0x508000, 0x50ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites? /**/AM_RANGE(0x600000, 0x600005) AM_RAM AM_BASE(&cave_vctrl_1) // Layer 1 Control /**/AM_RANGE(0x700000, 0x700005) AM_RAM AM_BASE(&cave_vctrl_0) // Layer 0 Control /**/AM_RANGE(0x800000, 0x800005) AM_RAM AM_BASE(&cave_vctrl_2) // Layer 2 Control - AM_RANGE(0x900000, 0x90007f) AM_READWRITE(donpachi_videoregs_r, SMH_RAM) AM_BASE(&cave_videoregs) // Video Regs -/**/AM_RANGE(0xa08000, 0xa08fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette + AM_RANGE(0x900000, 0x90007f) AM_RAM_READ(donpachi_videoregs_r) AM_BASE(&cave_videoregs) // Video Regs +/**/AM_RANGE(0xa08000, 0xa08fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette AM_RANGE(0xb00000, 0xb00003) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff) // M6295 AM_RANGE(0xb00010, 0xb00013) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff) // AM_RANGE(0xb00020, 0xb0002f) AM_WRITE(NMK112_okibank_lsb_w) // @@ -737,15 +737,15 @@ static CUSTOM_INPUT( korokoro_hopper_r ) static ADDRESS_MAP_START( korokoro_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM -// AM_RANGE(0x100000, 0x107fff) AM_READ(SMH_RAM) // Layer 0 +// AM_RANGE(0x100000, 0x107fff) AM_READONLY // Layer 0 AM_RANGE(0x100000, 0x107fff) AM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0 -// AM_RANGE(0x140000, 0x140005) AM_READ(SMH_RAM) // Layer 0 Control +// AM_RANGE(0x140000, 0x140005) AM_READONLY // Layer 0 Control AM_RANGE(0x140000, 0x140005) AM_WRITEONLY AM_BASE(&cave_vctrl_0) // Layer 0 Control -// AM_RANGE(0x180000, 0x187fff) AM_READ(SMH_RAM) // Sprites +// AM_RANGE(0x180000, 0x187fff) AM_READONLY // Sprites AM_RANGE(0x180000, 0x187fff) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) // Sprites AM_RANGE(0x1c0000, 0x1c0007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x1c0000, 0x1c007f) AM_WRITEONLY AM_BASE(&cave_videoregs) // Video Regs -// AM_RANGE(0x200000, 0x207fff) AM_READ(SMH_RAM) // Palette +// AM_RANGE(0x200000, 0x207fff) AM_READONLY // Palette AM_RANGE(0x200000, 0x207fff) AM_WRITEONLY AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette // AM_RANGE(0x240000, 0x240003) AM_DEVREAD8( "ymz", ymz280b_r, 0x00ff) // YMZ280 AM_RANGE(0x240000, 0x240003) AM_DEVWRITE8( "ymz", ymz280b_w, 0x00ff) // YMZ280 @@ -849,16 +849,16 @@ static ADDRESS_MAP_START( pwrinst2_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x400000, 0x40ffff) AM_RAM // RAM AM_RANGE(0x500000, 0x500001) AM_READ_PORT("IN0") // Inputs AM_RANGE(0x500002, 0x500003) AM_READ_PORT("IN1") // - AM_RANGE(0x600000, 0x6fffff) AM_ROM AM_REGION("user1", 0) // extra data ROM space + AM_RANGE(0x600000, 0x6fffff) AM_ROM AM_REGION("user1", 0) // extra data ROM space AM_RANGE(0x700000, 0x700001) AM_WRITE(cave_eeprom_msb_w) // EEPROM AM_RANGE(0x800000, 0x807fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE(&cave_vram_2) // Layer 2 AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0 AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE(&cave_vram_1) // Layer 1 AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE(cave_vram_3_8x8_w) AM_BASE(&cave_vram_3) // Layer 3 - AM_RANGE(0xa00000, 0xa07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites + AM_RANGE(0xa00000, 0xa07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites AM_RANGE(0xa08000, 0xa0ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites? AM_RANGE(0xa10000, 0xa1ffff) AM_RAM // Sprites? - AM_RANGE(0xa80000, 0xa8007f) AM_READWRITE(donpachi_videoregs_r, SMH_RAM) AM_BASE(&cave_videoregs) // Video Regs + AM_RANGE(0xa80000, 0xa8007f) AM_RAM_READ(donpachi_videoregs_r) AM_BASE(&cave_videoregs) // Video Regs /**/AM_RANGE(0xb00000, 0xb00005) AM_RAM_WRITE(pwrinst2_vctrl_2_w) AM_BASE(&cave_vctrl_2) // Layer 2 Control /**/AM_RANGE(0xb80000, 0xb80005) AM_RAM_WRITE(pwrinst2_vctrl_0_w) AM_BASE(&cave_vctrl_0) // Layer 0 Control /**/AM_RANGE(0xc00000, 0xc00005) AM_RAM_WRITE(pwrinst2_vctrl_1_w) AM_BASE(&cave_vctrl_1) // Layer 1 Control diff --git a/src/mame/drivers/cball.c b/src/mame/drivers/cball.c index 74844ffadfc..cbd1970f210 100644 --- a/src/mame/drivers/cball.c +++ b/src/mame/drivers/cball.c @@ -125,7 +125,7 @@ static ADDRESS_MAP_START( cpu_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_GLOBAL_MASK(0x7fff) AM_RANGE(0x0000, 0x03ff) AM_READ(cball_wram_r) AM_MASK(0x7f) - AM_RANGE(0x0400, 0x07ff) AM_READ(SMH_RAM) + AM_RANGE(0x0400, 0x07ff) AM_READONLY AM_RANGE(0x1001, 0x1001) AM_READ_PORT("1001") AM_RANGE(0x1003, 0x1003) AM_READ_PORT("1003") AM_RANGE(0x1020, 0x1020) AM_READ_PORT("1020") diff --git a/src/mame/drivers/cclimber.c b/src/mame/drivers/cclimber.c index 18baa3ee4d1..3eae9d94cec 100644 --- a/src/mame/drivers/cclimber.c +++ b/src/mame/drivers/cclimber.c @@ -304,7 +304,7 @@ static ADDRESS_MAP_START( cannonb_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x6000, 0x6bff) AM_RAM AM_RANGE(0x8000, 0x83ff) AM_RAM - AM_RANGE(0x8800, 0x88ff) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&cclimber_bigsprite_videoram) /* must not return what's written (game will reset after coin insert if it returns 0xff)*/ + AM_RANGE(0x8800, 0x88ff) AM_READNOP AM_WRITEONLY AM_BASE(&cclimber_bigsprite_videoram) /* must not return what's written (game will reset after coin insert if it returns 0xff)*/ // AM_RANGE(0x8900, 0x8bff) AM_WRITEONLY /* not used, but initialized */ AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM AM_BASE(&cclimber_videoram) /* 9800-9bff and 9c00-9fff share the same RAM, interleaved */ @@ -337,7 +337,7 @@ static ADDRESS_MAP_START( swimmer_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xa004, 0xa004) AM_WRITEONLY AM_BASE(&swimmer_palettebank) AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P1") AM_WRITE(swimmer_sh_soundlatch_w) AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW1") - AM_RANGE(0xb800, 0xb800) AM_READ_PORT("DSW2") AM_WRITE(SMH_RAM) AM_BASE(&swimmer_background_color) + AM_RANGE(0xb800, 0xb800) AM_READ_PORT("DSW2") AM_WRITEONLY AM_BASE(&swimmer_background_color) AM_RANGE(0xb880, 0xb880) AM_READ_PORT("SYSTEM") AM_RANGE(0xc000, 0xc7ff) AM_RAM /* ??? used by Guzzler */ AM_RANGE(0xe000, 0xffff) AM_ROM /* Guzzler only */ diff --git a/src/mame/drivers/cischeat.c b/src/mame/drivers/cischeat.c index 493afb24834..45b8fc92486 100644 --- a/src/mame/drivers/cischeat.c +++ b/src/mame/drivers/cischeat.c @@ -239,7 +239,7 @@ static ADDRESS_MAP_START( bigrun_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x09c000, 0x09ffff) AM_WRITE(bigrun_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_ram) // RAM - AM_RANGE(0x100000, 0x13ffff) AM_READWRITE(rom_1_r, SMH_ROM) // ROM + AM_RANGE(0x100000, 0x13ffff) AM_READ(rom_1_r) // ROM ADDRESS_MAP_END @@ -300,7 +300,7 @@ static ADDRESS_MAP_START( cischeat_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(cischeat_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_ram) // RAM - AM_RANGE(0x100000, 0x17ffff) AM_READWRITE(rom_1_r, SMH_ROM) // ROM + AM_RANGE(0x100000, 0x17ffff) AM_READ(rom_1_r) // ROM ADDRESS_MAP_END @@ -354,7 +354,7 @@ static ADDRESS_MAP_START( f1gpstar_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(f1gpstar_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_ram) // RAM - AM_RANGE(0x100000, 0x17ffff) AM_READWRITE(rom_1_r, SMH_ROM) // ROM + AM_RANGE(0x100000, 0x17ffff) AM_READ(rom_1_r) // ROM ADDRESS_MAP_END @@ -380,7 +380,7 @@ static ADDRESS_MAP_START( f1gpstr2_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(f1gpstar_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_ram) // RAM - AM_RANGE(0x100000, 0x17ffff) AM_READWRITE(rom_1_r, SMH_ROM) // ROM + AM_RANGE(0x100000, 0x17ffff) AM_READ(rom_1_r) // ROM ADDRESS_MAP_END @@ -639,7 +639,7 @@ static ADDRESS_MAP_START( cischeat_map2, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x080000, 0x0807ff) AM_RAM AM_BASE(&cischeat_roadram[0]) // Road RAM AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM // RAM AM_RANGE(0x100000, 0x100001) AM_WRITENOP // watchdog - AM_RANGE(0x200000, 0x23ffff) AM_READWRITE(rom_2_r, SMH_ROM) // ROM + AM_RANGE(0x200000, 0x23ffff) AM_READ(rom_2_r) // ROM ADDRESS_MAP_END static ADDRESS_MAP_START( cischeat_map3, ADDRESS_SPACE_PROGRAM, 16 ) @@ -648,7 +648,7 @@ static ADDRESS_MAP_START( cischeat_map3, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x080000, 0x0807ff) AM_RAM AM_BASE(&cischeat_roadram[1]) // Road RAM AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM // RAM AM_RANGE(0x100000, 0x100001) AM_WRITENOP // watchdog - AM_RANGE(0x200000, 0x23ffff) AM_READWRITE(rom_3_r, SMH_ROM) // ROM + AM_RANGE(0x200000, 0x23ffff) AM_READ(rom_3_r) // ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/cloud9.c b/src/mame/drivers/cloud9.c index 8452a8e6cff..02546d6fb4b 100644 --- a/src/mame/drivers/cloud9.c +++ b/src/mame/drivers/cloud9.c @@ -319,7 +319,7 @@ static ADDRESS_MAP_START( cloud9_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5900, 0x5903) AM_MIRROR(0x007c) AM_READ(leta_r) AM_RANGE(0x5a00, 0x5a0f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w) AM_RANGE(0x5b00, 0x5b0f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w) - AM_RANGE(0x5c00, 0x5cff) AM_MIRROR(0x0300) AM_READWRITE(nvram_r, SMH_RAM) AM_BASE(&nvram_stage) AM_SIZE_GENERIC(nvram) + AM_RANGE(0x5c00, 0x5cff) AM_MIRROR(0x0300) AM_RAM_READ(nvram_r) AM_BASE(&nvram_stage) AM_SIZE_GENERIC(nvram) AM_RANGE(0x6000, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/cojag.c b/src/mame/drivers/cojag.c index f12beb1c069..5e43983b0db 100644 --- a/src/mame/drivers/cojag.c +++ b/src/mame/drivers/cojag.c @@ -13,7 +13,7 @@ * Freeze To do: - * map out unused RAM per-game via SMH_NOP/SMH_NOP + * map out unused RAM per-game via memory_nop_read/write Note: There is believed to be a 68020 version of Maximum Force (not confirmed or dumped) diff --git a/src/mame/drivers/contra.c b/src/mame/drivers/contra.c index 25ccc2d37c7..1fe9f7be2e7 100644 --- a/src/mame/drivers/contra.c +++ b/src/mame/drivers/contra.c @@ -89,7 +89,7 @@ static ADDRESS_MAP_START( contra_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1000, 0x1fff) AM_RAM - AM_RANGE(0x2000, 0x5fff) AM_READ(SMH_RAM) + AM_RANGE(0x2000, 0x5fff) AM_READONLY AM_RANGE(0x2000, 0x23ff) AM_WRITE(contra_fg_cram_w) AM_BASE(&contra_fg_cram) AM_RANGE(0x2400, 0x27ff) AM_WRITE(contra_fg_vram_w) AM_BASE(&contra_fg_vram) AM_RANGE(0x2800, 0x2bff) AM_WRITE(contra_text_cram_w) AM_BASE(&contra_text_cram) diff --git a/src/mame/drivers/cosmic.c b/src/mame/drivers/cosmic.c index b2c51088678..be2332a61a9 100644 --- a/src/mame/drivers/cosmic.c +++ b/src/mame/drivers/cosmic.c @@ -1620,7 +1620,7 @@ static DRIVER_INIT( nomnlnd ) { const device_config *dac = devtag_get_device(machine, "dac"); memory_install_read8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x5000, 0x5001, 0, 0, nomnlnd_port_0_1_r); - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x4800, 0x4800, 0, 0, (write8_space_func)SMH_NOP); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x4800, 0x4800, 0, 0); memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x4807, 0x4807, 0, 0, cosmic_background_enable_w); memory_install_write8_device_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), dac, 0x480a, 0x480a, 0, 0, dac_w); } diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c index 1ae0677a56d..fb39cd74ea0 100644 --- a/src/mame/drivers/cps1.c +++ b/src/mame/drivers/cps1.c @@ -8617,7 +8617,7 @@ static DRIVER_INIT( sf2ue ) { /* This specific version of SF2 has the CPS-B custom mapped at a different address. */ /* The mapping is handled by a PAL on the B-board */ - memory_install_readwrite16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x800140, 0x80017f, 0, 0, (read16_space_func)SMH_UNMAP, (write16_space_func)SMH_UNMAP); + memory_unmap_readwrite(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x800140, 0x80017f, 0, 0); memory_install_readwrite16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x8001c0, 0x8001ff, 0, 0, cps1_cps_b_r, cps1_cps_b_w); DRIVER_INIT_CALL(cps1); diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c index 126389157e5..bf355cdea06 100644 --- a/src/mame/drivers/cps3.c +++ b/src/mame/drivers/cps3.c @@ -2139,8 +2139,8 @@ static ADDRESS_MAP_START( cps3_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x03000000, 0x030003ff) AM_RAM // 'FRAM' (SFIII memory test mode ONLY) -// AM_RANGE(0x04000000, 0x0407dfff) AM_RAM AM_BASE(&cps3_spriteram)//AM_WRITE(SMH_RAM) // Sprite RAM (jojoba tests this size) - AM_RANGE(0x04000000, 0x0407ffff) AM_RAM AM_BASE(&cps3_spriteram)//AM_WRITE(SMH_RAM) // Sprite RAM +// AM_RANGE(0x04000000, 0x0407dfff) AM_RAM AM_BASE(&cps3_spriteram)//AM_WRITEONLY // Sprite RAM (jojoba tests this size) + AM_RANGE(0x04000000, 0x0407ffff) AM_RAM AM_BASE(&cps3_spriteram)//AM_WRITEONLY // Sprite RAM AM_RANGE(0x04080000, 0x040bffff) AM_READWRITE(cps3_colourram_r, cps3_colourram_w) AM_BASE(&cps3_colourram) // Colour RAM (jojoba tests this size) 0x20000 colours?! diff --git a/src/mame/drivers/cshooter.c b/src/mame/drivers/cshooter.c index 1f5fbab5960..f8f94544f33 100644 --- a/src/mame/drivers/cshooter.c +++ b/src/mame/drivers/cshooter.c @@ -257,8 +257,8 @@ static READ8_HANDLER(pal_r) static ADDRESS_MAP_START( cshooter_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0xafff) AM_READ_BANK("bank1") AM_WRITE(SMH_RAM) - AM_RANGE(0xb000, 0xb0ff) AM_READ(SMH_RAM) // sound related ? + AM_RANGE(0x8000, 0xafff) AM_READ_BANK("bank1") AM_WRITEONLY + AM_RANGE(0xb000, 0xb0ff) AM_READONLY // sound related ? AM_RANGE(0xc000, 0xc1ff) AM_WRITE(pal_w) AM_READ(pal_r) AM_BASE_GENERIC(paletteram) AM_RANGE(0xc200, 0xc200) AM_READ_PORT("IN0") AM_RANGE(0xc201, 0xc201) AM_READ_PORT("IN1") diff --git a/src/mame/drivers/cubocd32.c b/src/mame/drivers/cubocd32.c index 7eff7d79a3f..10c0a76eeed 100644 --- a/src/mame/drivers/cubocd32.c +++ b/src/mame/drivers/cubocd32.c @@ -354,7 +354,7 @@ static WRITE32_HANDLER( aga_overlay_w ) memory_install_write_bank_handler(space, 0x000000, 0x1fffff, 0, 0, "bank1"); else /* overlay enabled, map Amiga system ROM on 0x000000 */ - memory_install_write32_handler(space, 0x000000, 0x1fffff, 0, 0, (write32_space_func)SMH_UNMAP); + memory_unmap_write(space, 0x000000, 0x1fffff, 0, 0); } } diff --git a/src/mame/drivers/cyberbal.c b/src/mame/drivers/cyberbal.c index 637a717b1ed..fcb8c446d78 100644 --- a/src/mame/drivers/cyberbal.c +++ b/src/mame/drivers/cyberbal.c @@ -146,7 +146,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xff6000, 0xff6fff) AM_RAM_WRITE(atarigen_alpha_w) AM_SHARE(8) AM_BASE(&atarigen_alpha) AM_RANGE(0xff7000, 0xff77ff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_SHARE(9) AM_BASE(&atarimo_0_spriteram) AM_RANGE(0xff7800, 0xff9fff) AM_RAM AM_SHARE(10) - AM_RANGE(0xffa000, 0xffbfff) AM_RAM_WRITE(SMH_NOP) AM_SHARE(11) + AM_RANGE(0xffa000, 0xffbfff) AM_READONLY AM_WRITENOP AM_SHARE(11) AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE(12) ADDRESS_MAP_END @@ -174,7 +174,7 @@ static ADDRESS_MAP_START( extra_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xff7000, 0xff77ff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_SHARE(9) AM_RANGE(0xff7800, 0xff9fff) AM_RAM AM_SHARE(10) AM_RANGE(0xffa000, 0xffbfff) AM_RAM AM_SHARE(11) - AM_RANGE(0xffc000, 0xffffff) AM_RAM_WRITE(SMH_NOP) AM_SHARE(12) + AM_RANGE(0xffc000, 0xffffff) AM_READONLY AM_WRITENOP AM_SHARE(12) ADDRESS_MAP_END diff --git a/src/mame/drivers/ddenlovr.c b/src/mame/drivers/ddenlovr.c index b7a9bc68751..7621947ca70 100644 --- a/src/mame/drivers/ddenlovr.c +++ b/src/mame/drivers/ddenlovr.c @@ -1710,11 +1710,11 @@ static WRITE16_HANDLER( ddenlvrk_protection2_w ) static ADDRESS_MAP_START( ddenlvrk_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM - AM_RANGE(0x100000, 0x100001) AM_READWRITE(ddenlvrk_protection1_r, SMH_RAM) AM_BASE(&ddenlvrk_protection1) + AM_RANGE(0x100000, 0x100001) AM_RAM_READ(ddenlvrk_protection1_r) AM_BASE(&ddenlvrk_protection1) AM_RANGE(0x200000, 0x200001) AM_READWRITE(ddenlvrk_protection2_r, ddenlvrk_protection2_w) AM_BASE(&ddenlvrk_protection2) AM_RANGE(0xd00000, 0xd003ff) AM_WRITE(ddenlovr_palette_w) // Palette -// AM_RANGE(0xd01000, 0xd017ff) SMH_RAM) // ? B0 on startup, then 00 +// AM_RANGE(0xd01000, 0xd017ff) AM_RAM // ? B0 on startup, then 00 AM_RANGE(0xe00040, 0xe00047) AM_WRITE(ddenlovr16_palette_base_w) AM_RANGE(0xe00048, 0xe0004f) AM_WRITE(ddenlovr16_palette_mask_w) @@ -1752,7 +1752,7 @@ static ADDRESS_MAP_START( ddenlovr_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x300000, 0x300001) AM_DEVWRITE("oki", ddenlovr_oki_bank_w) AM_RANGE(0xd00000, 0xd003ff) AM_WRITE(ddenlovr_palette_w) // Palette -// AM_RANGE(0xd01000, 0xd017ff) SMH_RAM) // ? B0 on startup, then 00 +// AM_RANGE(0xd01000, 0xd017ff) AM_RAM // ? B0 on startup, then 00 AM_RANGE(0xe00040, 0xe00047) AM_WRITE(ddenlovr16_palette_base_w) AM_RANGE(0xe00048, 0xe0004f) AM_WRITE(ddenlovr16_palette_mask_w) @@ -8649,7 +8649,7 @@ static DRIVER_INIT( rongrong ) version of the game might be a bootleg with the protection patched. (both sets need this) */ - memory_install_read8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x60d4, 0x60d4, 0, 0, (read8_space_func)SMH_NOP); + memory_nop_read(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x60d4, 0x60d4, 0, 0); } /*************************************************************************** diff --git a/src/mame/drivers/ddrible.c b/src/mame/drivers/ddrible.c index 1ec4bc16ae8..8ec59422d7b 100644 --- a/src/mame/drivers/ddrible.c +++ b/src/mame/drivers/ddrible.c @@ -124,7 +124,6 @@ static ADDRESS_MAP_START( cpu0_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x7000, 0x7fff) AM_RAM AM_BASE_MEMBER(ddrible_state, spriteram_2) /* Object RAM 2 */ AM_RANGE(0x8000, 0x8000) AM_WRITE(ddrible_bankswitch_w) /* bankswitch control */ AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1") /* banked ROM */ - AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM) /* ROM */ AM_RANGE(0xa000, 0xffff) AM_ROM /* ROM */ ADDRESS_MAP_END diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c index 57415151dec..337a812b621 100644 --- a/src/mame/drivers/deco32.c +++ b/src/mame/drivers/deco32.c @@ -720,7 +720,7 @@ static ADDRESS_MAP_START( fghthist_map, ADDRESS_SPACE_PROGRAM, 32 ) ADDRESS_MAP_END static ADDRESS_MAP_START( fghthsta_memmap, ADDRESS_SPACE_PROGRAM, 32 ) - AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_WRITE(SMH_ROM) + AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_RANGE(0x100000, 0x11ffff) AM_RAM AM_BASE(&deco32_ram) AM_RANGE(0x140000, 0x140003) AM_WRITENOP /* VBL irq ack */ AM_RANGE(0x150000, 0x150003) AM_WRITE(fghthist_eeprom_w) /* Volume port/Eprom */ @@ -803,7 +803,7 @@ static ADDRESS_MAP_START( lockload_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x128000, 0x12800f) AM_READWRITE(deco32_irq_controller_r, deco32_irq_controller_w) AM_RANGE(0x130000, 0x131fff) AM_RAM_WRITE(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0x138000, 0x138003) AM_READWRITE(SMH_RAM, SMH_NOP) //palette dma complete in bit 0x8? ack? return 0 else tight loop + AM_RANGE(0x138000, 0x138003) AM_READONLY AM_WRITENOP //palette dma complete in bit 0x8? ack? return 0 else tight loop AM_RANGE(0x138008, 0x13800b) AM_WRITE(deco32_palette_dma_w) AM_RANGE(0x170000, 0x170007) AM_READ(lockload_gun_mirror_r) /* Not on Dragongun */ diff --git a/src/mame/drivers/deco_mlc.c b/src/mame/drivers/deco_mlc.c index befc20336bf..bb7ae01f061 100644 --- a/src/mame/drivers/deco_mlc.c +++ b/src/mame/drivers/deco_mlc.c @@ -273,8 +273,8 @@ static ADDRESS_MAP_START( decomlc_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x0200078, 0x020007f) AM_READ(test2_r) AM_MIRROR(0xff000000) AM_RANGE(0x0200000, 0x020007f) AM_WRITE(mlc_irq_w) AM_BASE(&irq_ram) AM_MIRROR(0xff000000) AM_RANGE(0x0200080, 0x02000ff) AM_RAM AM_BASE(&mlc_clip_ram) AM_MIRROR(0xff000000) - AM_RANGE(0x0204000, 0x0206fff) AM_READWRITE(mlc_spriteram_r, SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) AM_MIRROR(0xff000000) - AM_RANGE(0x0280000, 0x029ffff) AM_READWRITE(mlc_vram_r, SMH_RAM) AM_BASE(&mlc_vram) AM_MIRROR(0xff000000) + AM_RANGE(0x0204000, 0x0206fff) AM_RAM_READ(mlc_spriteram_r) AM_BASE_SIZE_GENERIC(spriteram) AM_MIRROR(0xff000000) + AM_RANGE(0x0280000, 0x029ffff) AM_RAM_READ(mlc_vram_r) AM_BASE(&mlc_vram) AM_MIRROR(0xff000000) AM_RANGE(0x0300000, 0x0307fff) AM_RAM_WRITE(avengrs_palette_w) AM_BASE_GENERIC(paletteram) AM_MIRROR(0xff000000) AM_RANGE(0x0400000, 0x0400003) AM_READ_PORT("INPUTS") AM_MIRROR(0xff000000) AM_RANGE(0x0440000, 0x044001f) AM_READ(test3_r) AM_MIRROR(0xff000000) diff --git a/src/mame/drivers/dgpix.c b/src/mame/drivers/dgpix.c index 94e37216ffe..4958a51f1fb 100644 --- a/src/mame/drivers/dgpix.c +++ b/src/mame/drivers/dgpix.c @@ -566,7 +566,7 @@ static DRIVER_INIT( xfiles ) rom[BYTE4_XOR_BE(0x3aa933)] = 0; // protection related ? -// memory_install_read32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xf0c8b440, 0xf0c8b447, 0, 0, (read32_space_func)SMH_NOP ); +// memory_nop_read(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xf0c8b440, 0xf0c8b447, 0, 0); flash_roms = 2; } @@ -586,7 +586,7 @@ static DRIVER_INIT( kdynastg ) rom[BYTE4_XOR_BE(0x3a45c9)] = 0; // protection related ? -// memory_install_read32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x12341234, 0x12341243, 0, 0, (read32_space_func)SMH_NOP ); +// memory_nop_read(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x12341234, 0x12341243, 0, 0); flash_roms = 4; } diff --git a/src/mame/drivers/dmndrby.c b/src/mame/drivers/dmndrby.c index b2304a704e2..bb3407791d3 100644 --- a/src/mame/drivers/dmndrby.c +++ b/src/mame/drivers/dmndrby.c @@ -123,7 +123,7 @@ static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc803, 0xc803) AM_READ_PORT("DSW2") AM_RANGE(0xca00, 0xca00) AM_WRITENOP//(vblank_irq_w) //??? AM_RANGE(0xca01, 0xca01) AM_WRITENOP //watchdog - AM_RANGE(0xca02, 0xca02) AM_RAM AM_WRITE(dderby_sound_w) + AM_RANGE(0xca02, 0xca02) AM_RAM_WRITE(dderby_sound_w) AM_RANGE(0xca03, 0xca03) AM_WRITENOP//(timer_irq_w) //??? AM_RANGE(0xcc00, 0xcc05) AM_RAM AM_BASE(&scroll_ram) AM_RANGE(0xce08, 0xce1f) AM_RAM AM_BASE(&sprite_ram) // horse sprites diff --git a/src/mame/drivers/dynax.c b/src/mame/drivers/dynax.c index 1cc05bc14d2..b41cda795bd 100644 --- a/src/mame/drivers/dynax.c +++ b/src/mame/drivers/dynax.c @@ -542,8 +542,8 @@ static ADDRESS_MAP_START( hanamai_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE( 0x77, 0x77 ) AM_WRITE ( hanamai_layer_half_w ) // half of the interleaved layer to write to AM_RANGE( 0x78, 0x79 ) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w ) // 2 x DSW AM_RANGE( 0x7a, 0x7b ) AM_DEVWRITE ( "aysnd", ay8910_address_data_w ) // AY8910 -// AM_RANGE( 0x7c, 0x7c ) AM_WRITE ( SMH_NOP ) // CRT Controller -// AM_RANGE( 0x7d, 0x7d ) AM_WRITE ( SMH_NOP ) // +// AM_RANGE( 0x7c, 0x7c ) AM_WRITENOP // CRT Controller +// AM_RANGE( 0x7d, 0x7d ) AM_WRITENOP // AM_RANGE( 0x7e, 0x7e ) AM_WRITE ( dynax_blit_romregion_w ) // Blitter ROM bank ADDRESS_MAP_END @@ -551,8 +551,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( hnoridur_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE( 0x01, 0x07 ) AM_WRITE ( dynax_blitter_rev2_w ) // Blitter -// AM_RANGE( 0x10, 0x10 ) AM_WRITE ( SMH_NOP ) // CRT Controller -// AM_RANGE( 0x11, 0x11 ) AM_WRITE ( SMH_NOP ) // CRT Controller +// AM_RANGE( 0x10, 0x10 ) AM_WRITENOP // CRT Controller +// AM_RANGE( 0x11, 0x11 ) AM_WRITENOP // CRT Controller AM_RANGE( 0x20, 0x20 ) AM_WRITE ( hanamai_keyboard_w ) // keyboard row select AM_RANGE( 0x21, 0x21 ) AM_READ_PORT ( "COINS" ) // Coins AM_RANGE( 0x22, 0x22 ) AM_READ ( hanamai_keyboard_1_r ) // P2 @@ -577,7 +577,7 @@ static ADDRESS_MAP_START( hnoridur_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE( 0x50, 0x50 ) AM_WRITE ( dynax_extra_scrollx_w ) // screen scroll X AM_RANGE( 0x51, 0x51 ) AM_WRITE ( dynax_extra_scrolly_w ) // screen scroll Y AM_RANGE( 0x54, 0x54 ) AM_WRITE ( hnoridur_rombank_w ) // BANK ROM Select - AM_RANGE( 0x55, 0x55 ) AM_WRITE ( SMH_NOP ) // ? VBlank IRQ Ack + AM_RANGE( 0x55, 0x55 ) AM_WRITENOP // ? VBlank IRQ Ack AM_RANGE( 0x56, 0x56 ) AM_WRITE ( dynax_vblank_ack_w ) // VBlank IRQ Ack AM_RANGE( 0x57, 0x57 ) AM_READ ( ret_ff ) // ? AM_RANGE( 0x60, 0x60 ) AM_WRITE ( dynax_flipscreen_w ) // Flip Screen @@ -632,8 +632,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( hjingi_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE( 0x01, 0x07 ) AM_WRITE ( dynax_blitter_rev2_w ) // Blitter -// AM_RANGE( 0x10, 0x10 ) AM_WRITE ( SMH_NOP ) // CRT Controller -// AM_RANGE( 0x11, 0x11 ) AM_WRITE ( SMH_NOP ) // CRT Controller +// AM_RANGE( 0x10, 0x10 ) AM_WRITENOP // CRT Controller +// AM_RANGE( 0x11, 0x11 ) AM_WRITENOP // CRT Controller AM_RANGE( 0x20, 0x20 ) AM_WRITE ( hanamai_keyboard_w ) // keyboard row select AM_RANGE( 0x21, 0x21 ) AM_READ_PORT ( "COINS" ) // Coins @@ -810,8 +810,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( mcnpshnt_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE( 0x01, 0x07 ) AM_WRITE ( dynax_blitter_rev2_w ) // Blitter -// AM_RANGE( 0x10, 0x10 ) AM_WRITE ( SMH_NOP ) // CRT Controller -// AM_RANGE( 0x11, 0x11 ) AM_WRITE ( SMH_NOP ) // CRT Controller +// AM_RANGE( 0x10, 0x10 ) AM_WRITENOP // CRT Controller +// AM_RANGE( 0x11, 0x11 ) AM_WRITENOP // CRT Controller AM_RANGE( 0x20, 0x20 ) AM_WRITE ( hanamai_keyboard_w ) // keyboard row select AM_RANGE( 0x21, 0x21 ) AM_READ_PORT ( "COINS" ) // Coins AM_RANGE( 0x22, 0x22 ) AM_READ ( hanamai_keyboard_1_r ) // P2 @@ -849,8 +849,8 @@ static ADDRESS_MAP_START( sprtmtch_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE( 0x01, 0x07 ) AM_WRITE ( dynax_blitter_rev2_w ) // Blitter AM_RANGE( 0x10, 0x11 ) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w ) // 2 x DSW -// AM_RANGE( 0x12, 0x12 ) AM_WRITE ( SMH_NOP ) // CRT Controller -// AM_RANGE( 0x13, 0x13 ) AM_WRITE ( SMH_NOP ) // CRT Controller +// AM_RANGE( 0x12, 0x12 ) AM_WRITENOP // CRT Controller +// AM_RANGE( 0x13, 0x13 ) AM_WRITENOP // CRT Controller AM_RANGE( 0x20, 0x20 ) AM_READ_PORT ( "P1" ) // P1 AM_RANGE( 0x21, 0x21 ) AM_READ_PORT ( "P2" ) // P2 AM_RANGE( 0x22, 0x22 ) AM_READ_PORT ( "COINS" ) // Coins @@ -886,8 +886,8 @@ static ADDRESS_MAP_START( mjfriday_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE( 0x15, 0x15 ) AM_WRITE ( dynax_coincounter_1_w ) // AM_RANGE( 0x16, 0x17 ) AM_WRITE ( mjdialq2_layer_enable_w ) // Layers Enable AM_RANGE( 0x41, 0x47 ) AM_WRITE ( dynax_blitter_rev2_w ) // Blitter -// AM_RANGE( 0x50, 0x50 ) AM_WRITE ( SMH_NOP ) // CRT Controller -// AM_RANGE( 0x51, 0x51 ) AM_WRITE ( SMH_NOP ) // CRT Controller +// AM_RANGE( 0x50, 0x50 ) AM_WRITENOP // CRT Controller +// AM_RANGE( 0x51, 0x51 ) AM_WRITENOP // CRT Controller AM_RANGE( 0x60, 0x60 ) AM_WRITE ( hanamai_keyboard_w ) // keyboard row select AM_RANGE( 0x61, 0x61 ) AM_READ_PORT ( "COINS" ) // Coins AM_RANGE( 0x62, 0x62 ) AM_READ ( hanamai_keyboard_1_r ) // P2 @@ -895,7 +895,7 @@ static ADDRESS_MAP_START( mjfriday_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE( 0x64, 0x64 ) AM_READ_PORT ( "DSW0" ) // DSW AM_RANGE( 0x67, 0x67 ) AM_READ_PORT ( "DSW1" ) // DSW AM_RANGE( 0x70, 0x71 ) AM_DEVWRITE ( "ymsnd", ym2413_w ) // -// AM_RANGE( 0x80, 0x80 ) AM_WRITE ( SMH_NOP ) // IRQ ack? +// AM_RANGE( 0x80, 0x80 ) AM_WRITENOP // IRQ ack? ADDRESS_MAP_END @@ -913,7 +913,7 @@ static ADDRESS_MAP_START( nanajign_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE( 0x14, 0x14 ) AM_READ_PORT ( "DSW0" ) // DSW1 AM_RANGE( 0x15, 0x15 ) AM_READ_PORT ( "DSW1" ) // DSW2 AM_RANGE( 0x16, 0x16 ) AM_READ_PORT ( "DSW2" ) // DSW3 -// AM_RANGE( 0x20, 0x21 ) AM_WRITE ( SMH_NOP ) // CRT Controller +// AM_RANGE( 0x20, 0x21 ) AM_WRITENOP // CRT Controller AM_RANGE( 0x31, 0x37 ) AM_WRITE ( dynax_blitter_rev2_w ) // Blitter AM_RANGE( 0x40, 0x40 ) AM_WRITE ( dynax_coincounter_0_w ) // Coin Counter AM_RANGE( 0x50, 0x50 ) AM_WRITE ( dynax_flipscreen_w ) // Flip Screen @@ -974,7 +974,7 @@ static WRITE8_HANDLER( jantouki_rombank_w ) static ADDRESS_MAP_START( jantouki_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) -// AM_RANGE( 0x40, 0x41 ) AM_WRITE ( SMH_NOP ) // CRT Controller +// AM_RANGE( 0x40, 0x41 ) AM_WRITENOP // CRT Controller AM_RANGE( 0x48, 0x48 ) AM_WRITE ( jantouki_rombank_w ) // BANK ROM Select AM_RANGE( 0x49, 0x49 ) AM_WRITE ( jantouki_soundlatch_w ) // To Sound CPU AM_RANGE( 0x4a, 0x4a ) AM_READ ( jantouki_soundlatch_ack_r ) // Soundlatch status @@ -1073,8 +1073,8 @@ static ADDRESS_MAP_START( mjelctrn_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE( 0x08, 0x08 ) AM_DEVWRITE( "aysnd", ay8910_data_w ) // AY8910 AM_RANGE( 0x0a, 0x0a ) AM_DEVWRITE( "aysnd", ay8910_address_w ) // AM_RANGE( 0x11, 0x12 ) AM_WRITE ( mjelctrn_blitter_ack_w ) //? -// AM_RANGE( 0x20, 0x20 ) AM_WRITE ( SMH_NOP ) // CRT Controller -// AM_RANGE( 0x21, 0x21 ) AM_WRITE ( SMH_NOP ) // CRT Controller +// AM_RANGE( 0x20, 0x20 ) AM_WRITENOP // CRT Controller +// AM_RANGE( 0x21, 0x21 ) AM_WRITENOP // CRT Controller AM_RANGE( 0x40, 0x40 ) AM_WRITE ( dynax_coincounter_0_w ) // Coin Counters AM_RANGE( 0x41, 0x41 ) AM_WRITE ( dynax_coincounter_1_w ) // AM_RANGE( 0x60, 0x60 ) AM_WRITE ( dynax_extra_scrollx_w ) // screen scroll X @@ -1503,7 +1503,7 @@ static ADDRESS_MAP_START( tenkai_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x10068, 0x10068 ) AM_WRITE( yarunara_layer_half2_w ) // AM_RANGE( 0x1006c, 0x1006c ) AM_WRITE( tenkai_6c_w ) // ? AM_RANGE( 0x10070, 0x10070 ) AM_WRITE( tenkai_70_w ) // ? - AM_RANGE( 0x1007c, 0x1007c ) AM_WRITE( SMH_NOP ) // IRQ Ack? (0,2) + AM_RANGE( 0x1007c, 0x1007c ) AM_WRITENOP // IRQ Ack? (0,2) AM_RANGE( 0x100c0, 0x100c0 ) AM_WRITE( tenkai_ipsel_w ) AM_RANGE( 0x100c1, 0x100c1 ) AM_WRITE( tenkai_ip_w ) AM_RANGE( 0x100c2, 0x100c3 ) AM_READ ( tenkai_ip_r ) diff --git a/src/mame/drivers/enigma2.c b/src/mame/drivers/enigma2.c index a508db1bc9b..c1d2c4d17a7 100644 --- a/src/mame/drivers/enigma2.c +++ b/src/mame/drivers/enigma2.c @@ -442,13 +442,13 @@ static ADDRESS_MAP_START( engima2_main_cpu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x1fff) AM_ROM AM_WRITENOP AM_RANGE(0x2000, 0x3fff) AM_MIRROR(0x4000) AM_RAM AM_BASE_MEMBER(enigma2_state, videoram) AM_RANGE(0x4000, 0x4fff) AM_ROM AM_WRITENOP - AM_RANGE(0x5000, 0x57ff) AM_READWRITE(dip_switch_r, SMH_NOP) + AM_RANGE(0x5000, 0x57ff) AM_READ(dip_switch_r) AM_WRITENOP AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x07f8) AM_NOP AM_RANGE(0x5801, 0x5801) AM_MIRROR(0x07f8) AM_READ_PORT("IN0") AM_WRITENOP AM_RANGE(0x5802, 0x5802) AM_MIRROR(0x07f8) AM_READ_PORT("IN1") AM_WRITENOP - AM_RANGE(0x5803, 0x5803) AM_MIRROR(0x07f8) AM_READWRITE(SMH_NOP, sound_data_w) + AM_RANGE(0x5803, 0x5803) AM_MIRROR(0x07f8) AM_READNOP AM_WRITE(sound_data_w) AM_RANGE(0x5804, 0x5804) AM_MIRROR(0x07f8) AM_NOP - AM_RANGE(0x5805, 0x5805) AM_MIRROR(0x07f8) AM_READWRITE(SMH_NOP, enigma2_flip_screen_w) + AM_RANGE(0x5805, 0x5805) AM_MIRROR(0x07f8) AM_READNOP AM_WRITE(enigma2_flip_screen_w) AM_RANGE(0x5806, 0x5807) AM_MIRROR(0x07f8) AM_NOP ADDRESS_MAP_END @@ -457,7 +457,7 @@ static ADDRESS_MAP_START( engima2a_main_cpu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x1fff) AM_ROM AM_WRITENOP AM_RANGE(0x2000, 0x3fff) AM_MIRROR(0x4000) AM_RAM AM_BASE_MEMBER(enigma2_state, videoram) AM_RANGE(0x4000, 0x4fff) AM_ROM AM_WRITENOP - AM_RANGE(0x5000, 0x57ff) AM_READWRITE(dip_switch_r, SMH_NOP) + AM_RANGE(0x5000, 0x57ff) AM_READ(dip_switch_r) AM_WRITENOP AM_RANGE(0x5800, 0x5fff) AM_NOP ADDRESS_MAP_END @@ -467,9 +467,9 @@ static ADDRESS_MAP_START( engima2a_main_cpu_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x00, 0x00) AM_NOP AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0") AM_WRITENOP AM_RANGE(0x02, 0x02) AM_READ_PORT("IN1") AM_WRITENOP - AM_RANGE(0x03, 0x03) AM_READWRITE(SMH_NOP, sound_data_w) + AM_RANGE(0x03, 0x03) AM_READNOP AM_WRITE(sound_data_w) AM_RANGE(0x04, 0x04) AM_NOP - AM_RANGE(0x05, 0x05) AM_READWRITE(SMH_NOP, enigma2_flip_screen_w) + AM_RANGE(0x05, 0x05) AM_READNOP AM_WRITE(enigma2_flip_screen_w) AM_RANGE(0x06, 0x07) AM_NOP ADDRESS_MAP_END diff --git a/src/mame/drivers/eolith.c b/src/mame/drivers/eolith.c index e49e2579c75..c419fa567dd 100644 --- a/src/mame/drivers/eolith.c +++ b/src/mame/drivers/eolith.c @@ -1029,7 +1029,7 @@ static DRIVER_INIT( hidctch2 ) static DRIVER_INIT( hidctch3 ) { - memory_install_write32_handler(cputag_get_address_space(machine, "cpu", ADDRESS_SPACE_PROGRAM), 0xfc200000, 0xfc200003, 0, 0, (write32_space_func)SMH_NOP); // this generates pens vibration + memory_nop_write(cputag_get_address_space(machine, "cpu", ADDRESS_SPACE_PROGRAM), 0xfc200000, 0xfc200003, 0, 0); // this generates pens vibration // It is not clear why the first reads are needed too diff --git a/src/mame/drivers/espial.c b/src/mame/drivers/espial.c index a1618bda5bc..33bf31f3c34 100644 --- a/src/mame/drivers/espial.c +++ b/src/mame/drivers/espial.c @@ -95,7 +95,7 @@ static ADDRESS_MAP_START( espial_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x7100, 0x7100) AM_WRITE(zodiac_master_interrupt_enable_w) AM_RANGE(0x7200, 0x7200) AM_WRITE(espial_flipscreen_w) AM_RANGE(0x8000, 0x801f) AM_RAM AM_BASE_MEMBER(espial_state, spriteram_1) - AM_RANGE(0x8020, 0x803f) AM_READ(SMH_RAM) + AM_RANGE(0x8020, 0x803f) AM_READONLY AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(espial_videoram_w) AM_BASE_MEMBER(espial_state, videoram) AM_RANGE(0x8800, 0x880f) AM_WRITEONLY AM_BASE_MEMBER(espial_state, spriteram_3) AM_RANGE(0x8c00, 0x8fff) AM_RAM_WRITE(espial_attributeram_w) AM_BASE_MEMBER(espial_state, attributeram) diff --git a/src/mame/drivers/exidy440.c b/src/mame/drivers/exidy440.c index 38de43cc66f..4d420e1cb16 100644 --- a/src/mame/drivers/exidy440.c +++ b/src/mame/drivers/exidy440.c @@ -479,10 +479,10 @@ static ADDRESS_MAP_START( exidy440_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x2c00, 0x2dff) AM_READWRITE(exidy440_paletteram_r, exidy440_paletteram_w) AM_RANGE(0x2e00, 0x2e1f) AM_RAM_WRITE(sound_command_w) AM_RANGE(0x2e20, 0x2e3f) AM_READWRITE(exidy440_input_port_3_r, exidy440_input_port_3_w) - AM_RANGE(0x2e40, 0x2e5f) AM_READWRITE(SMH_NOP, exidy440_coin_counter_w) /* read: clear coin counters I/O2 */ + AM_RANGE(0x2e40, 0x2e5f) AM_READNOP AM_WRITE(exidy440_coin_counter_w) /* read: clear coin counters I/O2 */ AM_RANGE(0x2e60, 0x2e7f) AM_READ_PORT("IN1") AM_WRITENOP AM_RANGE(0x2e80, 0x2e9f) AM_READ_PORT("IN2") AM_WRITENOP - AM_RANGE(0x2ea0, 0x2ebf) AM_READWRITE(sound_command_ack_r, SMH_NOP) + AM_RANGE(0x2ea0, 0x2ebf) AM_READ(sound_command_ack_r) AM_WRITENOP AM_RANGE(0x2ec0, 0x2eff) AM_NOP AM_RANGE(0x3000, 0x3fff) AM_RAM AM_RANGE(0x4000, 0x7fff) AM_READ_BANK("bank1") AM_WRITE(bankram_w) diff --git a/src/mame/drivers/exprraid.c b/src/mame/drivers/exprraid.c index d5e00a3693f..983c4ac081d 100644 --- a/src/mame/drivers/exprraid.c +++ b/src/mame/drivers/exprraid.c @@ -18,7 +18,7 @@ Main CPU: ( DECO CPU-16 ) 2100-2100 Sound latch write 2800-2801 Protection 3800-3800 VBlank ( bootleg 1 only ) -4000-ffff SMH_ROM +4000-ffff ROM ffc0-ffc0 VBlank ( bootleg 2 only ) Sound Cpu: ( 6809 ) diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c index 91f2ddf81b9..793ee5b4f46 100644 --- a/src/mame/drivers/f1gp.c +++ b/src/mame/drivers/f1gp.c @@ -115,7 +115,7 @@ static ADDRESS_MAP_START( f1gp_cpu1_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2") AM_RANGE(0xfff008, 0xfff009) AM_READ(command_pending_r) AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w) - AM_RANGE(0xfff040, 0xfff05f) AM_WRITE(SMH_RAM) AM_BASE(&K053936_0_ctrl) + AM_RANGE(0xfff040, 0xfff05f) AM_WRITEONLY AM_BASE(&K053936_0_ctrl) AM_RANGE(0xfff050, 0xfff051) AM_READ_PORT("DSW3") ADDRESS_MAP_END @@ -135,7 +135,7 @@ static ADDRESS_MAP_START( f1gp2_cpu1_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2") AM_RANGE(0xfff008, 0xfff009) AM_READWRITE(command_pending_r, sound_command_w) AM_RANGE(0xfff00a, 0xfff00b) AM_READ_PORT("DSW3") - AM_RANGE(0xfff020, 0xfff02f) AM_WRITE(SMH_RAM) AM_BASE(&K053936_0_ctrl) + AM_RANGE(0xfff020, 0xfff02f) AM_WRITEONLY AM_BASE(&K053936_0_ctrl) AM_RANGE(0xfff044, 0xfff047) AM_WRITE(f1gp_fgscroll_w) ADDRESS_MAP_END diff --git a/src/mame/drivers/fantland.c b/src/mame/drivers/fantland.c index 15fdc850b04..f7268d22ec8 100644 --- a/src/mame/drivers/fantland.c +++ b/src/mame/drivers/fantland.c @@ -125,7 +125,7 @@ static ADDRESS_MAP_START( fantland_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE( 0x00000, 0x07fff ) AM_RAM AM_RANGE( 0x08000, 0x7ffff ) AM_ROM - AM_RANGE( 0xa2000, 0xa21ff ) AM_READWRITE( SMH_RAM, paletteram16_xRRRRRGGGGGBBBBB_word_w ) AM_BASE_GENERIC( paletteram ) + AM_RANGE( 0xa2000, 0xa21ff ) AM_RAM_WRITE( paletteram16_xRRRRRGGGGGBBBBB_word_w ) AM_BASE_GENERIC( paletteram ) AM_RANGE( 0xa3000, 0xa3001 ) AM_READ_PORT("a3000") AM_WRITE( fantland_nmi_enable_16_w ) AM_RANGE( 0xa3002, 0xa3003 ) AM_READ_PORT("a3002") AM_WRITE( fantland_soundlatch_16_w ) @@ -145,7 +145,7 @@ static ADDRESS_MAP_START( galaxygn_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x00000, 0x07fff ) AM_RAM AM_RANGE( 0x10000, 0x2ffff ) AM_ROM - AM_RANGE( 0x52000, 0x521ff ) AM_READWRITE( SMH_RAM, paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( paletteram ) + AM_RANGE( 0x52000, 0x521ff ) AM_RAM_WRITE( paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( paletteram ) AM_RANGE( 0x53000, 0x53000 ) AM_READ_PORT("P1") AM_WRITE( fantland_nmi_enable_w ) AM_RANGE( 0x53001, 0x53001 ) AM_READ_PORT("P2") @@ -239,7 +239,7 @@ static ADDRESS_MAP_START( borntofi_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x00000, 0x07fff ) AM_RAM AM_RANGE( 0x10000, 0x2ffff ) AM_ROM - AM_RANGE( 0x52000, 0x521ff ) AM_READWRITE( SMH_RAM, paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( paletteram ) + AM_RANGE( 0x52000, 0x521ff ) AM_RAM_WRITE( paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( paletteram ) AM_RANGE( 0x53000, 0x53001 ) AM_READWRITE( borntofi_inputs_r, borntofi_nmi_enable_w ) AM_RANGE( 0x53002, 0x53002 ) AM_READ_PORT( "DSW" ) AM_WRITE( fantland_soundlatch_w ) AM_RANGE( 0x53003, 0x53003 ) AM_READ_PORT( "Controls" ) @@ -421,8 +421,8 @@ static ADDRESS_MAP_START( wheelrun_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym3526_r, ym3526_w ) - AM_RANGE(0xb000, 0xb000) AM_WRITE( SMH_NOP ) // on a car crash / hit - AM_RANGE(0xc000, 0xc000) AM_WRITE( SMH_NOP ) // "" + AM_RANGE(0xb000, 0xb000) AM_WRITENOP // on a car crash / hit + AM_RANGE(0xc000, 0xc000) AM_WRITENOP // "" AM_RANGE(0xd000, 0xd000) AM_READ( soundlatch_r ) // during NMI ADDRESS_MAP_END diff --git a/src/mame/drivers/fastfred.c b/src/mame/drivers/fastfred.c index 323b89744be..a259e5fad2a 100644 --- a/src/mame/drivers/fastfred.c +++ b/src/mame/drivers/fastfred.c @@ -186,7 +186,7 @@ static ADDRESS_MAP_START( jumpcoas_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd040, 0xd05f) AM_RAM AM_BASE(&fastfred_spriteram) AM_SIZE(&fastfred_spriteram_size) AM_RANGE(0xd060, 0xd3ff) AM_RAM AM_RANGE(0xd800, 0xdbff) AM_MIRROR(0x400) AM_RAM_WRITE(fastfred_videoram_w) AM_BASE(&fastfred_videoram) - AM_RANGE(0xe000, 0xe000) AM_WRITE(SMH_RAM) AM_BASE(&fastfred_background_color) + AM_RANGE(0xe000, 0xe000) AM_WRITEONLY AM_BASE(&fastfred_background_color) AM_RANGE(0xe800, 0xe800) AM_READ_PORT("DSW1") AM_RANGE(0xe801, 0xe801) AM_READ_PORT("DSW2") AM_RANGE(0xe802, 0xe802) AM_READ_PORT("BUTTONS") @@ -202,7 +202,7 @@ static ADDRESS_MAP_START( jumpcoas_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xf116, 0xf116) AM_WRITE(fastfred_flip_screen_x_w) AM_RANGE(0xf117, 0xf117) AM_WRITE(fastfred_flip_screen_y_w) //AM_RANGE(0xf800, 0xf800) AM_READ(watchdog_reset_r) // Why doesn't this work??? - AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ay8910.1", SMH_NOP, ay8910_address_data_w) + AM_RANGE(0xf800, 0xf801) AM_READNOP AM_DEVWRITE("ay8910.1", ay8910_address_data_w) ADDRESS_MAP_END @@ -230,14 +230,14 @@ static ADDRESS_MAP_START( imago_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xf007, 0xf007) AM_WRITE(fastfred_flip_screen_y_w) AM_RANGE(0xf400, 0xf400) AM_WRITENOP // writes 0 or 2 AM_RANGE(0xf401, 0xf401) AM_WRITE(imago_sprites_bank_w) - AM_RANGE(0xf800, 0xf800) AM_READWRITE(SMH_NOP, soundlatch_w) + AM_RANGE(0xf800, 0xf800) AM_READNOP AM_WRITE(soundlatch_w) ADDRESS_MAP_END static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x1fff) AM_ROM AM_RANGE(0x2000, 0x23ff) AM_RAM AM_RANGE(0x3000, 0x3000) AM_READWRITE(soundlatch_r, interrupt_enable_w) - AM_RANGE(0x4000, 0x4000) AM_WRITE(SMH_RAM) // Reset PSG's + AM_RANGE(0x4000, 0x4000) AM_WRITEONLY // Reset PSG's AM_RANGE(0x5000, 0x5001) AM_DEVWRITE("ay8910.1", ay8910_address_data_w) AM_RANGE(0x6000, 0x6001) AM_DEVWRITE("ay8910.2", ay8910_address_data_w) AM_RANGE(0x7000, 0x7000) AM_READNOP // only for Imago, read but not used @@ -965,19 +965,22 @@ static DRIVER_INIT( flyboyb ) static DRIVER_INIT( fastfred ) { - memory_install_readwrite8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc800, 0xcfff, 0, 0, fastfred_custom_io_r, (write8_space_func)SMH_NOP); + memory_install_read8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc800, 0xcfff, 0, 0, fastfred_custom_io_r); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc800, 0xcfff, 0, 0); fastfred_hardware_type = 1; } static DRIVER_INIT( jumpcoas ) { - memory_install_readwrite8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc800, 0xcfff, 0, 0, jumpcoas_custom_io_r, (write8_space_func)SMH_NOP); + memory_install_read8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc800, 0xcfff, 0, 0, jumpcoas_custom_io_r); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc800, 0xcfff, 0, 0); fastfred_hardware_type = 0; } static DRIVER_INIT( boggy84 ) { - memory_install_readwrite8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc800, 0xcfff, 0, 0, jumpcoas_custom_io_r, (write8_space_func)SMH_NOP); + memory_install_read8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc800, 0xcfff, 0, 0, jumpcoas_custom_io_r); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc800, 0xcfff, 0, 0); fastfred_hardware_type = 2; } diff --git a/src/mame/drivers/finalizr.c b/src/mame/drivers/finalizr.c index 3da423769d5..eddcad38d4d 100644 --- a/src/mame/drivers/finalizr.c +++ b/src/mame/drivers/finalizr.c @@ -101,10 +101,10 @@ static WRITE8_HANDLER( i8039_T0_w ) } static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0001, 0x0001) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(finalizr_state, scroll) + AM_RANGE(0x0001, 0x0001) AM_WRITEONLY AM_BASE_MEMBER(finalizr_state, scroll) AM_RANGE(0x0003, 0x0003) AM_WRITE(finalizr_videoctrl_w) AM_RANGE(0x0004, 0x0004) AM_WRITE(finalizr_flipscreen_w) -// AM_RANGE(0x0020, 0x003f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(finalizr_state, scroll) +// AM_RANGE(0x0020, 0x003f) AM_WRITEONLY AM_BASE_MEMBER(finalizr_state, scroll) AM_RANGE(0x0800, 0x0800) AM_READ_PORT("DSW3") AM_RANGE(0x0808, 0x0808) AM_READ_PORT("DSW2") AM_RANGE(0x0810, 0x0810) AM_READ_PORT("SYSTEM") diff --git a/src/mame/drivers/firefox.c b/src/mame/drivers/firefox.c index e8f47c58951..c608d0e82e6 100644 --- a/src/mame/drivers/firefox.c +++ b/src/mame/drivers/firefox.c @@ -452,9 +452,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8) AM_RANGE(0x0000, 0x0fff) AM_RAM AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(tileram_w) AM_BASE(&tileram) AM_RANGE(0x2000, 0x27ff) AM_RAM AM_BASE_GENERIC(spriteram) - AM_RANGE(0x2800, 0x2aff) AM_READWRITE(SMH_RAM, sprite_palette_w) AM_BASE(&sprite_palette) + AM_RANGE(0x2800, 0x2aff) AM_RAM_WRITE(sprite_palette_w) AM_BASE(&sprite_palette) AM_RANGE(0x2b00, 0x2b00) AM_MIRROR(0x04ff) AM_WRITE(firefox_objram_bank_w) - AM_RANGE(0x2c00, 0x2eff) AM_READWRITE(SMH_RAM, tile_palette_w) AM_BASE(&tile_palette) + AM_RANGE(0x2c00, 0x2eff) AM_RAM_WRITE(tile_palette_w) AM_BASE(&tile_palette) AM_RANGE(0x3000, 0x3fff) AM_ROMBANK("bank1") AM_RANGE(0x4000, 0x40ff) AM_READWRITE(nvram_r, nvram_w) /* NOVRAM */ AM_RANGE(0x4100, 0x4100) AM_MIRROR(0x00f8) AM_READ_PORT("rdin0") /* RDIN0 */ diff --git a/src/mame/drivers/firetrk.c b/src/mame/drivers/firetrk.c index 38cc86f5485..5d0914a1d46 100644 --- a/src/mame/drivers/firetrk.c +++ b/src/mame/drivers/firetrk.c @@ -323,23 +323,23 @@ static ADDRESS_MAP_START( firetrk_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_GLOBAL_MASK(0x3fff) AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x0700) AM_RAM AM_BASE(&firetrk_alpha_num_ram) AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x0700) AM_RAM AM_BASE(&firetrk_playfield_ram) - AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_scroll_y) - AM_RANGE(0x1020, 0x1020) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_scroll_x) + AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_scroll_y) + AM_RANGE(0x1020, 0x1020) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_scroll_x) AM_RANGE(0x1040, 0x1040) AM_MIRROR(0x001f) AM_WRITE(crash_reset_w) AM_RANGE(0x1060, 0x1060) AM_MIRROR(0x001f) AM_DEVWRITE("discrete", firetrk_skid_reset_w) - AM_RANGE(0x1080, 0x1080) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_car_rot) + AM_RANGE(0x1080, 0x1080) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_car_rot) AM_RANGE(0x10a0, 0x10a0) AM_MIRROR(0x001f) AM_WRITE(steer_reset_w) AM_RANGE(0x10c0, 0x10c0) AM_MIRROR(0x001f) AM_WRITE(watchdog_reset_w) AM_RANGE(0x10e0, 0x10e0) AM_MIRROR(0x001f) AM_WRITE(blink_on_w) AM_BASE(&firetrk_blink) AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x001f) AM_DEVWRITE("discrete", firetrk_motor_snd_w) AM_RANGE(0x1420, 0x1420) AM_MIRROR(0x001f) AM_DEVWRITE("discrete", firetrk_crash_snd_w) AM_RANGE(0x1440, 0x1440) AM_MIRROR(0x001f) AM_DEVWRITE("discrete", firetrk_skid_snd_w) - AM_RANGE(0x1460, 0x1460) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_drone_x) - AM_RANGE(0x1480, 0x1480) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_drone_y) - AM_RANGE(0x14a0, 0x14a0) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_drone_rot) + AM_RANGE(0x1460, 0x1460) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_drone_x) + AM_RANGE(0x1480, 0x1480) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_drone_y) + AM_RANGE(0x14a0, 0x14a0) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_drone_rot) AM_RANGE(0x14c0, 0x14c0) AM_MIRROR(0x001f) AM_WRITE(firetrk_output_w) AM_RANGE(0x14e0, 0x14e0) AM_MIRROR(0x001f) AM_DEVWRITE("discrete", firetrk_xtndply_w) - AM_RANGE(0x1800, 0x1807) AM_MIRROR(0x03f8) AM_READWRITE(firetrk_input_r, SMH_NOP) + AM_RANGE(0x1800, 0x1807) AM_MIRROR(0x03f8) AM_READ(firetrk_input_r) AM_WRITENOP AM_RANGE(0x1c00, 0x1c03) AM_MIRROR(0x03fc) AM_READ(firetrk_dip_r) AM_RANGE(0x2000, 0x3fff) AM_ROM ADDRESS_MAP_END @@ -348,11 +348,11 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( superbug_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_GLOBAL_MASK(0x1fff) AM_RANGE(0x0000, 0x00ff) AM_RAM - AM_RANGE(0x0100, 0x0100) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_scroll_y) - AM_RANGE(0x0120, 0x0120) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_scroll_x) + AM_RANGE(0x0100, 0x0100) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_scroll_y) + AM_RANGE(0x0120, 0x0120) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_scroll_x) AM_RANGE(0x0140, 0x0140) AM_MIRROR(0x001f) AM_WRITE(crash_reset_w) AM_RANGE(0x0160, 0x0160) AM_MIRROR(0x001f) AM_DEVWRITE("discrete", firetrk_skid_reset_w) - AM_RANGE(0x0180, 0x0180) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_car_rot) + AM_RANGE(0x0180, 0x0180) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_car_rot) AM_RANGE(0x01a0, 0x01a0) AM_MIRROR(0x001f) AM_WRITE(steer_reset_w) AM_RANGE(0x01c0, 0x01c0) AM_MIRROR(0x001f) AM_WRITE(watchdog_reset_w) AM_RANGE(0x01e0, 0x01e0) AM_MIRROR(0x001f) AM_WRITE(blink_on_w) AM_BASE(&firetrk_blink) @@ -373,23 +373,23 @@ static ADDRESS_MAP_START( montecar_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_GLOBAL_MASK(0x3fff) AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x0700) AM_RAM AM_BASE(&firetrk_alpha_num_ram) AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x0700) AM_RAM AM_BASE(&firetrk_playfield_ram) - AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_scroll_y) - AM_RANGE(0x1020, 0x1020) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_scroll_x) + AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_scroll_y) + AM_RANGE(0x1020, 0x1020) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_scroll_x) AM_RANGE(0x1040, 0x1040) AM_MIRROR(0x001f) AM_WRITE(montecar_drone_reset_w) AM_RANGE(0x1060, 0x1060) AM_MIRROR(0x001f) AM_WRITE(montecar_car_reset_w) - AM_RANGE(0x1080, 0x1080) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_car_rot) + AM_RANGE(0x1080, 0x1080) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_car_rot) AM_RANGE(0x10a0, 0x10a0) AM_MIRROR(0x001f) AM_WRITE(steer_reset_w) AM_RANGE(0x10c0, 0x10c0) AM_MIRROR(0x001f) AM_WRITE(watchdog_reset_w) AM_RANGE(0x10e0, 0x10e0) AM_MIRROR(0x001f) AM_DEVWRITE("discrete", montecar_skid_reset_w) AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x001f) AM_DEVWRITE("discrete", firetrk_motor_snd_w) AM_RANGE(0x1420, 0x1420) AM_MIRROR(0x001f) AM_DEVWRITE("discrete", firetrk_crash_snd_w) AM_RANGE(0x1440, 0x1440) AM_MIRROR(0x001f) AM_DEVWRITE("discrete", firetrk_skid_snd_w) - AM_RANGE(0x1460, 0x1460) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_drone_x) - AM_RANGE(0x1480, 0x1480) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_drone_y) - AM_RANGE(0x14a0, 0x14a0) AM_MIRROR(0x001f) AM_WRITE(SMH_RAM) AM_BASE(&firetrk_drone_rot) + AM_RANGE(0x1460, 0x1460) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_drone_x) + AM_RANGE(0x1480, 0x1480) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_drone_y) + AM_RANGE(0x14a0, 0x14a0) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(&firetrk_drone_rot) AM_RANGE(0x14c0, 0x14c0) AM_MIRROR(0x001f) AM_WRITE(montecar_output_1_w) AM_RANGE(0x14e0, 0x14e0) AM_MIRROR(0x001f) AM_WRITE(montecar_output_2_w) - AM_RANGE(0x1800, 0x1807) AM_MIRROR(0x03f8) AM_READWRITE(montecar_input_r, SMH_NOP) + AM_RANGE(0x1800, 0x1807) AM_MIRROR(0x03f8) AM_READ(montecar_input_r) AM_WRITENOP AM_RANGE(0x1c00, 0x1c03) AM_MIRROR(0x03fc) AM_READ(montecar_dip_r) AM_RANGE(0x2000, 0x3fff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/fitfight.c b/src/mame/drivers/fitfight.c index be787b2c960..34aa8511b06 100644 --- a/src/mame/drivers/fitfight.c +++ b/src/mame/drivers/fitfight.c @@ -198,7 +198,7 @@ static ADDRESS_MAP_START( bbprot_main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xb08000, 0xb0bfff) AM_RAM_WRITE(fof_mid_tileram_w) AM_BASE_MEMBER(fitfight_state, fof_mid_tileram) AM_RANGE(0xb0c000, 0xb0ffff) AM_RAM_WRITE(fof_txt_tileram_w) AM_BASE_MEMBER(fitfight_state, fof_txt_tileram) - AM_RANGE(0xc00000, 0xc00fff) AM_READ(SMH_RAM) + AM_RANGE(0xc00000, 0xc00fff) AM_READONLY AM_RANGE(0xc00000, 0xc03fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_MEMBER(fitfight_state, spriteram) diff --git a/src/mame/drivers/flstory.c b/src/mame/drivers/flstory.c index 7e25893c5a5..a5038a5f17f 100644 --- a/src/mame/drivers/flstory.c +++ b/src/mame/drivers/flstory.c @@ -88,7 +88,7 @@ static ADDRESS_MAP_START( flstory_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd804, 0xd804) AM_READ_PORT("P1") AM_RANGE(0xd805, 0xd805) AM_READ(flstory_mcu_status_r) AM_RANGE(0xd806, 0xd806) AM_READ_PORT("P2") -// AM_RANGE(0xda00, 0xda00) AM_WRITE(SMH_RAM) +// AM_RANGE(0xda00, 0xda00) AM_WRITEONLY AM_RANGE(0xdc00, 0xdc9f) AM_RAM AM_BASE_SIZE_MEMBER(flstory_state, spriteram, spriteram_size) AM_RANGE(0xdca0, 0xdcbf) AM_RAM_WRITE(flstory_scrlram_w) AM_BASE_MEMBER(flstory_state, scrlram) AM_RANGE(0xdcc0, 0xdcff) AM_RAM /* unknown */ @@ -114,7 +114,7 @@ static ADDRESS_MAP_START( onna34ro_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd804, 0xd804) AM_READ_PORT("P1") AM_RANGE(0xd805, 0xd805) AM_READ(onna34ro_mcu_status_r) AM_RANGE(0xd806, 0xd806) AM_READ_PORT("P2") -// AM_RANGE(0xda00, 0xda00) AM_WRITE(SMH_RAM) +// AM_RANGE(0xda00, 0xda00) AM_WRITEONLY AM_RANGE(0xdc00, 0xdc9f) AM_RAM AM_BASE_SIZE_MEMBER(flstory_state, spriteram, spriteram_size) AM_RANGE(0xdca0, 0xdcbf) AM_RAM_WRITE(flstory_scrlram_w) AM_BASE_MEMBER(flstory_state, scrlram) AM_RANGE(0xdcc0, 0xdcff) AM_RAM /* unknown */ @@ -137,7 +137,7 @@ static ADDRESS_MAP_START( victnine_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc800, 0xcfff) AM_RAM /* unknown */ AM_RANGE(0xd000, 0xd000) AM_READWRITE(victnine_mcu_r, victnine_mcu_w) AM_RANGE(0xd001, 0xd001) AM_WRITENOP /* watchdog? */ - AM_RANGE(0xd002, 0xd002) AM_READWRITE(SMH_NOP, SMH_NOP) /* unknown read & coin lock out? */ + AM_RANGE(0xd002, 0xd002) AM_NOP /* unknown read & coin lock out? */ AM_RANGE(0xd400, 0xd400) AM_READWRITE(from_snd_r, sound_command_w) AM_RANGE(0xd401, 0xd401) AM_READ(snd_flag_r) AM_RANGE(0xd403, 0xd403) AM_READNOP /* unknown */ @@ -149,7 +149,7 @@ static ADDRESS_MAP_START( victnine_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd805, 0xd805) AM_READ_PORT("EXTRA_P1") /* also mcu */ AM_RANGE(0xd806, 0xd806) AM_READ_PORT("P2") AM_RANGE(0xd807, 0xd807) AM_READ_PORT("EXTRA_P2") -// AM_RANGE(0xda00, 0xda00) AM_WRITE(SMH_RAM) +// AM_RANGE(0xda00, 0xda00) AM_WRITEONLY AM_RANGE(0xdc00, 0xdc9f) AM_RAM AM_BASE_SIZE_MEMBER(flstory_state, spriteram, spriteram_size) AM_RANGE(0xdca0, 0xdcbf) AM_RAM_WRITE(flstory_scrlram_w) AM_BASE_MEMBER(flstory_state, scrlram) AM_RANGE(0xdce0, 0xdce0) AM_READWRITE(victnine_gfxctrl_r, victnine_gfxctrl_w) @@ -239,7 +239,7 @@ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xcc00, 0xcc00) AM_DEVWRITE("msm", sound_control_0_w) AM_RANGE(0xce00, 0xce00) AM_DEVWRITE("msm", sound_control_1_w) AM_RANGE(0xd800, 0xd800) AM_READWRITE(soundlatch_r, to_main_w) - AM_RANGE(0xda00, 0xda00) AM_READWRITE(SMH_NOP, nmi_enable_w) /* unknown read*/ + AM_RANGE(0xda00, 0xda00) AM_READNOP AM_WRITE(nmi_enable_w) /* unknown read*/ AM_RANGE(0xdc00, 0xdc00) AM_WRITE(nmi_disable_w) AM_RANGE(0xde00, 0xde00) AM_READNOP AM_DEVWRITE("dac", dac_w) /* signed 8-bit DAC & unknown read */ AM_RANGE(0xe000, 0xefff) AM_ROM /* space for diagnostics ROM */ diff --git a/src/mame/drivers/flyball.c b/src/mame/drivers/flyball.c index 570a2370f20..adde5f61713 100644 --- a/src/mame/drivers/flyball.c +++ b/src/mame/drivers/flyball.c @@ -252,7 +252,7 @@ static ADDRESS_MAP_START( flyball_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0900, 0x0900) AM_WRITE(flyball_potmask_w) AM_RANGE(0x0a00, 0x0a07) AM_WRITE(flyball_misc_w) AM_RANGE(0x0b00, 0x0b00) AM_READ(flyball_input_r) - AM_RANGE(0x0d00, 0x0eff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(flyball_state, playfield_ram) + AM_RANGE(0x0d00, 0x0eff) AM_WRITEONLY AM_BASE_MEMBER(flyball_state, playfield_ram) AM_RANGE(0x1000, 0x1fff) AM_ROM AM_BASE_MEMBER(flyball_state, rombase) /* program */ ADDRESS_MAP_END diff --git a/src/mame/drivers/foodf.c b/src/mame/drivers/foodf.c index d7474ac3bf0..18aa21a5ad7 100644 --- a/src/mame/drivers/foodf.c +++ b/src/mame/drivers/foodf.c @@ -220,7 +220,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x018000, 0x018fff) AM_MIRROR(0x3e3000) AM_RAM AM_RANGE(0x01c000, 0x01c0ff) AM_MIRROR(0x3e3f00) AM_RAM AM_BASE_GENERIC(spriteram) AM_RANGE(0x800000, 0x8007ff) AM_MIRROR(0x03f800) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield) - AM_RANGE(0x900000, 0x9001ff) AM_MIRROR(0x03fe00) AM_READWRITE(nvram_r, SMH_RAM) AM_BASE_SIZE_GENERIC(nvram) + AM_RANGE(0x900000, 0x9001ff) AM_MIRROR(0x03fe00) AM_RAM_READ(nvram_r) AM_BASE_SIZE_GENERIC(nvram) AM_RANGE(0x940000, 0x940007) AM_MIRROR(0x023ff8) AM_READ(analog_r) AM_RANGE(0x944000, 0x944007) AM_MIRROR(0x023ff8) AM_WRITE(analog_w) AM_RANGE(0x948000, 0x948001) AM_MIRROR(0x023ffe) AM_READ_PORT("SYSTEM") AM_WRITE(digital_w) diff --git a/src/mame/drivers/fromanc2.c b/src/mame/drivers/fromanc2.c index 4f2b3adff3f..458157b8190 100644 --- a/src/mame/drivers/fromanc2.c +++ b/src/mame/drivers/fromanc2.c @@ -387,7 +387,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( fromanc2_sound_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_r, SMH_NOP) // snd cmd (1P) / ? + AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r) AM_WRITENOP // snd cmd (1P) / ? AM_RANGE(0x04, 0x04) AM_READ(soundlatch2_r) // snd cmd (2P) AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ymsnd", ym2610_r, ym2610_w) AM_RANGE(0x0c, 0x0c) AM_READ(fromanc2_sndcpu_nmi_clr) diff --git a/src/mame/drivers/funkyjet.c b/src/mame/drivers/funkyjet.c index d7e858692be..9c0d427f131 100644 --- a/src/mame/drivers/funkyjet.c +++ b/src/mame/drivers/funkyjet.c @@ -110,7 +110,7 @@ static ADDRESS_MAP_START( funkyjet_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x180000, 0x1807ff) AM_READWRITE(deco16_146_funkyjet_prot_r, deco16_146_funkyjet_prot_w) AM_BASE(&deco16_prot_ram) AM_RANGE(0x184000, 0x184001) AM_WRITENOP AM_RANGE(0x188000, 0x188001) AM_WRITENOP - AM_RANGE(0x300000, 0x30000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control) + AM_RANGE(0x300000, 0x30000f) AM_WRITEONLY AM_BASE(&deco16_pf12_control) AM_RANGE(0x320000, 0x321fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data) AM_RANGE(0x322000, 0x323fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data) AM_RANGE(0x340000, 0x340bff) AM_RAM AM_BASE(&deco16_pf1_rowscroll) diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c index 764554ec4da..0a4c47d27d9 100644 --- a/src/mame/drivers/fuukifg2.c +++ b/src/mame/drivers/fuukifg2.c @@ -130,9 +130,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( fuuki16_sound_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x00, 0x00) AM_WRITE(fuuki16_sound_rombank_w) // ROM Bank - AM_RANGE(0x11, 0x11) AM_READWRITE(soundlatch_r, SMH_NOP) // From Main CPU / ? To Main CPU ? + AM_RANGE(0x11, 0x11) AM_READ(soundlatch_r) AM_WRITENOP // From Main CPU / ? To Main CPU ? AM_RANGE(0x20, 0x20) AM_DEVWRITE("oki", fuuki16_oki_banking_w) // Oki Banking - AM_RANGE(0x30, 0x30) AM_WRITE(SMH_NOP) // ? In the NMI routine + AM_RANGE(0x30, 0x30) AM_WRITENOP // ? In the NMI routine AM_RANGE(0x40, 0x41) AM_DEVWRITE("ym1", ym2203_w) AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ym2", ym3812_r, ym3812_w) AM_RANGE(0x60, 0x60) AM_DEVREAD("oki", okim6295_r) // M6295 diff --git a/src/mame/drivers/fuukifg3.c b/src/mame/drivers/fuukifg3.c index 6f425168abc..8dc12b3e58e 100644 --- a/src/mame/drivers/fuukifg3.c +++ b/src/mame/drivers/fuukifg3.c @@ -255,9 +255,9 @@ static ADDRESS_MAP_START( fuuki32_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x903fe0, 0x903fff) AM_READWRITE(snd_020_r, snd_020_w) // Shared with Z80 // AM_RANGE(0x903fe0, 0x903fe3) AM_READ(fuuki32_sound_command_r) // Shared with Z80 -// AM_RANGE(0x903fe4, 0x903fff) AM_READ(SMH_RAM) // ?? +// AM_RANGE(0x903fe4, 0x903fff) AM_READONLY // ?? - AM_RANGE(0xa00000, 0xa00003) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(fuuki32_state, tilebank) + AM_RANGE(0xa00000, 0xa00003) AM_WRITEONLY AM_BASE_MEMBER(fuuki32_state, tilebank) ADDRESS_MAP_END diff --git a/src/mame/drivers/gaelco.c b/src/mame/drivers/gaelco.c index 7d6092409d6..cdf62623a79 100644 --- a/src/mame/drivers/gaelco.c +++ b/src/mame/drivers/gaelco.c @@ -142,7 +142,7 @@ static ADDRESS_MAP_START( maniacsq_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */ AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(gaelco_vram_w) AM_BASE_MEMBER(gaelco_state, videoram) /* Video RAM */ AM_RANGE(0x102000, 0x103fff) AM_RAM /* Screen RAM */ - AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(gaelco_state, vregs) /* Video Registers */ + AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE_MEMBER(gaelco_state, vregs) /* Video Registers */ // AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE_MEMBER(gaelco_state, spriteram) /* Sprite RAM */ @@ -159,7 +159,7 @@ static ADDRESS_MAP_START( squash_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */ AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(gaelco_vram_encrypted_w) AM_BASE_MEMBER(gaelco_state, videoram) /* Video RAM */ AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(gaelco_encrypted_w) AM_BASE_MEMBER(gaelco_state, screen) /* Screen RAM */ - AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(gaelco_state, vregs) /* Video Registers */ + AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE_MEMBER(gaelco_state, vregs) /* Video Registers */ // AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE_MEMBER(gaelco_state, spriteram) /* Sprite RAM */ @@ -176,7 +176,7 @@ static ADDRESS_MAP_START( thoop_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */ AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(thoop_vram_encrypted_w) AM_BASE_MEMBER(gaelco_state, videoram) /* Video RAM */ AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(thoop_encrypted_w) AM_BASE_MEMBER(gaelco_state, screen) /* Screen RAM */ - AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(gaelco_state, vregs) /* Video Registers */ + AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE_MEMBER(gaelco_state, vregs) /* Video Registers */ // AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE_MEMBER(gaelco_state, spriteram) /* Sprite RAM */ diff --git a/src/mame/drivers/gaelco2.c b/src/mame/drivers/gaelco2.c index b95cd116ead..94c3907c8a3 100644 --- a/src/mame/drivers/gaelco2.c +++ b/src/mame/drivers/gaelco2.c @@ -219,8 +219,8 @@ static ADDRESS_MAP_START( bang_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) AM_BASE(&gaelco_sndregs) /* Sound Registers */ AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */ - AM_RANGE(0x218004, 0x218009) AM_READ(SMH_RAM) /* Video Registers */ - AM_RANGE(0x218004, 0x218007) AM_WRITE(SMH_RAM) AM_BASE(&gaelco2_vregs) /* Video Registers */ + AM_RANGE(0x218004, 0x218009) AM_READONLY /* Video Registers */ + AM_RANGE(0x218004, 0x218007) AM_WRITEONLY AM_BASE(&gaelco2_vregs) /* Video Registers */ AM_RANGE(0x218008, 0x218009) AM_WRITENOP /* CLR INT Video */ AM_RANGE(0x300000, 0x300001) AM_READ_PORT("P1") AM_RANGE(0x300002, 0x300003) AM_READNOP /* Random number generator? */ @@ -643,7 +643,7 @@ static ADDRESS_MAP_START( touchgo_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x300004, 0x300005) AM_READ_PORT("IN2") /* COINSW + Input 3P */ AM_RANGE(0x300006, 0x300007) AM_READ_PORT("IN3") /* SERVICESW + Input 4P */ AM_RANGE(0x500000, 0x50001f) AM_WRITE(touchgo_coin_w) /* Coin counters */ - AM_RANGE(0xfefffa, 0xfefffb) AM_READWRITE(dallas_kludge_r, SMH_RAM) /* DS5002FP related patch */ + AM_RANGE(0xfefffa, 0xfefffb) AM_RAM_READ(dallas_kludge_r) /* DS5002FP related patch */ AM_RANGE(0xfe0000, 0xfeffff) AM_RAM /* Work RAM */ ADDRESS_MAP_END diff --git a/src/mame/drivers/gal3.c b/src/mame/drivers/gal3.c index 665af4dd08c..9b316b1d549 100644 --- a/src/mame/drivers/gal3.c +++ b/src/mame/drivers/gal3.c @@ -365,14 +365,14 @@ static ADDRESS_MAP_START( cpu_mst_map, ADDRESS_SPACE_PROGRAM, 32 ) /// AM_RANGE(0x40000000, 0x4000ffff) AM_WRITE() // AM_RANGE(0x44000000, 0x44000003) AM_READ_PORT("DSW_CPU_mst" ) AM_RANGE(0x44800000, 0x44800003) AM_READ(led_mst_r) AM_WRITE(led_mst_w) //LEDs - AM_RANGE(0x48000000, 0x48000003) AM_READ(SMH_NOP) //irq1 v-blank ack + AM_RANGE(0x48000000, 0x48000003) AM_READNOP //irq1 v-blank ack AM_RANGE(0x4c000000, 0x4c000003) AM_READNOP //irq3 ack AM_RANGE(0x60000000, 0x60007fff) AM_READ(shareram0_r) AM_WRITE(shareram0_w) AM_BASE(&mpSharedRAM0) //CRAM AM_RANGE(0x60010000, 0x60017fff) AM_READ(shareram0_r) AM_WRITE(shareram0_w) //Mirror - AM_RANGE(0x80000000, 0x8007ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //512K Local RAM + AM_RANGE(0x80000000, 0x8007ffff) AM_RAM //512K Local RAM /// AM_RANGE(0xc0000000, 0xc000000b) AM_WRITENOP //upload? AM_RANGE(0xc000000c, 0xc000000f) AM_READNOP //irq2 ack -/// AM_RANGE(0xd8000000, 0xd800000f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) // protection or 68681? +/// AM_RANGE(0xd8000000, 0xd800000f) AM_RAM // protection or 68681? AM_RANGE(0xf2800000, 0xf2800fff) AM_READWRITE(rso_r, rso_w) //RSO PCB ADDRESS_MAP_END @@ -381,14 +381,14 @@ static ADDRESS_MAP_START( cpu_slv_map, ADDRESS_SPACE_PROGRAM, 32 ) /// AM_RANGE(0x40000000, 0x4000ffff) AM_WRITE() // AM_RANGE(0x44000000, 0x44000003) AM_READ_PORT("DSW_CPU_slv" ) AM_RANGE(0x44800000, 0x44800003) AM_READ(led_slv_r) AM_WRITE(led_slv_w) //LEDs - AM_RANGE(0x48000000, 0x48000003) AM_READ(SMH_NOP) //irq1 ack + AM_RANGE(0x48000000, 0x48000003) AM_READNOP //irq1 ack /// AM_RANGE(0x50000000, 0x50000003) AM_READ() AM_WRITE() /// AM_RANGE(0x54000000, 0x54000003) AM_READ() AM_WRITE() AM_RANGE(0x60000000, 0x60007fff) AM_READ(shareram0_r) AM_WRITE(shareram0_w) AM_RANGE(0x60010000, 0x60017fff) AM_READ(shareram0_r) AM_WRITE(shareram0_w) - AM_RANGE(0x80000000, 0x8007ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //512K Local RAM + AM_RANGE(0x80000000, 0x8007ffff) AM_RAM //512K Local RAM - AM_RANGE(0xf1200000, 0xf120ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //DSP RAM + AM_RANGE(0xf1200000, 0xf120ffff) AM_RAM //DSP RAM /// AM_RANGE(0xf1400000, 0xf1400003) AM_WRITE(pointram_control_w) /// AM_RANGE(0xf1440000, 0xf1440003) AM_READWRITE(pointram_data_r,pointram_data_w) /// AM_RANGE(0x440002, 0x47ffff) AM_WRITENOP /* (frame buffer?) */ @@ -398,96 +398,96 @@ static ADDRESS_MAP_START( cpu_slv_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0xf1740000, 0xf175ffff) AM_READWRITE(paletteram32_r,paletteram32_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xf1760000, 0xf1760003) AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w) - AM_RANGE(0xf2200000, 0xf220ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) - AM_RANGE(0xf2700000, 0xf270ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //AM_READWRITE(namco_obj16_r,namco_obj16_w) - AM_RANGE(0xf2720000, 0xf2720007) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //AM_READWRITE(namco_spritepos16_r,namco_spritepos16_w) - AM_RANGE(0xf2740000, 0xf275ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xf2760000, 0xf2760003) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w) + AM_RANGE(0xf2200000, 0xf220ffff) AM_RAM + AM_RANGE(0xf2700000, 0xf270ffff) AM_RAM //AM_READWRITE(namco_obj16_r,namco_obj16_w) + AM_RANGE(0xf2720000, 0xf2720007) AM_RAM //AM_READWRITE(namco_spritepos16_r,namco_spritepos16_w) + AM_RANGE(0xf2740000, 0xf275ffff) AM_RAM //AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE_GENERIC(paletteram) + AM_RANGE(0xf2760000, 0xf2760003) AM_RAM //AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w) ADDRESS_MAP_END static ADDRESS_MAP_START( rs_cpu_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM - AM_RANGE(0x100000, 0x10ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //64K working RAM + AM_RANGE(0x100000, 0x10ffff) AM_RAM //64K working RAM /// AM_RANGE(0x180000, 0x183fff) AM_RAM //Nvram - AM_RANGE(0x1c0000, 0x1c0001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //148? - AM_RANGE(0x1c2000, 0x1c2001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1c4000, 0x1c4001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1c6000, 0x1c6001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1c8000, 0x1c8001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1ca000, 0x1ca001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1cc000, 0x1cc001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1ce000, 0x1ce001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1d2000, 0x1d2001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1d4000, 0x1d4001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1d6000, 0x1d6001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1de000, 0x1de001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1e4000, 0x1e4001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x1e6000, 0x1e6001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - - AM_RANGE(0x200000, 0x200001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - - AM_RANGE(0x2c0000, 0x2c0001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x2c0800, 0x2c0801) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x2c1000, 0x2c1001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x2c1800, 0x2c1801) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x2c2000, 0x2c2001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x2c2800, 0x2c2801) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x2c3000, 0x2c3001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x2c3800, 0x2c3801) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x2c4000, 0x2c4001) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - - AM_RANGE(0x300000, 0x300fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE(&rsoSharedRAM) //shared RAM - - AM_RANGE(0x400000, 0x400017) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //MC68681? - AM_RANGE(0x480000, 0x480017) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x500000, 0x500017) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x580000, 0x580017) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x600000, 0x600017) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x680000, 0x680017) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - - AM_RANGE(0x800000, 0x80000f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x840000, 0x843fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //8 bit, 139 SCI RAM? - AM_RANGE(0x880000, 0x88000f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x8c0000, 0x8c3fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //8 bit - AM_RANGE(0x900000, 0x90000f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x940000, 0x943fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //8 bit - AM_RANGE(0x980000, 0x98000f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0x9c0000, 0x9c3fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //8 bit - AM_RANGE(0xa00000, 0xa0000f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0xa40000, 0xa43fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //8 bit - AM_RANGE(0xa80000, 0xa8000f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0xac0000, 0xac3fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //8 bit - AM_RANGE(0xb00000, 0xb0000f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0xb40000, 0xb43fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //8 bit - AM_RANGE(0xb80000, 0xb8000f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0xbc0000, 0xbc3fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //8 bit - AM_RANGE(0xc00000, 0xc0000f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //? - AM_RANGE(0xc40000, 0xc43fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //8 bit - -/// AM_RANGE(0xc44000, 0xffffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) ///////////// + AM_RANGE(0x1c0000, 0x1c0001) AM_RAM //148? + AM_RANGE(0x1c2000, 0x1c2001) AM_RAM //? + AM_RANGE(0x1c4000, 0x1c4001) AM_RAM //? + AM_RANGE(0x1c6000, 0x1c6001) AM_RAM //? + AM_RANGE(0x1c8000, 0x1c8001) AM_RAM //? + AM_RANGE(0x1ca000, 0x1ca001) AM_RAM //? + AM_RANGE(0x1cc000, 0x1cc001) AM_RAM //? + AM_RANGE(0x1ce000, 0x1ce001) AM_RAM //? + AM_RANGE(0x1d2000, 0x1d2001) AM_RAM //? + AM_RANGE(0x1d4000, 0x1d4001) AM_RAM //? + AM_RANGE(0x1d6000, 0x1d6001) AM_RAM //? + AM_RANGE(0x1de000, 0x1de001) AM_RAM //? + AM_RANGE(0x1e4000, 0x1e4001) AM_RAM //? + AM_RANGE(0x1e6000, 0x1e6001) AM_RAM //? + + AM_RANGE(0x200000, 0x200001) AM_RAM //? + + AM_RANGE(0x2c0000, 0x2c0001) AM_RAM //? + AM_RANGE(0x2c0800, 0x2c0801) AM_RAM //? + AM_RANGE(0x2c1000, 0x2c1001) AM_RAM //? + AM_RANGE(0x2c1800, 0x2c1801) AM_RAM //? + AM_RANGE(0x2c2000, 0x2c2001) AM_RAM //? + AM_RANGE(0x2c2800, 0x2c2801) AM_RAM //? + AM_RANGE(0x2c3000, 0x2c3001) AM_RAM //? + AM_RANGE(0x2c3800, 0x2c3801) AM_RAM //? + AM_RANGE(0x2c4000, 0x2c4001) AM_RAM //? + + AM_RANGE(0x300000, 0x300fff) AM_RAM AM_BASE(&rsoSharedRAM) //shared RAM + + AM_RANGE(0x400000, 0x400017) AM_RAM //MC68681? + AM_RANGE(0x480000, 0x480017) AM_RAM //? + AM_RANGE(0x500000, 0x500017) AM_RAM //? + AM_RANGE(0x580000, 0x580017) AM_RAM //? + AM_RANGE(0x600000, 0x600017) AM_RAM //? + AM_RANGE(0x680000, 0x680017) AM_RAM //? + + AM_RANGE(0x800000, 0x80000f) AM_RAM //? + AM_RANGE(0x840000, 0x843fff) AM_RAM //8 bit, 139 SCI RAM? + AM_RANGE(0x880000, 0x88000f) AM_RAM //? + AM_RANGE(0x8c0000, 0x8c3fff) AM_RAM //8 bit + AM_RANGE(0x900000, 0x90000f) AM_RAM //? + AM_RANGE(0x940000, 0x943fff) AM_RAM //8 bit + AM_RANGE(0x980000, 0x98000f) AM_RAM //? + AM_RANGE(0x9c0000, 0x9c3fff) AM_RAM //8 bit + AM_RANGE(0xa00000, 0xa0000f) AM_RAM //? + AM_RANGE(0xa40000, 0xa43fff) AM_RAM //8 bit + AM_RANGE(0xa80000, 0xa8000f) AM_RAM //? + AM_RANGE(0xac0000, 0xac3fff) AM_RAM //8 bit + AM_RANGE(0xb00000, 0xb0000f) AM_RAM //? + AM_RANGE(0xb40000, 0xb43fff) AM_RAM //8 bit + AM_RANGE(0xb80000, 0xb8000f) AM_RAM //? + AM_RANGE(0xbc0000, 0xbc3fff) AM_RAM //8 bit + AM_RANGE(0xc00000, 0xc0000f) AM_RAM //? + AM_RANGE(0xc40000, 0xc43fff) AM_RAM //8 bit + +/// AM_RANGE(0xc44000, 0xffffff) AM_RAM ///////////// ADDRESS_MAP_END static ADDRESS_MAP_START( sound_cpu_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x07ffff) AM_ROM - AM_RANGE(0x080000, 0x08ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) -/// AM_RANGE(0x0c0000, 0x0cffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //00, 20, 30, 40, 50 -/// AM_RANGE(0x100000, 0x10000f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) - AM_RANGE(0x110000, 0x113fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) -/// AM_RANGE(0x120000, 0x120003) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //2ieme byte -/// AM_RANGE(0x200000, 0x20017f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //C140 + AM_RANGE(0x080000, 0x08ffff) AM_RAM +/// AM_RANGE(0x0c0000, 0x0cffff) AM_RAM //00, 20, 30, 40, 50 +/// AM_RANGE(0x100000, 0x10000f) AM_RAM + AM_RANGE(0x110000, 0x113fff) AM_RAM +/// AM_RANGE(0x120000, 0x120003) AM_RAM //2ieme byte +/// AM_RANGE(0x200000, 0x20017f) AM_RAM //C140 AM_RANGE(0x200000, 0x2037ff) AM_DEVREADWRITE8("c140_16a", c140_r, c140_w, 0x00ff) //C140/////////// -/// AM_RANGE(0x201000, 0x20117f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //C140 -/// AM_RANGE(0x202000, 0x20217f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //C140 -/// AM_RANGE(0x203000, 0x20317f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //C140 +/// AM_RANGE(0x201000, 0x20117f) AM_RAM //C140 +/// AM_RANGE(0x202000, 0x20217f) AM_RAM //C140 +/// AM_RANGE(0x203000, 0x20317f) AM_RAM //C140 AM_RANGE(0x204000, 0x2047ff) AM_DEVREADWRITE8("c140_16g", c140_r, c140_w, 0x00ff) //C140 -/// AM_RANGE(0x090000, 0xffffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) +/// AM_RANGE(0x090000, 0xffffff) AM_RAM ADDRESS_MAP_END static ADDRESS_MAP_START( psn_b1_cpu_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM - AM_RANGE(0x040000, 0xffffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) + AM_RANGE(0x040000, 0xffffff) AM_RAM ADDRESS_MAP_END static INPUT_PORTS_START( gal3 ) diff --git a/src/mame/drivers/galaga.c b/src/mame/drivers/galaga.c index 7109bdcc92d..af065ba1963 100644 --- a/src/mame/drivers/galaga.c +++ b/src/mame/drivers/galaga.c @@ -950,7 +950,7 @@ static ADDRESS_MAP_START( bosco_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8000, 0x8fff) AM_READWRITE(bosco_videoram_r, bosco_videoram_w) AM_BASE(&bosco_videoram) /* + sprite registers */ AM_RANGE(0x9000, 0x90ff) AM_DEVREADWRITE("06xx_1", namco_06xx_data_r, namco_06xx_data_w) AM_RANGE(0x9100, 0x9100) AM_DEVREADWRITE("06xx_1", namco_06xx_ctrl_r, namco_06xx_ctrl_w) - AM_RANGE(0x9800, 0x980f) AM_WRITE(SMH_RAM) AM_SHARE(2) AM_BASE(&bosco_radarattr) + AM_RANGE(0x9800, 0x980f) AM_WRITEONLY AM_SHARE(2) AM_BASE(&bosco_radarattr) AM_RANGE(0x9810, 0x9810) AM_WRITE(bosco_scrollx_w) AM_RANGE(0x9820, 0x9820) AM_WRITE(bosco_scrolly_w) AM_RANGE(0x9830, 0x9830) AM_WRITE(bosco_starcontrol_w) @@ -1019,24 +1019,24 @@ ADDRESS_MAP_END /* bootleg 4th CPU replacing the 5xXX chips */ static ADDRESS_MAP_START( galaga_mem4, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_READWRITE(SMH_ROM, SMH_ROM) - AM_RANGE(0x1000, 0x107f) AM_READWRITE(SMH_RAM, SMH_RAM) + AM_RANGE(0x0000, 0x0fff) AM_ROM + AM_RANGE(0x1000, 0x107f) AM_RAM ADDRESS_MAP_END static ADDRESS_MAP_START( battles_mem4, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM) + AM_RANGE(0x0000, 0x0fff) AM_ROM AM_RANGE(0x4000, 0x4003) AM_READ(battles_input_port_r) AM_RANGE(0x4001, 0x4001) AM_WRITE(battles_CPU4_coin_w) AM_RANGE(0x5000, 0x5000) AM_WRITE(battles_noise_sound_w) AM_RANGE(0x6000, 0x6000) AM_READWRITE(battles_customio3_r, battles_customio3_w) AM_RANGE(0x7000, 0x7000) AM_READWRITE(battles_customio_data3_r, battles_customio_data3_w) - AM_RANGE(0x8000, 0x80ff) AM_READWRITE(SMH_RAM, SMH_RAM) + AM_RANGE(0x8000, 0x80ff) AM_RAM ADDRESS_MAP_END static ADDRESS_MAP_START( dzigzag_mem4, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_READWRITE(SMH_ROM, SMH_ROM) - AM_RANGE(0x1000, 0x107f) AM_READWRITE(SMH_RAM, SMH_RAM) - AM_RANGE(0x4000, 0x4007) AM_READ(SMH_RAM) // dip switches? bits 0 & 1 used + AM_RANGE(0x0000, 0x0fff) AM_ROM + AM_RANGE(0x1000, 0x107f) AM_RAM + AM_RANGE(0x4000, 0x4007) AM_READONLY // dip switches? bits 0 & 1 used ADDRESS_MAP_END diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c index fb2c1147fe6..e302f406215 100644 --- a/src/mame/drivers/galaxian.c +++ b/src/mame/drivers/galaxian.c @@ -2430,9 +2430,9 @@ static void unmap_galaxian_sound(running_machine *machine, offs_t base) { const address_space *space = cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM); - memory_install_write8_handler(space, base + 0x0004, base + 0x0007, 0, 0x07f8, (write8_space_func)SMH_UNMAP); - memory_install_write8_handler(space, base + 0x0800, base + 0x0807, 0, 0x07f8, (write8_space_func)SMH_UNMAP); - memory_install_write8_handler(space, base + 0x1800, base + 0x1800, 0, 0x07ff, (write8_space_func)SMH_UNMAP); + memory_unmap_write(space, base + 0x0004, base + 0x0007, 0, 0x07f8); + memory_unmap_write(space, base + 0x0800, base + 0x0807, 0, 0x07f8); + memory_unmap_write(space, base + 0x1800, base + 0x1800, 0, 0x07ff); } @@ -2457,7 +2457,7 @@ static DRIVER_INIT( nolock ) DRIVER_INIT_CALL(galaxian); /* ...but coin lockout disabled/disconnected */ - memory_install_write8_handler(space, 0x6002, 0x6002, 0, 0x7f8, (write8_space_func)SMH_UNMAP); + memory_unmap_write(space, 0x6002, 0x6002, 0, 0x7f8); } @@ -2469,7 +2469,7 @@ static DRIVER_INIT( azurian ) common_init(machine, scramble_draw_bullet, galaxian_draw_background, NULL, NULL); /* coin lockout disabled */ - memory_install_write8_handler(space, 0x6002, 0x6002, 0, 0x7f8, (write8_space_func)SMH_UNMAP); + memory_unmap_write(space, 0x6002, 0x6002, 0, 0x7f8); } @@ -2710,7 +2710,7 @@ static DRIVER_INIT( zigzag ) zigzag_bankswap_w(space, 0, 0); /* coin lockout disabled */ - memory_install_write8_handler(space, 0x6002, 0x6002, 0, 0x7f8, (write8_space_func)SMH_UNMAP); + memory_unmap_write(space, 0x6002, 0x6002, 0, 0x7f8); /* remove the galaxian sound hardware */ unmap_galaxian_sound(machine, 0x6000); @@ -2736,7 +2736,7 @@ static DRIVER_INIT( checkman ) common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info); /* move the interrupt enable from $b000 to $b001 */ - memory_install_write8_handler(space, 0xb000, 0xb000, 0, 0x7f8, (write8_space_func)SMH_UNMAP); + memory_unmap_write(space, 0xb000, 0xb000, 0, 0x7f8); memory_install_write8_handler(space, 0xb001, 0xb001, 0, 0x7f8, irq_enable_w); /* attach the sound command handler */ @@ -2786,7 +2786,7 @@ static DRIVER_INIT( dingoe ) common_init(machine, galaxian_draw_bullet, galaxian_draw_background, mooncrst_extend_tile_info, mooncrst_extend_sprite_info); /* move the interrupt enable from $b000 to $b001 */ - memory_install_write8_handler(space, 0xb000, 0xb000, 0, 0x7f8, (write8_space_func)SMH_UNMAP); + memory_unmap_write(space, 0xb000, 0xb000, 0, 0x7f8); memory_install_write8_handler(space, 0xb001, 0xb001, 0, 0x7f8, irq_enable_w); /* attach the sound command handler */ @@ -2870,7 +2870,7 @@ static DRIVER_INIT( scorpnmc ) common_init(machine, galaxian_draw_bullet, galaxian_draw_background, batman2_extend_tile_info, upper_extend_sprite_info); /* move the interrupt enable from $b000 to $b001 */ - memory_install_write8_handler(space, 0xb000, 0xb000, 0, 0x7f8, (write8_space_func)SMH_UNMAP); + memory_unmap_write(space, 0xb000, 0xb000, 0, 0x7f8); memory_install_write8_handler(space, 0xb001, 0xb001, 0, 0x7f8, irq_enable_w); /* extra ROM */ @@ -2882,7 +2882,7 @@ static DRIVER_INIT( scorpnmc ) memory_set_bankptr(machine, "bank2", auto_alloc_array(machine, UINT8, 0x800)); /* doesn't appear to use original RAM */ - memory_install_readwrite8_handler(space, 0x8000, 0x87ff, 0, 0, (read8_space_func)SMH_UNMAP, (write8_space_func)SMH_UNMAP); + memory_unmap_readwrite(space, 0x8000, 0x87ff, 0, 0); } @@ -2901,7 +2901,7 @@ static DRIVER_INIT( theend ) common_init(machine, theend_draw_bullet, galaxian_draw_background, NULL, NULL); /* coin counter on the upper bit of port C */ - memory_install_write8_handler(space, 0x6802, 0x6802, 0, 0x7f8, (write8_space_func)SMH_UNMAP); + memory_unmap_write(space, 0x6802, 0x6802, 0, 0x7f8); } @@ -2923,7 +2923,7 @@ static DRIVER_INIT( explorer ) memory_install_write8_handler(space, 0x7000, 0x7000, 0, 0x7ff, watchdog_reset_w); /* I/O appears to be direct, not via PPIs */ - memory_install_readwrite8_handler(space, 0x8000, 0xffff, 0, 0, (read8_space_func)SMH_UNMAP, (write8_space_func)SMH_UNMAP); + memory_unmap_readwrite(space, 0x8000, 0xffff, 0, 0); memory_install_read_port_handler(space, 0x8000, 0x8000, 0, 0xffc, "IN0"); memory_install_read_port_handler(space, 0x8001, 0x8001, 0, 0xffc, "IN1"); memory_install_read_port_handler(space, 0x8002, 0x8002, 0, 0xffc, "IN2"); @@ -2953,7 +2953,7 @@ static DRIVER_INIT( atlantis ) common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL); /* watchdog is at $7800? (or is it just disabled?) */ - memory_install_read8_handler(space, 0x7000, 0x7000, 0, 0x7ff, (read8_space_func)SMH_UNMAP); + memory_unmap_read(space, 0x7000, 0x7000, 0, 0x7ff); memory_install_read8_handler(space, 0x7800, 0x7800, 0, 0x7ff, watchdog_reset_r); } @@ -3050,7 +3050,7 @@ static DRIVER_INIT( scorpion ) memory_set_bankptr(machine, "bank1", memory_region(machine, "maincpu") + 0x5800); /* no background related */ -// memory_install_write8_handler(space, 0x6803, 0x6803, 0, 0, (write8_space_func)SMH_NOP); +// memory_nop_write(space, 0x6803, 0x6803, 0, 0); memory_install_read8_handler(cputag_get_address_space(machine, "audiocpu", ADDRESS_SPACE_PROGRAM), 0x3000, 0x3000, 0, 0, scorpion_digitalker_intr_r); /* diff --git a/src/mame/drivers/galaxold.c b/src/mame/drivers/galaxold.c index 8f724dc2ef1..6a1d40ceead 100644 --- a/src/mame/drivers/galaxold.c +++ b/src/mame/drivers/galaxold.c @@ -596,8 +596,8 @@ static ADDRESS_MAP_START( dkongjrm_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x7000, 0x7fff) AM_ROM AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9840, 0x987f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x98c0, 0x98ff) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram2) AM_SIZE(&galaxold_spriteram2_size) + AM_RANGE(0x9840, 0x987f) AM_WRITEONLY AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x98c0, 0x98ff) AM_WRITEONLY AM_BASE(&galaxold_spriteram2) AM_SIZE(&galaxold_spriteram2_size) AM_RANGE(0xa000, 0xa0ff) AM_READ_PORT("IN0") AM_RANGE(0xa003, 0xa003) AM_WRITE(galaxold_coin_counter_w) //AM_RANGE(0xa004, 0xa007) AM_WRITE(galaxian_lfo_freq_w) @@ -622,7 +622,7 @@ static ADDRESS_MAP_START( ozon1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4800, 0x4bff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) AM_BASE(&galaxold_videoram) AM_RANGE(0x4c00, 0x4fff) AM_WRITE(galaxold_videoram_w) AM_RANGE(0x5000, 0x503f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5040, 0x505f) AM_RAM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x5040, 0x505f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) AM_RANGE(0x6801, 0x6801) AM_WRITENOP //continuosly 0 and 1 AM_RANGE(0x6802, 0x6802) AM_WRITE(galaxold_coin_counter_w) AM_RANGE(0x6806, 0x6806) AM_WRITENOP //only one 0 at reset @@ -641,7 +641,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( drivfrcg, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x0fff) AM_ROM AM_RANGE(0x1480, 0x14bf) AM_MIRROR(0x6000) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x14c0, 0x14ff) AM_MIRROR(0x6000) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x14c0, 0x14ff) AM_MIRROR(0x6000) AM_WRITEONLY AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x6000) AM_READ_PORT("IN0") AM_RANGE(0x1503, 0x1503) AM_MIRROR(0x6000) AM_WRITE(galaxold_coin_counter_w) AM_RANGE(0x1580, 0x1580) AM_MIRROR(0x6000) AM_READ_PORT("IN1") @@ -681,7 +681,7 @@ static ADDRESS_MAP_START( bongo, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xb004, 0xb004) AM_WRITE(galaxold_stars_enable_w) AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0xb800, 0xb800) AM_READWRITE(watchdog_reset_r, SMH_NOP) + AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_WRITENOP ADDRESS_MAP_END static ADDRESS_MAP_START( bongo_io, ADDRESS_SPACE_IO, 8 ) @@ -694,7 +694,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( hunchbkg, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x0fff) AM_ROM AM_RANGE(0x1480, 0x14bf) AM_MIRROR(0x6000) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x14c0, 0x14ff) AM_MIRROR(0x6000) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x14c0, 0x14ff) AM_MIRROR(0x6000) AM_WRITEONLY AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x6000) AM_READ_PORT("IN0") AM_RANGE(0x1503, 0x1503) AM_MIRROR(0x6000) AM_WRITE(galaxold_coin_counter_w) AM_RANGE(0x1580, 0x1580) AM_MIRROR(0x6000) AM_READ_PORT("IN1") @@ -706,7 +706,7 @@ static ADDRESS_MAP_START( hunchbkg, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1604, 0x1604) AM_MIRROR(0x6000) AM_WRITENOP AM_RANGE(0x1606, 0x1606) AM_MIRROR(0x6000) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0x1607, 0x1607) AM_MIRROR(0x6000) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x6000) AM_READ(SMH_NOP) AM_DEVWRITE(GAL_AUDIO, galaxian_pitch_w) + AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x6000) AM_READNOP AM_DEVWRITE(GAL_AUDIO, galaxian_pitch_w) AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0x6000) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) AM_RANGE(0x1c00, 0x1fff) AM_MIRROR(0x6000) AM_RAM AM_RANGE(0x2000, 0x2fff) AM_ROM @@ -726,7 +726,7 @@ static ADDRESS_MAP_START( harem_cpu1, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4000, 0x47ff) AM_RAM AM_RANGE(0x4800, 0x4fff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) AM_BASE(&galaxold_videoram) AM_RANGE(0x5000, 0x5000) AM_WRITENOP - AM_RANGE(0x5800, 0x5800) AM_READWRITE(SMH_NOP, interrupt_enable_w) + AM_RANGE(0x5800, 0x5800) AM_READNOP AM_WRITE(interrupt_enable_w) AM_RANGE(0x5801, 0x5807) AM_WRITENOP AM_RANGE(0x6101, 0x6101) AM_READ_PORT("IN0") AM_RANGE(0x6102, 0x6102) AM_READ_PORT("IN1") diff --git a/src/mame/drivers/galivan.c b/src/mame/drivers/galivan.c index 47aa10f59fe..e82592855f8 100644 --- a/src/mame/drivers/galivan.c +++ b/src/mame/drivers/galivan.c @@ -1030,7 +1030,7 @@ static DRIVER_INIT( youmab ) memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_IO), 0x81, 0x81, 0, 0, youmab_81_w); // ?? often, alternating values memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_IO), 0x84, 0x84, 0, 0, youmab_84_w); // ?? often, sequence.. - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xd800, 0xd81f, 0, 0, (write8_space_func)SMH_NOP); // scrolling isn't here.. + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xd800, 0xd81f, 0, 0); // scrolling isn't here.. memory_install_read8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_IO), 0x8a, 0x8a, 0, 0, youmab_8a_r); // ??? diff --git a/src/mame/drivers/galpani2.c b/src/mame/drivers/galpani2.c index 7fa7b3fae2a..46379eb4041 100644 --- a/src/mame/drivers/galpani2.c +++ b/src/mame/drivers/galpani2.c @@ -363,14 +363,14 @@ static ADDRESS_MAP_START( galpani2_mem2, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x100000, 0x13ffff) AM_RAM AM_BASE(&galpani2_ram2) // Work RAM AM_RANGE(0x400000, 0x4fffff) AM_RAM_WRITE(galpani2_bg15_w) AM_BASE(&galpani2_bg15) // bg15 AM_RANGE(0x500000, 0x5fffff) AM_RAM // bg15 - AM_RANGE(0x600000, 0x600001) AM_READWRITE(SMH_NOP, SMH_NOP ) // ? 0 at startup only + AM_RANGE(0x600000, 0x600001) AM_NOP // ? 0 at startup only AM_RANGE(0x640000, 0x640001) AM_WRITENOP // ? 0 at startup only AM_RANGE(0x680000, 0x680001) AM_WRITENOP // ? 0 at startup only AM_RANGE(0x6c0000, 0x6c0001) AM_WRITENOP // ? 0 at startup only AM_RANGE(0x700000, 0x700001) AM_WRITENOP // Watchdog // AM_RANGE(0x740000, 0x740001) AM_WRITENOP // ? Reset mcu AM_RANGE(0x780000, 0x780001) AM_WRITE8(galpani2_mcu_nmi2_w, 0x00ff) // ? 0 -> 1 -> 0 (lev 5) - AM_RANGE(0x7c0000, 0x7c0001) AM_WRITE(SMH_RAM) AM_BASE(&galpani2_rombank ) // Rom Bank + AM_RANGE(0x7c0000, 0x7c0001) AM_WRITEONLY AM_BASE(&galpani2_rombank ) // Rom Bank AM_RANGE(0x800000, 0xffffff) AM_READ(galpani2_bankedrom_r ) // Banked ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/galpani3.c b/src/mame/drivers/galpani3.c index 8fdb88d3c64..436d0b8b528 100644 --- a/src/mame/drivers/galpani3.c +++ b/src/mame/drivers/galpani3.c @@ -820,7 +820,7 @@ static ADDRESS_MAP_START( galpani3_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x17ffff) AM_ROM AM_RANGE(0x200000, 0x20ffff) AM_RAM // area [B] - Work RAM - AM_RANGE(0x280000, 0x287fff) AM_RAM AM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // area [A] - palette for sprites + AM_RANGE(0x280000, 0x287fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // area [A] - palette for sprites AM_RANGE(0x300000, 0x303fff) AM_RAM_WRITE(galpani3_suprnova_sprite32_w) AM_BASE(&galpani3_spriteram) AM_RANGE(0x380000, 0x38003f) AM_RAM_WRITE(galpani3_suprnova_sprite32regs_w) AM_BASE(&galpani3_sprregs) @@ -845,7 +845,7 @@ static ADDRESS_MAP_START( galpani3_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x800c18, 0x800c1b) AM_WRITE(galpani3_regs1_address_w) // ROM address of RLE data, in bytes AM_RANGE(0x800c1e, 0x800c1f) AM_WRITE(galpani3_regs1_go_w) // ? AM_RANGE(0x800c00, 0x800c1f) AM_READ(galpani3_regs1_r)// ? R layer regs ? see subroutine $3a03e - AM_RANGE(0x880000, 0x8801ff) AM_RAM AM_WRITE(galpani3_framebuffer1_palette_w) AM_BASE(&galpani3_framebuffer1_palette) // palette + AM_RANGE(0x880000, 0x8801ff) AM_RAM_WRITE(galpani3_framebuffer1_palette_w) AM_BASE(&galpani3_framebuffer1_palette) // palette AM_RANGE(0x900000, 0x97ffff) AM_RAM AM_BASE(&galpani3_framebuffer1)// area [D] - R area ? odd bytes only, initialized 00..ff,00..ff,... // GRAP2 2? @@ -860,7 +860,7 @@ static ADDRESS_MAP_START( galpani3_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xa00c00, 0xa00c1f) AM_READ(galpani3_regs2_r) // ? G layer regs ? see subroutine $3a03e AM_RANGE(0xa00c18, 0xa00c1b) AM_WRITE(galpani3_regs2_address_w) // ROM address of RLE data, in bytes AM_RANGE(0xa00c1e, 0xa00c1f) AM_WRITE(galpani3_regs2_go_w) // ? - AM_RANGE(0xa80000, 0xa801ff) AM_RAM AM_WRITE(galpani3_framebuffer2_palette_w) AM_BASE(&galpani3_framebuffer2_palette) // palette + AM_RANGE(0xa80000, 0xa801ff) AM_RAM_WRITE(galpani3_framebuffer2_palette_w) AM_BASE(&galpani3_framebuffer2_palette) // palette AM_RANGE(0xb00000, 0xb7ffff) AM_RAM AM_BASE(&galpani3_framebuffer2) // area [E] - G area ? odd bytes only, initialized 00..ff,00..ff,... // GRAP2 3? @@ -875,7 +875,7 @@ static ADDRESS_MAP_START( galpani3_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xc00c18, 0xc00c1b) AM_WRITE(galpani3_regs3_address_w) // ROM address of RLE data, in bytes AM_RANGE(0xc00c1e, 0xc00c1f) AM_WRITE(galpani3_regs3_go_w) // ? AM_RANGE(0xc00c00, 0xc00c1f) AM_READ(galpani3_regs3_r) // ? B layer regs ? see subroutine $3a03e - AM_RANGE(0xc80000, 0xc801ff) AM_RAM AM_WRITE(galpani3_framebuffer3_palette_w) AM_BASE(&galpani3_framebuffer3_palette) // palette + AM_RANGE(0xc80000, 0xc801ff) AM_RAM_WRITE(galpani3_framebuffer3_palette_w) AM_BASE(&galpani3_framebuffer3_palette) // palette AM_RANGE(0xd00000, 0xd7ffff) AM_RAM AM_BASE(&galpani3_framebuffer3) // area [F] - B area ? odd bytes only, initialized 00..ff,00..ff,... // ?? priority / alpha buffer? diff --git a/src/mame/drivers/galspnbl.c b/src/mame/drivers/galspnbl.c index 49109d0c1b6..bbefa1e4efb 100644 --- a/src/mame/drivers/galspnbl.c +++ b/src/mame/drivers/galspnbl.c @@ -59,7 +59,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xa80020, 0xa80021) AM_READ_PORT("SYSTEM") AM_WRITENOP /* w - could be watchdog, but causes resets when picture is shown */ AM_RANGE(0xa80030, 0xa80031) AM_READ_PORT("DSW1") AM_WRITENOP /* w - irq ack? */ AM_RANGE(0xa80040, 0xa80041) AM_READ_PORT("DSW2") - AM_RANGE(0xa80050, 0xa80051) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(galspnbl_state, scroll) /* ??? */ + AM_RANGE(0xa80050, 0xa80051) AM_WRITEONLY AM_BASE_MEMBER(galspnbl_state, scroll) /* ??? */ ADDRESS_MAP_END static ADDRESS_MAP_START( audio_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -67,7 +67,7 @@ static ADDRESS_MAP_START( audio_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w) AM_RANGE(0xf810, 0xf811) AM_DEVWRITE("ymsnd", ym3812_w) - AM_RANGE(0xfc00, 0xfc00) AM_READWRITE(SMH_NOP, SMH_NOP) /* irq ack ?? */ + AM_RANGE(0xfc00, 0xfc00) AM_NOP /* irq ack ?? */ AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_r) ADDRESS_MAP_END diff --git a/src/mame/drivers/ginganin.c b/src/mame/drivers/ginganin.c index 33337541b9d..3d96b7f6b5d 100644 --- a/src/mame/drivers/ginganin.c +++ b/src/mame/drivers/ginganin.c @@ -147,7 +147,7 @@ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1800, 0x1800) AM_READ(soundlatch_r) AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ymsnd", y8950_w) AM_RANGE(0x2800, 0x2801) AM_DEVWRITE("aysnd", ay8910_address_data_w) - AM_RANGE(0x4000, 0xffff) AM_READ(SMH_ROM) + AM_RANGE(0x4000, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/glass.c b/src/mame/drivers/glass.c index 44b314d7ab7..b580b876f0a 100644 --- a/src/mame/drivers/glass.c +++ b/src/mame/drivers/glass.c @@ -96,7 +96,7 @@ static ADDRESS_MAP_START( glass_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x07ffff) AM_ROM /* ROM */ AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(glass_vram_w) AM_BASE(&glass_videoram) /* Video RAM */ AM_RANGE(0x102000, 0x102fff) AM_RAM /* Extra Video RAM */ - AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE(&glass_vregs) /* Video Registers */ + AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(&glass_vregs) /* Video Registers */ AM_RANGE(0x108008, 0x108009) AM_WRITE(clr_int_w) /* CLR INT Video */ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&glass_spriteram) /* Sprite RAM */ diff --git a/src/mame/drivers/goindol.c b/src/mame/drivers/goindol.c index 25123e5417e..817b3bae77d 100644 --- a/src/mame/drivers/goindol.c +++ b/src/mame/drivers/goindol.c @@ -95,9 +95,9 @@ static ADDRESS_MAP_START( goindol_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc800, 0xc800) AM_READNOP AM_WRITE(soundlatch_w) // watchdog? AM_RANGE(0xc810, 0xc810) AM_WRITE(goindol_bankswitch_w) AM_RANGE(0xc820, 0xc820) AM_READ_PORT("DIAL") - AM_RANGE(0xc820, 0xd820) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(goindol_state, fg_scrolly) + AM_RANGE(0xc820, 0xd820) AM_WRITEONLY AM_BASE_MEMBER(goindol_state, fg_scrolly) AM_RANGE(0xc830, 0xc830) AM_READ_PORT("P1") - AM_RANGE(0xc830, 0xd830) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(goindol_state, fg_scrollx) + AM_RANGE(0xc830, 0xd830) AM_WRITEONLY AM_BASE_MEMBER(goindol_state, fg_scrollx) AM_RANGE(0xc834, 0xc834) AM_READ_PORT("P2") AM_RANGE(0xd000, 0xd03f) AM_RAM AM_BASE_SIZE_MEMBER(goindol_state, spriteram, spriteram_size) AM_RANGE(0xd040, 0xd7ff) AM_RAM diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c index e3aef666d11..4da9a3fc083 100644 --- a/src/mame/drivers/goldstar.c +++ b/src/mame/drivers/goldstar.c @@ -168,11 +168,11 @@ static ADDRESS_MAP_START( goldstar_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xb7ff) AM_ROM AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) AM_RANGE(0xc000, 0xc7ff) AM_ROM - AM_RANGE(0xc800, 0xcfff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) - AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0xd800, 0xd9ff) AM_RAM AM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram) - AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram) - AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_WRITE( goldstar_reel3_ram_w ) AM_BASE(&goldstar_reel3_ram) + AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) + AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram) + AM_RANGE(0xe000, 0xe1ff) AM_RAM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram) + AM_RANGE(0xe800, 0xe9ff) AM_RAM_WRITE( goldstar_reel3_ram_w ) AM_BASE(&goldstar_reel3_ram) AM_RANGE(0xf040, 0xf07f) AM_RAM AM_BASE(&goldstar_reel1_scroll) AM_RANGE(0xf080, 0xf0bf) AM_RAM AM_BASE(&goldstar_reel2_scroll) AM_RANGE(0xf0c0, 0xf0ff) AM_RAM AM_BASE(&goldstar_reel3_scroll) @@ -191,7 +191,7 @@ static ADDRESS_MAP_START( goldstar_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xf840, 0xf840) AM_DEVWRITE("aysnd", ay8910_address_w) AM_RANGE(0xfa00, 0xfa00) AM_WRITE(goldstar_fa00_w) AM_RANGE(0xfb00, 0xfb00) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w) - AM_RANGE(0xfd00, 0xfdff) AM_READWRITE(SMH_RAM,paletteram_BBGGGRRR_w) AM_BASE_GENERIC(paletteram) + AM_RANGE(0xfd00, 0xfdff) AM_RAM_WRITE(paletteram_BBGGGRRR_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xfe00, 0xfe00) AM_READWRITE(protection_r,protection_w) ADDRESS_MAP_END @@ -211,11 +211,11 @@ static ADDRESS_MAP_START( ncb3_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xb7ff) AM_ROM AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) AM_RANGE(0xc000, 0xc7ff) AM_ROM - AM_RANGE(0xc800, 0xcfff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) - AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0xd800, 0xd9ff) AM_RAM AM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram) - AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram) - AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram) + AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) + AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram) + AM_RANGE(0xe000, 0xe1ff) AM_RAM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram) + AM_RANGE(0xe800, 0xe9ff) AM_RAM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram) AM_RANGE(0xf040, 0xf07f) AM_RAM AM_BASE(&goldstar_reel1_scroll) AM_RANGE(0xf080, 0xf0bf) AM_RAM AM_BASE(&goldstar_reel2_scroll) AM_RANGE(0xf100, 0xf17f) AM_RAM AM_BASE(&goldstar_reel3_scroll) // moved compared to goldstar @@ -285,12 +285,12 @@ static ADDRESS_MAP_START( cm_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) - AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) - AM_RANGE(0xe800, 0xefff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) + AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram) - AM_RANGE(0xf200, 0xf3ff) AM_RAM AM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram) - AM_RANGE(0xf400, 0xf5ff) AM_RAM AM_WRITE( goldstar_reel3_ram_w ) AM_BASE(&goldstar_reel3_ram) + AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram) + AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram) + AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE( goldstar_reel3_ram_w ) AM_BASE(&goldstar_reel3_ram) AM_RANGE(0xf600, 0xf7ff) AM_RAM AM_RANGE(0xf800, 0xf87f) AM_RAM AM_BASE(&goldstar_reel1_scroll) @@ -307,12 +307,12 @@ static ADDRESS_MAP_START( nfm_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) - AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) - AM_RANGE(0xe800, 0xefff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) + AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram) - AM_RANGE(0xf200, 0xf3ff) AM_RAM AM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram) - AM_RANGE(0xf400, 0xf5ff) AM_RAM AM_WRITE( goldstar_reel3_ram_w ) AM_BASE(&goldstar_reel3_ram) + AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram) + AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram) + AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE( goldstar_reel3_ram_w ) AM_BASE(&goldstar_reel3_ram) AM_RANGE(0xf600, 0xf7ff) AM_RAM AM_RANGE(0xf800, 0xf87f) AM_RAM AM_BASE(&goldstar_reel1_scroll) @@ -381,11 +381,11 @@ static WRITE8_HANDLER( lucky8_outport_w ) static ADDRESS_MAP_START( lucky8_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) - AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) - AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0x9800, 0x99ff) AM_RAM AM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram) - AM_RANGE(0xa000, 0xa1ff) AM_RAM AM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram) - AM_RANGE(0xa800, 0xa9ff) AM_RAM AM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram) + AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) + AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram) + AM_RANGE(0xa000, 0xa1ff) AM_RAM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram) + AM_RANGE(0xa800, 0xa9ff) AM_RAM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram) AM_RANGE(0xb040, 0xb07f) AM_RAM AM_BASE(&goldstar_reel1_scroll) AM_RANGE(0xb080, 0xb0bf) AM_RAM AM_BASE(&goldstar_reel2_scroll) AM_RANGE(0xb100, 0xb17f) AM_RAM AM_BASE(&goldstar_reel3_scroll) @@ -403,11 +403,11 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( kkojnoli_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM /* definitelly no NVRAM */ - AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) - AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0x9800, 0x99ff) AM_RAM AM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram) - AM_RANGE(0xa000, 0xa1ff) AM_RAM AM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram) - AM_RANGE(0xa800, 0xa9ff) AM_RAM AM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram) + AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) + AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram) + AM_RANGE(0xa000, 0xa1ff) AM_RAM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram) + AM_RANGE(0xa800, 0xa9ff) AM_RAM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram) AM_RANGE(0xb040, 0xb07f) AM_RAM AM_BASE(&goldstar_reel1_scroll) AM_RANGE(0xb080, 0xb0bf) AM_RAM AM_BASE(&goldstar_reel2_scroll) AM_RANGE(0xb100, 0xb17f) AM_RAM AM_BASE(&goldstar_reel3_scroll) @@ -442,11 +442,11 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( ladylinr_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) - AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) - AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0x9800, 0x99ff) AM_RAM AM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram) - AM_RANGE(0xa000, 0xa1ff) AM_RAM AM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram) - AM_RANGE(0xa800, 0xa9ff) AM_RAM AM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram) + AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) + AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram) + AM_RANGE(0xa000, 0xa1ff) AM_RAM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram) + AM_RANGE(0xa800, 0xa9ff) AM_RAM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram) AM_RANGE(0xb040, 0xb07f) AM_RAM AM_BASE(&goldstar_reel1_scroll) AM_RANGE(0xb080, 0xb0bf) AM_RAM AM_BASE(&goldstar_reel2_scroll) AM_RANGE(0xb100, 0xb17f) AM_RAM AM_BASE(&goldstar_reel3_scroll) @@ -463,11 +463,11 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( wcat3_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) - AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) - AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0x9800, 0x99ff) AM_RAM AM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram) - AM_RANGE(0xa000, 0xa1ff) AM_RAM AM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram) - AM_RANGE(0xa800, 0xa9ff) AM_RAM AM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram) + AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) + AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram) + AM_RANGE(0xa000, 0xa1ff) AM_RAM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram) + AM_RANGE(0xa800, 0xa9ff) AM_RAM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram) AM_RANGE(0xb040, 0xb07f) AM_RAM AM_BASE(&goldstar_reel1_scroll) AM_RANGE(0xb080, 0xb0bf) AM_RAM AM_BASE(&goldstar_reel2_scroll) AM_RANGE(0xb100, 0xb17f) AM_RAM AM_BASE(&goldstar_reel3_scroll) @@ -493,19 +493,19 @@ static READ8_HANDLER( unkch_unk_r ) // scrolling is wrong / different static ADDRESS_MAP_START( unkch_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x9fff) AM_ROM - AM_RANGE(0xc000, 0xc1ff) AM_READWRITE(SMH_RAM,paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xc800, 0xc9ff) AM_READWRITE(SMH_RAM,paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE_GENERIC(paletteram2) + AM_RANGE(0xc000, 0xc1ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE_GENERIC(paletteram) + AM_RANGE(0xc800, 0xc9ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE_GENERIC(paletteram2) AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) AM_RANGE(0xd800, 0xdfff) AM_RAM - AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) - AM_RANGE(0xe800, 0xefff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) + AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram) - AM_RANGE(0xf200, 0xf3ff) AM_RAM AM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram) - AM_RANGE(0xf400, 0xf5ff) AM_RAM AM_WRITE( goldstar_reel3_ram_w ) AM_BASE(&goldstar_reel3_ram) + AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram) + AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram) + AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE( goldstar_reel3_ram_w ) AM_BASE(&goldstar_reel3_ram) AM_RANGE(0xf600, 0xf7ff) AM_RAM AM_RANGE(0xf800, 0xf87f) AM_RAM AM_BASE(&goldstar_reel1_scroll) diff --git a/src/mame/drivers/gotya.c b/src/mame/drivers/gotya.c index cd9508b222b..814ab3329fe 100644 --- a/src/mame/drivers/gotya.c +++ b/src/mame/drivers/gotya.c @@ -47,7 +47,7 @@ static ADDRESS_MAP_START( gotya_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x6002, 0x6002) AM_READ_PORT("DSW") AM_RANGE(0x6004, 0x6004) AM_WRITE(gotya_video_control_w) AM_RANGE(0x6005, 0x6005) AM_WRITE(gotya_soundlatch_w) - AM_RANGE(0x6006, 0x6006) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(gotya_state, scroll) + AM_RANGE(0x6006, 0x6006) AM_WRITEONLY AM_BASE_MEMBER(gotya_state, scroll) AM_RANGE(0x6007, 0x6007) AM_WRITE(watchdog_reset_w) AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gotya_videoram_w) AM_BASE_MEMBER(gotya_state, videoram) AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gotya_colorram_w) AM_BASE_MEMBER(gotya_state, colorram) diff --git a/src/mame/drivers/gyruss.c b/src/mame/drivers/gyruss.c index c839a98fc98..1058038b5b8 100644 --- a/src/mame/drivers/gyruss.c +++ b/src/mame/drivers/gyruss.c @@ -157,7 +157,7 @@ static ADDRESS_MAP_START( main_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc0e0, 0xc0e0) AM_READ_PORT("DSW1") AM_RANGE(0xc100, 0xc100) AM_READ_PORT("DSW3") AM_WRITE(soundlatch_w) AM_RANGE(0xc180, 0xc180) AM_WRITE(interrupt_enable_w) - AM_RANGE(0xc185, 0xc185) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(gyruss_state, flipscreen) + AM_RANGE(0xc185, 0xc185) AM_WRITEONLY AM_BASE_MEMBER(gyruss_state, flipscreen) ADDRESS_MAP_END static ADDRESS_MAP_START( main_cpu2_map, ADDRESS_SPACE_PROGRAM, 8 ) diff --git a/src/mame/drivers/higemaru.c b/src/mame/drivers/higemaru.c index 9eee0cfd713..8694de303d3 100644 --- a/src/mame/drivers/higemaru.c +++ b/src/mame/drivers/higemaru.c @@ -38,7 +38,7 @@ static ADDRESS_MAP_START( higemaru_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc803, 0xc804) AM_DEVWRITE("ay2", ay8910_address_data_w) AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(higemaru_videoram_w) AM_BASE_MEMBER(higemaru_state, videoram) AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(higemaru_colorram_w) AM_BASE_MEMBER(higemaru_state, colorram) - AM_RANGE(0xd880, 0xd9ff) AM_RAM_WRITE(SMH_RAM) AM_BASE_SIZE_MEMBER(higemaru_state, spriteram, spriteram_size) + AM_RANGE(0xd880, 0xd9ff) AM_RAM AM_BASE_SIZE_MEMBER(higemaru_state, spriteram, spriteram_size) AM_RANGE(0xe000, 0xefff) AM_RAM ADDRESS_MAP_END diff --git a/src/mame/drivers/himesiki.c b/src/mame/drivers/himesiki.c index d3118b10d38..b20de1398f0 100644 --- a/src/mame/drivers/himesiki.c +++ b/src/mame/drivers/himesiki.c @@ -111,8 +111,8 @@ static ADDRESS_MAP_START( himesiki_prm0, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x9fff) AM_RAM AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE_MEMBER(himesiki_state, spriteram) - AM_RANGE(0xa800, 0xafff) AM_RAM AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xb000, 0xbfff) AM_RAM AM_WRITE(himesiki_bg_ram_w) AM_BASE_MEMBER(himesiki_state, bg_ram) + AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram) + AM_RANGE(0xb000, 0xbfff) AM_RAM_WRITE(himesiki_bg_ram_w) AM_BASE_MEMBER(himesiki_state, bg_ram) AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1") ADDRESS_MAP_END diff --git a/src/mame/drivers/homedata.c b/src/mame/drivers/homedata.c index 834227d28fe..a63869ef130 100644 --- a/src/mame/drivers/homedata.c +++ b/src/mame/drivers/homedata.c @@ -606,7 +606,7 @@ static ADDRESS_MAP_START( reikaids_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x7801, 0x7801) AM_READ_PORT("IN0") AM_RANGE(0x7802, 0x7802) AM_READ_PORT("IN1") AM_RANGE(0x7803, 0x7803) AM_READ(reikaids_io_r) // coin, blitter, upd7807 - AM_RANGE(0x7ff0, 0x7ffd) AM_WRITE(SMH_RAM) AM_BASE(&homedata_vreg) + AM_RANGE(0x7ff0, 0x7ffd) AM_WRITEONLY AM_BASE(&homedata_vreg) AM_RANGE(0x7ffe, 0x7ffe) AM_WRITE(reikaids_blitter_bank_w) AM_RANGE(0x7fff, 0x7fff) AM_WRITE(reikaids_blitter_start_w) AM_RANGE(0x8000, 0x8000) AM_WRITE(bankswitch_w) diff --git a/src/mame/drivers/hshavoc.c b/src/mame/drivers/hshavoc.c index 368b7e3b71c..ae127f35fcc 100644 --- a/src/mame/drivers/hshavoc.c +++ b/src/mame/drivers/hshavoc.c @@ -220,7 +220,7 @@ static DRIVER_INIT(hshavoc) { const address_space *space = cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM); - memory_install_write16_handler(space, 0x200000, 0x201fff, 0, 0, (write16_space_func) SMH_NOP); + memory_nop_write(space, 0x200000, 0x201fff, 0, 0); } DRIVER_INIT_CALL(megadriv); diff --git a/src/mame/drivers/hyhoo.c b/src/mame/drivers/hyhoo.c index 3d17c515732..2c8c71e60b0 100644 --- a/src/mame/drivers/hyhoo.c +++ b/src/mame/drivers/hyhoo.c @@ -70,7 +70,7 @@ static ADDRESS_MAP_START( hyhoo_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x90, 0x97) AM_WRITE(hyhoo_blitter_w) AM_RANGE(0xa0, 0xa0) AM_READWRITE(nb1413m3_inputport1_r, nb1413m3_inputportsel_w) AM_RANGE(0xb0, 0xb0) AM_READWRITE(nb1413m3_inputport2_r, nb1413m3_sndrombank1_w) - AM_RANGE(0xc0, 0xcf) AM_WRITE(SMH_RAM) AM_BASE(&hyhoo_clut) + AM_RANGE(0xc0, 0xcf) AM_WRITEONLY AM_BASE(&hyhoo_clut) AM_RANGE(0xd0, 0xd0) AM_READNOP AM_DEVWRITE("dac", DAC_WRITE) // unknown read AM_RANGE(0xe0, 0xe0) AM_WRITE(hyhoo_romsel_w) AM_RANGE(0xe0, 0xe1) AM_READ(nb1413m3_gfxrom_r) diff --git a/src/mame/drivers/hyprduel.c b/src/mame/drivers/hyprduel.c index 623d8b86991..2c7670ce218 100644 --- a/src/mame/drivers/hyprduel.c +++ b/src/mame/drivers/hyprduel.c @@ -432,7 +432,7 @@ static ADDRESS_MAP_START( hyprduel_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x420000, 0x43ffff) AM_RAM_WRITE(hyprduel_vram_1_w) AM_BASE(&hyprduel_vram_1) /* Layer 1 */ AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE(hyprduel_vram_2_w) AM_BASE(&hyprduel_vram_2) /* Layer 2 */ AM_RANGE(0x460000, 0x46ffff) AM_READ(hyprduel_bankedrom_r) /* Banked ROM */ - AM_RANGE(0x470000, 0x473fff) AM_RAM AM_WRITE(hyprduel_paletteram_w) AM_BASE_GENERIC(paletteram) /* Palette */ + AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(hyprduel_paletteram_w) AM_BASE_GENERIC(paletteram) /* Palette */ AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */ AM_RANGE(0x475000, 0x477fff) AM_RAM /* only used memory test */ AM_RANGE(0x478000, 0x4787ff) AM_RAM AM_BASE(&hyprduel_tiletable) AM_SIZE(&hyprduel_tiletable_size) /* Tiles Set */ @@ -460,7 +460,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( hyprduel_map2, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x003fff) AM_RAM AM_SHARE(1) /* shadow ($c00000 - $c03fff : vector) */ - AM_RANGE(0x004000, 0x007fff) AM_RAM AM_WRITENOP AM_SHARE(3) /* shadow ($fe4000 - $fe7fff : read only) */ + AM_RANGE(0x004000, 0x007fff) AM_READONLY AM_WRITENOP AM_SHARE(3) /* shadow ($fe4000 - $fe7fff : read only) */ AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff ) AM_RANGE(0x400004, 0x400005) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff) AM_RANGE(0x800000, 0x800001) AM_NOP @@ -479,7 +479,7 @@ static ADDRESS_MAP_START( magerror_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x820000, 0x83ffff) AM_RAM_WRITE(hyprduel_vram_1_w) AM_BASE(&hyprduel_vram_1) /* Layer 1 */ AM_RANGE(0x840000, 0x85ffff) AM_RAM_WRITE(hyprduel_vram_2_w) AM_BASE(&hyprduel_vram_2) /* Layer 2 */ AM_RANGE(0x860000, 0x86ffff) AM_READ(hyprduel_bankedrom_r) /* Banked ROM */ - AM_RANGE(0x870000, 0x873fff) AM_RAM AM_WRITE(hyprduel_paletteram_w) AM_BASE_GENERIC(paletteram) /* Palette */ + AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(hyprduel_paletteram_w) AM_BASE_GENERIC(paletteram) /* Palette */ AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */ AM_RANGE(0x875000, 0x877fff) AM_RAM /* only used memory test */ AM_RANGE(0x878000, 0x8787ff) AM_RAM AM_BASE(&hyprduel_tiletable) AM_SIZE(&hyprduel_tiletable_size) /* Tiles Set */ @@ -506,7 +506,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( magerror_map2, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x003fff) AM_RAM AM_SHARE(1) /* shadow ($c00000 - $c03fff : vector) */ - AM_RANGE(0x004000, 0x007fff) AM_RAM AM_WRITENOP AM_SHARE(3) /* shadow ($fe4000 - $fe7fff : read only) */ + AM_RANGE(0x004000, 0x007fff) AM_READONLY AM_WRITENOP AM_SHARE(3) /* shadow ($fe4000 - $fe7fff : read only) */ AM_RANGE(0x400000, 0x400003) AM_NOP AM_RANGE(0x800000, 0x800003) AM_READNOP AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff) AM_RANGE(0x800004, 0x800005) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff) diff --git a/src/mame/drivers/igs017.c b/src/mame/drivers/igs017.c index c622e013381..4b68b9f0da5 100644 --- a/src/mame/drivers/igs017.c +++ b/src/mame/drivers/igs017.c @@ -1094,7 +1094,7 @@ static ADDRESS_MAP_START( iqblocka_io, ADDRESS_SPACE_IO, 8 ) AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs AM_RANGE( 0x1000, 0x17ff ) AM_RAM AM_BASE_GENERIC( spriteram ) - AM_RANGE( 0x1800, 0x1bff ) AM_READWRITE( SMH_RAM, paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC(paletteram) + AM_RANGE( 0x1800, 0x1bff ) AM_RAM_WRITE( paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC(paletteram) AM_RANGE( 0x1c00, 0x1fff ) AM_RAM // AM_RANGE(0x200a, 0x200a) AM_WRITENOP diff --git a/src/mame/drivers/ikki.c b/src/mame/drivers/ikki.c index 48c151a8bbc..2af85a6f031 100644 --- a/src/mame/drivers/ikki.c +++ b/src/mame/drivers/ikki.c @@ -55,7 +55,7 @@ static ADDRESS_MAP_START( ikki_cpu1, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xe005, 0xe005) AM_READ_PORT("P2") AM_RANGE(0xe008, 0xe008) AM_WRITE(ikki_scrn_ctrl_w) AM_RANGE(0xe009, 0xe009) AM_WRITE(ikki_coin_counters) - AM_RANGE(0xe00a, 0xe00b) AM_WRITE(SMH_RAM) AM_BASE(&ikki_scroll) + AM_RANGE(0xe00a, 0xe00b) AM_WRITEONLY AM_BASE(&ikki_scroll) ADDRESS_MAP_END static ADDRESS_MAP_START( ikki_cpu2, ADDRESS_SPACE_PROGRAM, 8 ) diff --git a/src/mame/drivers/imolagp.c b/src/mame/drivers/imolagp.c index 636987d2e2c..40c6c2a72e5 100644 --- a/src/mame/drivers/imolagp.c +++ b/src/mame/drivers/imolagp.c @@ -321,8 +321,8 @@ static ADDRESS_MAP_START( readport_master, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_END static ADDRESS_MAP_START( imolagp_master, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM) - AM_RANGE(0x2000, 0x23ff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) + AM_RANGE(0x0000, 0x1fff) AM_ROM + AM_RANGE(0x2000, 0x23ff) AM_RAM AM_RANGE(0x2800, 0x2800) AM_READ_PORT("2800") /* gas */ AM_RANGE(0x2802, 0x2802) AM_READ(steerlatch_r) AM_WRITENOP /* AM_RANGE(0x2803, 0x2803) ? */ @@ -346,11 +346,11 @@ static ADDRESS_MAP_START( readport_slave, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_END static ADDRESS_MAP_START( imolagp_slave, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_READ(SMH_ROM) - AM_RANGE(0x0800, 0x0bff) AM_READ(SMH_ROM) - AM_RANGE(0x1000, 0x13ff) AM_READ(SMH_ROM) - AM_RANGE(0x1c00, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE(&slave_workram) + AM_RANGE(0x0000, 0x03ff) AM_ROM + AM_RANGE(0x0800, 0x0bff) AM_ROM + AM_RANGE(0x1000, 0x13ff) AM_ROM + AM_RANGE(0x1c00, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE(&slave_workram) AM_RANGE(0x9fff, 0xa000) AM_READ(receive_data_r) AM_RANGE(0xc000, 0xffff) AM_WRITE(screenram_w) ADDRESS_MAP_END diff --git a/src/mame/drivers/inufuku.c b/src/mame/drivers/inufuku.c index ed08eaccc8b..c6ddb245db2 100644 --- a/src/mame/drivers/inufuku.c +++ b/src/mame/drivers/inufuku.c @@ -183,7 +183,7 @@ static ADDRESS_MAP_START( inufuku_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x280000, 0x280001) AM_WRITE(inufuku_soundcommand_w) // sound command AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE_GENERIC(paletteram) // palette ram - AM_RANGE(0x380000, 0x3801ff) AM_WRITE(SMH_RAM) AM_BASE(&inufuku_bg_rasterram) // bg raster ram + AM_RANGE(0x380000, 0x3801ff) AM_WRITEONLY AM_BASE(&inufuku_bg_rasterram) // bg raster ram AM_RANGE(0x400000, 0x401fff) AM_READWRITE(inufuku_bg_videoram_r, inufuku_bg_videoram_w) AM_BASE(&inufuku_bg_videoram) // bg ram AM_RANGE(0x402000, 0x403fff) AM_READWRITE(inufuku_text_videoram_r, inufuku_text_videoram_w) AM_BASE(&inufuku_text_videoram) // text ram AM_RANGE(0x580000, 0x580fff) AM_RAM AM_BASE(&inufuku_spriteram1) AM_SIZE(&inufuku_spriteram1_size) // sprite table + sprite attribute diff --git a/src/mame/drivers/irobot.c b/src/mame/drivers/irobot.c index fbc142f545e..802c4416f47 100644 --- a/src/mame/drivers/irobot.c +++ b/src/mame/drivers/irobot.c @@ -134,7 +134,7 @@ static ADDRESS_MAP_START( irobot_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1300, 0x13ff) AM_READ(irobot_control_r) AM_RANGE(0x1400, 0x143f) AM_READWRITE(quad_pokey_r, quad_pokey_w) AM_RANGE(0x1800, 0x18ff) AM_WRITE(irobot_paletteram_w) - AM_RANGE(0x1900, 0x19ff) AM_WRITE(SMH_RAM) /* Watchdog reset */ + AM_RANGE(0x1900, 0x19ff) AM_WRITEONLY /* Watchdog reset */ AM_RANGE(0x1a00, 0x1a00) AM_WRITE(irobot_clearfirq_w) AM_RANGE(0x1b00, 0x1bff) AM_WRITE(irobot_control_w) AM_RANGE(0x1c00, 0x1fff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) diff --git a/src/mame/drivers/itech32.c b/src/mame/drivers/itech32.c index dbed5d24cc2..a9a0aa3d898 100644 --- a/src/mame/drivers/itech32.c +++ b/src/mame/drivers/itech32.c @@ -1039,7 +1039,7 @@ AM_RANGE(0x000c00, 0x007fff) AM_MIRROR(0x40000) AM_READWRITE(test2_r, test2_w) AM_RANGE(0x084000, 0x084003) AM_READWRITE(sound_data32_r, sound_data32_w) // AM_RANGE(0x086000, 0x08623f) AM_RAM -- networking -- first 0x40 bytes = our data, next 0x40*8 bytes = their data, r/w on IRQ2 AM_RANGE(0x088000, 0x088003) AM_READ(drivedge_steering_r) - AM_RANGE(0x08a000, 0x08a003) AM_READWRITE(drivedge_gas_r, SMH_NOP) + AM_RANGE(0x08a000, 0x08a003) AM_READ(drivedge_gas_r) AM_WRITENOP AM_RANGE(0x08c000, 0x08c003) AM_READ_PORT("8c000") AM_RANGE(0x08e000, 0x08e003) AM_READ_PORT("8e000") AM_WRITENOP AM_RANGE(0x100000, 0x10000f) AM_WRITE(drivedge_zbuf_control_w) AM_BASE(&drivedge_zbuf_control) @@ -1085,8 +1085,8 @@ static ADDRESS_MAP_START( itech020_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE(itech020_paletteram_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x600000, 0x603fff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) /* ? */ AM_RANGE(0x61ff00, 0x61ffff) AM_WRITENOP /* Unknown Writes */ - AM_RANGE(0x680000, 0x680003) AM_READWRITE(itech020_prot_result_r, SMH_NOP) -/* ! */ AM_RANGE(0x680800, 0x68083f) AM_RAM_WRITE(SMH_NOP) /* Serial DUART Channel A/B & Top LED sign - To Do! */ + AM_RANGE(0x680000, 0x680003) AM_READ(itech020_prot_result_r) AM_WRITENOP +/* ! */ AM_RANGE(0x680800, 0x68083f) AM_READONLY AM_WRITENOP /* Serial DUART Channel A/B & Top LED sign - To Do! */ AM_RANGE(0x700000, 0x700003) AM_WRITE(itech020_plane_w) AM_RANGE(0x800000, 0xbfffff) AM_ROM AM_REGION("user1", 0) AM_BASE((UINT32 **)&main_rom) ADDRESS_MAP_END @@ -1119,7 +1119,7 @@ static ADDRESS_MAP_START( sound_020_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0800, 0x083f) AM_MIRROR(0x80) AM_DEVREADWRITE("ensoniq", es5506_r, es5506_w) AM_RANGE(0x0c00, 0x0c00) AM_WRITE(sound_bank_w) AM_RANGE(0x1400, 0x1400) AM_WRITE(firq_clear_w) - AM_RANGE(0x1800, 0x1800) AM_READWRITE(sound_data_buffer_r, SMH_NOP) + AM_RANGE(0x1800, 0x1800) AM_READ(sound_data_buffer_r) AM_WRITENOP AM_RANGE(0x2000, 0x3fff) AM_RAM AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") AM_RANGE(0x8000, 0xffff) AM_ROM @@ -3939,8 +3939,9 @@ static DRIVER_INIT( wcbowl ) memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x680000, 0x680001, 0, 0, trackball_r); - memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x578000, 0x57ffff, 0, 0, (read16_space_func)SMH_NOP); - memory_install_readwrite16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x680080, 0x680081, 0, 0, wcbowl_prot_result_r, (write16_space_func)SMH_NOP); + memory_nop_read(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x578000, 0x57ffff, 0, 0); + memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x680080, 0x680081, 0, 0, wcbowl_prot_result_r); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x680080, 0x680081, 0, 0); } diff --git a/src/mame/drivers/itech8.c b/src/mame/drivers/itech8.c index c925f05cfb0..80f73b1a257 100644 --- a/src/mame/drivers/itech8.c +++ b/src/mame/drivers/itech8.c @@ -930,7 +930,7 @@ static ADDRESS_MAP_START( gtg2_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0120, 0x0120) AM_READ_PORT("60") AM_WRITE(itech8_page_w) AM_RANGE(0x0140, 0x015f) AM_WRITE(itech8_palette_w) AM_RANGE(0x0140, 0x0140) AM_READ_PORT("80") - AM_RANGE(0x0160, 0x0160) AM_WRITE(SMH_RAM) AM_BASE(&itech8_grom_bank) + AM_RANGE(0x0160, 0x0160) AM_WRITEONLY AM_BASE(&itech8_grom_bank) AM_RANGE(0x0180, 0x019f) AM_READWRITE(itech8_blitter_r, blitter_w) AM_RANGE(0x01c0, 0x01c0) AM_WRITE(gtg2_sound_data_w) AM_RANGE(0x01e0, 0x01e0) AM_WRITE(tms34061_latch_w) @@ -2664,7 +2664,7 @@ static DRIVER_INIT( grmatch ) { memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x0160, 0x0160, 0, 0, grmatch_palette_w); memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x0180, 0x0180, 0, 0, grmatch_xscroll_w); - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x01e0, 0x01ff, 0, 0, (write8_space_func)SMH_UNMAP); + memory_unmap_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x01e0, 0x01ff, 0, 0); } diff --git a/src/mame/drivers/jack.c b/src/mame/drivers/jack.c index f30f6242fb0..80c55d3ce2f 100644 --- a/src/mame/drivers/jack.c +++ b/src/mame/drivers/jack.c @@ -1425,7 +1425,7 @@ static DRIVER_INIT( striv ) memory_install_read8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc000, 0xcfff, 0, 0, striv_question_r); // Nop out unused sprites writes - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xb000, 0xb0ff, 0, 0, (write8_space_func)SMH_NOP); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xb000, 0xb0ff, 0, 0); timer_rate = 128; } diff --git a/src/mame/drivers/jackal.c b/src/mame/drivers/jackal.c index 838f07247f1..9509bb3965d 100644 --- a/src/mame/drivers/jackal.c +++ b/src/mame/drivers/jackal.c @@ -118,7 +118,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( slave_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w) - AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram) // self test only checks 0x4000-0x423f, 007327 should actually go up to 4fff + AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_GENERIC(paletteram) // self test only checks 0x4000-0x423f, 007327 should actually go up to 4fff AM_RANGE(0x6000, 0x605f) AM_RAM // SOUND RAM (Self test check 0x6000-605f, 0x7c00-0x7fff) AM_RANGE(0x6060, 0x7fff) AM_RAM AM_SHARE(1) AM_RANGE(0x8000, 0xffff) AM_ROM diff --git a/src/mame/drivers/jalmah.c b/src/mame/drivers/jalmah.c index d02f4c7ac32..435ec05cfe0 100644 --- a/src/mame/drivers/jalmah.c +++ b/src/mame/drivers/jalmah.c @@ -943,7 +943,7 @@ static ADDRESS_MAP_START( urashima, ADDRESS_SPACE_PROGRAM, 16 ) // AM_RANGE(0x098000, 0x09bfff) AM_RAM_WRITE(urashima_sc2_vram_w) AM_BASE(&sc2_vram)/*unused*/ /*$9c000-$9cfff Video Registers*/ /**/AM_RANGE(0x09c000, 0x09dfff) AM_WRITE(urashima_vregs_w) -/**///AM_RANGE(0x09c480, 0x09c49f) AM_READ(SMH_RAM) AM_WRITE(urashima_sc2vregs_w) +/**///AM_RANGE(0x09c480, 0x09c49f) AM_RAM_WRITE(urashima_sc2vregs_w) AM_RANGE(0x09e000, 0x0a1fff) AM_RAM_WRITE(urashima_sc3_vram_w) AM_BASE(&sc3_vram) AM_RANGE(0x0f0000, 0x0f0fff) AM_RAM AM_BASE(&jm_shared_ram)/*shared with MCU*/ AM_RANGE(0x0f1000, 0x0fffff) AM_RAM /*Work Ram*/ diff --git a/src/mame/drivers/jchan.c b/src/mame/drivers/jchan.c index 5ab4bbad0b0..eea35d33f06 100644 --- a/src/mame/drivers/jchan.c +++ b/src/mame/drivers/jchan.c @@ -533,8 +533,8 @@ static ADDRESS_MAP_START( jchan_sub, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x600000, 0x60001f) AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // Layers 0 Regs /* background prites */ - AM_RANGE(0x700000, 0x703fff) AM_RAM AM_BASE(&jchan_spriteram_2) AM_WRITE(jchan_suprnova_sprite32_2_w) - AM_RANGE(0x780000, 0x78003f) AM_RAM AM_BASE(&jchan_sprregs_2) AM_WRITE(jchan_suprnova_sprite32regs_2_w) + AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(jchan_suprnova_sprite32_2_w) AM_BASE(&jchan_spriteram_2) + AM_RANGE(0x780000, 0x78003f) AM_RAM_WRITE(jchan_suprnova_sprite32regs_2_w) AM_BASE(&jchan_sprregs_2) AM_RANGE(0x800000, 0x800003) AM_DEVWRITE8("ymz", ymz280b_w, 0x00ff) // sound diff --git a/src/mame/drivers/jedi.c b/src/mame/drivers/jedi.c index ae7bc699415..e24e1b35985 100644 --- a/src/mame/drivers/jedi.c +++ b/src/mame/drivers/jedi.c @@ -273,29 +273,29 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0c00, 0x0c00) AM_MIRROR(0x03fe) AM_READ_PORT("0c00") AM_WRITENOP AM_RANGE(0x0c01, 0x0c01) AM_MIRROR(0x03fe) AM_READ_PORT("0c01") AM_WRITENOP AM_RANGE(0x1000, 0x13ff) AM_NOP - AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x03ff) AM_READWRITE(jedi_audio_ack_latch_r, SMH_NOP) - AM_RANGE(0x1800, 0x1800) AM_MIRROR(0x03ff) AM_READWRITE(a2d_data_r, SMH_NOP) - AM_RANGE(0x1c00, 0x1c01) AM_MIRROR(0x007f) AM_READWRITE(SMH_NOP, nvram_enable_w) - AM_RANGE(0x1c80, 0x1c82) AM_MIRROR(0x0078) AM_READWRITE(SMH_NOP, a2d_select_w) + AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x03ff) AM_READ(jedi_audio_ack_latch_r) AM_WRITENOP + AM_RANGE(0x1800, 0x1800) AM_MIRROR(0x03ff) AM_READ(a2d_data_r) AM_WRITENOP + AM_RANGE(0x1c00, 0x1c01) AM_MIRROR(0x007f) AM_READNOP AM_WRITE(nvram_enable_w) + AM_RANGE(0x1c80, 0x1c82) AM_MIRROR(0x0078) AM_READNOP AM_WRITE(a2d_select_w) AM_RANGE(0x1c83, 0x1c87) AM_MIRROR(0x0078) AM_NOP - AM_RANGE(0x1d00, 0x1d00) AM_MIRROR(0x007f) AM_READWRITE(SMH_NOP, SMH_NOP) /* write: NVRAM store */ - AM_RANGE(0x1d80, 0x1d80) AM_MIRROR(0x007f) AM_READWRITE(SMH_NOP, watchdog_reset_w) - AM_RANGE(0x1e00, 0x1e00) AM_MIRROR(0x007f) AM_READWRITE(SMH_NOP, main_irq_ack_w) - AM_RANGE(0x1e80, 0x1e81) AM_MIRROR(0x0078) AM_READWRITE(SMH_NOP, jedi_coin_counter_w) - AM_RANGE(0x1e82, 0x1e83) AM_MIRROR(0x0078) AM_READWRITE(SMH_NOP, SMH_NOP) /* write: LED control - not used */ - AM_RANGE(0x1e84, 0x1e84) AM_MIRROR(0x0078) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE_MEMBER(jedi_state, foreground_bank) + AM_RANGE(0x1d00, 0x1d00) AM_MIRROR(0x007f) AM_NOP /* write: NVRAM store */ + AM_RANGE(0x1d80, 0x1d80) AM_MIRROR(0x007f) AM_READNOP AM_WRITE(watchdog_reset_w) + AM_RANGE(0x1e00, 0x1e00) AM_MIRROR(0x007f) AM_READNOP AM_WRITE(main_irq_ack_w) + AM_RANGE(0x1e80, 0x1e81) AM_MIRROR(0x0078) AM_READNOP AM_WRITE(jedi_coin_counter_w) + AM_RANGE(0x1e82, 0x1e83) AM_MIRROR(0x0078) AM_NOP /* write: LED control - not used */ + AM_RANGE(0x1e84, 0x1e84) AM_MIRROR(0x0078) AM_READNOP AM_WRITEONLY AM_BASE_MEMBER(jedi_state, foreground_bank) AM_RANGE(0x1e85, 0x1e85) AM_MIRROR(0x0078) AM_NOP - AM_RANGE(0x1e86, 0x1e86) AM_MIRROR(0x0078) AM_READWRITE(SMH_NOP, jedi_audio_reset_w) - AM_RANGE(0x1e87, 0x1e87) AM_MIRROR(0x0078) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE_MEMBER(jedi_state, video_off) - AM_RANGE(0x1f00, 0x1f00) AM_MIRROR(0x007f) AM_READWRITE(SMH_NOP, jedi_audio_latch_w) - AM_RANGE(0x1f80, 0x1f80) AM_MIRROR(0x007f) AM_READWRITE(SMH_NOP, rom_banksel_w) + AM_RANGE(0x1e86, 0x1e86) AM_MIRROR(0x0078) AM_READNOP AM_WRITE(jedi_audio_reset_w) + AM_RANGE(0x1e87, 0x1e87) AM_MIRROR(0x0078) AM_READNOP AM_WRITEONLY AM_BASE_MEMBER(jedi_state, video_off) + AM_RANGE(0x1f00, 0x1f00) AM_MIRROR(0x007f) AM_READNOP AM_WRITE(jedi_audio_latch_w) + AM_RANGE(0x1f80, 0x1f80) AM_MIRROR(0x007f) AM_READNOP AM_WRITE(rom_banksel_w) AM_RANGE(0x2000, 0x27ff) AM_RAM AM_BASE_MEMBER(jedi_state, backgroundram) AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_MEMBER(jedi_state, paletteram) AM_RANGE(0x3000, 0x37bf) AM_RAM AM_BASE_MEMBER(jedi_state, foregroundram) AM_RANGE(0x37c0, 0x3bff) AM_RAM AM_BASE_MEMBER(jedi_state, spriteram) - AM_RANGE(0x3c00, 0x3c01) AM_MIRROR(0x00fe) AM_READWRITE(SMH_NOP, jedi_vscroll_w) - AM_RANGE(0x3d00, 0x3d01) AM_MIRROR(0x00fe) AM_READWRITE(SMH_NOP, jedi_hscroll_w) - AM_RANGE(0x3e00, 0x3e00) AM_MIRROR(0x01ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(jedi_state, smoothing_table) + AM_RANGE(0x3c00, 0x3c01) AM_MIRROR(0x00fe) AM_READNOP AM_WRITE(jedi_vscroll_w) + AM_RANGE(0x3d00, 0x3d01) AM_MIRROR(0x00fe) AM_READNOP AM_WRITE(jedi_hscroll_w) + AM_RANGE(0x3e00, 0x3e00) AM_MIRROR(0x01ff) AM_WRITEONLY AM_BASE_MEMBER(jedi_state, smoothing_table) AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/jongkyo.c b/src/mame/drivers/jongkyo.c index 178dcdce0ee..3c6c561fb62 100644 --- a/src/mame/drivers/jongkyo.c +++ b/src/mame/drivers/jongkyo.c @@ -193,8 +193,8 @@ static WRITE8_HANDLER( unknown_w ) } static ADDRESS_MAP_START( jongkyo_memmap, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) AM_WRITE(videoram2_w) // wrong, this doesn't seem to be video ram on write.. - AM_RANGE(0x4000, 0x6bff) AM_READ(SMH_ROM) // fixed rom + AM_RANGE(0x0000, 0x3fff) AM_ROM AM_WRITE(videoram2_w) // wrong, this doesn't seem to be video ram on write.. + AM_RANGE(0x4000, 0x6bff) AM_ROM // fixed rom AM_RANGE(0x6c00, 0x6fff) AM_ROMBANK("bank1") // banked (8 banks) AM_RANGE(0x7000, 0x77ff) AM_RAM AM_RANGE(0x8000, 0xffff) AM_RAM AM_BASE_GENERIC(videoram) diff --git a/src/mame/drivers/junofrst.c b/src/mame/drivers/junofrst.c index 2719abca7f9..52652d99011 100644 --- a/src/mame/drivers/junofrst.c +++ b/src/mame/drivers/junofrst.c @@ -187,7 +187,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x802c, 0x802c) AM_READ_PORT("DSW1") AM_RANGE(0x8030, 0x8030) AM_WRITE(interrupt_enable_w) AM_RANGE(0x8031, 0x8032) AM_WRITE(junofrst_coin_counter_w) - AM_RANGE(0x8033, 0x8033) AM_WRITE(SMH_RAM) AM_BASE(&tutankhm_scroll) /* not used in Juno */ + AM_RANGE(0x8033, 0x8033) AM_WRITEONLY AM_BASE(&tutankhm_scroll) /* not used in Juno */ AM_RANGE(0x8034, 0x8035) AM_WRITE(flip_screen_w) AM_RANGE(0x8040, 0x8040) AM_WRITE(junofrst_sh_irqtrigger_w) AM_RANGE(0x8050, 0x8050) AM_WRITE(soundlatch_w) diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c index f19cd9be0eb..bdbeeaa326a 100644 --- a/src/mame/drivers/kaneko16.c +++ b/src/mame/drivers/kaneko16.c @@ -411,20 +411,20 @@ static ADDRESS_MAP_START( bakubrkr, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x40001e, 0x40001f) AM_DEVWRITE("oki", bakubrkr_oki_bank_sw) // OKI bank Switch AM_RANGE(0x400200, 0x40021f) AM_DEVREADWRITE("ay2", kaneko16_YM2149_r,kaneko16_YM2149_w) // Sound AM_RANGE(0x400400, 0x400401) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff) // - AM_RANGE(0x500000, 0x500fff) AM_READWRITE(SMH_RAM,kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0 - AM_RANGE(0x501000, 0x501fff) AM_READWRITE(SMH_RAM,kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) // + AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0 + AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) // AM_RANGE(0x502000, 0x502fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) // AM_RANGE(0x503000, 0x503fff) AM_RAM AM_BASE(&kaneko16_vscroll_0) // - AM_RANGE(0x580000, 0x580fff) AM_READWRITE(SMH_RAM,kaneko16_vram_3_w) AM_BASE(&kaneko16_vram_3) // Layers 1 - AM_RANGE(0x581000, 0x581fff) AM_READWRITE(SMH_RAM,kaneko16_vram_2_w) AM_BASE(&kaneko16_vram_2) // + AM_RANGE(0x580000, 0x580fff) AM_RAM_WRITE(kaneko16_vram_3_w) AM_BASE(&kaneko16_vram_3) // Layers 1 + AM_RANGE(0x581000, 0x581fff) AM_RAM_WRITE(kaneko16_vram_2_w) AM_BASE(&kaneko16_vram_2) // AM_RANGE(0x582000, 0x582fff) AM_RAM AM_BASE(&kaneko16_vscroll_3) // AM_RANGE(0x583000, 0x583fff) AM_RAM AM_BASE(&kaneko16_vscroll_2) // AM_RANGE(0x600000, 0x601fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites - AM_RANGE(0x700000, 0x700fff) AM_READWRITE(SMH_RAM,paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette - AM_RANGE(0x800000, 0x80001f) AM_READWRITE(SMH_RAM,kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // Layers 0 Regs - AM_RANGE(0x900000, 0x90001f) AM_READWRITE(SMH_RAM,kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs ) // Sprites Regs + AM_RANGE(0x700000, 0x700fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette + AM_RANGE(0x800000, 0x80001f) AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // Layers 0 Regs + AM_RANGE(0x900000, 0x90001f) AM_RAM_WRITE(kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs ) // Sprites Regs AM_RANGE(0xa80000, 0xa80001) AM_READ(watchdog_reset16_r) // Watchdog - AM_RANGE(0xb00000, 0xb0001f) AM_READWRITE(SMH_RAM,kaneko16_layers_1_regs_w) AM_BASE(&kaneko16_layers_1_regs) // Layers 1 Regs + AM_RANGE(0xb00000, 0xb0001f) AM_RAM_WRITE(kaneko16_layers_1_regs_w) AM_BASE(&kaneko16_layers_1_regs) // Layers 1 Regs AM_RANGE(0xd00000, 0xd00001) AM_WRITE(kaneko16_eeprom_w) // EEPROM AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("P1") AM_RANGE(0xe00002, 0xe00003) AM_READ_PORT("P2") @@ -454,7 +454,7 @@ static ADDRESS_MAP_START( blazeon, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xc00004, 0xc00005) AM_READ_PORT("UNK") AM_RANGE(0xc00006, 0xc00007) AM_READ_PORT("SYSTEM") AM_RANGE(0xd00000, 0xd00001) AM_WRITE(kaneko16_coin_lockout_w) // Coin Lockout - AM_RANGE(0xe00000, 0xe00001) AM_READWRITE(SMH_NOP, kaneko16_soundlatch_w) // Read = IRQ Ack ? + AM_RANGE(0xe00000, 0xe00001) AM_READNOP AM_WRITE(kaneko16_soundlatch_w) // Read = IRQ Ack ? AM_RANGE(0xe40000, 0xe40001) AM_READNOP // IRQ Ack ? // AM_RANGE(0xe80000, 0xe80001) AM_READNOP // IRQ Ack ? AM_RANGE(0xec0000, 0xec0001) AM_READNOP // Lev 4 IRQ Ack ? @@ -825,7 +825,7 @@ static WRITE16_HANDLER( brapboys_oki_bank_w ) static ADDRESS_MAP_START( shogwarr, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_BASE(&kaneko16_mainram) // Work RAM - AM_RANGE(0x200000, 0x20ffff) AM_READWRITE(SMH_RAM,calc3_mcu_ram_w) AM_BASE(&kaneko16_mcu_ram) // Shared With MCU + AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(calc3_mcu_ram_w) AM_BASE(&kaneko16_mcu_ram) // Shared With MCU AM_RANGE(0x280000, 0x280001) AM_WRITE(calc3_mcu_com0_w) AM_RANGE(0x290000, 0x290001) AM_WRITE(calc3_mcu_com1_w) AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE(calc3_mcu_com2_w) @@ -836,7 +836,7 @@ static ADDRESS_MAP_START( shogwarr, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x480000, 0x480001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff) AM_RANGE(0x580000, 0x581fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0 - AM_RANGE(0x601000, 0x601fff) AM_READWRITE(SMH_RAM,kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) + AM_RANGE(0x601000, 0x601fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) AM_RANGE(0x602000, 0x602fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) AM_RANGE(0x603000, 0x603fff) AM_RAM AM_BASE(&kaneko16_vscroll_0) AM_RANGE(0x800000, 0x80000f) AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // Layers 0 Regs diff --git a/src/mame/drivers/kickgoal.c b/src/mame/drivers/kickgoal.c index 324095ceeae..c66317197f9 100644 --- a/src/mame/drivers/kickgoal.c +++ b/src/mame/drivers/kickgoal.c @@ -510,9 +510,9 @@ static ADDRESS_MAP_START( kickgoal_program_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xa00000, 0xa03fff) AM_RAM_WRITE(kickgoal_fgram_w) AM_BASE(&kickgoal_fgram) /* FG Layer */ AM_RANGE(0xa04000, 0xa07fff) AM_RAM_WRITE(kickgoal_bgram_w) AM_BASE(&kickgoal_bgram) /* Higher BG Layer */ AM_RANGE(0xa08000, 0xa0bfff) AM_RAM_WRITE(kickgoal_bg2ram_w) AM_BASE(&kickgoal_bg2ram) /* Lower BG Layer */ - AM_RANGE(0xa0c000, 0xa0ffff) AM_RAM_WRITE(SMH_RAM) // more tilemap? - AM_RANGE(0xa10000, 0xa1000f) AM_WRITE(SMH_RAM) AM_BASE(&kickgoal_scrram) /* Scroll Registers */ - AM_RANGE(0xb00000, 0xb007ff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */ + AM_RANGE(0xa0c000, 0xa0ffff) AM_RAM // more tilemap? + AM_RANGE(0xa10000, 0xa1000f) AM_WRITEONLY AM_BASE(&kickgoal_scrram) /* Scroll Registers */ + AM_RANGE(0xb00000, 0xb007ff) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */ AM_RANGE(0xc00000, 0xc007ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ // actionhw reads this AM_RANGE(0xff0000, 0xffffff) AM_RAM ADDRESS_MAP_END diff --git a/src/mame/drivers/konamigv.c b/src/mame/drivers/konamigv.c index f6b1dc05c91..3f19ec13e24 100644 --- a/src/mame/drivers/konamigv.c +++ b/src/mame/drivers/konamigv.c @@ -636,7 +636,7 @@ static DRIVER_INIT( btchamp ) intelflash_init( machine, 0, FLASH_SHARP_LH28F400, NULL ); memory_install_readwrite32_handler( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f680080, 0x1f68008f, 0, 0, btc_trackball_r, btc_trackball_w ); - memory_install_write32_handler ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f6800e0, 0x1f6800e3, 0, 0, (write32_space_func)SMH_NOP ); + memory_nop_write ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f6800e0, 0x1f6800e3, 0, 0 ); memory_install_readwrite32_handler( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f380000, 0x1f3fffff, 0, 0, btcflash_r, btcflash_w ); DRIVER_INIT_CALL(konamigv); diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c index 3c154cf8e63..502a6e37a46 100644 --- a/src/mame/drivers/konamigx.c +++ b/src/mame/drivers/konamigx.c @@ -1342,7 +1342,7 @@ static WRITE16_HANDLER(tms57002_control_word_w) /* 68000 memory handling */ static ADDRESS_MAP_START( gxsndmap, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM) + AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_BASE(&gx_sndram) AM_RANGE(0x200000, 0x2004ff) AM_READWRITE(dual539_r, dual539_w) AM_RANGE(0x300000, 0x300001) AM_READWRITE(tms57002_data_word_r, tms57002_data_word_w) diff --git a/src/mame/drivers/kyugo.c b/src/mame/drivers/kyugo.c index 11de6aa0db3..127ed82f6b4 100644 --- a/src/mame/drivers/kyugo.c +++ b/src/mame/drivers/kyugo.c @@ -64,7 +64,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(kyugo_bgvideoram_w) AM_BASE(&kyugo_bgvideoram) AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(kyugo_bgattribram_w) AM_BASE(&kyugo_bgattribram) AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(kyugo_fgvideoram_w) AM_BASE(&kyugo_fgvideoram) - AM_RANGE(0x9800, 0x9fff) AM_READWRITE(kyugo_spriteram_2_r, SMH_RAM) AM_BASE(&kyugo_spriteram_2) + AM_RANGE(0x9800, 0x9fff) AM_RAM_READ(kyugo_spriteram_2_r) AM_BASE(&kyugo_spriteram_2) AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE(&kyugo_spriteram_1) AM_RANGE(0xa800, 0xa800) AM_WRITE(kyugo_scroll_x_lo_w) AM_RANGE(0xb000, 0xb000) AM_WRITE(kyugo_gfxctrl_w) diff --git a/src/mame/drivers/ladybug.c b/src/mame/drivers/ladybug.c index dac75e3a893..21c9d5b029c 100644 --- a/src/mame/drivers/ladybug.c +++ b/src/mame/drivers/ladybug.c @@ -90,7 +90,7 @@ WRITE8_HANDLER( sraider_misc_w ); static ADDRESS_MAP_START( ladybug_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x6000, 0x6fff) AM_RAM - AM_RANGE(0x7000, 0x73ff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) + AM_RANGE(0x7000, 0x73ff) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x8000, 0x8fff) AM_READNOP AM_RANGE(0x9000, 0x9000) AM_READ_PORT("IN0") AM_RANGE(0x9001, 0x9001) AM_READ_PORT("IN1") @@ -108,7 +108,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( sraider_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x6000, 0x6fff) AM_RAM - AM_RANGE(0x7000, 0x73ff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) + AM_RANGE(0x7000, 0x73ff) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x8005, 0x8005) AM_READ(sraider_8005_r) // protection check? AM_RANGE(0x8006, 0x8006) AM_WRITE(sraider_sound_low_w) AM_RANGE(0x8007, 0x8007) AM_WRITE(sraider_sound_high_w) @@ -128,7 +128,7 @@ static ADDRESS_MAP_START( sraider_cpu2_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8000, 0x8000) AM_READ(sraider_sound_low_r) AM_RANGE(0xa000, 0xa000) AM_READ(sraider_sound_high_r) AM_RANGE(0xc000, 0xc000) AM_READNOP //some kind of sync - AM_RANGE(0xe000, 0xe0ff) AM_WRITE(SMH_RAM) AM_BASE(&sraider_grid_data) + AM_RANGE(0xe000, 0xe0ff) AM_WRITEONLY AM_BASE(&sraider_grid_data) AM_RANGE(0xe800, 0xe800) AM_WRITE(sraider_io_w) ADDRESS_MAP_END diff --git a/src/mame/drivers/lasso.c b/src/mame/drivers/lasso.c index efa0952518b..f92bb685b23 100644 --- a/src/mame/drivers/lasso.c +++ b/src/mame/drivers/lasso.c @@ -85,7 +85,7 @@ static ADDRESS_MAP_START( lasso_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0c00, 0x0c7f) AM_RAM AM_BASE(&lasso_spriteram) AM_SIZE(&lasso_spriteram_size) AM_RANGE(0x1000, 0x17ff) AM_RAM AM_SHARE(1) AM_RANGE(0x1800, 0x1800) AM_WRITE(sound_command_w) - AM_RANGE(0x1801, 0x1801) AM_WRITE(SMH_RAM) AM_BASE(&lasso_back_color) + AM_RANGE(0x1801, 0x1801) AM_WRITEONLY AM_BASE(&lasso_back_color) AM_RANGE(0x1802, 0x1802) AM_WRITE(lasso_video_control_w) AM_RANGE(0x1804, 0x1804) AM_READ_PORT("1804") AM_RANGE(0x1805, 0x1805) AM_READ_PORT("1805") @@ -98,7 +98,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( lasso_audio_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x01ff) AM_RAM AM_RANGE(0x5000, 0x7fff) AM_ROM - AM_RANGE(0xb000, 0xb000) AM_WRITE(SMH_RAM) AM_BASE(&lasso_chip_data) + AM_RANGE(0xb000, 0xb000) AM_WRITEONLY AM_BASE(&lasso_chip_data) AM_RANGE(0xb001, 0xb001) AM_WRITE(sound_select_w) AM_RANGE(0xb004, 0xb004) AM_READ(sound_status_r) AM_RANGE(0xb005, 0xb005) AM_READ(soundlatch_r) @@ -121,7 +121,7 @@ static ADDRESS_MAP_START( chameleo_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1000, 0x107f) AM_RAM AM_BASE(&lasso_spriteram) AM_SIZE(&lasso_spriteram_size) AM_RANGE(0x1080, 0x10ff) AM_RAM AM_RANGE(0x1800, 0x1800) AM_WRITE(sound_command_w) - AM_RANGE(0x1801, 0x1801) AM_WRITE(SMH_RAM) AM_BASE(&lasso_back_color) + AM_RANGE(0x1801, 0x1801) AM_WRITEONLY AM_BASE(&lasso_back_color) AM_RANGE(0x1802, 0x1802) AM_WRITE(lasso_video_control_w) AM_RANGE(0x1804, 0x1804) AM_READ_PORT("1804") AM_RANGE(0x1805, 0x1805) AM_READ_PORT("1805") @@ -136,7 +136,7 @@ static ADDRESS_MAP_START( chameleo_audio_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x01ff) AM_RAM AM_RANGE(0x1000, 0x1fff) AM_ROM AM_RANGE(0x6000, 0x7fff) AM_ROM - AM_RANGE(0xb000, 0xb000) AM_WRITE(SMH_RAM) AM_BASE(&lasso_chip_data) + AM_RANGE(0xb000, 0xb000) AM_WRITEONLY AM_BASE(&lasso_chip_data) AM_RANGE(0xb001, 0xb001) AM_WRITE(sound_select_w) AM_RANGE(0xb004, 0xb004) AM_READ(sound_status_r) AM_RANGE(0xb005, 0xb005) AM_READ(soundlatch_r) @@ -150,14 +150,14 @@ static ADDRESS_MAP_START( wwjgtin_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(lasso_colorram_w) AM_BASE(&lasso_colorram) AM_RANGE(0x1000, 0x10ff) AM_RAM AM_BASE(&lasso_spriteram) AM_SIZE(&lasso_spriteram_size) AM_RANGE(0x1800, 0x1800) AM_WRITE(sound_command_w) - AM_RANGE(0x1801, 0x1801) AM_WRITE(SMH_RAM) AM_BASE(&lasso_back_color) + AM_RANGE(0x1801, 0x1801) AM_WRITEONLY AM_BASE(&lasso_back_color) AM_RANGE(0x1802, 0x1802) AM_WRITE(wwjgtin_video_control_w ) AM_RANGE(0x1804, 0x1804) AM_READ_PORT("1804") AM_RANGE(0x1805, 0x1805) AM_READ_PORT("1805") AM_RANGE(0x1806, 0x1806) AM_READ_PORT("1806") AM_RANGE(0x1807, 0x1807) AM_READ_PORT("1807") - AM_RANGE(0x1c00, 0x1c03) AM_WRITE(SMH_RAM) AM_BASE(&wwjgtin_last_colors) - AM_RANGE(0x1c04, 0x1c07) AM_WRITE(SMH_RAM) AM_BASE(&wwjgtin_track_scroll) + AM_RANGE(0x1c00, 0x1c03) AM_WRITEONLY AM_BASE(&wwjgtin_last_colors) + AM_RANGE(0x1c04, 0x1c07) AM_WRITEONLY AM_BASE(&wwjgtin_track_scroll) AM_RANGE(0x4000, 0xbfff) AM_ROM AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("maincpu", 0x8000) ADDRESS_MAP_END @@ -166,7 +166,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( wwjgtin_audio_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x01ff) AM_RAM AM_RANGE(0x4000, 0x7fff) AM_MIRROR(0x8000) AM_ROM - AM_RANGE(0xb000, 0xb000) AM_WRITE(SMH_RAM) AM_BASE(&lasso_chip_data) + AM_RANGE(0xb000, 0xb000) AM_WRITEONLY AM_BASE(&lasso_chip_data) AM_RANGE(0xb001, 0xb001) AM_WRITE(sound_select_w) AM_RANGE(0xb003, 0xb003) AM_DEVWRITE("dac", dac_w) AM_RANGE(0xb004, 0xb004) AM_READ(sound_status_r) @@ -203,7 +203,7 @@ static ADDRESS_MAP_START( pinbo_audio_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x02, 0x02) AM_DEVREAD("ay1", ay8910_r) AM_RANGE(0x04, 0x05) AM_DEVWRITE("ay2", ay8910_address_data_w) AM_RANGE(0x06, 0x06) AM_DEVREAD("ay2", ay8910_r) - AM_RANGE(0x08, 0x08) AM_READWRITE(soundlatch_r, SMH_NOP) /* ??? */ + AM_RANGE(0x08, 0x08) AM_READ(soundlatch_r) AM_WRITENOP /* ??? */ AM_RANGE(0x14, 0x14) AM_WRITENOP /* ??? */ ADDRESS_MAP_END diff --git a/src/mame/drivers/lastfght.c b/src/mame/drivers/lastfght.c index 888d4714811..ccec91d1743 100644 --- a/src/mame/drivers/lastfght.c +++ b/src/mame/drivers/lastfght.c @@ -358,7 +358,7 @@ static ADDRESS_MAP_START( lastfght_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE( 0x600002, 0x600003 ) AM_READWRITE( lastfght_sound_r, lastfght_sound_w ) AM_RANGE( 0x600006, 0x600007 ) AM_WRITE( lastfght_blit_w ) AM_RANGE( 0x600008, 0x600009 ) AM_WRITE( colordac_w ) - AM_RANGE( 0x60000a, 0x60000b ) AM_WRITE( SMH_NOP ) // colordac? + AM_RANGE( 0x60000a, 0x60000b ) AM_WRITENOP // colordac? AM_RANGE( 0x800000, 0x800001 ) AM_WRITE( lastfght_sx_w ) AM_RANGE( 0x800002, 0x800003 ) AM_WRITE( lastfght_sd_w ) diff --git a/src/mame/drivers/legionna.c b/src/mame/drivers/legionna.c index 7f26b437955..68ce03fbdbc 100644 --- a/src/mame/drivers/legionna.c +++ b/src/mame/drivers/legionna.c @@ -172,7 +172,7 @@ static ADDRESS_MAP_START( cupsoc_mem, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_RANGE(0x100000, 0x1003ff) AM_RAM AM_RANGE(0x100400, 0x1007ff) AM_READWRITE(cupsoc_mcu_r,cupsoc_mcu_w) AM_BASE(&cop_mcu_ram) - AM_RANGE(0x100800, 0x100fff) AM_READWRITE(SMH_RAM,legionna_background_w) AM_BASE(&legionna_back_data) + AM_RANGE(0x100800, 0x100fff) AM_RAM_WRITE(legionna_background_w) AM_BASE(&legionna_back_data) AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(legionna_foreground_w) AM_BASE(&legionna_fore_data) AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE(legionna_midground_w) AM_BASE(&legionna_mid_data) AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(legionna_text_w) AM_BASE(&legionna_textram) diff --git a/src/mame/drivers/liberatr.c b/src/mame/drivers/liberatr.c index b03b60fa550..30a0309d490 100644 --- a/src/mame/drivers/liberatr.c +++ b/src/mame/drivers/liberatr.c @@ -216,16 +216,16 @@ static ADDRESS_MAP_START( liberatr_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4000, 0x403f) AM_DEVREAD("earom", atari_vg_earom_r) AM_RANGE(0x5000, 0x5000) AM_READ(liberatr_input_port_0_r) AM_RANGE(0x5001, 0x5001) AM_READ_PORT("IN1") - AM_RANGE(0x6000, 0x600f) AM_WRITE(SMH_RAM) AM_BASE(&liberatr_base_ram) - AM_RANGE(0x6200, 0x621f) AM_WRITE(SMH_RAM) AM_BASE(&liberatr_colorram) + AM_RANGE(0x6000, 0x600f) AM_WRITEONLY AM_BASE(&liberatr_base_ram) + AM_RANGE(0x6200, 0x621f) AM_WRITEONLY AM_BASE(&liberatr_colorram) AM_RANGE(0x6400, 0x6400) AM_WRITENOP AM_RANGE(0x6600, 0x6600) AM_DEVWRITE("earom", atari_vg_earom_ctrl_w) - AM_RANGE(0x6800, 0x6800) AM_WRITE(SMH_RAM) AM_BASE(&liberatr_planet_frame) + AM_RANGE(0x6800, 0x6800) AM_WRITEONLY AM_BASE(&liberatr_planet_frame) AM_RANGE(0x6a00, 0x6a00) AM_WRITE(watchdog_reset_w) AM_RANGE(0x6c00, 0x6c01) AM_WRITE(liberatr_led_w) AM_RANGE(0x6c04, 0x6c04) AM_WRITE(liberatr_trackball_reset_w) AM_RANGE(0x6c05, 0x6c06) AM_WRITE(liberatr_coin_counter_w) - AM_RANGE(0x6c07, 0x6c07) AM_WRITE(SMH_RAM) AM_BASE(&liberatr_planet_select) + AM_RANGE(0x6c07, 0x6c07) AM_WRITEONLY AM_BASE(&liberatr_planet_select) AM_RANGE(0x6e00, 0x6e3f) AM_DEVWRITE("earom", atari_vg_earom_w) AM_RANGE(0x7000, 0x701f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w) AM_RANGE(0x7800, 0x781f) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w) @@ -248,17 +248,17 @@ static ADDRESS_MAP_START( liberat2_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(liberatr_bitmap_w) AM_BASE(&liberatr_bitmapram) /* overlapping for my convenience */ AM_RANGE(0x4000, 0x4000) AM_READ(liberatr_input_port_0_r) AM_RANGE(0x4001, 0x4001) AM_READ_PORT("IN1") - AM_RANGE(0x4000, 0x400f) AM_WRITE(SMH_RAM) AM_BASE(&liberatr_base_ram) - AM_RANGE(0x4200, 0x421f) AM_WRITE(SMH_RAM) AM_BASE(&liberatr_colorram) + AM_RANGE(0x4000, 0x400f) AM_WRITEONLY AM_BASE(&liberatr_base_ram) + AM_RANGE(0x4200, 0x421f) AM_WRITEONLY AM_BASE(&liberatr_colorram) AM_RANGE(0x4400, 0x4400) AM_WRITENOP AM_RANGE(0x4600, 0x4600) AM_DEVWRITE("earom", atari_vg_earom_ctrl_w) AM_RANGE(0x4800, 0x483f) AM_DEVREAD("earom", atari_vg_earom_r) - AM_RANGE(0x4800, 0x4800) AM_WRITE(SMH_RAM) AM_BASE(&liberatr_planet_frame) + AM_RANGE(0x4800, 0x4800) AM_WRITEONLY AM_BASE(&liberatr_planet_frame) AM_RANGE(0x4a00, 0x4a00) AM_WRITE(watchdog_reset_w) AM_RANGE(0x4c00, 0x4c01) AM_WRITE(liberatr_led_w) AM_RANGE(0x4c04, 0x4c04) AM_WRITE(liberatr_trackball_reset_w) AM_RANGE(0x4c05, 0x4c06) AM_WRITE(liberatr_coin_counter_w) - AM_RANGE(0x4c07, 0x4c07) AM_WRITE(SMH_RAM) AM_BASE(&liberatr_planet_select) + AM_RANGE(0x4c07, 0x4c07) AM_WRITEONLY AM_BASE(&liberatr_planet_select) AM_RANGE(0x4e00, 0x4e3f) AM_DEVWRITE("earom", atari_vg_earom_w) AM_RANGE(0x5000, 0x501f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w) AM_RANGE(0x5800, 0x581f) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w) diff --git a/src/mame/drivers/lockon.c b/src/mame/drivers/lockon.c index 80dd56bc317..8b2d6a928c0 100644 --- a/src/mame/drivers/lockon.c +++ b/src/mame/drivers/lockon.c @@ -164,7 +164,7 @@ static ADDRESS_MAP_START( main_v30, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x0c000, 0x0cfff) AM_WRITE(lockon_fb_clut_w) AM_RANGE(0x0e000, 0x0e001) AM_WRITE(inten_w) AM_RANGE(0x0f000, 0x0f001) AM_WRITE(emres_w) - AM_RANGE(0x10000, 0x1ffff) AM_READWRITE(SMH_NOP, tst_w) + AM_RANGE(0x10000, 0x1ffff) AM_READNOP AM_WRITE(tst_w) AM_RANGE(0x20000, 0x2ffff) AM_READWRITE(main_z80_r, main_z80_w) AM_RANGE(0x30000, 0x3ffff) AM_READWRITE(main_gnd_r, main_gnd_w) AM_RANGE(0x40000, 0x4ffff) AM_READWRITE(main_obj_r, main_obj_w) @@ -201,7 +201,7 @@ static ADDRESS_MAP_START( sound_prg, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x0000, 0x6fff) AM_ROM AM_RANGE(0x7000, 0x7000) AM_WRITE(sound_vol) - AM_RANGE(0x7400, 0x7403) AM_READWRITE(adc_r, SMH_NOP) + AM_RANGE(0x7400, 0x7403) AM_READ(adc_r) AM_WRITENOP AM_RANGE(0x7800, 0x7fff) AM_MIRROR(0x8000) AM_RAM ADDRESS_MAP_END diff --git a/src/mame/drivers/looping.c b/src/mame/drivers/looping.c index cfb9b17be29..6c64b1667c3 100644 --- a/src/mame/drivers/looping.c +++ b/src/mame/drivers/looping.c @@ -514,8 +514,8 @@ static ADDRESS_MAP_START( looping_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x3c00, 0x3c00) AM_MIRROR(0x00f4) AM_DEVREADWRITE("aysnd", ay8910_r, ay8910_address_w) AM_RANGE(0x3c02, 0x3c02) AM_MIRROR(0x00f4) AM_READNOP AM_DEVWRITE("aysnd", ay8910_data_w) AM_RANGE(0x3c03, 0x3c03) AM_MIRROR(0x00f6) AM_NOP - AM_RANGE(0x3e00, 0x3e00) AM_MIRROR(0x00f4) AM_DEVREADWRITE("tms", SMH_NOP, tms5220_data_w) - AM_RANGE(0x3e02, 0x3e02) AM_MIRROR(0x00f4) AM_DEVREADWRITE("tms", tms5220_status_r, SMH_NOP) + AM_RANGE(0x3e00, 0x3e00) AM_MIRROR(0x00f4) AM_READNOP AM_DEVWRITE("tms", tms5220_data_w) + AM_RANGE(0x3e02, 0x3e02) AM_MIRROR(0x00f4) AM_DEVREAD("tms", tms5220_status_r) AM_WRITENOP AM_RANGE(0x3e03, 0x3e03) AM_MIRROR(0x00f6) AM_NOP ADDRESS_MAP_END diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c index 5b43a293d96..402d55fee81 100644 --- a/src/mame/drivers/lordgun.c +++ b/src/mame/drivers/lordgun.c @@ -155,14 +155,14 @@ static ADDRESS_MAP_START( lordgun_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x31c000, 0x31c7ff) AM_RAM AM_BASE(&lordgun_scrollram) // LINE AM_RANGE(0x400000, 0x4007ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // ANIMATOR AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0x502000, 0x502001) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_0) - AM_RANGE(0x502200, 0x502201) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_1) - AM_RANGE(0x502400, 0x502401) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_2) - AM_RANGE(0x502600, 0x502601) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_3) - AM_RANGE(0x502800, 0x502801) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_y_0) - AM_RANGE(0x502a00, 0x502a01) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_y_1) - AM_RANGE(0x502c00, 0x502c01) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_y_2) - AM_RANGE(0x502e00, 0x502e01) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_y_3) + AM_RANGE(0x502000, 0x502001) AM_WRITEONLY AM_BASE(&lordgun_scroll_x_0) + AM_RANGE(0x502200, 0x502201) AM_WRITEONLY AM_BASE(&lordgun_scroll_x_1) + AM_RANGE(0x502400, 0x502401) AM_WRITEONLY AM_BASE(&lordgun_scroll_x_2) + AM_RANGE(0x502600, 0x502601) AM_WRITEONLY AM_BASE(&lordgun_scroll_x_3) + AM_RANGE(0x502800, 0x502801) AM_WRITEONLY AM_BASE(&lordgun_scroll_y_0) + AM_RANGE(0x502a00, 0x502a01) AM_WRITEONLY AM_BASE(&lordgun_scroll_y_1) + AM_RANGE(0x502c00, 0x502c01) AM_WRITEONLY AM_BASE(&lordgun_scroll_y_2) + AM_RANGE(0x502e00, 0x502e01) AM_WRITEONLY AM_BASE(&lordgun_scroll_y_3) AM_RANGE(0x503000, 0x503001) AM_WRITE(lordgun_priority_w) AM_RANGE(0x503800, 0x503801) AM_READ(lordgun_gun_0_x_r) AM_RANGE(0x503a00, 0x503a01) AM_READ(lordgun_gun_1_x_r) @@ -186,14 +186,14 @@ static ADDRESS_MAP_START( hfh_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x31c000, 0x31c7ff) AM_RAM AM_BASE(&lordgun_scrollram) // LINE AM_RANGE(0x400000, 0x4007ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // ANIMATOR AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0x502000, 0x502001) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_0) - AM_RANGE(0x502200, 0x502201) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_1) - AM_RANGE(0x502400, 0x502401) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_2) - AM_RANGE(0x502600, 0x502601) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_3) - AM_RANGE(0x502800, 0x502801) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_y_0) - AM_RANGE(0x502a00, 0x502a01) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_y_1) - AM_RANGE(0x502c00, 0x502c01) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_y_2) - AM_RANGE(0x502e00, 0x502e01) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_y_3) + AM_RANGE(0x502000, 0x502001) AM_WRITEONLY AM_BASE(&lordgun_scroll_x_0) + AM_RANGE(0x502200, 0x502201) AM_WRITEONLY AM_BASE(&lordgun_scroll_x_1) + AM_RANGE(0x502400, 0x502401) AM_WRITEONLY AM_BASE(&lordgun_scroll_x_2) + AM_RANGE(0x502600, 0x502601) AM_WRITEONLY AM_BASE(&lordgun_scroll_x_3) + AM_RANGE(0x502800, 0x502801) AM_WRITEONLY AM_BASE(&lordgun_scroll_y_0) + AM_RANGE(0x502a00, 0x502a01) AM_WRITEONLY AM_BASE(&lordgun_scroll_y_1) + AM_RANGE(0x502c00, 0x502c01) AM_WRITEONLY AM_BASE(&lordgun_scroll_y_2) + AM_RANGE(0x502e00, 0x502e01) AM_WRITEONLY AM_BASE(&lordgun_scroll_y_3) AM_RANGE(0x503000, 0x503001) AM_WRITE(lordgun_priority_w) AM_RANGE(0x504000, 0x504001) AM_WRITE(lordgun_soundlatch_w) AM_RANGE(0x506000, 0x506007) AM_DEVREADWRITE("ppi8255_0", lordgun_ppi8255_r, lordgun_ppi8255_w) @@ -225,7 +225,7 @@ static ADDRESS_MAP_START( lordgun_soundio_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x2000, 0x2000) AM_DEVREADWRITE( "oki", okim6295_r, okim6295_w ) AM_RANGE(0x3000, 0x3000) AM_READ( soundlatch2_r ) AM_RANGE(0x4000, 0x4000) AM_READ( soundlatch_r ) - AM_RANGE(0x5000, 0x5000) AM_READ( SMH_NOP ) + AM_RANGE(0x5000, 0x5000) AM_READNOP AM_RANGE(0x6000, 0x6000) AM_DEVWRITE( "oki", lordgun_okibank_w ) ADDRESS_MAP_END @@ -233,7 +233,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( hfh_soundio_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x3000, 0x3000) AM_READ( soundlatch2_r ) AM_RANGE(0x4000, 0x4000) AM_READ( soundlatch_r ) - AM_RANGE(0x5000, 0x5000) AM_READ( SMH_NOP ) + AM_RANGE(0x5000, 0x5000) AM_READNOP AM_RANGE(0x7000, 0x7001) AM_DEVWRITE( "ymsnd", ym3812_w ) AM_RANGE(0x7400, 0x7400) AM_DEVREADWRITE( "oki", okim6295_r, okim6295_w ) AM_RANGE(0x7800, 0x7800) AM_DEVREADWRITE( "oki2", okim6295_r, okim6295_w ) diff --git a/src/mame/drivers/m10.c b/src/mame/drivers/m10.c index b44920b8498..36138ec1e0e 100644 --- a/src/mame/drivers/m10.c +++ b/src/mame/drivers/m10.c @@ -559,7 +559,7 @@ static INTERRUPT_GEN( m15_interrupt ) static ADDRESS_MAP_START( m10_main, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x02ff) AM_RAM AM_BASE_MEMBER(m10_state, memory) /* scratch ram */ - AM_RANGE(0x1000, 0x2fff) AM_READ(SMH_ROM) AM_BASE_MEMBER(m10_state, rom) + AM_RANGE(0x1000, 0x2fff) AM_ROM AM_BASE_MEMBER(m10_state, rom) AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_SIZE_MEMBER(m10_state, videoram, videoram_size) AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(m10_colorram_w) AM_BASE_MEMBER(m10_state, colorram) /* foreground colour */ AM_RANGE(0x5000, 0x53ff) AM_RAM_WRITE(m10_chargen_w) AM_BASE_MEMBER(m10_state, chargen) /* background ????? */ @@ -568,12 +568,12 @@ static ADDRESS_MAP_START( m10_main, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xa400, 0xa400) AM_WRITE(m10_ctrl_w) /* line at bottom of screen?, sound, flip screen */ AM_RANGE(0xa500, 0xa500) AM_WRITE(m10_a500_w) /* ??? */ AM_RANGE(0xa700, 0xa700) AM_READ(m10_a700_r) - AM_RANGE(0xfc00, 0xffff) AM_READ(SMH_ROM) /* for the reset / interrupt vectors */ + AM_RANGE(0xfc00, 0xffff) AM_ROM /* for the reset / interrupt vectors */ ADDRESS_MAP_END static ADDRESS_MAP_START( m11_main, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x02ff) AM_RAM AM_BASE_MEMBER(m10_state, memory) /* scratch ram */ - AM_RANGE(0x1000, 0x2fff) AM_READ(SMH_ROM) AM_BASE_MEMBER(m10_state, rom) + AM_RANGE(0x1000, 0x2fff) AM_ROM AM_BASE_MEMBER(m10_state, rom) AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_SIZE_MEMBER(m10_state, videoram, videoram_size) AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(m10_colorram_w) AM_BASE_MEMBER(m10_state, colorram) /* foreground colour */ AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE_MEMBER(m10_state, chargen) /* background ????? */ @@ -582,12 +582,12 @@ static ADDRESS_MAP_START( m11_main, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xa300, 0xa300) AM_READ_PORT("INPUTS") AM_RANGE(0xa400, 0xa400) AM_WRITE(m11_ctrl_w) /* line at bottom of screen?, sound, flip screen */ AM_RANGE(0xa700, 0xa700) AM_READ(m11_a700_r) - AM_RANGE(0xfc00, 0xffff) AM_READ(SMH_ROM) /* for the reset / interrupt vectors */ + AM_RANGE(0xfc00, 0xffff) AM_ROM /* for the reset / interrupt vectors */ ADDRESS_MAP_END static ADDRESS_MAP_START( m15_main, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x02ff) AM_RAM AM_BASE_MEMBER(m10_state, memory) /* scratch ram */ - AM_RANGE(0x1000, 0x33ff) AM_READ(SMH_ROM) AM_BASE_MEMBER(m10_state, rom) + AM_RANGE(0x1000, 0x33ff) AM_ROM AM_BASE_MEMBER(m10_state, rom) AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_SIZE_MEMBER(m10_state, videoram, videoram_size) AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(m10_colorram_w) AM_BASE_MEMBER(m10_state, colorram) /* foreground colour */ AM_RANGE(0x5000, 0x57ff) AM_RAM_WRITE(m15_chargen_w) AM_BASE_MEMBER(m10_state, chargen) /* background ????? */ @@ -596,7 +596,7 @@ static ADDRESS_MAP_START( m15_main, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xa200, 0xa200) AM_READ_PORT("DSW") AM_RANGE(0xa300, 0xa300) AM_READ_PORT("P1") AM_RANGE(0xa400, 0xa400) AM_WRITE(m15_ctrl_w) /* sound, flip screen */ - AM_RANGE(0xfc00, 0xffff) AM_READ(SMH_ROM) /* for the reset / interrupt vectors */ + AM_RANGE(0xfc00, 0xffff) AM_ROM /* for the reset / interrupt vectors */ ADDRESS_MAP_END /************************************* diff --git a/src/mame/drivers/m52.c b/src/mame/drivers/m52.c index 4a167299f74..b18169c54a5 100644 --- a/src/mame/drivers/m52.c +++ b/src/mame/drivers/m52.c @@ -62,7 +62,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(m52_videoram_w) AM_BASE_MEMBER(irem_z80_state, videoram) AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(m52_colorram_w) AM_BASE_MEMBER(irem_z80_state, colorram) AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x07ff) AM_READ(m52_protection_r) - AM_RANGE(0xc800, 0xcbff) AM_MIRROR(0x0400) AM_WRITE(SMH_RAM) AM_BASE_SIZE_MEMBER(irem_z80_state, spriteram, spriteram_size) + AM_RANGE(0xc800, 0xcbff) AM_MIRROR(0x0400) AM_WRITEONLY AM_BASE_SIZE_MEMBER(irem_z80_state, spriteram, spriteram_size) AM_RANGE(0xd000, 0xd000) AM_MIRROR(0x07fc) AM_WRITE(irem_sound_cmd_w) AM_RANGE(0xd001, 0xd001) AM_MIRROR(0x07fc) AM_WRITE(m52_flipscreen_w) /* + coin counters */ AM_RANGE(0xd000, 0xd000) AM_MIRROR(0x07f8) AM_READ_PORT("IN0") @@ -78,7 +78,7 @@ static ADDRESS_MAP_START( alpha1v_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x6fff) AM_ROM AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(m52_videoram_w) AM_BASE_MEMBER(irem_z80_state, videoram) AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(m52_colorram_w) AM_BASE_MEMBER(irem_z80_state, colorram) - AM_RANGE(0xc800, 0xc9ff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_MEMBER(irem_z80_state, spriteram, spriteram_size) AM_SHARE(1) // bigger or mirrored? + AM_RANGE(0xc800, 0xc9ff) AM_WRITEONLY AM_BASE_SIZE_MEMBER(irem_z80_state, spriteram, spriteram_size) AM_SHARE(1) // bigger or mirrored? AM_RANGE(0xd000, 0xd000) AM_READ_PORT("IN0") AM_WRITE(irem_sound_cmd_w) AM_RANGE(0xd001, 0xd001) AM_READ_PORT("IN1") AM_WRITE(alpha1v_flipscreen_w) AM_RANGE(0xd002, 0xd002) AM_READ_PORT("IN2") diff --git a/src/mame/drivers/m57.c b/src/mame/drivers/m57.c index 8f134a25414..51439719811 100644 --- a/src/mame/drivers/m57.c +++ b/src/mame/drivers/m57.c @@ -67,7 +67,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(m57_videoram_w) AM_BASE_MEMBER(irem_z80_state, videoram) AM_RANGE(0x9000, 0x91ff) AM_RAM AM_BASE_MEMBER(irem_z80_state, scrollram) - AM_RANGE(0xc820, 0xc8ff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_MEMBER(irem_z80_state, spriteram, spriteram_size) + AM_RANGE(0xc820, 0xc8ff) AM_WRITEONLY AM_BASE_SIZE_MEMBER(irem_z80_state, spriteram, spriteram_size) AM_RANGE(0xd000, 0xd000) AM_WRITE(irem_sound_cmd_w) AM_RANGE(0xd001, 0xd001) AM_WRITE(m57_flipscreen_w) /* + coin counters */ AM_RANGE(0xd000, 0xd000) AM_READ_PORT("IN0") diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c index 9c3486accfd..5b7ca38c995 100644 --- a/src/mame/drivers/m72.c +++ b/src/mame/drivers/m72.c @@ -853,7 +853,7 @@ CPU1_MEMORY( dbreed72, 0x80000, 0x90000 ) static ADDRESS_MAP_START( dbreed_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x00000, 0x7ffff) AM_ROM AM_RANGE(0x88000, 0x8bfff) AM_RAM /* work RAM */ - AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITE(SMH_RAM) /* leftover from protection?? */ + AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */ AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2) @@ -886,7 +886,7 @@ static ADDRESS_MAP_START( majtitle_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xd0000, 0xd3fff) AM_RAM /* work RAM */ AM_RANGE(0xe0000, 0xe0001) AM_WRITE(m72_irq_line_w) - AM_RANGE(0xe4000, 0xe4001) AM_WRITE(SMH_RAM) /* playfield enable? 1 during screen transitions, 0 otherwise */ + AM_RANGE(0xe4000, 0xe4001) AM_WRITEONLY /* playfield enable? 1 during screen transitions, 0 otherwise */ AM_RANGE(0xec000, 0xec001) AM_WRITE(m72_dmaon_w) AM_RANGE(0xffff0, 0xfffff) AM_ROM ADDRESS_MAP_END @@ -894,7 +894,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( hharry_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x00000, 0x7ffff) AM_ROM AM_RANGE(0xa0000, 0xa3fff) AM_RAM /* work RAM */ - AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITE(SMH_RAM) /* leftover from protection?? */ + AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */ AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2) @@ -909,7 +909,7 @@ static ADDRESS_MAP_START( hharryu_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2) AM_RANGE(0xb0000, 0xb0001) AM_WRITE(m72_irq_line_w) AM_RANGE(0xbc000, 0xbc001) AM_WRITE(m72_dmaon_w) - AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITE(SMH_RAM) /* leftover from protection?? */ + AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */ AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(m72_videoram1_w) AM_BASE(&m72_videoram1) AM_RANGE(0xd4000, 0xd7fff) AM_RAM_WRITE(m72_videoram2_w) AM_BASE(&m72_videoram2) @@ -1066,7 +1066,7 @@ static ADDRESS_MAP_START( mcu_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x0001, 0x0001) AM_WRITE(m72_mcu_high_w) AM_RANGE(0x0002, 0x0002) AM_READWRITE(m72_mcu_snd_r, m72_mcu_ack_w) /* shared at b0000 - b0fff on the main cpu */ - AM_RANGE(0xc000, 0xcfff) AM_RAM AM_READWRITE(m72_mcu_data_r,m72_mcu_data_w ) + AM_RANGE(0xc000, 0xcfff) AM_READWRITE(m72_mcu_data_r,m72_mcu_data_w ) /* Ports */ AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P3) AM_READWRITE(m72_mcu_port_r, m72_mcu_port_w) diff --git a/src/mame/drivers/m79amb.c b/src/mame/drivers/m79amb.c index a118da6f8f1..133733b1275 100644 --- a/src/mame/drivers/m79amb.c +++ b/src/mame/drivers/m79amb.c @@ -152,7 +152,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(ramtek_videoram_w) AM_BASE(&ramtek_videoram) AM_RANGE(0x6000, 0x63ff) AM_RAM /* ?? */ AM_RANGE(0x8000, 0x8000) AM_READ_PORT("8000") AM_DEVWRITE("discrete", m79amb_8000_w) - AM_RANGE(0x8001, 0x8001) AM_WRITE(SMH_RAM) AM_BASE(&mask) + AM_RANGE(0x8001, 0x8001) AM_WRITEONLY AM_BASE(&mask) AM_RANGE(0x8002, 0x8002) AM_READ_PORT("8002") AM_WRITE(m79amb_8002_w) AM_RANGE(0x8003, 0x8003) AM_DEVWRITE("discrete", m79amb_8003_w) AM_RANGE(0x8004, 0x8004) AM_READ(gray5bit_controller0_r) diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c index 07874e9995c..ce555531bb8 100644 --- a/src/mame/drivers/m92.c +++ b/src/mame/drivers/m92.c @@ -2145,7 +2145,7 @@ static DRIVER_INIT( lethalth ) m92_irq_vectorbase = 0x20; /* NOP out the bankswitcher */ - memory_install_write16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_IO), 0x20, 0x21, 0, 0, (write16_space_func)SMH_NOP); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_IO), 0x20, 0x21, 0, 0); } static DRIVER_INIT( nbbatman ) diff --git a/src/mame/drivers/madalien.c b/src/mame/drivers/madalien.c index 9165c178543..14447ff689a 100644 --- a/src/mame/drivers/madalien.c +++ b/src/mame/drivers/madalien.c @@ -89,16 +89,16 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x0ff0) AM_DEVWRITE("crtc", mc6845_address_w) AM_RANGE(0x8001, 0x8001) AM_MIRROR(0x0ff0) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w) - AM_RANGE(0x8004, 0x8004) AM_MIRROR(0x0ff0) AM_WRITE(SMH_RAM) AM_BASE(&madalien_video_control) + AM_RANGE(0x8004, 0x8004) AM_MIRROR(0x0ff0) AM_WRITEONLY AM_BASE(&madalien_video_control) AM_RANGE(0x8005, 0x8005) AM_MIRROR(0x0ff0) AM_WRITE(madalien_output_w) AM_RANGE(0x8006, 0x8006) AM_MIRROR(0x0ff0) AM_READWRITE(soundlatch2_r, madalien_sound_command_w) - AM_RANGE(0x8008, 0x8008) AM_MIRROR(0x07f0) AM_READWRITE(shift_r, SMH_RAM) AM_BASE(&shift_hi) - AM_RANGE(0x8009, 0x8009) AM_MIRROR(0x07f0) AM_READWRITE(shift_rev_r, SMH_RAM) AM_BASE(&shift_lo) - AM_RANGE(0x800b, 0x800b) AM_MIRROR(0x07f0) AM_WRITE(SMH_RAM) AM_BASE(&madalien_video_flags) - AM_RANGE(0x800c, 0x800c) AM_MIRROR(0x07f0) AM_WRITE(SMH_RAM) AM_BASE(&madalien_headlight_pos) - AM_RANGE(0x800d, 0x800d) AM_MIRROR(0x07f0) AM_WRITE(SMH_RAM) AM_BASE(&madalien_edge1_pos) - AM_RANGE(0x800e, 0x800e) AM_MIRROR(0x07f0) AM_WRITE(SMH_RAM) AM_BASE(&madalien_edge2_pos) - AM_RANGE(0x800f, 0x800f) AM_MIRROR(0x07f0) AM_WRITE(SMH_RAM) AM_BASE(&madalien_scroll) + AM_RANGE(0x8008, 0x8008) AM_MIRROR(0x07f0) AM_RAM_READ(shift_r) AM_BASE(&shift_hi) + AM_RANGE(0x8009, 0x8009) AM_MIRROR(0x07f0) AM_RAM_READ(shift_rev_r) AM_BASE(&shift_lo) + AM_RANGE(0x800b, 0x800b) AM_MIRROR(0x07f0) AM_WRITEONLY AM_BASE(&madalien_video_flags) + AM_RANGE(0x800c, 0x800c) AM_MIRROR(0x07f0) AM_WRITEONLY AM_BASE(&madalien_headlight_pos) + AM_RANGE(0x800d, 0x800d) AM_MIRROR(0x07f0) AM_WRITEONLY AM_BASE(&madalien_edge1_pos) + AM_RANGE(0x800e, 0x800e) AM_MIRROR(0x07f0) AM_WRITEONLY AM_BASE(&madalien_edge2_pos) + AM_RANGE(0x800f, 0x800f) AM_MIRROR(0x07f0) AM_WRITEONLY AM_BASE(&madalien_scroll) AM_RANGE(0x9000, 0x9000) AM_MIRROR(0x0ff0) AM_READ_PORT("PLAYER1") AM_RANGE(0x9001, 0x9001) AM_MIRROR(0x0ff0) AM_READ_PORT("DSW") diff --git a/src/mame/drivers/mainevt.c b/src/mame/drivers/mainevt.c index a4de976c1c9..601b6cfedcc 100644 --- a/src/mame/drivers/mainevt.c +++ b/src/mame/drivers/mainevt.c @@ -161,7 +161,7 @@ static ADDRESS_MAP_START( mainevt_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4000, 0x5dff) AM_RAM AM_RANGE(0x5e00, 0x5fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1") - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) + AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/mappy.c b/src/mame/drivers/mappy.c index c7ce1e94db9..23b8ae0f490 100644 --- a/src/mame/drivers/mappy.c +++ b/src/mame/drivers/mappy.c @@ -868,7 +868,7 @@ static ADDRESS_MAP_START( superpac_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(superpac_videoram_w) AM_BASE_MEMBER(mappy_state,videoram) /* video RAM */ AM_RANGE(0x0800, 0x1fff) AM_RAM AM_BASE_MEMBER(mappy_state,spriteram) /* work RAM with embedded sprite RAM */ AM_RANGE(0x2000, 0x2000) AM_READWRITE(superpac_flipscreen_r, superpac_flipscreen_w) - AM_RANGE(0x4000, 0x43ff) AM_RAM AM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) /* shared RAM with the sound CPU */ + AM_RANGE(0x4000, 0x43ff) AM_RAM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) /* shared RAM with the sound CPU */ AM_RANGE(0x4800, 0x4bff) AM_READWRITE(namcoio_r, namcoio_w) /* custom I/O chips interface */ AM_RANGE(0x5000, 0x500f) AM_WRITE(superpac_latch_w) /* various control bits */ AM_RANGE(0x8000, 0x8000) AM_WRITE(watchdog_reset_w) @@ -878,7 +878,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( phozon_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(superpac_videoram_w) AM_SHARE(2) AM_BASE_MEMBER(mappy_state,videoram) /* video RAM */ AM_RANGE(0x0800, 0x1fff) AM_RAM AM_BASE_MEMBER(mappy_state,spriteram) AM_SHARE(3) /* shared RAM with CPU #2/sprite RAM*/ - AM_RANGE(0x4000, 0x43ff) AM_RAM AM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) /* shared RAM with the sound CPU */ + AM_RANGE(0x4000, 0x43ff) AM_RAM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) /* shared RAM with the sound CPU */ AM_RANGE(0x4800, 0x4bff) AM_READWRITE(namcoio_r, namcoio_w) /* custom I/O chips interface */ AM_RANGE(0x5000, 0x500f) AM_WRITE(phozon_latch_w) /* various control bits */ AM_RANGE(0x7000, 0x7000) AM_WRITE(watchdog_reset_w) /* watchdog reset */ @@ -889,7 +889,7 @@ static ADDRESS_MAP_START( mappy_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x0fff) AM_RAM_WRITE(mappy_videoram_w) AM_BASE_MEMBER(mappy_state,videoram) /* video RAM */ AM_RANGE(0x1000, 0x27ff) AM_RAM AM_BASE_MEMBER(mappy_state,spriteram) /* work RAM with embedded sprite RAM */ AM_RANGE(0x3800, 0x3fff) AM_WRITE(mappy_scroll_w) /* scroll */ - AM_RANGE(0x4000, 0x43ff) AM_RAM AM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) /* shared RAM with the sound CPU */ + AM_RANGE(0x4000, 0x43ff) AM_RAM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) /* shared RAM with the sound CPU */ AM_RANGE(0x4800, 0x4bff) AM_READWRITE(namcoio_r, namcoio_w) /* custom I/O chips interface */ AM_RANGE(0x5000, 0x500f) AM_WRITE(mappy_latch_w) /* various control bits */ AM_RANGE(0x8000, 0x8000) AM_WRITE(watchdog_reset_w) /* watchdog reset */ @@ -898,18 +898,18 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( superpac_cpu2_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_RAM AM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) AM_BASE(&namco_soundregs) /* shared RAM with the main CPU (also sound registers) */ + AM_RANGE(0x0000, 0x03ff) AM_RAM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) AM_BASE(&namco_soundregs) /* shared RAM with the main CPU (also sound registers) */ AM_RANGE(0x2000, 0x200f) AM_WRITE(superpac_latch_w) /* various control bits */ AM_RANGE(0xe000, 0xffff) AM_ROM ADDRESS_MAP_END static ADDRESS_MAP_START( phozon_cpu2_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_RAM AM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) AM_BASE(&namco_soundregs) /* shared RAM with the main CPU + sound registers */ + AM_RANGE(0x0000, 0x03ff) AM_RAM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) AM_BASE(&namco_soundregs) /* shared RAM with the main CPU + sound registers */ AM_RANGE(0xe000, 0xffff) AM_ROM /* ROM */ ADDRESS_MAP_END static ADDRESS_MAP_START( mappy_cpu2_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_RAM AM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) AM_BASE(&namco_soundregs) /* shared RAM with the main CPU (also sound registers) */ + AM_RANGE(0x0000, 0x03ff) AM_RAM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) AM_BASE(&namco_soundregs) /* shared RAM with the main CPU (also sound registers) */ AM_RANGE(0x2000, 0x200f) AM_WRITE(mappy_latch_w) /* various control bits */ AM_RANGE(0xe000, 0xffff) AM_ROM /* ROM code */ ADDRESS_MAP_END @@ -919,7 +919,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( phozon_cpu3_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(superpac_videoram_w) AM_SHARE(2) /* video RAM */ AM_RANGE(0x0800, 0x1fff) AM_RAM AM_SHARE(3) /* shared RAM with CPU #2/sprite RAM*/ - AM_RANGE(0x4000, 0x43ff) AM_RAM AM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) /* shared RAM with CPU #2 */ + AM_RANGE(0x4000, 0x43ff) AM_RAM_DEVWRITE("namco", mappy_snd_sharedram_w) AM_SHARE(1) /* shared RAM with CPU #2 */ AM_RANGE(0xa000, 0xa7ff) AM_RAM /* RAM */ AM_RANGE(0xe000, 0xffff) AM_ROM /* ROM */ ADDRESS_MAP_END @@ -2110,7 +2110,7 @@ static DRIVER_INIT( grobda ) static DRIVER_INIT( digdug2 ) { /* appears to not use the watchdog */ - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x8000, 0x8000, 0, 0, (write8_space_func)SMH_NOP); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x8000, 0x8000, 0, 0); DRIVER_INIT_CALL(58_56); } diff --git a/src/mame/drivers/megadriv.c b/src/mame/drivers/megadriv.c index a69bbe848d4..69cbdbeb17d 100644 --- a/src/mame/drivers/megadriv.c +++ b/src/mame/drivers/megadriv.c @@ -1986,7 +1986,7 @@ static ADDRESS_MAP_START( megadriv_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xd00000, 0xd0001f) AM_READWRITE(megadriv_vdp_r,megadriv_vdp_w) // the earth defend AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_BASE(&megadrive_ram) -// AM_RANGE(0xff0000, 0xffffff) AM_READ(SMH_RAM) +// AM_RANGE(0xff0000, 0xffffff) AM_READONLY /* 0xe00000 - 0xffffff) == MAIN RAM (64kb, Mirrored, most games use ff0000 - ffffff) */ ADDRESS_MAP_END diff --git a/src/mame/drivers/megaplay.c b/src/mame/drivers/megaplay.c index 9b389de1f05..09d7af96415 100644 --- a/src/mame/drivers/megaplay.c +++ b/src/mame/drivers/megaplay.c @@ -599,7 +599,7 @@ static ADDRESS_MAP_START( megaplay_bios_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x6403, 0x6403) AM_READWRITE(megaplay_bios_gamesel_r, megaplay_bios_gamesel_w) AM_RANGE(0x6404, 0x6404) AM_READWRITE(megaplay_bios_6404_r, megaplay_bios_6404_w) AM_RANGE(0x6600, 0x6600) AM_READWRITE(megaplay_bios_6600_r, megaplay_bios_6600_w) - AM_RANGE(0x6001, 0x67ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x6001, 0x67ff) AM_WRITEONLY AM_RANGE(0x6800, 0x77ff) AM_RAM AM_BASE(&ic3_ram) AM_RANGE(0x8000, 0xffff) AM_READWRITE(bank_r, bank_w) ADDRESS_MAP_END diff --git a/src/mame/drivers/meijinsn.c b/src/mame/drivers/meijinsn.c index 6059595f5d5..0690d217f73 100644 --- a/src/mame/drivers/meijinsn.c +++ b/src/mame/drivers/meijinsn.c @@ -147,7 +147,7 @@ static READ16_HANDLER( alpha_mcu_r ) static ADDRESS_MAP_START( meijinsn_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x080e00, 0x080fff) AM_READ(alpha_mcu_r) AM_WRITENOP - AM_RANGE(0x100000, 0x107fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(videoram) + AM_RANGE(0x100000, 0x107fff) AM_RAM AM_BASE_GENERIC(videoram) AM_RANGE(0x180000, 0x180dff) AM_RAM AM_RANGE(0x180e00, 0x180fff) AM_RAM AM_BASE(&shared_ram) AM_RANGE(0x181000, 0x181fff) AM_RAM diff --git a/src/mame/drivers/metro.c b/src/mame/drivers/metro.c index 5924cbd93f0..ebfb67503a1 100644 --- a/src/mame/drivers/metro.c +++ b/src/mame/drivers/metro.c @@ -1050,7 +1050,7 @@ static ADDRESS_MAP_START( dharma_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x878000, 0x8787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size ) // Tiles Set AM_RANGE(0x878840, 0x87884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter AM_RANGE(0x878860, 0x87886b) AM_WRITE(metro_window_w) AM_BASE(&metro_window ) // Tilemap Window - AM_RANGE(0x878870, 0x87887b) AM_WRITE(SMH_RAM) AM_BASE(&metro_scroll) // Scroll Regs + AM_RANGE(0x878870, 0x87887b) AM_WRITEONLY AM_BASE(&metro_scroll) // Scroll Regs AM_RANGE(0x878880, 0x878881) AM_WRITENOP // ? increasing AM_RANGE(0x878890, 0x878891) AM_WRITENOP // ? increasing AM_RANGE(0x8788a4, 0x8788a5) AM_WRITEONLY AM_BASE(&metro_irq_enable) // IRQ Enable @@ -1589,7 +1589,7 @@ static ADDRESS_MAP_START( pururun_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xc78000, 0xc787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set AM_RANGE(0xc78840, 0xc7884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter AM_RANGE(0xc78860, 0xc7886b) AM_WRITE(metro_window_w) AM_BASE(&metro_window) // Tilemap Window - AM_RANGE(0xc78870, 0xc7887b) AM_WRITE(SMH_RAM) AM_BASE(&metro_scroll) // Scroll Regs + AM_RANGE(0xc78870, 0xc7887b) AM_WRITEONLY AM_BASE(&metro_scroll) // Scroll Regs AM_RANGE(0xc78880, 0xc78881) AM_WRITENOP // ? increasing AM_RANGE(0xc78890, 0xc78891) AM_WRITENOP // ? increasing AM_RANGE(0xc788a2, 0xc788a3) AM_READWRITE(metro_irq_cause_r,metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge @@ -1781,9 +1781,9 @@ static ADDRESS_MAP_START( puzzlet_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE( 0x500000, 0x500001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0xff00 ) AM_RANGE( 0x580000, 0x580003 ) AM_DEVWRITE8( "ymsnd", ym2413_w, 0xff00 ) - AM_RANGE( 0x700000, 0x71ffff ) AM_READWRITE( SMH_RAM, metro_vram_0_w ) AM_BASE( &metro_vram_0 ) // Layer 0 - AM_RANGE( 0x720000, 0x73ffff ) AM_READWRITE( SMH_RAM, metro_vram_1_w ) AM_BASE( &metro_vram_1 ) // Layer 1 - AM_RANGE( 0x740000, 0x75ffff ) AM_READWRITE( SMH_RAM, metro_vram_2_w ) AM_BASE( &metro_vram_2 ) // Layer 2 + AM_RANGE( 0x700000, 0x71ffff ) AM_RAM_WRITE( metro_vram_0_w ) AM_BASE( &metro_vram_0 ) // Layer 0 + AM_RANGE( 0x720000, 0x73ffff ) AM_RAM_WRITE( metro_vram_1_w ) AM_BASE( &metro_vram_1 ) // Layer 1 + AM_RANGE( 0x740000, 0x75ffff ) AM_RAM_WRITE( metro_vram_2_w ) AM_BASE( &metro_vram_2 ) // Layer 2 AM_RANGE( 0x774000, 0x774fff ) AM_RAM AM_BASE_SIZE_GENERIC( spriteram ) AM_RANGE( 0x760000, 0x76ffff ) AM_READ( metro_bankedrom_r ) // Banked ROM diff --git a/src/mame/drivers/mgolf.c b/src/mame/drivers/mgolf.c index 85e0dcaf525..087d5ea5506 100644 --- a/src/mame/drivers/mgolf.c +++ b/src/mame/drivers/mgolf.c @@ -186,7 +186,7 @@ static ADDRESS_MAP_START( cpu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0061, 0x0061) AM_READ(mgolf_misc_r) AM_RANGE(0x0080, 0x00ff) AM_READ(mgolf_wram_r) AM_RANGE(0x0180, 0x01ff) AM_READ(mgolf_wram_r) - AM_RANGE(0x0800, 0x0bff) AM_READ(SMH_RAM) + AM_RANGE(0x0800, 0x0bff) AM_READONLY AM_RANGE(0x0000, 0x0009) AM_WRITENOP AM_RANGE(0x0024, 0x0024) AM_WRITENOP diff --git a/src/mame/drivers/mhavoc.c b/src/mame/drivers/mhavoc.c index fea57ab15b8..12e97b78f79 100644 --- a/src/mame/drivers/mhavoc.c +++ b/src/mame/drivers/mhavoc.c @@ -250,7 +250,7 @@ static ADDRESS_MAP_START( alpha_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank2") /* Paged Program ROM (32K) */ AM_RANGE(0x4000, 0x4fff) AM_RAM AM_BASE(&vectorram) AM_SIZE(&vectorram_size) AM_REGION("alpha", 0x4000) /* Vector Generator RAM */ AM_RANGE(0x5000, 0x7fff) AM_ROM /* Vector ROM */ - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) /* Program ROM (32K) */ + AM_RANGE(0x8000, 0xffff) AM_ROM /* Program ROM (32K) */ ADDRESS_MAP_END @@ -272,7 +272,7 @@ static ADDRESS_MAP_START( gamma_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4800, 0x4800) AM_WRITE(mhavoc_out_1_w) /* Coin Counters */ AM_RANGE(0x5000, 0x5000) AM_WRITE(mhavoc_alpha_w) /* Alpha Comm. Write Port */ AM_RANGE(0x6000, 0x61ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* EEROM */ - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) /* Program ROM (16K) */ + AM_RANGE(0x8000, 0xffff) AM_ROM /* Program ROM (16K) */ ADDRESS_MAP_END @@ -300,7 +300,7 @@ static ADDRESS_MAP_START( alphaone_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x10b0, 0x10b0) AM_WRITE(mhavoc_alpha_irq_ack_w) /* IRQ ack */ AM_RANGE(0x10b4, 0x10b4) AM_WRITE(mhavoc_rom_banksel_w) AM_RANGE(0x10b8, 0x10b8) AM_WRITE(mhavoc_ram_banksel_w) - AM_RANGE(0x10e0, 0x10ff) AM_WRITE(SMH_RAM) AM_BASE(&mhavoc_colorram) /* ColorRAM */ + AM_RANGE(0x10e0, 0x10ff) AM_WRITEONLY AM_BASE(&mhavoc_colorram) /* ColorRAM */ AM_RANGE(0x1800, 0x18ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* EEROM */ AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank2") /* Paged Program ROM (32K) */ AM_RANGE(0x4000, 0x4fff) AM_RAM AM_BASE(&vectorram) AM_SIZE(&vectorram_size) AM_REGION("alpha", 0x4000) /* Vector Generator RAM */ diff --git a/src/mame/drivers/midas.c b/src/mame/drivers/midas.c index 73181250e5d..91b61c0ea2a 100644 --- a/src/mame/drivers/midas.c +++ b/src/mame/drivers/midas.c @@ -229,7 +229,7 @@ static ADDRESS_MAP_START( mem_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x9c0000, 0x9c0005) AM_WRITE( livequiz_gfxregs_w ) AM_BASE( &livequiz_gfxregs ) - AM_RANGE(0xa00000, 0xa3ffff) AM_READWRITE( SMH_RAM, paletteram16_xrgb_word_be_w ) AM_BASE_GENERIC( paletteram ) + AM_RANGE(0xa00000, 0xa3ffff) AM_RAM_WRITE( paletteram16_xrgb_word_be_w ) AM_BASE_GENERIC( paletteram ) AM_RANGE(0xa40000, 0xa7ffff) AM_RAM AM_RANGE(0xb00000, 0xb00001) AM_READ( ret_ffff ) diff --git a/src/mame/drivers/midvunit.c b/src/mame/drivers/midvunit.c index ce99491a369..57d4ae2cb6e 100644 --- a/src/mame/drivers/midvunit.c +++ b/src/mame/drivers/midvunit.c @@ -493,7 +493,7 @@ static ADDRESS_MAP_START( midvunit_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x980082, 0x980083) AM_READ(midvunit_dma_trigger_r) AM_RANGE(0x990000, 0x990000) AM_READNOP // link PAL (low 4 bits must == 4) AM_RANGE(0x991030, 0x991030) AM_READ_PORT("991030") -// AM_RANGE(0x991050, 0x991050) AM_READ(SMH_RAM) // seems to be another port +// AM_RANGE(0x991050, 0x991050) AM_READONLY // seems to be another port AM_RANGE(0x991060, 0x991060) AM_READ(port0_r) AM_RANGE(0x992000, 0x992000) AM_READ_PORT("992000") AM_RANGE(0x993000, 0x993000) AM_READWRITE(midvunit_adc_r, midvunit_adc_w) diff --git a/src/mame/drivers/mquake.c b/src/mame/drivers/mquake.c index 5bc65102df5..ed2c738259d 100644 --- a/src/mame/drivers/mquake.c +++ b/src/mame/drivers/mquake.c @@ -42,7 +42,7 @@ static WRITE8_DEVICE_HANDLER( mquake_cia_0_porta_w ) else /* overlay enabled, map Amiga system ROM on 0x000000 */ - memory_install_write16_handler(cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x000000, 0x07ffff, 0, 0, (write16_space_func)SMH_UNMAP); + memory_unmap_write(cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x000000, 0x07ffff, 0, 0); } diff --git a/src/mame/drivers/mrdo.c b/src/mame/drivers/mrdo.c index b406cc2f3ff..3cb75380eca 100644 --- a/src/mame/drivers/mrdo.c +++ b/src/mame/drivers/mrdo.c @@ -46,7 +46,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(mrdo_bgvideoram_w) AM_BASE(&mrdo_bgvideoram) AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(mrdo_fgvideoram_w) AM_BASE(&mrdo_fgvideoram) - AM_RANGE(0x9000, 0x90ff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) + AM_RANGE(0x9000, 0x90ff) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x9800, 0x9800) AM_WRITE(mrdo_flipscreen_w) /* screen flip + playfield priority */ AM_RANGE(0x9801, 0x9801) AM_DEVWRITE("sn1", sn76496_w) AM_RANGE(0x9802, 0x9802) AM_DEVWRITE("sn2", sn76496_w) diff --git a/src/mame/drivers/mrflea.c b/src/mame/drivers/mrflea.c index f07fae64a0b..0b965861ef1 100644 --- a/src/mame/drivers/mrflea.c +++ b/src/mame/drivers/mrflea.c @@ -190,7 +190,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( mrflea_slave_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x00, 0x00) AM_WRITENOP /* watchdog */ - AM_RANGE(0x10, 0x10) AM_READWRITE(mrflea_interrupt_type_r, SMH_NOP) /* ? / irq ACK */ + AM_RANGE(0x10, 0x10) AM_READ(mrflea_interrupt_type_r) AM_WRITENOP /* ? / irq ACK */ AM_RANGE(0x11, 0x11) AM_WRITENOP /* 0x83,0x00,0xfc */ AM_RANGE(0x20, 0x20) AM_READ(mrflea_io_r) AM_RANGE(0x21, 0x21) AM_WRITE(mrflea_main_w) diff --git a/src/mame/drivers/ms32.c b/src/mame/drivers/ms32.c index 939477cce6e..48d91f26fed 100644 --- a/src/mame/drivers/ms32.c +++ b/src/mame/drivers/ms32.c @@ -360,7 +360,7 @@ static ADDRESS_MAP_START( f1superb_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0xfd140000, 0xfd143fff) AM_RAM // used when you start enabling fpu ints AM_RANGE(0xfd144000, 0xfd145fff) AM_RAM // same data here - AM_RANGE(0xfdc00000, 0xfdc007ff) AM_RAM AM_READWRITE16(ms32_extra_r16, ms32_extra_w16, 0x0000ffff) // definitely line ram + AM_RANGE(0xfdc00000, 0xfdc007ff) AM_READWRITE16(ms32_extra_r16, ms32_extra_w16, 0x0000ffff) // definitely line ram AM_RANGE(0xfde00000, 0xfde01fff) AM_RAM // scroll info for lineram? AM_IMPORT_FROM(ms32_map) diff --git a/src/mame/drivers/multfish.c b/src/mame/drivers/multfish.c index f05123f31fc..7fae2c016ee 100644 --- a/src/mame/drivers/multfish.c +++ b/src/mame/drivers/multfish.c @@ -353,7 +353,7 @@ static WRITE8_HANDLER(multfish_rtc_w) static ADDRESS_MAP_START( multfish_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READWRITE(SMH_ROM, multfish_vid_w) + AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITE(multfish_vid_w) AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") AM_RANGE(0xc000, 0xdff7) AM_RAM AM_BASE_SIZE_GENERIC(nvram) AM_RANGE(0xdff8, 0xdfff) AM_READWRITE(multfish_rtc_r, multfish_rtc_w) diff --git a/src/mame/drivers/munchmo.c b/src/mame/drivers/munchmo.c index 1a65abf43ee..6cfaaa2bd26 100644 --- a/src/mame/drivers/munchmo.c +++ b/src/mame/drivers/munchmo.c @@ -89,7 +89,7 @@ static ADDRESS_MAP_START( mnchmobl_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xbe31, 0xbe31) AM_WRITENOP /* ? */ AM_RANGE(0xbe41, 0xbe41) AM_WRITE(mnchmobl_flipscreen_w) AM_RANGE(0xbe61, 0xbe61) AM_WRITE(mnchmobl_nmi_enable_w) /* ENI 1-10C */ - AM_RANGE(0xbf00, 0xbf07) AM_WRITE(SMH_RAM) AM_BASE(&mnchmobl_vreg) /* MY0 1-8C */ + AM_RANGE(0xbf00, 0xbf07) AM_WRITEONLY AM_BASE(&mnchmobl_vreg) /* MY0 1-8C */ AM_RANGE(0xbf01, 0xbf01) AM_READ_PORT("SYSTEM") AM_RANGE(0xbf02, 0xbf02) AM_READ_PORT("P1") AM_RANGE(0xbf03, 0xbf03) AM_READ_PORT("P2") diff --git a/src/mame/drivers/mustache.c b/src/mame/drivers/mustache.c index 62c552605a7..bd092106204 100644 --- a/src/mame/drivers/mustache.c +++ b/src/mame/drivers/mustache.c @@ -76,7 +76,7 @@ static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd804, 0xd804) AM_READ_PORT("DSWB") AM_RANGE(0xd806, 0xd806) AM_WRITE(mustache_scroll_w) AM_RANGE(0xd807, 0xd807) AM_WRITE(mustache_video_control_w) - AM_RANGE(0xe800, 0xefff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) + AM_RANGE(0xe800, 0xefff) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xf000, 0xffff) AM_RAM ADDRESS_MAP_END diff --git a/src/mame/drivers/mystston.c b/src/mame/drivers/mystston.c index 7000b48e713..c49820fe8cb 100644 --- a/src/mame/drivers/mystston.c +++ b/src/mame/drivers/mystston.c @@ -107,9 +107,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1800, 0x1fff) AM_RAM AM_BASE_MEMBER(mystston_state, bg_videoram) AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x1f8f) AM_READ_PORT("IN0") AM_WRITE(mystston_video_control_w) AM_BASE_MEMBER(mystston_state, video_control) AM_RANGE(0x2010, 0x2010) AM_MIRROR(0x1f8f) AM_READ_PORT("IN1") AM_WRITE(irq_clear_w) - AM_RANGE(0x2020, 0x2020) AM_MIRROR(0x1f8f) AM_READ_PORT("DSW0") AM_WRITE(SMH_RAM) AM_BASE_MEMBER(mystston_state, scroll) - AM_RANGE(0x2030, 0x2030) AM_MIRROR(0x1f8f) AM_READ_PORT("DSW1") AM_WRITE(SMH_RAM) AM_BASE_MEMBER(mystston_state, ay8910_data) - AM_RANGE(0x2040, 0x2040) AM_MIRROR(0x1f8f) AM_READWRITE(SMH_NOP, mystston_ay8910_select_w) AM_BASE_MEMBER(mystston_state, ay8910_select) + AM_RANGE(0x2020, 0x2020) AM_MIRROR(0x1f8f) AM_READ_PORT("DSW0") AM_WRITEONLY AM_BASE_MEMBER(mystston_state, scroll) + AM_RANGE(0x2030, 0x2030) AM_MIRROR(0x1f8f) AM_READ_PORT("DSW1") AM_WRITEONLY AM_BASE_MEMBER(mystston_state, ay8910_data) + AM_RANGE(0x2040, 0x2040) AM_MIRROR(0x1f8f) AM_READNOP AM_WRITE(mystston_ay8910_select_w) AM_BASE_MEMBER(mystston_state, ay8910_select) AM_RANGE(0x2050, 0x2050) AM_MIRROR(0x1f8f) AM_NOP AM_RANGE(0x2060, 0x207f) AM_MIRROR(0x1f80) AM_RAM AM_BASE_MEMBER(mystston_state, paletteram) AM_RANGE(0x4000, 0xffff) AM_ROM diff --git a/src/mame/drivers/namcond1.c b/src/mame/drivers/namcond1.c index 78b9fd97daa..6fd95f86d48 100644 --- a/src/mame/drivers/namcond1.c +++ b/src/mame/drivers/namcond1.c @@ -249,7 +249,7 @@ static WRITE8_HANDLER( mcu_pa_write ) /* H8/3002 MCU stuff */ static ADDRESS_MAP_START( nd1h8rwmap, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) + AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_RANGE(0x200000, 0x20ffff) AM_READWRITE( sharedram_sub_r, sharedram_sub_w ) AM_RANGE(0xa00000, 0xa07fff) AM_DEVREADWRITE( "c352", c352_r, c352_w ) AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("DSW") diff --git a/src/mame/drivers/namcos1.c b/src/mame/drivers/namcos1.c index fa715af9953..369e46df348 100644 --- a/src/mame/drivers/namcos1.c +++ b/src/mame/drivers/namcos1.c @@ -495,7 +495,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( mcu_port_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(HD63701_PORT1, HD63701_PORT1) AM_READ_PORT("COIN") AM_WRITE(namcos1_coin_w) - AM_RANGE(HD63701_PORT2, HD63701_PORT2) AM_READWRITE(SMH_NOP, namcos1_dac_gain_w) + AM_RANGE(HD63701_PORT2, HD63701_PORT2) AM_READNOP AM_WRITE(namcos1_dac_gain_w) ADDRESS_MAP_END diff --git a/src/mame/drivers/namcos11.c b/src/mame/drivers/namcos11.c index ae35db56fa4..8d3c2ac128f 100644 --- a/src/mame/drivers/namcos11.c +++ b/src/mame/drivers/namcos11.c @@ -843,13 +843,14 @@ static DRIVER_INIT( namcos11 ) { m_n_bankoffset = 0; memory_install_write32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f080000, 0x1f080003, 0, 0, bankswitch_rom64_upper_w ); - memory_install_readwrite32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1fa10020, 0x1fa1002f, 0, 0, (read32_space_func)SMH_NOP, bankswitch_rom64_w ); + memory_nop_read(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1fa10020, 0x1fa1002f, 0, 0 ); + memory_install_write32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1fa10020, 0x1fa1002f, 0, 0, bankswitch_rom64_w ); state_save_register_global(machine, m_n_bankoffset ); } } else { - memory_install_write32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1fa10020, 0x1fa1002f, 0, 0, (write32_space_func)SMH_NOP ); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1fa10020, 0x1fa1002f, 0, 0 ); } break; } diff --git a/src/mame/drivers/namcos12.c b/src/mame/drivers/namcos12.c index 9db78d5e68c..f453ac6d374 100644 --- a/src/mame/drivers/namcos12.c +++ b/src/mame/drivers/namcos12.c @@ -1081,7 +1081,7 @@ static WRITE32_HANDLER( s12_dma_bias_w ) static ADDRESS_MAP_START( namcos12_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE(1) AM_BASE(&g_p_n_psxram) AM_SIZE(&g_n_psxramsize) /* ram */ - AM_RANGE(0x1f000000, 0x1f000003) AM_READWRITE(SMH_NOP, bankoffset_w) /* banking */ + AM_RANGE(0x1f000000, 0x1f000003) AM_READNOP AM_WRITE(bankoffset_w) /* banking */ AM_RANGE(0x1f080000, 0x1f083fff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(&namcos12_sharedram) /* shared ram?? */ AM_RANGE(0x1f140000, 0x1f140fff) AM_DEVREADWRITE8("at28c16", at28c16_r, at28c16_w, 0x00ff00ff) /* eeprom */ AM_RANGE(0x1f1bff08, 0x1f1bff0f) AM_WRITENOP /* ?? */ @@ -1271,7 +1271,7 @@ static MACHINE_RESET( namcos12 ) /* H8/3002 MCU stuff */ static ADDRESS_MAP_START( s12h8rwmap, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) + AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_RANGE(0x080000, 0x08ffff) AM_READWRITE( sharedram_sub_r, sharedram_sub_w ) AM_RANGE(0x280000, 0x287fff) AM_DEVREADWRITE( "c352", c352_r, c352_w ) AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c index cdefa2df873..3ea7764f658 100644 --- a/src/mame/drivers/namcos22.c +++ b/src/mame/drivers/namcos22.c @@ -1807,12 +1807,12 @@ static WRITE16_HANDLER( master_render_device_w ) } static ADDRESS_MAP_START( master_dsp_program, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM) /* internal ROM (4k words) */ - AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_ROM) AM_BASE(&mpMasterExternalRAM) + AM_RANGE(0x0000, 0x0fff) AM_ROM /* internal ROM (4k words) */ + AM_RANGE(0x4000, 0x7fff) AM_ROM AM_BASE(&mpMasterExternalRAM) ADDRESS_MAP_END static ADDRESS_MAP_START( master_dsp_data, ADDRESS_SPACE_DATA, 16 ) - AM_RANGE(0x1000, 0x3fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) + AM_RANGE(0x1000, 0x3fff) AM_RAM AM_RANGE(0x4000, 0x7fff) AM_READ(master_external_ram_r) AM_WRITE(master_external_ram_w) AM_RANGE(0x8000, 0xffff) AM_READ(namcos22_dspram16_r) AM_WRITE(namcos22_dspram16_w) ADDRESS_MAP_END @@ -1900,8 +1900,8 @@ static WRITE16_HANDLER( dsp_slave_portb_w ) } static ADDRESS_MAP_START( slave_dsp_program, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM) /* internal ROM */ - AM_RANGE(0x8000, 0x9fff) AM_READ(SMH_ROM) AM_BASE(&mpSlaveExternalRAM) + AM_RANGE(0x0000, 0x0fff) AM_ROM /* internal ROM */ + AM_RANGE(0x8000, 0x9fff) AM_ROM AM_BASE(&mpSlaveExternalRAM) ADDRESS_MAP_END static ADDRESS_MAP_START( slave_dsp_data, ADDRESS_SPACE_DATA, 16 ) @@ -2450,7 +2450,7 @@ static ADDRESS_MAP_START( namcos22s_am, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x824000, 0x8243ff) AM_READ(namcos22_gamma_r) AM_WRITE(namcos22_gamma_w) AM_BASE(&namcos22_gamma) AM_RANGE(0x828000, 0x83ffff) AM_READ(namcos22_paletteram_r) AM_WRITE(namcos22_paletteram_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x860000, 0x860007) AM_READ(spotram_r) AM_WRITE(spotram_w) - AM_RANGE(0x880000, 0x89dfff) AM_READ(SMH_RAM) AM_WRITE(namcos22_cgram_w) AM_BASE(&namcos22_cgram) + AM_RANGE(0x880000, 0x89dfff) AM_RAM_WRITE(namcos22_cgram_w) AM_BASE(&namcos22_cgram) AM_RANGE(0x89e000, 0x89ffff) AM_READ(namcos22_textram_r) AM_WRITE(namcos22_textram_w) AM_BASE(&namcos22_textram) AM_RANGE(0x8a0000, 0x8a000f) AM_RAM AM_BASE(&namcos22_tilemapattr) AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&namcos22_vics_data) @@ -2982,7 +2982,7 @@ static ADDRESS_MAP_START( namcos22_am, ADDRESS_SPACE_PROGRAM, 32 ) * 2002000c 2 R/W RX FIFO Pointer (0x0000 - 0x0fff) * 2002000e 2 W TX FIFO Pointer (0x0000 - 0x1fff) */ - AM_RANGE(0x20020000, 0x2002000f) AM_READ(namcos22_C139_SCI_r) AM_WRITE(SMH_RAM) + AM_RANGE(0x20020000, 0x2002000f) AM_READ(namcos22_C139_SCI_r) AM_WRITEONLY /** * System Controller: Interrupt Control, Peripheral Control @@ -3144,7 +3144,7 @@ static ADDRESS_MAP_START( namcos22_am, ADDRESS_SPACE_PROGRAM, 32 ) * Mounted position: VIDEO 6B, 7B, 8B (near C305) * Note: 0xff00-0xffff are for Tilemap (16 x 16) */ - AM_RANGE(0x90028000, 0x9003ffff) AM_READ(SMH_RAM) AM_WRITE(namcos22_paletteram_w) AM_BASE_GENERIC(paletteram) + AM_RANGE(0x90028000, 0x9003ffff) AM_RAM_WRITE(namcos22_paletteram_w) AM_BASE_GENERIC(paletteram) /** * unknown (option) @@ -3155,7 +3155,7 @@ static ADDRESS_MAP_START( namcos22_am, ADDRESS_SPACE_PROGRAM, 32 ) /** * Tilemap PCG Memory */ - AM_RANGE(0x90080000, 0x9009dfff) AM_READ(SMH_RAM) AM_WRITE(namcos22_cgram_w) AM_BASE(&namcos22_cgram) + AM_RANGE(0x90080000, 0x9009dfff) AM_RAM_WRITE(namcos22_cgram_w) AM_BASE(&namcos22_cgram) /** * Tilemap Memory (64 x 64) @@ -3163,7 +3163,7 @@ static ADDRESS_MAP_START( namcos22_am, ADDRESS_SPACE_PROGRAM, 32 ) * Known chip type: HM511664 (64k x 16bit SRAM) * Note: Self test: 90084000 - 9009ffff */ - AM_RANGE(0x9009e000, 0x9009ffff) AM_READ(SMH_RAM) AM_WRITE(namcos22_textram_w) AM_BASE(&namcos22_textram) + AM_RANGE(0x9009e000, 0x9009ffff) AM_RAM_WRITE(namcos22_textram_w) AM_BASE(&namcos22_textram) /** * Tilemap Register diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c index 8ff75172241..f0c720103fd 100644 --- a/src/mame/drivers/namcos23.c +++ b/src/mame/drivers/namcos23.c @@ -1096,7 +1096,7 @@ static READ16_HANDLER( sharedram_sub_r ) /* H8/3002 MCU stuff */ static ADDRESS_MAP_START( s23h8rwmap, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) + AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_RANGE(0x080000, 0x08ffff) AM_READWRITE( sharedram_sub_r, sharedram_sub_w ) AM_RANGE(0x280000, 0x287fff) AM_DEVREADWRITE( "c352", c352_r, c352_w ) AM_RANGE(0x300000, 0x300001) AM_READNOP //AM_READ_PORT("IN1") @@ -1336,7 +1336,7 @@ static WRITE8_HANDLER( s23_iob_p4_w ) /* H8/3334 (Namco C78) I/O board MCU */ static ADDRESS_MAP_START( s23iobrdmap, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM) + AM_RANGE(0x0000, 0x0fff) AM_ROM AM_RANGE(0xc000, 0xdfff) AM_RAM ADDRESS_MAP_END diff --git a/src/mame/drivers/namcos86.c b/src/mame/drivers/namcos86.c index 6c4f74cb0b3..39273c47868 100644 --- a/src/mame/drivers/namcos86.c +++ b/src/mame/drivers/namcos86.c @@ -394,7 +394,6 @@ static ADDRESS_MAP_START( NAME##_cpu2_map, ADDRESS_SPACE_PROGRAM, 8 ) \ /* { ADDR_BANK+0x04, ADDR_BANK+0x06 } layer 3 scroll registers would be here */ \ AM_RANGE(ADDR_WDOG, ADDR_WDOG) AM_WRITE(watchdog2_w) \ AM_RANGE(ADDR_INT, ADDR_INT) AM_WRITE(int_ack2_w) /* IRQ acknowledge */ \ - AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM) \ ADDRESS_MAP_END #define UNUSED 0x4000 diff --git a/src/mame/drivers/nemesis.c b/src/mame/drivers/nemesis.c index d2b7b79b7c2..16f84cabdc6 100644 --- a/src/mame/drivers/nemesis.c +++ b/src/mame/drivers/nemesis.c @@ -480,7 +480,7 @@ static ADDRESS_MAP_START( blkpnthr_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_RANGE(0x080000, 0x081fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x090000, 0x097fff) AM_RAM - AM_RANGE(0x0a0000, 0x0a0001) AM_RAM AM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */ + AM_RANGE(0x0a0000, 0x0a0001) AM_RAM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */ AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE(nemesis_soundlatch_word_w) AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0") AM_RANGE(0x0c0004, 0x0c0005) AM_WRITE(watchdog_reset16_w) /* probably */ diff --git a/src/mame/drivers/nmg5.c b/src/mame/drivers/nmg5.c index 023e888d1d7..1f24d07398d 100644 --- a/src/mame/drivers/nmg5.c +++ b/src/mame/drivers/nmg5.c @@ -302,7 +302,7 @@ static ADDRESS_MAP_START( nmg5_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x18000a, 0x18000b) AM_READ_PORT("SYSTEM") AM_RANGE(0x18000c, 0x18000d) AM_READ_PORT("INPUTS") AM_RANGE(0x18000e, 0x18000f) AM_WRITE(priority_reg_w) - AM_RANGE(0x300002, 0x300009) AM_WRITE(SMH_RAM) AM_BASE(&scroll_ram) + AM_RANGE(0x300002, 0x300009) AM_WRITEONLY AM_BASE(&scroll_ram) AM_RANGE(0x30000a, 0x30000f) AM_WRITENOP AM_RANGE(0x320000, 0x321fff) AM_RAM_WRITE(bg_videoram_w) AM_BASE(&bg_videoram) AM_RANGE(0x322000, 0x323fff) AM_RAM_WRITE(fg_videoram_w) AM_BASE(&fg_videoram) @@ -322,7 +322,7 @@ static ADDRESS_MAP_START( pclubys_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x48000a, 0x48000b) AM_READ_PORT("SYSTEM") AM_RANGE(0x48000c, 0x48000d) AM_READ_PORT("INPUTS") AM_RANGE(0x48000e, 0x48000f) AM_WRITE(priority_reg_w) - AM_RANGE(0x500002, 0x500009) AM_WRITE(SMH_RAM) AM_BASE(&scroll_ram) + AM_RANGE(0x500002, 0x500009) AM_WRITEONLY AM_BASE(&scroll_ram) AM_RANGE(0x520000, 0x521fff) AM_RAM_WRITE(bg_videoram_w) AM_BASE(&bg_videoram) AM_RANGE(0x522000, 0x523fff) AM_RAM_WRITE(fg_videoram_w) AM_BASE(&fg_videoram) AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE(&nmg5_bitmap) diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c index 7e2d626cb6a..3281d3f93d7 100644 --- a/src/mame/drivers/nmk16.c +++ b/src/mame/drivers/nmk16.c @@ -414,7 +414,7 @@ static ADDRESS_MAP_START( mustang_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0") AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1") AM_RANGE(0x080004, 0x080005) AM_READ_PORT("DSW1") - AM_RANGE(0x08000e, 0x08000f) AM_READWRITE(NMK004_r, SMH_NOP) + AM_RANGE(0x08000e, 0x08000f) AM_READ(NMK004_r) AM_WRITENOP AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w) AM_RANGE(0x080016, 0x080017) AM_WRITENOP // frame number? AM_RANGE(0x08001e, 0x08001f) AM_WRITE(NMK004_w) @@ -431,7 +431,7 @@ static ADDRESS_MAP_START( mustangb_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0") AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1") AM_RANGE(0x080004, 0x080005) AM_READ_PORT("DSW1") - AM_RANGE(0x08000e, 0x08000f) AM_READWRITE(SMH_NOP, SMH_NOP) + AM_RANGE(0x08000e, 0x08000f) AM_NOP AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w) AM_RANGE(0x080016, 0x080017) AM_WRITENOP // frame number? AM_RANGE(0x08001e, 0x08001f) AM_WRITE(seibu_main_mustb_w) @@ -449,7 +449,7 @@ static ADDRESS_MAP_START( twinactn_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0") AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1") AM_RANGE(0x080004, 0x080005) AM_READ_PORT("DSW1") - AM_RANGE(0x08000e, 0x08000f) AM_READWRITE(SMH_NOP, SMH_NOP) + AM_RANGE(0x08000e, 0x08000f) AM_NOP AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w) AM_RANGE(0x080016, 0x080017) AM_WRITENOP // frame number? AM_RANGE(0x08001e, 0x08001f) AM_WRITE(afega_soundlatch_w) @@ -4617,7 +4617,7 @@ static READ16_HANDLER( vandykeb_r ) { return 0x0000; } static DRIVER_INIT (vandykeb) { memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x08000e, 0x08000f, 0, 0, vandykeb_r ); - memory_install_write16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x08001e, 0x08001f, 0, 0, (write16_space_func)SMH_NOP ); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x08001e, 0x08001f, 0, 0 ); } @@ -4661,16 +4661,16 @@ static ADDRESS_MAP_START( afega, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1") // P1 + P2 AM_RANGE(0x080004, 0x080005) AM_READ_PORT("DSW1") // 2 x DSW AM_RANGE(0x080012, 0x080013) AM_READ(afega_unknown_r) - AM_RANGE(0x080000, 0x08001d) AM_WRITE(SMH_RAM) // + AM_RANGE(0x080000, 0x08001d) AM_WRITEONLY // AM_RANGE(0x08001e, 0x08001f) AM_WRITE(afega_soundlatch_w) // To Sound CPU /**/AM_RANGE(0x084000, 0x084003) AM_RAM_WRITE(afega_scroll0_w) // Scroll on redhawkb (mirror or changed?..) /**/AM_RANGE(0x084004, 0x084007) AM_RAM_WRITE(afega_scroll1_w) // Scroll on redhawkb (mirror or changed?..) - AM_RANGE(0x080020, 0x087fff) AM_WRITE(SMH_RAM) // + AM_RANGE(0x080020, 0x087fff) AM_WRITEONLY // /**/AM_RANGE(0x088000, 0x0885ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram) // Palette - AM_RANGE(0x088600, 0x08bfff) AM_WRITE(SMH_RAM) // + AM_RANGE(0x088600, 0x08bfff) AM_WRITEONLY // /**/AM_RANGE(0x08c000, 0x08c003) AM_RAM_WRITE(afega_scroll0_w) AM_BASE(&afega_scroll_0) // Scroll /**/AM_RANGE(0x08c004, 0x08c007) AM_RAM_WRITE(afega_scroll1_w) AM_BASE(&afega_scroll_1) // - AM_RANGE(0x08c008, 0x08ffff) AM_WRITE(SMH_RAM) // + AM_RANGE(0x08c008, 0x08ffff) AM_WRITEONLY // /**/AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0) // Layer 0 // ? /**/AM_RANGE(0x09c000, 0x09c7ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_BASE(&nmk_txvideoram) // Layer 1 diff --git a/src/mame/drivers/nss.c b/src/mame/drivers/nss.c index bc129bf56d4..8f6a506ca7f 100644 --- a/src/mame/drivers/nss.c +++ b/src/mame/drivers/nss.c @@ -300,7 +300,7 @@ Contra III CONTRA_III_1 TC574000 CONTRA_III_0 TC574000 GAME1_NSSU static ADDRESS_MAP_START( snes_map, ADDRESS_SPACE_PROGRAM, 8) AM_RANGE(0x000000, 0x2fffff) AM_READWRITE(snes_r_bank1, snes_w_bank1) /* I/O and ROM (repeats for each bank) */ AM_RANGE(0x300000, 0x3fffff) AM_READWRITE(snes_r_bank2, snes_w_bank2) /* I/O and ROM (repeats for each bank) */ - AM_RANGE(0x400000, 0x5fffff) AM_READWRITE(snes_r_bank3, SMH_ROM) /* ROM (and reserved in Mode 20) */ + AM_RANGE(0x400000, 0x5fffff) AM_READ(snes_r_bank3) /* ROM (and reserved in Mode 20) */ AM_RANGE(0x600000, 0x6fffff) AM_READWRITE(snes_r_bank4, snes_w_bank4) /* used by Mode 20 DSP-1 */ AM_RANGE(0x700000, 0x7dffff) AM_READWRITE(snes_r_bank5, snes_w_bank5) AM_RANGE(0x7e0000, 0x7fffff) AM_RAM /* 8KB Low RAM, 24KB High RAM, 96KB Expanded RAM */ diff --git a/src/mame/drivers/othunder.c b/src/mame/drivers/othunder.c index 2fd162d4c27..35c6c2171cc 100644 --- a/src/mame/drivers/othunder.c +++ b/src/mame/drivers/othunder.c @@ -519,7 +519,7 @@ static ADDRESS_MAP_START( z80_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank10") AM_RANGE(0xc000, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_r, ym2610_w) - AM_RANGE(0xe200, 0xe200) AM_READWRITE(SMH_NOP, taitosound_slave_port_w) + AM_RANGE(0xe200, 0xe200) AM_READNOP AM_WRITE(taitosound_slave_port_w) AM_RANGE(0xe201, 0xe201) AM_READWRITE(taitosound_slave_comm_r, taitosound_slave_comm_w) AM_RANGE(0xe400, 0xe403) AM_WRITE(othunder_TC0310FAM_w) /* pan */ AM_RANGE(0xe600, 0xe600) AM_WRITENOP /* ? */ diff --git a/src/mame/drivers/pacland.c b/src/mame/drivers/pacland.c index 6f283d44ee1..97aa590b61a 100644 --- a/src/mame/drivers/pacland.c +++ b/src/mame/drivers/pacland.c @@ -259,7 +259,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x6800, 0x6bff) AM_DEVREADWRITE("namco", namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */ AM_RANGE(0x7000, 0x7fff) AM_WRITE(pacland_irq_1_ctrl_w) AM_RANGE(0x7800, 0x7fff) AM_READ(watchdog_reset_r) - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) + AM_RANGE(0x8000, 0xffff) AM_ROM AM_RANGE(0x8000, 0x8fff) AM_WRITE(pacland_subreset_w) AM_RANGE(0x9000, 0x9fff) AM_WRITE(pacland_flipscreen_w) ADDRESS_MAP_END @@ -270,10 +270,10 @@ static ADDRESS_MAP_START( mcu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE("namco", namcos1_cus30_r, namcos1_cus30_w) AM_BASE(&namco_wavedata) /* PSG device, shared RAM */ AM_RANGE(0x2000, 0x3fff) AM_WRITE(watchdog_reset_w) /* watchdog? */ AM_RANGE(0x4000, 0x7fff) AM_WRITE(pacland_irq_2_ctrl_w) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_ROM) + AM_RANGE(0x8000, 0xbfff) AM_ROM AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_RANGE(0xd000, 0xd003) AM_READ(pacland_input_r) - AM_RANGE(0xf000, 0xffff) AM_READ(SMH_ROM) + AM_RANGE(0xf000, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/pacman.c b/src/mame/drivers/pacman.c index d8098336271..81239eeb4f9 100644 --- a/src/mame/drivers/pacman.c +++ b/src/mame/drivers/pacman.c @@ -892,9 +892,9 @@ static WRITE8_HANDLER( mspacman_enable_decode_w ) { mspacman_enable_deco static ADDRESS_MAP_START( pacman_map, ADDRESS_SPACE_PROGRAM, 8 ) //A lot of games don't have an a15 at the cpu. Generally only games with a cpu daughter board can access the full 32k of romspace. AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROM - AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) - AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP) + AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w) @@ -905,7 +905,7 @@ static ADDRESS_MAP_START( pacman_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w) AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w) AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs) - AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) + AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w) @@ -919,9 +919,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( mspacman_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) - AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP) + AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w) @@ -932,7 +932,7 @@ static ADDRESS_MAP_START( mspacman_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_lockout_global_w) AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w) AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs) - AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) + AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w) @@ -959,9 +959,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( woodpek_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM - AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) - AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP) + AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w) @@ -972,7 +972,7 @@ static ADDRESS_MAP_START( woodpek_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w) AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w) AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs) - AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) + AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w) @@ -986,9 +986,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( alibaba_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM - AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) - AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP) + AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP AM_RANGE(0x4c00, 0x4eef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4ef0, 0x4eff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x4f00, 0x4fff) AM_MIRROR(0xa000) AM_RAM @@ -997,7 +997,7 @@ static ADDRESS_MAP_START( alibaba_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_lockout_global_w) AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w) AM_RANGE(0x5040, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(alibaba_sound_w) AM_BASE(&pacman_soundregs) /* the sound region is not contiguous */ - AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) /* actually at 5050-505f, here to point to free RAM */ + AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) /* actually at 5050-505f, here to point to free RAM */ AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_enable_w) @@ -1018,8 +1018,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( dremshpr_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM - AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) - AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x4800, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w) @@ -1030,7 +1030,7 @@ static ADDRESS_MAP_START( dremshpr_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w) AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w) // AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs) - AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) + AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w) @@ -1044,9 +1044,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( epos_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROMBANK("bank1") - AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) - AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP) + AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w) @@ -1057,7 +1057,7 @@ static ADDRESS_MAP_START( epos_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w) AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w) AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs) - AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) + AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w) @@ -1070,8 +1070,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( vanvan_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM - AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) - AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x4800, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w) @@ -1082,7 +1082,7 @@ static ADDRESS_MAP_START( vanvan_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5005, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP /* always written together with 5001 */ AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w) AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_WRITENOP - AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) + AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP /* ??? toggled before reading 5000 */ AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w) @@ -1101,17 +1101,17 @@ static ADDRESS_MAP_START( s2650games_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x8000) AM_ROMBANK("bank1") AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0xe000) AM_WRITE(s2650games_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x1400, 0x141f) AM_MIRROR(0xe000) AM_WRITE(s2650games_scroll_w) - AM_RANGE(0x1420, 0x148f) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) - AM_RANGE(0x1490, 0x149f) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) AM_BASE(&s2650games_spriteram) + AM_RANGE(0x1420, 0x148f) AM_MIRROR(0xe000) AM_WRITEONLY + AM_RANGE(0x1490, 0x149f) AM_MIRROR(0xe000) AM_WRITEONLY AM_BASE(&s2650games_spriteram) AM_RANGE(0x14a0, 0x14bf) AM_MIRROR(0xe000) AM_WRITE(s2650games_tilesbank_w) AM_BASE(&s2650games_tileram) - AM_RANGE(0x14c0, 0x14ff) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) + AM_RANGE(0x14c0, 0x14ff) AM_MIRROR(0xe000) AM_WRITEONLY AM_RANGE(0x1500, 0x1502) AM_MIRROR(0xe000) AM_WRITENOP AM_RANGE(0x1503, 0x1503) AM_MIRROR(0xe000) AM_WRITE(pacman_flipscreen_w) AM_RANGE(0x1504, 0x1506) AM_MIRROR(0xe000) AM_WRITENOP AM_RANGE(0x1507, 0x1507) AM_MIRROR(0xe000) AM_WRITE(pacman_coin_counter_w) - AM_RANGE(0x1508, 0x155f) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) - AM_RANGE(0x1560, 0x156f) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) - AM_RANGE(0x1570, 0x157f) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) + AM_RANGE(0x1508, 0x155f) AM_MIRROR(0xe000) AM_WRITEONLY + AM_RANGE(0x1560, 0x156f) AM_MIRROR(0xe000) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) + AM_RANGE(0x1570, 0x157f) AM_MIRROR(0xe000) AM_WRITEONLY AM_RANGE(0x1586, 0x1587) AM_MIRROR(0xe000) AM_WRITENOP AM_RANGE(0x15c0, 0x15c0) AM_MIRROR(0xe000) AM_WRITE(watchdog_reset_w) AM_RANGE(0x15c7, 0x15c7) AM_MIRROR(0xe000) AM_WRITE(porky_banking_w) @@ -1120,7 +1120,7 @@ static ADDRESS_MAP_START( s2650games_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1580, 0x1580) AM_MIRROR(0xe000) AM_READ_PORT("DSW0") AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0xe000) AM_WRITE(s2650games_videoram_w) AM_BASE_GENERIC(videoram) AM_RANGE(0x1c00, 0x1fef) AM_MIRROR(0xe000) AM_RAM - AM_RANGE(0x1ff0, 0x1fff) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) + AM_RANGE(0x1ff0, 0x1fff) AM_MIRROR(0xe000) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x2000, 0x2fff) AM_MIRROR(0x8000) AM_ROMBANK("bank2") AM_RANGE(0x4000, 0x4fff) AM_MIRROR(0x8000) AM_ROMBANK("bank3") AM_RANGE(0x6000, 0x6fff) AM_MIRROR(0x8000) AM_ROMBANK("bank4") @@ -1129,8 +1129,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( rocktrv2_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM - AM_RANGE(0x4000, 0x43ff) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) - AM_RANGE(0x4400, 0x47ff) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x4c00, 0x4fff) AM_RAM AM_RANGE(0x5000, 0x5000) AM_WRITE(interrupt_enable_w) AM_RANGE(0x5001, 0x5001) AM_DEVWRITE("namco", pacman_sound_enable_w) @@ -1156,8 +1156,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( bigbucks_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM - AM_RANGE(0x4000, 0x43ff) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) - AM_RANGE(0x4400, 0x47ff) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x4c00, 0x4fff) AM_RAM AM_RANGE(0x5000, 0x5000) AM_WRITE(interrupt_enable_w) AM_RANGE(0x5001, 0x5001) AM_DEVWRITE("namco", pacman_sound_enable_w) @@ -1177,9 +1177,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( mschamp_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1") - AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) - AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP) + AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w) @@ -1190,7 +1190,7 @@ static ADDRESS_MAP_START( mschamp_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w) AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w) AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs) - AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) + AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w) @@ -1204,9 +1204,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( crushs_map, ADDRESS_SPACE_PROGRAM, 8 ) //A lot of games don't have an a15 at the cpu. Generally only games with a cpu daughter board can access the full 32k of romspace. AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROM - AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) - AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram) - AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP) + AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) + AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w) @@ -1217,7 +1217,7 @@ static ADDRESS_MAP_START( crushs_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w) AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w) AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_WRITENOP // doesn't use pacman sound hw - AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) + AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w) diff --git a/src/mame/drivers/pengo.c b/src/mame/drivers/pengo.c index 61e582bed61..bfbea0bdcc9 100644 --- a/src/mame/drivers/pengo.c +++ b/src/mame/drivers/pengo.c @@ -103,7 +103,7 @@ static ADDRESS_MAP_START( pengo_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8800, 0x8fef) AM_RAM AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x9000, 0x901f) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs) - AM_RANGE(0x9020, 0x902f) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) + AM_RANGE(0x9020, 0x902f) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) AM_RANGE(0x9000, 0x903f) AM_READ_PORT("DSW1") AM_RANGE(0x9040, 0x907f) AM_READ_PORT("DSW0") AM_RANGE(0x9040, 0x9040) AM_WRITE(interrupt_enable_w) @@ -125,7 +125,7 @@ static ADDRESS_MAP_START( jrpacmbl_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8800, 0x8fef) AM_RAM AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x9000, 0x901f) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs) - AM_RANGE(0x9020, 0x902f) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) + AM_RANGE(0x9020, 0x902f) AM_WRITEONLY AM_BASE_GENERIC(spriteram2) AM_RANGE(0x9030, 0x9030) AM_WRITE(jrpacman_scroll_w) AM_RANGE(0x9040, 0x904f) AM_READ_PORT("DSW") AM_RANGE(0x9040, 0x9040) AM_WRITE(interrupt_enable_w) diff --git a/src/mame/drivers/plygonet.c b/src/mame/drivers/plygonet.c index f6590aaaab7..3f6e9e048e7 100644 --- a/src/mame/drivers/plygonet.c +++ b/src/mame/drivers/plygonet.c @@ -600,7 +600,7 @@ static INTERRUPT_GEN(audio_interrupt) } static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) + AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2") AM_RANGE(0x0000, 0xbfff) AM_WRITENOP AM_RANGE(0xc000, 0xdfff) AM_RAM diff --git a/src/mame/drivers/polepos.c b/src/mame/drivers/polepos.c index b97dc69f326..70df1c34d7e 100644 --- a/src/mame/drivers/polepos.c +++ b/src/mame/drivers/polepos.c @@ -486,8 +486,8 @@ static ADDRESS_MAP_START( z80_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4c00, 0x4fff) AM_READWRITE(polepos_alpha_r, polepos_alpha_w) /* Alphanumeric (char ram) */ AM_RANGE(0x5000, 0x57ff) AM_READWRITE(polepos_view_r, polepos_view_w) /* Background Memory */ - AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x0c00) AM_READ(SMH_RAM) /* Sound Memory */ - AM_RANGE(0x8000, 0x83bf) AM_MIRROR(0x0c00) AM_WRITE(SMH_RAM) /* Sound Memory */ + AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x0c00) AM_READONLY /* Sound Memory */ + AM_RANGE(0x8000, 0x83bf) AM_MIRROR(0x0c00) AM_WRITEONLY /* Sound Memory */ AM_RANGE(0x83c0, 0x83ff) AM_MIRROR(0x0c00) AM_DEVWRITE("namco", polepos_sound_w) AM_BASE(&polepos_soundregs)/* Sound data */ AM_RANGE(0x9000, 0x9000) AM_MIRROR(0x0eff) AM_DEVREADWRITE("06xx", namco_06xx_data_r, namco_06xx_data_w) @@ -501,7 +501,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( z80_io, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_READWRITE(polepos_adc_r, SMH_NOP) + AM_RANGE(0x00, 0x00) AM_READ(polepos_adc_r) AM_WRITENOP ADDRESS_MAP_END diff --git a/src/mame/drivers/poolshrk.c b/src/mame/drivers/poolshrk.c index a61e164f133..693ca773f77 100644 --- a/src/mame/drivers/poolshrk.c +++ b/src/mame/drivers/poolshrk.c @@ -101,9 +101,9 @@ static READ8_HANDLER( poolshrk_irq_reset_r ) static ADDRESS_MAP_START( poolshrk_cpu_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_GLOBAL_MASK(0x7fff) AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x2300) AM_RAM - AM_RANGE(0x0400, 0x07ff) AM_MIRROR(0x2000) AM_WRITE(SMH_RAM) AM_BASE(&poolshrk_playfield_ram) - AM_RANGE(0x0800, 0x080f) AM_MIRROR(0x23f0) AM_WRITE(SMH_RAM) AM_BASE(&poolshrk_hpos_ram) - AM_RANGE(0x0c00, 0x0c0f) AM_MIRROR(0x23f0) AM_WRITE(SMH_RAM) AM_BASE(&poolshrk_vpos_ram) + AM_RANGE(0x0400, 0x07ff) AM_MIRROR(0x2000) AM_WRITEONLY AM_BASE(&poolshrk_playfield_ram) + AM_RANGE(0x0800, 0x080f) AM_MIRROR(0x23f0) AM_WRITEONLY AM_BASE(&poolshrk_hpos_ram) + AM_RANGE(0x0c00, 0x0c0f) AM_MIRROR(0x23f0) AM_WRITEONLY AM_BASE(&poolshrk_vpos_ram) AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x2000) AM_READWRITE(poolshrk_input_r, poolshrk_watchdog_w) AM_RANGE(0x1400, 0x17ff) AM_MIRROR(0x2000) AM_DEVWRITE("discrete", poolshrk_scratch_sound_w) AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0x2000) AM_DEVWRITE("discrete", poolshrk_score_sound_w) diff --git a/src/mame/drivers/portrait.c b/src/mame/drivers/portrait.c index 401b817c67d..231db10e253 100644 --- a/src/mame/drivers/portrait.c +++ b/src/mame/drivers/portrait.c @@ -138,7 +138,7 @@ static ADDRESS_MAP_START( portrait_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xa004, 0xa004) AM_READ_PORT("DSW2") AM_RANGE(0xa008, 0xa008) AM_READ_PORT("SYSTEM") AM_WRITE(portrait_ctrl_w) AM_RANGE(0xa010, 0xa010) AM_READ_PORT("INPUTS") - AM_RANGE(0xa018, 0xa018) AM_READWRITE(SMH_NOP, portrait_positive_scroll_w) + AM_RANGE(0xa018, 0xa018) AM_READNOP AM_WRITE(portrait_positive_scroll_w) AM_RANGE(0xa019, 0xa019) AM_WRITE(portrait_negative_scroll_w) AM_RANGE(0xa800, 0xa83f) AM_RAM AM_BASE_SIZE_GENERIC(nvram) AM_RANGE(0xffff, 0xffff) AM_READNOP diff --git a/src/mame/drivers/ppmast93.c b/src/mame/drivers/ppmast93.c index 670f8e6da69..aa594bfa6f5 100644 --- a/src/mame/drivers/ppmast93.c +++ b/src/mame/drivers/ppmast93.c @@ -164,7 +164,7 @@ static WRITE8_HANDLER( ppmast93_port4_w ) } static ADDRESS_MAP_START( ppmast93_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) AM_WRITENOP AM_REGION("maincpu", 0x10000) + AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITENOP AM_REGION("maincpu", 0x10000) AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(ppmast93_bgram_w) AM_BASE(&ppmast93_bgram) AM_SHARE(1) AM_RANGE(0xd800, 0xdfff) AM_WRITENOP @@ -203,7 +203,7 @@ static WRITE8_HANDLER(ppmast_sound_w) } static ADDRESS_MAP_START( ppmast93_cpu2_io, ADDRESS_SPACE_IO, 8 ) - AM_RANGE(0x0000, 0xffff) AM_READ(SMH_ROM) AM_WRITE(ppmast_sound_w) AM_REGION("sub", 0x20000) + AM_RANGE(0x0000, 0xffff) AM_ROM AM_WRITE(ppmast_sound_w) AM_REGION("sub", 0x20000) ADDRESS_MAP_END static INPUT_PORTS_START( ppmast93 ) diff --git a/src/mame/drivers/psikyo.c b/src/mame/drivers/psikyo.c index 8f406835cca..cf4c91e4b57 100644 --- a/src/mame/drivers/psikyo.c +++ b/src/mame/drivers/psikyo.c @@ -53,7 +53,7 @@ The Following Section of Code in Gunbird causes reads from the 0028B6: 720FC041 moveq #$f, D1 This causes Gunbird to crash if the ROM Region Size -allocated during loading is smaller than the SMH_ROM +allocated during loading is smaller than the ROM region as it trys to read beyond the allocated rom region This was pointed out by Bart Puype diff --git a/src/mame/drivers/psychic5.c b/src/mame/drivers/psychic5.c index 145bf040309..2d7e95cf518 100644 --- a/src/mame/drivers/psychic5.c +++ b/src/mame/drivers/psychic5.c @@ -430,11 +430,11 @@ static ADDRESS_MAP_START( psychic5_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc000, 0xdfff) AM_READWRITE(psychic5_paged_ram_r, psychic5_paged_ram_w) AM_RANGE(0xe000, 0xefff) AM_RAM AM_RANGE(0xf000, 0xf000) AM_RAM_WRITE(soundlatch_w) - AM_RANGE(0xf001, 0xf001) AM_READWRITE(SMH_NOP, psychic5_coin_counter_w) + AM_RANGE(0xf001, 0xf001) AM_READNOP AM_WRITE(psychic5_coin_counter_w) AM_RANGE(0xf002, 0xf002) AM_READWRITE(psychic5_bankselect_r, psychic5_bankselect_w) AM_RANGE(0xf003, 0xf003) AM_READWRITE(psychic5_vram_page_select_r, psychic5_vram_page_select_w) AM_RANGE(0xf004, 0xf004) AM_NOP // ??? - AM_RANGE(0xf005, 0xf005) AM_READWRITE(SMH_NOP, psychic5_title_screen_w) + AM_RANGE(0xf005, 0xf005) AM_READNOP AM_WRITE(psychic5_title_screen_w) AM_RANGE(0xf006, 0xf1ff) AM_NOP AM_RANGE(0xf200, 0xf7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xf800, 0xffff) AM_RAM diff --git a/src/mame/drivers/qix.c b/src/mame/drivers/qix.c index 13c368fc2b3..66b7de636d8 100644 --- a/src/mame/drivers/qix.c +++ b/src/mame/drivers/qix.c @@ -277,7 +277,7 @@ static ADDRESS_MAP_START( mcu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x0000) AM_READWRITE(qix_68705_portA_r, qix_68705_portA_w) AM_BASE_MEMBER(qix_state, _68705_port_out) AM_RANGE(0x0001, 0x0001) AM_READWRITE(qix_68705_portB_r, qix_68705_portB_w) AM_RANGE(0x0002, 0x0002) AM_READWRITE(qix_68705_portC_r, qix_68705_portC_w) - AM_RANGE(0x0004, 0x0007) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(qix_state, _68705_ddr) + AM_RANGE(0x0004, 0x0007) AM_WRITEONLY AM_BASE_MEMBER(qix_state, _68705_ddr) AM_RANGE(0x0010, 0x007f) AM_RAM AM_RANGE(0x0080, 0x07ff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/quantum.c b/src/mame/drivers/quantum.c index 92ceaca1abc..60a022f7dcd 100644 --- a/src/mame/drivers/quantum.c +++ b/src/mame/drivers/quantum.c @@ -121,12 +121,12 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x900000, 0x9001ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) AM_RANGE(0x940000, 0x940001) AM_READ(trackball_r) /* trackball */ AM_RANGE(0x948000, 0x948001) AM_READ_PORT("SYSTEM") - AM_RANGE(0x950000, 0x95001f) AM_WRITE(SMH_RAM) AM_BASE(&quantum_colorram) + AM_RANGE(0x950000, 0x95001f) AM_WRITEONLY AM_BASE(&quantum_colorram) AM_RANGE(0x958000, 0x958001) AM_WRITE(led_w) AM_RANGE(0x960000, 0x960001) AM_WRITENOP AM_RANGE(0x968000, 0x968001) AM_WRITE(avgdvg_reset_word_w) AM_RANGE(0x970000, 0x970001) AM_WRITE(avgdvg_go_word_w) - AM_RANGE(0x978000, 0x978001) AM_READWRITE(SMH_NOP, watchdog_reset16_w) + AM_RANGE(0x978000, 0x978001) AM_READNOP AM_WRITE(watchdog_reset16_w) ADDRESS_MAP_END diff --git a/src/mame/drivers/quasar.c b/src/mame/drivers/quasar.c index 64e5777fe69..261e23d2f34 100644 --- a/src/mame/drivers/quasar.c +++ b/src/mame/drivers/quasar.c @@ -167,7 +167,7 @@ static ADDRESS_MAP_START( quasar_io, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x00, 0x03) AM_READWRITE(quasar_IO_r, video_page_select_w) AM_RANGE(0x08, 0x0b) AM_WRITE(io_page_select_w) AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE(cvs_collision_clear, quasar_sh_command_w) - AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(cvs_collision_r, SMH_NOP) + AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READ(cvs_collision_r) AM_WRITENOP AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ_PORT("SENSE") AM_RANGE(S2650_FO_PORT, S2650_FO_PORT) AM_RAM AM_BASE(&cvs_fo_state) ADDRESS_MAP_END diff --git a/src/mame/drivers/quizpun2.c b/src/mame/drivers/quizpun2.c index 17ca8655fce..e1e11311a8e 100644 --- a/src/mame/drivers/quizpun2.c +++ b/src/mame/drivers/quizpun2.c @@ -325,8 +325,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( quizpun2_sound_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE( 0x00, 0x00 ) AM_WRITE( SMH_NOP ) // IRQ end - AM_RANGE( 0x20, 0x20 ) AM_WRITE( SMH_NOP ) // NMI end + AM_RANGE( 0x00, 0x00 ) AM_WRITENOP // IRQ end + AM_RANGE( 0x20, 0x20 ) AM_WRITENOP // NMI end AM_RANGE( 0x40, 0x40 ) AM_READ( soundlatch_r ) AM_RANGE( 0x60, 0x61 ) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w ) ADDRESS_MAP_END diff --git a/src/mame/drivers/raiden.c b/src/mame/drivers/raiden.c index 378a7683608..8d4f9335e07 100644 --- a/src/mame/drivers/raiden.c +++ b/src/mame/drivers/raiden.c @@ -65,7 +65,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x0b000, 0x0b007) AM_WRITE(raiden_control_w) AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_GENERIC(videoram) AM_RANGE(0x0d000, 0x0d00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w) - AM_RANGE(0x0d060, 0x0d067) AM_WRITE(SMH_RAM) AM_BASE(&raiden_scroll_ram) + AM_RANGE(0x0d060, 0x0d067) AM_WRITEONLY AM_BASE(&raiden_scroll_ram) AM_RANGE(0xa0000, 0xfffff) AM_ROM ADDRESS_MAP_END @@ -90,7 +90,7 @@ static ADDRESS_MAP_START( alt_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x0e000, 0x0e001) AM_READ_PORT("P1_P2") AM_RANGE(0x0e000, 0x0e007) AM_WRITE(raidena_control_w) AM_RANGE(0x0e002, 0x0e003) AM_READ_PORT("DSW") - AM_RANGE(0x0f000, 0x0f035) AM_WRITE(SMH_RAM) AM_BASE(&raiden_scroll_ram) + AM_RANGE(0x0f000, 0x0f035) AM_WRITEONLY AM_BASE(&raiden_scroll_ram) AM_RANGE(0xa0000, 0xfffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/rallyx.c b/src/mame/drivers/rallyx.c index c1fb35b5e19..4869aaf363f 100644 --- a/src/mame/drivers/rallyx.c +++ b/src/mame/drivers/rallyx.c @@ -324,7 +324,7 @@ static ADDRESS_MAP_START( rallyx_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1") AM_RANGE(0xa080, 0xa080) AM_READ_PORT("P2") AM_RANGE(0xa100, 0xa100) AM_READ_PORT("DSW") - AM_RANGE(0xa000, 0xa00f) AM_WRITE(SMH_RAM) AM_BASE(&rallyx_radarattr) + AM_RANGE(0xa000, 0xa00f) AM_WRITEONLY AM_BASE(&rallyx_radarattr) AM_RANGE(0xa080, 0xa080) AM_WRITE(watchdog_reset_w) AM_RANGE(0xa100, 0xa11f) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&namco_soundregs) AM_RANGE(0xa130, 0xa130) AM_WRITE(rallyx_scrollx_w) @@ -347,7 +347,7 @@ static ADDRESS_MAP_START( jungler_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xa080, 0xa080) AM_READ_PORT("P2") AM_RANGE(0xa100, 0xa100) AM_READ_PORT("DSW1") AM_RANGE(0xa180, 0xa180) AM_READ_PORT("DSW2") - AM_RANGE(0xa000, 0xa00f) AM_MIRROR(0x00f0) AM_WRITE(SMH_RAM) AM_BASE(&rallyx_radarattr) // jungler writes to a03x + AM_RANGE(0xa000, 0xa00f) AM_MIRROR(0x00f0) AM_WRITEONLY AM_BASE(&rallyx_radarattr) // jungler writes to a03x AM_RANGE(0xa080, 0xa080) AM_WRITE(watchdog_reset_w) AM_RANGE(0xa100, 0xa100) AM_WRITE(soundlatch_w) AM_RANGE(0xa130, 0xa130) AM_WRITE(rallyx_scrollx_w) /* only jungler and tactcian */ diff --git a/src/mame/drivers/realbrk.c b/src/mame/drivers/realbrk.c index ebf201075c7..ab437f350d3 100644 --- a/src/mame/drivers/realbrk.c +++ b/src/mame/drivers/realbrk.c @@ -158,15 +158,15 @@ static WRITE16_HANDLER( backup_ram_w ) static ADDRESS_MAP_START( base_mem, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM AM_RANGE(0x200000, 0x203fff) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites - AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SMH_RAM,paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram ) // Palette - AM_RANGE(0x600000, 0x601fff) AM_READWRITE(SMH_RAM,realbrk_vram_0_w) AM_BASE(&realbrk_vram_0 ) // Background (0) - AM_RANGE(0x602000, 0x603fff) AM_READWRITE(SMH_RAM,realbrk_vram_1_w) AM_BASE(&realbrk_vram_1 ) // Background (1) - AM_RANGE(0x604000, 0x604fff) AM_READWRITE(SMH_RAM,realbrk_vram_2_w) AM_BASE(&realbrk_vram_2 ) // Text (2) - AM_RANGE(0x606000, 0x60600f) AM_READWRITE(SMH_RAM,realbrk_vregs_w) AM_BASE(&realbrk_vregs ) // Scroll + Video Regs + AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram ) // Palette + AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(realbrk_vram_0_w) AM_BASE(&realbrk_vram_0 ) // Background (0) + AM_RANGE(0x602000, 0x603fff) AM_RAM_WRITE(realbrk_vram_1_w) AM_BASE(&realbrk_vram_1 ) // Background (1) + AM_RANGE(0x604000, 0x604fff) AM_RAM_WRITE(realbrk_vram_2_w) AM_BASE(&realbrk_vram_2 ) // Text (2) + AM_RANGE(0x606000, 0x60600f) AM_RAM_WRITE(realbrk_vregs_w) AM_BASE(&realbrk_vregs ) // Scroll + Video Regs AM_RANGE(0x605000, 0x61ffff) AM_RAM // AM_RANGE(0x800000, 0x800003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0xff00) // YMZ280 AM_RANGE(0xfe0000, 0xfeffff) AM_RAM // RAM - AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE(SMH_RAM,tmp68301_regs_w) AM_BASE(&tmp68301_regs ) // TMP68301 Registers + AM_RANGE(0xfffc00, 0xffffff) AM_RAM_WRITE(tmp68301_regs_w) AM_BASE(&tmp68301_regs ) // TMP68301 Registers ADDRESS_MAP_END /*realbrk specific memory map*/ @@ -175,7 +175,7 @@ static ADDRESS_MAP_START( realbrk_mem, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x800008, 0x80000b) AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff) // AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0") // P1 & P2 (Inputs) AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1") // Coins - AM_RANGE(0xc00004, 0xc00005) AM_READWRITE(realbrk_dsw_r,SMH_RAM) AM_BASE(&realbrk_dsw_select) // DSW select + AM_RANGE(0xc00004, 0xc00005) AM_RAM_READ(realbrk_dsw_r) AM_BASE(&realbrk_dsw_select) // DSW select AM_RANGE(0xff0000, 0xfffbff) AM_RAM // RAM AM_RANGE(0xfffd0a, 0xfffd0b) AM_WRITE(realbrk_flipscreen_w ) // Hack! Parallel port data register ADDRESS_MAP_END @@ -192,19 +192,19 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( pkgnshdx_mem, ADDRESS_SPACE_PROGRAM, 16) AM_RANGE(0x800008, 0x80000b) AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff) // AM_RANGE(0xc00000, 0xc00013) AM_READ(pkgnshdx_input_r ) // P1 & P2 (Inputs) - AM_RANGE(0xc00004, 0xc00005) AM_WRITE(SMH_RAM) AM_BASE(&realbrk_dsw_select) // DSW select + AM_RANGE(0xc00004, 0xc00005) AM_WRITEONLY AM_BASE(&realbrk_dsw_select) // DSW select AM_RANGE(0xff0000, 0xfffbff) AM_READWRITE(backup_ram_dx_r,backup_ram_w) AM_BASE(&backup_ram) // RAM AM_IMPORT_FROM(base_mem) ADDRESS_MAP_END /*dai2kaku specific memory map*/ static ADDRESS_MAP_START( dai2kaku_mem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x605000, 0x6053ff) AM_READWRITE(SMH_RAM,SMH_RAM) AM_BASE(&realbrk_vram_0ras) // rasterinfo (0) - AM_RANGE(0x605400, 0x6057ff) AM_READWRITE(SMH_RAM,SMH_RAM) AM_BASE(&realbrk_vram_1ras) // rasterinfo (1) + AM_RANGE(0x605000, 0x6053ff) AM_RAM AM_BASE(&realbrk_vram_0ras) // rasterinfo (0) + AM_RANGE(0x605400, 0x6057ff) AM_RAM AM_BASE(&realbrk_vram_1ras) // rasterinfo (1) AM_RANGE(0x800008, 0x80000b) AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff) // AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0") // P1 & P2 (Inputs) AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1") // Coins - AM_RANGE(0xc00004, 0xc00005) AM_READWRITE(realbrk_dsw_r,SMH_RAM) AM_BASE(&realbrk_dsw_select) // DSW select + AM_RANGE(0xc00004, 0xc00005) AM_RAM_READ(realbrk_dsw_r) AM_BASE(&realbrk_dsw_select) // DSW select AM_RANGE(0xff0000, 0xfffbff) AM_RAM // RAM AM_RANGE(0xfffd0a, 0xfffd0b) AM_WRITE(dai2kaku_flipscreen_w ) // Hack! Parallel port data register AM_IMPORT_FROM(base_mem) diff --git a/src/mame/drivers/redalert.c b/src/mame/drivers/redalert.c index ea9ea0b941f..20459f37215 100644 --- a/src/mame/drivers/redalert.c +++ b/src/mame/drivers/redalert.c @@ -158,10 +158,10 @@ static ADDRESS_MAP_START( redalert_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0f8f) AM_READ_PORT("C000") AM_WRITENOP AM_RANGE(0xc010, 0xc010) AM_MIRROR(0x0f8f) AM_READ_PORT("C010") AM_WRITENOP AM_RANGE(0xc020, 0xc020) AM_MIRROR(0x0f8f) AM_READ_PORT("C020") AM_WRITENOP - AM_RANGE(0xc030, 0xc030) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, redalert_audio_command_w) - AM_RANGE(0xc040, 0xc040) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&redalert_video_control) - AM_RANGE(0xc050, 0xc050) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&redalert_bitmap_color) - AM_RANGE(0xc060, 0xc060) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, redalert_voice_command_w) + AM_RANGE(0xc030, 0xc030) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITE(redalert_audio_command_w) + AM_RANGE(0xc040, 0xc040) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITEONLY AM_BASE(&redalert_video_control) + AM_RANGE(0xc050, 0xc050) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITEONLY AM_BASE(&redalert_bitmap_color) + AM_RANGE(0xc060, 0xc060) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITE(redalert_voice_command_w) AM_RANGE(0xc070, 0xc070) AM_MIRROR(0x0f8f) AM_READWRITE(redalert_interrupt_clear_r, redalert_interrupt_clear_w) AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("maincpu", 0x8000) ADDRESS_MAP_END @@ -174,9 +174,9 @@ static ADDRESS_MAP_START( ww3_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0f8f) AM_READ_PORT("C000") AM_WRITENOP AM_RANGE(0xc010, 0xc010) AM_MIRROR(0x0f8f) AM_READ_PORT("C010") AM_WRITENOP AM_RANGE(0xc020, 0xc020) AM_MIRROR(0x0f8f) AM_READ_PORT("C020") AM_WRITENOP - AM_RANGE(0xc030, 0xc030) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, redalert_audio_command_w) - AM_RANGE(0xc040, 0xc040) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&redalert_video_control) - AM_RANGE(0xc050, 0xc050) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&redalert_bitmap_color) + AM_RANGE(0xc030, 0xc030) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITE(redalert_audio_command_w) + AM_RANGE(0xc040, 0xc040) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITEONLY AM_BASE(&redalert_video_control) + AM_RANGE(0xc050, 0xc050) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITEONLY AM_BASE(&redalert_bitmap_color) AM_RANGE(0xc070, 0xc070) AM_MIRROR(0x0f8f) AM_READWRITE(redalert_interrupt_clear_r, redalert_interrupt_clear_w) AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("maincpu", 0x8000) ADDRESS_MAP_END @@ -189,9 +189,9 @@ static ADDRESS_MAP_START( panther_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0f8f) AM_READ_PORT("C000") AM_WRITENOP AM_RANGE(0xc010, 0xc010) AM_MIRROR(0x0f8f) AM_READ_PORT("C010") AM_WRITENOP AM_RANGE(0xc020, 0xc020) AM_MIRROR(0x0f8f) AM_READ(panther_unk_r) /* vblank? */ - AM_RANGE(0xc030, 0xc030) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, redalert_audio_command_w) - AM_RANGE(0xc040, 0xc040) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&redalert_video_control) - AM_RANGE(0xc050, 0xc050) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&redalert_bitmap_color) + AM_RANGE(0xc030, 0xc030) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITE(redalert_audio_command_w) + AM_RANGE(0xc040, 0xc040) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITEONLY AM_BASE(&redalert_video_control) + AM_RANGE(0xc050, 0xc050) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITEONLY AM_BASE(&redalert_bitmap_color) AM_RANGE(0xc070, 0xc070) AM_MIRROR(0x0f8f) AM_READWRITE(panther_interrupt_clear_r, redalert_interrupt_clear_w) AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("maincpu", 0x8000) ADDRESS_MAP_END @@ -204,12 +204,12 @@ static ADDRESS_MAP_START( demoneye_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0f8f) AM_READ_PORT("C000") AM_WRITENOP AM_RANGE(0xc010, 0xc010) AM_MIRROR(0x0f8f) AM_READ_PORT("C010") AM_WRITENOP AM_RANGE(0xc020, 0xc020) AM_MIRROR(0x0f8f) AM_READ_PORT("C020") AM_WRITENOP - AM_RANGE(0xc030, 0xc030) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, demoneye_audio_command_w) - AM_RANGE(0xc040, 0xc040) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&redalert_video_control) - AM_RANGE(0xc050, 0xc050) AM_MIRROR(0x0f8f) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&redalert_bitmap_color) - AM_RANGE(0xc060, 0xc060) AM_MIRROR(0x0f80) AM_READWRITE(SMH_NOP, SMH_NOP) /* unknown */ - AM_RANGE(0xc061, 0xc061) AM_MIRROR(0x0f80) AM_READWRITE(SMH_NOP, SMH_NOP) /* unknown */ - AM_RANGE(0xc062, 0xc062) AM_MIRROR(0x0f80) AM_READWRITE(SMH_NOP, SMH_NOP) /* unknown */ + AM_RANGE(0xc030, 0xc030) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITE(demoneye_audio_command_w) + AM_RANGE(0xc040, 0xc040) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITEONLY AM_BASE(&redalert_video_control) + AM_RANGE(0xc050, 0xc050) AM_MIRROR(0x0f8f) AM_READNOP AM_WRITEONLY AM_BASE(&redalert_bitmap_color) + AM_RANGE(0xc060, 0xc060) AM_MIRROR(0x0f80) AM_NOP /* unknown */ + AM_RANGE(0xc061, 0xc061) AM_MIRROR(0x0f80) AM_NOP /* unknown */ + AM_RANGE(0xc062, 0xc062) AM_MIRROR(0x0f80) AM_NOP /* unknown */ AM_RANGE(0xc070, 0xc070) AM_MIRROR(0x0f8f) AM_READWRITE(redalert_interrupt_clear_r, redalert_interrupt_clear_w) /* probably not correct */ AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("maincpu", 0x8000) ADDRESS_MAP_END diff --git a/src/mame/drivers/rmhaihai.c b/src/mame/drivers/rmhaihai.c index aafadb8e760..2db23e1cd45 100644 --- a/src/mame/drivers/rmhaihai.c +++ b/src/mame/drivers/rmhaihai.c @@ -184,8 +184,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( rmhaihai_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x0000, 0x7fff) AM_READ(samples_r) - AM_RANGE(0x8000, 0x8000) AM_READWRITE(keyboard_r, SMH_NOP) // ?? - AM_RANGE(0x8001, 0x8001) AM_READWRITE(SMH_NOP, keyboard_w) // ?? + AM_RANGE(0x8000, 0x8000) AM_READ(keyboard_r) AM_WRITENOP // ?? + AM_RANGE(0x8001, 0x8001) AM_READNOP AM_WRITE(keyboard_w) // ?? AM_RANGE(0x8020, 0x8020) AM_DEVREAD("aysnd", ay8910_r) AM_RANGE(0x8020, 0x8021) AM_DEVWRITE("aysnd", ay8910_address_data_w) AM_RANGE(0x8040, 0x8040) AM_DEVWRITE("msm", adpcm_w) @@ -207,8 +207,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( themj_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x0000, 0x7fff) AM_READ(samples_r) - AM_RANGE(0x8000, 0x8000) AM_READWRITE(keyboard_r, SMH_NOP) // ?? - AM_RANGE(0x8001, 0x8001) AM_READWRITE(SMH_NOP, keyboard_w) // ?? + AM_RANGE(0x8000, 0x8000) AM_READ(keyboard_r) AM_WRITENOP // ?? + AM_RANGE(0x8001, 0x8001) AM_READNOP AM_WRITE(keyboard_w) // ?? AM_RANGE(0x8020, 0x8020) AM_DEVREAD("aysnd", ay8910_r) AM_RANGE(0x8020, 0x8021) AM_DEVWRITE("aysnd", ay8910_address_data_w) AM_RANGE(0x8040, 0x8040) AM_DEVWRITE("msm", adpcm_w) diff --git a/src/mame/drivers/route16.c b/src/mame/drivers/route16.c index ca8e6c1ef12..8b178aa94a4 100644 --- a/src/mame/drivers/route16.c +++ b/src/mame/drivers/route16.c @@ -227,7 +227,7 @@ static WRITE8_HANDLER ( speakres_out2_w ) static ADDRESS_MAP_START( route16_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM - /*AM_RANGE(0x3000, 0x3001) AM_READWRITE(SMH_NOP, SMH_NOP) protection device */ + /*AM_RANGE(0x3000, 0x3001) AM_NOP protection device */ AM_RANGE(0x4000, 0x43ff) AM_READWRITE(sharedram_r, route16_sharedram_w) AM_BASE(&sharedram) AM_RANGE(0x4800, 0x4800) AM_READ_PORT("DSW") AM_WRITE(route16_out0_w) AM_RANGE(0x5000, 0x5000) AM_READ_PORT("P1") AM_WRITE(route16_out1_w) diff --git a/src/mame/drivers/royalmah.c b/src/mame/drivers/royalmah.c index 8af50788503..e434bf4243c 100644 --- a/src/mame/drivers/royalmah.c +++ b/src/mame/drivers/royalmah.c @@ -420,20 +420,20 @@ static WRITE8_HANDLER ( mjclub_bank_w ) static ADDRESS_MAP_START( royalmah_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE( 0x0000, 0x6fff ) AM_READWRITE( SMH_ROM, royalmah_rom_w ) + AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITE( royalmah_rom_w ) AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram) AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" ) // banked ROMs not present in royalmah - AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram) + AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram) ADDRESS_MAP_END static ADDRESS_MAP_START( mjapinky_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE( 0x0000, 0x6fff ) AM_READWRITE( SMH_ROM, royalmah_rom_w ) + AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITE( royalmah_rom_w ) AM_RANGE( 0x7000, 0x77ff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram) AM_RANGE( 0x7800, 0x7fff ) AM_RAM AM_RANGE( 0x8000, 0x8000 ) AM_READ( mjapinky_dsw_r ) AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" ) - AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram) + AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram) ADDRESS_MAP_END @@ -563,9 +563,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( janho_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE( 0x0000, 0x6fff ) AM_READWRITE( SMH_ROM, royalmah_rom_w ) + AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITE( royalmah_rom_w ) AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE(1) AM_BASE_SIZE_GENERIC(nvram) - AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram) + AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram) ADDRESS_MAP_END @@ -687,7 +687,7 @@ static ADDRESS_MAP_START( jansou_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x6800, 0x6800 ) AM_WRITE(jansou_sound_w) AM_RANGE( 0x7000, 0x77ff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram) - AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram) + AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram) ADDRESS_MAP_END static ADDRESS_MAP_START( jansou_sub_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -710,7 +710,7 @@ static ADDRESS_MAP_START( janptr96_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x6000, 0x6fff ) AM_RAMBANK("bank3") // nvram AM_RANGE( 0x7000, 0x7fff ) AM_RAMBANK("bank2") // banked nvram AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1") - AM_RANGE( 0x8000, 0xffff ) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(videoram) + AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram) ADDRESS_MAP_END static WRITE8_HANDLER( janptr96_dswsel_w ) @@ -842,8 +842,8 @@ static ADDRESS_MAP_START( mjifb_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram) AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjifb_rom_io_r, mjifb_rom_io_w) AM_BASE_GENERIC(videoram) - AM_RANGE( 0xc000, 0xffff ) AM_READWRITE(SMH_ROM, mjifb_videoram_w) -// AM_RANGE( 0xc000, 0xffff ) AM_READWRITE(SMH_ROM, SMH_RAM) This should, but doesn't work + AM_RANGE( 0xc000, 0xffff ) AM_ROM AM_WRITE(mjifb_videoram_w) +// AM_RANGE( 0xc000, 0xffff ) AM_ROM AM_WRITEONLY This should, but doesn't work ADDRESS_MAP_END static READ8_HANDLER( mjifb_p3_r ) @@ -941,7 +941,7 @@ static ADDRESS_MAP_START( mjdejavu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram) AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjdejavu_rom_io_r, mjdejavu_rom_io_w) AM_BASE_GENERIC(videoram) - AM_RANGE( 0xc000, 0xffff ) AM_READWRITE(SMH_ROM, mjifb_videoram_w) + AM_RANGE( 0xc000, 0xffff ) AM_ROM AM_WRITE(mjifb_videoram_w) ADDRESS_MAP_END @@ -982,7 +982,7 @@ static ADDRESS_MAP_START( mjtensin_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x6ff3, 0x6ff3 ) AM_WRITE( mjtensin_6ff3_w ) AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram) AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" ) - AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram) + AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram) ADDRESS_MAP_END static ADDRESS_MAP_START( mjtensin_iomap, ADDRESS_SPACE_IO, 8 ) @@ -1052,7 +1052,7 @@ static ADDRESS_MAP_START( cafetime_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x7fe4, 0x7fe4 ) AM_READ( cafetime_7fe4_r ) AM_RANGE( 0x7ff0, 0x7fff ) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w) AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" ) - AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram) + AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram) ADDRESS_MAP_END diff --git a/src/mame/drivers/safarir.c b/src/mame/drivers/safarir.c index 0451904d912..d57841e3d86 100644 --- a/src/mame/drivers/safarir.c +++ b/src/mame/drivers/safarir.c @@ -318,8 +318,8 @@ static MACHINE_START( safarir ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x17ff) AM_ROM AM_RANGE(0x2000, 0x27ff) AM_READWRITE(ram_r, ram_w) AM_SIZE(&ram_size) - AM_RANGE(0x2800, 0x2800) AM_MIRROR(0x03ff) AM_READWRITE(SMH_NOP, ram_bank_w) - AM_RANGE(0x2c00, 0x2cff) AM_MIRROR(0x03ff) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&bg_scroll) + AM_RANGE(0x2800, 0x2800) AM_MIRROR(0x03ff) AM_READNOP AM_WRITE(ram_bank_w) + AM_RANGE(0x2c00, 0x2cff) AM_MIRROR(0x03ff) AM_READNOP AM_WRITEONLY AM_BASE(&bg_scroll) AM_RANGE(0x3000, 0x30ff) AM_MIRROR(0x03ff) AM_WRITE(safarir_audio_w) /* goes to SN76477 */ AM_RANGE(0x3400, 0x3400) AM_MIRROR(0x03ff) AM_WRITENOP /* cleared at the beginning */ AM_RANGE(0x3800, 0x38ff) AM_MIRROR(0x03ff) AM_READ_PORT("INPUTS") AM_WRITENOP diff --git a/src/mame/drivers/sbasketb.c b/src/mame/drivers/sbasketb.c index fcbbe5d3b91..4582df17e0b 100644 --- a/src/mame/drivers/sbasketb.c +++ b/src/mame/drivers/sbasketb.c @@ -73,7 +73,7 @@ static ADDRESS_MAP_START( sbasketb_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x3c80, 0x3c80) AM_WRITE(sbasketb_flipscreen_w) AM_RANGE(0x3c81, 0x3c81) AM_WRITE(interrupt_enable_w) AM_RANGE(0x3c83, 0x3c84) AM_WRITE(sbasketb_coin_counter_w) - AM_RANGE(0x3c85, 0x3c85) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(trackfld_state, spriteram_select) + AM_RANGE(0x3c85, 0x3c85) AM_WRITEONLY AM_BASE_MEMBER(trackfld_state, spriteram_select) AM_RANGE(0x3d00, 0x3d00) AM_WRITE(soundlatch_w) AM_RANGE(0x3d80, 0x3d80) AM_WRITE(sbasketb_sh_irqtrigger_w) AM_RANGE(0x3e00, 0x3e00) AM_READ_PORT("SYSTEM") diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c index 042e8aabe88..68f1effc910 100644 --- a/src/mame/drivers/scobra.c +++ b/src/mame/drivers/scobra.c @@ -324,7 +324,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( hustlerb_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x2fff) AM_ROM AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w) - AM_RANGE(0x8000, 0x8fff) AM_READWRITE(scobra_soundram_r, SMH_RAM) AM_BASE(&scobra_soundram) /* only here to initialize pointer */ + AM_RANGE(0x8000, 0x8fff) AM_RAM_READ(scobra_soundram_r) AM_BASE(&scobra_soundram) /* only here to initialize pointer */ ADDRESS_MAP_END diff --git a/src/mame/drivers/scramble.c b/src/mame/drivers/scramble.c index 4f6b44d0418..969bd289ddd 100644 --- a/src/mame/drivers/scramble.c +++ b/src/mame/drivers/scramble.c @@ -85,7 +85,7 @@ static ADDRESS_MAP_START( turpins_map, ADDRESS_SPACE_PROGRAM, 8 ) // AM_RANGE(0x8100, 0x8103) AM_READ(ppi8255_0_r) // AM_RANGE(0x8200, 0x8203) AM_READ(ppi8255_1_r) - AM_RANGE(0xf000, 0xffff) AM_READ(SMH_RAM) + AM_RANGE(0xf000, 0xffff) AM_READONLY ADDRESS_MAP_END static ADDRESS_MAP_START( ckongs_map, ADDRESS_SPACE_PROGRAM, 8 ) diff --git a/src/mame/drivers/sderby.c b/src/mame/drivers/sderby.c index f9a3d35b920..80ce36ab183 100644 --- a/src/mame/drivers/sderby.c +++ b/src/mame/drivers/sderby.c @@ -286,13 +286,13 @@ static WRITE16_HANDLER( roulette_out_w ) static ADDRESS_MAP_START( sderby_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x07ffff) AM_ROM - AM_RANGE(0x100000, 0x100fff) AM_RAM AM_WRITE(sderby_videoram_w) AM_BASE(&sderby_videoram) /* bg */ - AM_RANGE(0x101000, 0x101fff) AM_RAM AM_WRITE(sderby_md_videoram_w) AM_BASE(&sderby_md_videoram) /* mid */ - AM_RANGE(0x102000, 0x103fff) AM_RAM AM_WRITE(sderby_fg_videoram_w) AM_BASE(&sderby_fg_videoram) /* fg */ + AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(sderby_videoram_w) AM_BASE(&sderby_videoram) /* bg */ + AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(sderby_md_videoram_w) AM_BASE(&sderby_md_videoram) /* mid */ + AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(sderby_fg_videoram_w) AM_BASE(&sderby_fg_videoram) /* fg */ AM_RANGE(0x104000, 0x10400b) AM_WRITE(sderby_scroll_w) AM_RANGE(0x10400c, 0x10400d) AM_WRITENOP /* ??? - check code at 0x000456 (executed once at startup) */ AM_RANGE(0x10400e, 0x10400f) AM_WRITENOP /* ??? - check code at 0x000524 (executed once at startup) */ - AM_RANGE(0x200000, 0x200fff) AM_RAM AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) + AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x308000, 0x30800d) AM_READ(sderby_input_r) AM_RANGE(0x308008, 0x308009) AM_WRITE(sderby_out_w) /* output port */ AM_RANGE(0x30800e, 0x30800f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff) @@ -304,9 +304,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( spacewin_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM - AM_RANGE(0x100000, 0x100fff) AM_RAM AM_WRITE(sderby_videoram_w) AM_BASE(&sderby_videoram) /* bg */ - AM_RANGE(0x101000, 0x101fff) AM_RAM AM_WRITE(sderby_md_videoram_w) AM_BASE(&sderby_md_videoram) /* mid */ - AM_RANGE(0x102000, 0x103fff) AM_RAM AM_WRITE(sderby_fg_videoram_w) AM_BASE(&sderby_fg_videoram) /* fg */ + AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(sderby_videoram_w) AM_BASE(&sderby_videoram) /* bg */ + AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(sderby_md_videoram_w) AM_BASE(&sderby_md_videoram) /* mid */ + AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(sderby_fg_videoram_w) AM_BASE(&sderby_fg_videoram) /* fg */ AM_RANGE(0x104000, 0x10400b) AM_WRITE(sderby_scroll_w) /* tilemaps offset control */ AM_RANGE(0x10400c, 0x10400d) AM_WRITENOP /* seems another video register. constantly used */ AM_RANGE(0x10400e, 0x10400f) AM_WRITENOP /* seems another video register. constantly used */ @@ -317,7 +317,7 @@ static ADDRESS_MAP_START( spacewin_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x30800e, 0x30800f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff) AM_RANGE(0x380000, 0x380fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xd00000, 0xd001ff) AM_RAM - AM_RANGE(0x800000, 0x800fff) AM_RAM AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) + AM_RANGE(0x800000, 0x800fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x801000, 0x80100d) AM_WRITENOP /* unknown */ AM_RANGE(0x8f0000, 0x8f07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* 16K Dallas DS1220Y-200 NVRAM */ AM_RANGE(0x8fc000, 0x8fffff) AM_RAM @@ -325,7 +325,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( roulette_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM - AM_RANGE(0x440000, 0x440fff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) + AM_RANGE(0x440000, 0x440fff) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(sderby_videoram_w) AM_BASE(&sderby_videoram) /* bg */ AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(sderby_md_videoram_w) AM_BASE(&sderby_md_videoram) /* mid */ AM_RANGE(0x502000, 0x503fff) AM_RAM_WRITE(sderby_fg_videoram_w) AM_BASE(&sderby_fg_videoram) /* fg */ diff --git a/src/mame/drivers/seattle.c b/src/mame/drivers/seattle.c index e8ca5d9d566..7b68aa20ba7 100644 --- a/src/mame/drivers/seattle.c +++ b/src/mame/drivers/seattle.c @@ -2778,7 +2778,7 @@ static void init_common(running_machine *machine, int ioasic, int serialnum, int { case PHOENIX_CONFIG: /* original Phoenix board only has 4MB of RAM */ - memory_install_readwrite32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x00400000, 0x007fffff, 0, 0, (read32_space_func)SMH_UNMAP, (write32_space_func)SMH_UNMAP); + memory_unmap_readwrite(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x00400000, 0x007fffff, 0, 0); break; case SEATTLE_WIDGET_CONFIG: diff --git a/src/mame/drivers/segac2.c b/src/mame/drivers/segac2.c index 51c8f73828f..d74be7c1de0 100644 --- a/src/mame/drivers/segac2.c +++ b/src/mame/drivers/segac2.c @@ -2087,7 +2087,7 @@ static DRIVER_INIT( tfrceacb ) { /* disable the palette bank switching from the protection chip */ segac2_common_init(machine, NULL); - memory_install_write16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x800000, 0x800001, 0, 0, (write16_space_func)SMH_NOP); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x800000, 0x800001, 0, 0); } static DRIVER_INIT( borench ) diff --git a/src/mame/drivers/segamsys.c b/src/mame/drivers/segamsys.c index 898af7e370f..d33347fada0 100644 --- a/src/mame/drivers/segamsys.c +++ b/src/mame/drivers/segamsys.c @@ -1602,7 +1602,7 @@ static WRITE8_HANDLER( mt_sms_standard_rom_bank_w ) else { memory_install_read_bank_handler(space, 0x0000, 0xbfff, 0, 0, "bank5"); - memory_install_write8_handler(space, 0x0000, 0xbfff, 0, 0, (write8_space_func)SMH_UNMAP); + memory_unmap_write(space, 0x0000, 0xbfff, 0, 0); } //printf("bank ram??\n"); @@ -1683,7 +1683,7 @@ void megatech_set_genz80_as_sms_standard_map(running_machine *machine, const cha /* fixed rom bank area */ sms_rom = auto_alloc_array(machine, UINT8, 0x400000); memory_install_read_bank_handler(cputag_get_address_space(machine, tag, ADDRESS_SPACE_PROGRAM), 0x0000, 0xbfff, 0, 0, "bank5"); - memory_install_write8_handler(cputag_get_address_space(machine, tag, ADDRESS_SPACE_PROGRAM), 0x0000, 0xbfff, 0, 0, (write8_space_func)SMH_UNMAP); + memory_unmap_write(cputag_get_address_space(machine, tag, ADDRESS_SPACE_PROGRAM), 0x0000, 0xbfff, 0, 0); memory_set_bankptr(machine, "bank5", sms_rom ); memcpy(sms_rom, memory_region(machine, "maincpu"), 0x400000); @@ -1697,7 +1697,7 @@ void megatech_set_genz80_as_sms_standard_map(running_machine *machine, const cha /* fixed rom bank area */ sms_rom = auto_alloc_array(machine, UINT8, 0xc000); memory_install_read_bank_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x0000, 0xbfff, 0, 0, "bank5"); - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x0000, 0xbfff, 0, 0, (write8_space_func)SMH_UNMAP); + memory_unmap_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x0000, 0xbfff, 0, 0); memory_set_bankptr(machine, "bank5", sms_rom ); memcpy(sms_rom, memory_region(machine, "maincpu"), 0xc000); diff --git a/src/mame/drivers/segaorun.c b/src/mame/drivers/segaorun.c index 82364e0360b..20dfc065c3a 100644 --- a/src/mame/drivers/segaorun.c +++ b/src/mame/drivers/segaorun.c @@ -97,17 +97,17 @@ static const ppi8255_interface single_ppi_intf = static const segaic16_memory_map_entry outrun_info[] = { - { 0x35/2, 0x90000, 0x10000, 0xf00000, ~0, segaic16_road_control_0_r, NULL, segaic16_road_control_0_w, NULL, NULL, "road control" }, - { 0x35/2, 0x80000, 0x01000, 0xf0f000, ~0, NULL, "bank10", NULL, "bank10", &segaic16_roadram_0, "road RAM" }, - { 0x35/2, 0x60000, 0x08000, 0xf18000, ~0, NULL, "bank11", NULL, "bank11", &cpu1ram, "CPU 1 RAM" }, - { 0x35/2, 0x00000, 0x60000, 0xf00000, ~0, NULL, "bank12", (write16_space_func)SMH_UNMAP, NULL, &cpu1rom, "CPU 1 ROM" }, - { 0x31/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, - { 0x2d/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, - { 0x29/2, 0x00000, 0x02000, 0xffe000, ~0, NULL, "bank14", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, - { 0x25/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank15", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, - { 0x25/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank16", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, - { 0x21/2, 0x60000, 0x08000, 0xf98000, ~0, NULL, "bank17", NULL, "bank17", &workram, "CPU 0 RAM" }, - { 0x21/2, 0x00000, 0x60000, 0xf80000, 0x00000, NULL, "bank18", (write16_space_func)SMH_UNMAP, NULL, NULL, "CPU 0 ROM" }, + { 0x35/2, 0x90000, 0x10000, 0xf00000, ~0, segaic16_road_control_0_r, NULL, segaic16_road_control_0_w, NULL, NULL, "road control" }, + { 0x35/2, 0x80000, 0x01000, 0xf0f000, ~0, NULL, "bank10", NULL, "bank10", &segaic16_roadram_0, "road RAM" }, + { 0x35/2, 0x60000, 0x08000, 0xf18000, ~0, NULL, "bank11", NULL, "bank11", &cpu1ram, "CPU 1 RAM" }, + { 0x35/2, 0x00000, 0x60000, 0xf00000, ~0, NULL, "bank12", NULL, NULL, &cpu1rom, "CPU 1 ROM" }, + { 0x31/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, + { 0x2d/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, + { 0x29/2, 0x00000, 0x02000, 0xffe000, ~0, NULL, "bank14", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, + { 0x25/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank15", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, + { 0x25/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank16", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, + { 0x21/2, 0x60000, 0x08000, 0xf98000, ~0, NULL, "bank17", NULL, "bank17", &workram, "CPU 0 RAM" }, + { 0x21/2, 0x00000, 0x60000, 0xf80000, 0x00000, NULL, "bank18", NULL, NULL, NULL, "CPU 0 ROM" }, { 0 } }; diff --git a/src/mame/drivers/segas16b.c b/src/mame/drivers/segas16b.c index 5c7f4087208..68163069717 100644 --- a/src/mame/drivers/segas16b.c +++ b/src/mame/drivers/segas16b.c @@ -950,71 +950,71 @@ static WRITE16_HANDLER( atomicp_sound_w ); static const segaic16_memory_map_entry rom_171_5358_info_small[] = { - { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, - { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, - { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, - { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, - { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, - { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, - { 0x29/2, 0x00000, 0x20000, 0xfe0000, 0x20000, NULL, "bank15", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 2" }, - { 0x25/2, 0x00000, 0x20000, 0xfe0000, 0x10000, NULL, "bank16", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 1" }, - { 0x21/2, 0x00000, 0x20000, 0xfe0000, 0x00000, NULL, "bank17", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 0" }, + { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, + { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, + { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, + { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, + { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, + { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, + { 0x29/2, 0x00000, 0x20000, 0xfe0000, 0x20000, NULL, "bank15", NULL, NULL, NULL, "ROM 2" }, + { 0x25/2, 0x00000, 0x20000, 0xfe0000, 0x10000, NULL, "bank16", NULL, NULL, NULL, "ROM 1" }, + { 0x21/2, 0x00000, 0x20000, 0xfe0000, 0x00000, NULL, "bank17", NULL, NULL, NULL, "ROM 0" }, { 0 } }; static const segaic16_memory_map_entry rom_171_5358_info[] = { - { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, - { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, - { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, - { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, - { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, - { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, - { 0x29/2, 0x00000, 0x20000, 0xfe0000, 0x40000, NULL, "bank15", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 2" }, - { 0x25/2, 0x00000, 0x20000, 0xfe0000, 0x20000, NULL, "bank16", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 1" }, - { 0x21/2, 0x00000, 0x20000, 0xfe0000, 0x00000, NULL, "bank17", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 0" }, + { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, + { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, + { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, + { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, + { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, + { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, + { 0x29/2, 0x00000, 0x20000, 0xfe0000, 0x40000, NULL, "bank15", NULL, NULL, NULL, "ROM 2" }, + { 0x25/2, 0x00000, 0x20000, 0xfe0000, 0x20000, NULL, "bank16", NULL, NULL, NULL, "ROM 1" }, + { 0x21/2, 0x00000, 0x20000, 0xfe0000, 0x00000, NULL, "bank17", NULL, NULL, NULL, "ROM 0" }, { 0 } }; static const segaic16_memory_map_entry rom_171_5704_info[] = { - { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, - { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, - { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, - { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, - { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, - { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, - { 0x29/2, 0x00000, 0x10000, 0xff0000, ~0, NULL, NULL, rom_5704_bank_w, NULL, NULL, "tile bank" }, - { 0x25/2, 0x00000, 0x80000, 0xfc0000, 0x80000, NULL, "bank16", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 1" }, - { 0x21/2, 0x00000, 0x80000, 0xfc0000, 0x00000, NULL, "bank17", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 0" }, + { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, + { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, + { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, + { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, + { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, + { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, + { 0x29/2, 0x00000, 0x10000, 0xff0000, ~0, NULL, NULL, rom_5704_bank_w, NULL, NULL, "tile bank" }, + { 0x25/2, 0x00000, 0x80000, 0xfc0000, 0x80000, NULL, "bank16", NULL, NULL, NULL, "ROM 1" }, + { 0x21/2, 0x00000, 0x80000, 0xfc0000, 0x00000, NULL, "bank17", NULL, NULL, NULL, "ROM 0" }, { 0 } }; static const segaic16_memory_map_entry rom_atomicp_info[] = { - { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, - { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, - { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, - { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, - { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, - { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, - { 0x29/2, 0x00000, 0x10000, 0xff0000, ~0, NULL, NULL, rom_5704_bank_w, NULL, NULL, "tile bank" }, - { 0x25/2, 0x00000, 0x10000, 0xff0000, ~0, NULL, NULL, atomicp_sound_w, NULL, NULL, "sound" }, - { 0x21/2, 0x00000, 0x80000, 0xfc0000, 0x00000, NULL, "bank17", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 0" }, + { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, + { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, + { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, + { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, + { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, + { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, + { 0x29/2, 0x00000, 0x10000, 0xff0000, ~0, NULL, NULL, rom_5704_bank_w, NULL, NULL, "tile bank" }, + { 0x25/2, 0x00000, 0x10000, 0xff0000, ~0, NULL, NULL, atomicp_sound_w, NULL, NULL, "sound" }, + { 0x21/2, 0x00000, 0x80000, 0xfc0000, 0x00000, NULL, "bank17", NULL, NULL, NULL, "ROM 0" }, { 0 } }; static const segaic16_memory_map_entry rom_171_5797_info[] = { - { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, - { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, - { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, - { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, - { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, - { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, - { 0x29/2, 0x00000, 0x10000, 0xff0000, ~0, unknown_rgn2_r, NULL, unknown_rgn2_w, NULL, NULL, "???" }, - { 0x25/2, 0x00000, 0x04000, 0xffc000, ~0, rom_5797_bank_math_r, NULL, rom_5797_bank_math_w, NULL, NULL, "tile bank/math" }, - { 0x21/2, 0x00000, 0x80000, 0xf80000, 0x00000, NULL, "bank17", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 0" }, + { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, + { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, + { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, + { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, + { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, + { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, + { 0x29/2, 0x00000, 0x10000, 0xff0000, ~0, unknown_rgn2_r, NULL, unknown_rgn2_w, NULL, NULL, "???" }, + { 0x25/2, 0x00000, 0x04000, 0xffc000, ~0, rom_5797_bank_math_r, NULL, rom_5797_bank_math_w, NULL, NULL, "tile bank/math" }, + { 0x21/2, 0x00000, 0x80000, 0xf80000, 0x00000, NULL, "bank17", NULL, NULL, NULL, "ROM 0" }, { 0 } }; diff --git a/src/mame/drivers/segas18.c b/src/mame/drivers/segas18.c index 6f6cb248c21..9bdc29423d0 100644 --- a/src/mame/drivers/segas18.c +++ b/src/mame/drivers/segas18.c @@ -92,43 +92,43 @@ static WRITE16_HANDLER( rom_5987_bank_w ); static const segaic16_memory_map_entry rom_171_shad_info[] = { - { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, - { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, - { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, - { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, - { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, - { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, - { 0x29/2, 0x00000, 0x10000, 0xff0000, ~0, NULL, NULL, NULL, NULL, NULL, "????" }, - { 0x25/2, 0x00000, 0x00010, 0xfffff0, ~0, genesis_vdp_r, NULL, genesis_vdp_w, NULL, NULL, "VDP" }, - { 0x21/2, 0x00000, 0x80000, 0xf80000, 0x00000, NULL, "bank17", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 0" }, + { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, + { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, + { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, + { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, + { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, + { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, + { 0x29/2, 0x00000, 0x10000, 0xff0000, ~0, NULL, NULL, NULL, NULL, NULL, "????" }, + { 0x25/2, 0x00000, 0x00010, 0xfffff0, ~0, genesis_vdp_r, NULL, genesis_vdp_w, NULL, NULL, "VDP" }, + { 0x21/2, 0x00000, 0x80000, 0xf80000, 0x00000, NULL, "bank17", NULL, NULL, NULL, "ROM 0" }, { 0 } }; static const segaic16_memory_map_entry rom_171_5874_info[] = { - { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, - { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, - { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, - { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, - { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, - { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, - { 0x29/2, 0x00000, 0x00010, 0xfffff0, ~0, genesis_vdp_r, NULL, genesis_vdp_w, NULL, NULL, "VDP" }, - { 0x25/2, 0x00000, 0x80000, 0xf80000, 0x80000, NULL, "bank16", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 1" }, - { 0x21/2, 0x00000, 0x80000, 0xf80000, 0x00000, NULL, "bank17", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 0" }, + { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, + { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, + { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, + { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, + { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, + { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, + { 0x29/2, 0x00000, 0x00010, 0xfffff0, ~0, genesis_vdp_r, NULL, genesis_vdp_w, NULL, NULL, "VDP" }, + { 0x25/2, 0x00000, 0x80000, 0xf80000, 0x80000, NULL, "bank16", NULL, NULL, NULL, "ROM 1" }, + { 0x21/2, 0x00000, 0x80000, 0xf80000, 0x00000, NULL, "bank17", NULL, NULL, NULL, "ROM 0" }, { 0 } }; static const segaic16_memory_map_entry rom_171_5987_info[] = { - { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, - { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, - { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, - { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, - { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, - { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, - { 0x29/2, 0x00000, 0x00010, 0xfffff0, ~0, genesis_vdp_r, NULL, genesis_vdp_w, NULL, NULL, "VDP" }, - { 0x25/2, 0x00000, 0x80000, 0xf80000, 0x80000, NULL, "bank16", rom_5987_bank_w, NULL, NULL, "ROM 1/banking" }, - { 0x21/2, 0x00000, 0x100000,0xf00000, 0x00000, NULL, "bank17", (write16_space_func)SMH_UNMAP, NULL, NULL, "ROM 0" }, + { 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, NULL, misc_io_w, NULL, NULL, "I/O space" }, + { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, NULL, "bank10", segaic16_paletteram_w, NULL, &segaic16_paletteram, "color RAM" }, + { 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, NULL, "bank11", segaic16_tileram_0_w, NULL, &segaic16_tileram_0, "tile RAM" }, + { 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, NULL, "bank12", segaic16_textram_0_w, NULL, &segaic16_textram_0, "text RAM" }, + { 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, NULL, "bank13", NULL, "bank13", &segaic16_spriteram_0, "object RAM" }, + { 0x2d/2, 0x00000, 0x04000, 0xffc000, ~0, NULL, "bank14", NULL, "bank14", &workram, "work RAM" }, + { 0x29/2, 0x00000, 0x00010, 0xfffff0, ~0, genesis_vdp_r, NULL, genesis_vdp_w, NULL, NULL, "VDP" }, + { 0x25/2, 0x00000, 0x80000, 0xf80000, 0x80000, NULL, "bank16", rom_5987_bank_w, NULL, NULL, "ROM 1/banking" }, + { 0x21/2, 0x00000, 0x100000,0xf00000, 0x00000, NULL, "bank17", NULL, NULL, NULL, "ROM 0" }, { 0 } }; diff --git a/src/mame/drivers/seicross.c b/src/mame/drivers/seicross.c index 59a2847d953..d0dc51d2cfb 100644 --- a/src/mame/drivers/seicross.c +++ b/src/mame/drivers/seicross.c @@ -123,7 +123,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8820, 0x887f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(seicross_videoram_w) AM_BASE_GENERIC(videoram) /* video RAM */ AM_RANGE(0x9800, 0x981f) AM_RAM AM_BASE(&seicross_row_scroll) - AM_RANGE(0x9880, 0x989f) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram2) + AM_RANGE(0x9880, 0x989f) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram2) AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(seicross_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") /* IN0 */ AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1") /* IN1 */ diff --git a/src/mame/drivers/seta.c b/src/mame/drivers/seta.c index 4f3d6416a07..31bb888c1f5 100644 --- a/src/mame/drivers/seta.c +++ b/src/mame/drivers/seta.c @@ -2733,7 +2733,7 @@ static ADDRESS_MAP_START( crazyfgt_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x610006, 0x610007) AM_WRITENOP AM_RANGE(0x620000, 0x620003) AM_WRITENOP // protection AM_RANGE(0x630000, 0x630003) AM_READ(seta_dsw_r) - AM_RANGE(0x640400, 0x640fff) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette + AM_RANGE(0x640400, 0x640fff) AM_WRITEONLY AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette AM_RANGE(0x650000, 0x650003) AM_DEVWRITE8("ymsnd", ym3812_w, 0x00ff) AM_RANGE(0x658000, 0x658001) AM_DEVWRITE8("oki", okim6295_w, 0x00ff) AM_RANGE(0x670000, 0x670001) AM_READNOP // watchdog? @@ -2783,7 +2783,7 @@ static READ16_HANDLER( inttoote_700000_r ) static ADDRESS_MAP_START( inttoote_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM (up to 2MB) - AM_RANGE(0x200000, 0x200001) AM_READWRITE(inttoote_key_r, SMH_RAM) AM_BASE(&inttoote_key_select) + AM_RANGE(0x200000, 0x200001) AM_RAM_READ(inttoote_key_r) AM_BASE(&inttoote_key_select) AM_RANGE(0x200002, 0x200003) AM_READ_PORT("P1") AM_RANGE(0x200010, 0x200011) AM_READ_PORT("P2") AM_WRITENOP @@ -2796,14 +2796,14 @@ static ADDRESS_MAP_START( inttoote_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x500000, 0x500003) AM_READ(inttoote_dsw_r) // DSW x 3 - AM_RANGE(0x700000, 0x700101) AM_READWRITE(inttoote_700000_r,SMH_RAM) AM_BASE(&inttoote_700000) + AM_RANGE(0x700000, 0x700101) AM_RAM_READ(inttoote_700000_r) AM_BASE(&inttoote_700000) AM_RANGE(0x800000, 0x80001f) AM_DEVREADWRITE8("rtc", msm6242_r, msm6242_w, 0x00ff) // 6242RTC AM_RANGE(0x900000, 0x903fff) AM_DEVREADWRITE( "x1snd", seta_sound_word_r, seta_sound_word_w ) // Sound - AM_RANGE(0xa00000, 0xa00005) AM_WRITE(SMH_RAM) AM_BASE(&seta_vctrl_0 ) // VRAM 0&1 Ctrl - AM_RANGE(0xb00000, 0xb03fff) AM_READWRITE(SMH_RAM,seta_vram_0_w) AM_BASE(&seta_vram_0 ) // VRAM 0&1 + AM_RANGE(0xa00000, 0xa00005) AM_WRITEONLY AM_BASE(&seta_vctrl_0 ) // VRAM 0&1 Ctrl + AM_RANGE(0xb00000, 0xb03fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0 ) // VRAM 0&1 AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? 0x4000 @@ -9789,7 +9789,7 @@ static DRIVER_INIT( metafox ) UINT16 *RAM = (UINT16 *) memory_region(machine, "maincpu"); /* This game uses the 21c000-21ffff area for protection? */ -// memory_install_readwrite16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x21c000, 0x21ffff, 0, 0, (read16_space_func)SMH_NOP, (write16_space_func)SMH_NOP); +// memory_nop_readwrite(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x21c000, 0x21ffff, 0, 0); RAM[0x8ab1c/2] = 0x4e71; // patch protection test: "cp error" RAM[0x8ab1e/2] = 0x4e71; @@ -9833,7 +9833,7 @@ static DRIVER_INIT ( blandia ) static DRIVER_INIT( eightfrc ) { - memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x500004, 0x500005, 0, 0, (read16_space_func)SMH_NOP); // watchdog?? + memory_nop_read(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x500004, 0x500005, 0, 0); // watchdog?? } @@ -9858,7 +9858,7 @@ static DRIVER_INIT( kiwame ) static DRIVER_INIT( rezon ) { - memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x500006, 0x500007, 0, 0, (read16_space_func)SMH_NOP); // irq ack? + memory_nop_read(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x500006, 0x500007, 0, 0); // irq ack? } static DRIVER_INIT(wiggie) @@ -9890,7 +9890,7 @@ static DRIVER_INIT(wiggie) } /* X1_010 is not used. */ - memory_install_readwrite16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x100000, 0x103fff, 0, 0, (read16_space_func)SMH_NOP, (write16_space_func)SMH_NOP); + memory_nop_readwrite(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x100000, 0x103fff, 0, 0); memory_install_write16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xB00008, 0xB00009, 0, 0, wiggie_soundlatch_w); diff --git a/src/mame/drivers/seta2.c b/src/mame/drivers/seta2.c index 0e6af4ba833..32987def741 100644 --- a/src/mame/drivers/seta2.c +++ b/src/mame/drivers/seta2.c @@ -986,9 +986,9 @@ static ADDRESS_MAP_START( funcube_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE( 0x00200000, 0x0020ffff ) AM_RAM AM_RANGE( 0x00500000, 0x00500003 ) AM_READ( funcube_debug_r ) - AM_RANGE( 0x00500004, 0x00500007 ) AM_READWRITE( watchdog_reset32_r, SMH_NOP ) + AM_RANGE( 0x00500004, 0x00500007 ) AM_READ( watchdog_reset32_r ) AM_WRITENOP - AM_RANGE( 0x00600000, 0x00600003 ) AM_WRITE( SMH_NOP ) // sound chip + AM_RANGE( 0x00600000, 0x00600003 ) AM_WRITENOP // sound chip AM_RANGE( 0x00800000, 0x0083ffff ) AM_READWRITE( spriteram32_dword_r, spriteram32_dword_w ) AM_BASE_GENERIC(spriteram) AM_SIZE_GENERIC(spriteram) AM_RANGE( 0x00840000, 0x0084ffff ) AM_READWRITE( paletteram32_dword_r, paletteram32_dword_w ) AM_BASE_GENERIC(paletteram) diff --git a/src/mame/drivers/shangkid.c b/src/mame/drivers/shangkid.c index a61443b9c81..7a06e8357c8 100644 --- a/src/mame/drivers/shangkid.c +++ b/src/mame/drivers/shangkid.c @@ -256,7 +256,7 @@ static ADDRESS_MAP_START( chinhero_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xb801, 0xb801) AM_READ_PORT("SYSTEM") AM_RANGE(0xb802, 0xb802) AM_READ_PORT("P2") AM_RANGE(0xb803, 0xb803) AM_READ_PORT("P1") - AM_RANGE(0xc000, 0xc002) AM_WRITE(SMH_RAM) AM_BASE(&shangkid_videoreg) + AM_RANGE(0xc000, 0xc002) AM_WRITEONLY AM_BASE(&shangkid_videoreg) AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_GENERIC(videoram) AM_SHARE(1) AM_RANGE(0xe000, 0xfdff) AM_RAM AM_SHARE(2) AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE(3) @@ -277,7 +277,7 @@ static ADDRESS_MAP_START( shangkid_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xb801, 0xb801) AM_READ_PORT("SYSTEM") AM_RANGE(0xb802, 0xb802) AM_READ_PORT("P2") AM_RANGE(0xb803, 0xb803) AM_READ_PORT("P1") - AM_RANGE(0xc000, 0xc002) AM_WRITE(SMH_RAM) AM_BASE(&shangkid_videoreg) + AM_RANGE(0xc000, 0xc002) AM_WRITEONLY AM_BASE(&shangkid_videoreg) AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_GENERIC(videoram) AM_SHARE(1) AM_RANGE(0xe000, 0xfdff) AM_RAM AM_SHARE(2) AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE(3) diff --git a/src/mame/drivers/silkroad.c b/src/mame/drivers/silkroad.c index 5c0a74f24b1..c377173662a 100644 --- a/src/mame/drivers/silkroad.c +++ b/src/mame/drivers/silkroad.c @@ -173,7 +173,7 @@ static ADDRESS_MAP_START( cpu_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0xc00030, 0xc00033) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff0000) AM_RANGE(0xc00034, 0xc00037) AM_DEVWRITE("oki1", silk_6295_bank_w) AM_RANGE(0xc00038, 0xc0003b) AM_WRITE(silk_coin_counter_w) - AM_RANGE(0xc0010c, 0xc00123) AM_WRITE(SMH_RAM) AM_BASE(&silkroad_regs) + AM_RANGE(0xc0010c, 0xc00123) AM_WRITEONLY AM_BASE(&silkroad_regs) AM_RANGE(0xfe0000, 0xffffff) AM_RAM ADDRESS_MAP_END diff --git a/src/mame/drivers/simpl156.c b/src/mame/drivers/simpl156.c index ee22f3aed1b..4ec330906d4 100644 --- a/src/mame/drivers/simpl156.c +++ b/src/mame/drivers/simpl156.c @@ -300,7 +300,7 @@ static ADDRESS_MAP_START( joemacr_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x154000, 0x155fff) AM_READWRITE(simpl156_pf2_data_r, simpl156_pf2_data_w) AM_RANGE(0x160000, 0x161fff) AM_READWRITE(simpl156_pf1_rowscroll_r, simpl156_pf1_rowscroll_w) AM_RANGE(0x164000, 0x165fff) AM_READWRITE(simpl156_pf2_rowscroll_r, simpl156_pf2_rowscroll_w) - AM_RANGE(0x170000, 0x170003) AM_RAM_WRITE(SMH_NOP) // ? + AM_RANGE(0x170000, 0x170003) AM_READONLY AM_WRITENOP // ? AM_RANGE(0x180000, 0x180003) AM_DEVREADWRITE8("okisfx", okim6295_r, okim6295_w, 0x000000ff) AM_RANGE(0x1c0000, 0x1c0003) AM_DEVREADWRITE8("okimusic", okim6295_r, okim6295_w, 0x000000ff) AM_RANGE(0x200000, 0x200003) AM_READ(simpl156_inputs_read) @@ -324,7 +324,7 @@ static ADDRESS_MAP_START( chainrec_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x454000, 0x455fff) AM_READWRITE(simpl156_pf2_data_r, simpl156_pf2_data_w) AM_RANGE(0x460000, 0x461fff) AM_READWRITE(simpl156_pf1_rowscroll_r, simpl156_pf1_rowscroll_w) AM_RANGE(0x464000, 0x465fff) AM_READWRITE(simpl156_pf2_rowscroll_r, simpl156_pf2_rowscroll_w) - AM_RANGE(0x470000, 0x470003) AM_RAM_WRITE(SMH_NOP) // ?? + AM_RANGE(0x470000, 0x470003) AM_READONLY AM_WRITENOP // ?? AM_RANGE(0x480000, 0x480003) AM_DEVREADWRITE8("okisfx", okim6295_r, okim6295_w, 0x000000ff) ADDRESS_MAP_END @@ -345,7 +345,7 @@ static ADDRESS_MAP_START( magdrop_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x3d4000, 0x3d5fff) AM_READWRITE(simpl156_pf2_data_r, simpl156_pf2_data_w) AM_RANGE(0x3e0000, 0x3e1fff) AM_READWRITE(simpl156_pf1_rowscroll_r, simpl156_pf1_rowscroll_w) AM_RANGE(0x3e4000, 0x3e5fff) AM_READWRITE(simpl156_pf2_rowscroll_r, simpl156_pf2_rowscroll_w) - AM_RANGE(0x3f0000, 0x3f0003) AM_RAM_WRITE(SMH_NOP) //? + AM_RANGE(0x3f0000, 0x3f0003) AM_READONLY AM_WRITENOP //? AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8("okisfx", okim6295_r, okim6295_w, 0x000000ff) ADDRESS_MAP_END @@ -366,7 +366,7 @@ static ADDRESS_MAP_START( magdropp_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x6d4000, 0x6d5fff) AM_READWRITE(simpl156_pf2_data_r, simpl156_pf2_data_w) AM_RANGE(0x6e0000, 0x6e1fff) AM_READWRITE(simpl156_pf1_rowscroll_r, simpl156_pf1_rowscroll_w) AM_RANGE(0x6e4000, 0x6e5fff) AM_READWRITE(simpl156_pf2_rowscroll_r, simpl156_pf2_rowscroll_w) - AM_RANGE(0x6f0000, 0x6f0003) AM_RAM_WRITE(SMH_NOP) // ? + AM_RANGE(0x6f0000, 0x6f0003) AM_READONLY AM_WRITENOP // ? AM_RANGE(0x780000, 0x780003) AM_DEVREADWRITE8("okisfx", okim6295_r, okim6295_w, 0x000000ff) ADDRESS_MAP_END @@ -386,7 +386,7 @@ static ADDRESS_MAP_START( mitchell156_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x1d4000, 0x1d5fff) AM_READWRITE(simpl156_pf2_data_r, simpl156_pf2_data_w) AM_RANGE(0x1e0000, 0x1e1fff) AM_READWRITE(simpl156_pf1_rowscroll_r, simpl156_pf1_rowscroll_w) AM_RANGE(0x1e4000, 0x1e5fff) AM_READWRITE(simpl156_pf2_rowscroll_r, simpl156_pf2_rowscroll_w) - AM_RANGE(0x1f0000, 0x1f0003) AM_RAM_WRITE(SMH_NOP) // ? + AM_RANGE(0x1f0000, 0x1f0003) AM_READONLY AM_WRITENOP // ? AM_RANGE(0x200000, 0x200003) AM_READ(simpl156_inputs_read) AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE(&simpl156_systemram) // work ram (32-bit) ADDRESS_MAP_END diff --git a/src/mame/drivers/skydiver.c b/src/mame/drivers/skydiver.c index b3ca5d012aa..5f469d22529 100644 --- a/src/mame/drivers/skydiver.c +++ b/src/mame/drivers/skydiver.c @@ -189,7 +189,7 @@ static WRITE8_DEVICE_HANDLER( skydiver_whistle_w ) static ADDRESS_MAP_START( skydiver_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_GLOBAL_MASK(0x7fff) AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x4300) AM_READWRITE(skydiver_wram_r, skydiver_wram_w) - AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x4000) AM_RAM_WRITE(SMH_RAM) /* RAM B1 */ + AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x4000) AM_RAM /* RAM B1 */ AM_RANGE(0x0400, 0x07ff) AM_MIRROR(0x4000) AM_RAM_WRITE(skydiver_videoram_w) AM_BASE(&skydiver_videoram) /* RAMs K1,M1,P1,J1,N1,K/L1,L1,H/J1 */ AM_RANGE(0x0800, 0x0801) AM_MIRROR(0x47f0) AM_WRITE(skydiver_lamp_s_w) AM_RANGE(0x0802, 0x0803) AM_MIRROR(0x47f0) AM_WRITE(skydiver_lamp_k_w) @@ -219,10 +219,10 @@ static ADDRESS_MAP_START( skydiver_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1810, 0x1810) AM_MIRROR(0x47e4) AM_READ_PORT("IN12") AM_RANGE(0x1811, 0x1811) AM_MIRROR(0x47e4) AM_READ_PORT("IN13") AM_RANGE(0x2000, 0x201f) AM_MIRROR(0x47e0) AM_READWRITE(watchdog_reset_r, skydiver_2000_201F_w) - AM_RANGE(0x2800, 0x2fff) AM_MIRROR(0x4000) AM_READ(SMH_ROM) - AM_RANGE(0x3000, 0x37ff) AM_MIRROR(0x4000) AM_READ(SMH_ROM) - AM_RANGE(0x3800, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x7800, 0x7fff) AM_READ(SMH_ROM) + AM_RANGE(0x2800, 0x2fff) AM_MIRROR(0x4000) AM_ROM + AM_RANGE(0x3000, 0x37ff) AM_MIRROR(0x4000) AM_ROM + AM_RANGE(0x3800, 0x3fff) AM_ROM + AM_RANGE(0x7800, 0x7fff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/skykid.c b/src/mame/drivers/skykid.c index 9b6a4d96690..47d667dd6e7 100644 --- a/src/mame/drivers/skykid.c +++ b/src/mame/drivers/skykid.c @@ -123,7 +123,7 @@ static ADDRESS_MAP_START( skykid_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x6800, 0x6bff) AM_DEVREADWRITE("namco", namcos1_cus30_r,namcos1_cus30_w) AM_BASE(&namco_wavedata)/* PSG device, shared RAM */ AM_RANGE(0x7000, 0x7fff) AM_WRITE(skykid_irq_1_ctrl_w) /* IRQ control */ AM_RANGE(0x7800, 0x7fff) AM_READ(watchdog_reset_r) /* watchdog reset */ - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) /* ROM */ + AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */ AM_RANGE(0x8000, 0x8fff) AM_WRITE(skykid_subreset_w) /* MCU control */ AM_RANGE(0x9000, 0x9fff) AM_WRITE(skykid_bankswitch_w) /* Bankswitch control */ AM_RANGE(0xa000, 0xa001) AM_WRITE(skykid_flipscreen_priority_w) /* flip screen & priority */ @@ -135,9 +135,9 @@ static ADDRESS_MAP_START( mcu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE("namco", namcos1_cus30_r, namcos1_cus30_w) AM_BASE(&namco_wavedata) /* PSG device, shared RAM */ AM_RANGE(0x2000, 0x3fff) AM_WRITE(watchdog_reset_w) /* watchdog? */ AM_RANGE(0x4000, 0x7fff) AM_WRITE(skykid_irq_2_ctrl_w) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_ROM) + AM_RANGE(0x8000, 0xbfff) AM_ROM AM_RANGE(0xc000, 0xc7ff) AM_RAM - AM_RANGE(0xf000, 0xffff) AM_READ(SMH_ROM) + AM_RANGE(0xf000, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/skylncr.c b/src/mame/drivers/skylncr.c index 005fe2d332b..56b87e816fa 100644 --- a/src/mame/drivers/skylncr.c +++ b/src/mame/drivers/skylncr.c @@ -315,55 +315,55 @@ static ADDRESS_MAP_START( mem_map_skylncr, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) - AM_RANGE(0x8800, 0x8fff) AM_READWRITE( SMH_RAM, skylncr_videoram_w ) AM_BASE( &skylncr_videoram ) - AM_RANGE(0x9000, 0x97ff) AM_READWRITE( SMH_RAM, skylncr_colorram_w ) AM_BASE( &skylncr_colorram ) - - AM_RANGE(0x9800, 0x99ff) AM_READWRITE( SMH_RAM, reeltiles_1_w ) AM_BASE( &reeltiles_1_ram ) - AM_RANGE(0x9a00, 0x9bff) AM_READWRITE( SMH_RAM, reeltiles_2_w ) AM_BASE( &reeltiles_2_ram ) - AM_RANGE(0x9c00, 0x9dff) AM_READWRITE( SMH_RAM, reeltiles_3_w ) AM_BASE( &reeltiles_3_ram ) - AM_RANGE(0x9e00, 0x9fff) AM_READWRITE( SMH_RAM, reeltiles_4_w ) AM_BASE( &reeltiles_4_ram ) - AM_RANGE(0xa000, 0xa1ff) AM_READWRITE( SMH_RAM, reeltileshigh_1_w ) AM_BASE( &reeltileshigh_1_ram ) - AM_RANGE(0xa200, 0xa3ff) AM_READWRITE( SMH_RAM, reeltileshigh_2_w ) AM_BASE( &reeltileshigh_2_ram ) - AM_RANGE(0xa400, 0xa5ff) AM_READWRITE( SMH_RAM, reeltileshigh_3_w ) AM_BASE( &reeltileshigh_3_ram ) - AM_RANGE(0xa600, 0xa7ff) AM_READWRITE( SMH_RAM, reeltileshigh_4_w ) AM_BASE( &reeltileshigh_4_ram ) + AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE( skylncr_videoram_w ) AM_BASE( &skylncr_videoram ) + AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE( skylncr_colorram_w ) AM_BASE( &skylncr_colorram ) + + AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE( reeltiles_1_w ) AM_BASE( &reeltiles_1_ram ) + AM_RANGE(0x9a00, 0x9bff) AM_RAM_WRITE( reeltiles_2_w ) AM_BASE( &reeltiles_2_ram ) + AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE( reeltiles_3_w ) AM_BASE( &reeltiles_3_ram ) + AM_RANGE(0x9e00, 0x9fff) AM_RAM_WRITE( reeltiles_4_w ) AM_BASE( &reeltiles_4_ram ) + AM_RANGE(0xa000, 0xa1ff) AM_RAM_WRITE( reeltileshigh_1_w ) AM_BASE( &reeltileshigh_1_ram ) + AM_RANGE(0xa200, 0xa3ff) AM_RAM_WRITE( reeltileshigh_2_w ) AM_BASE( &reeltileshigh_2_ram ) + AM_RANGE(0xa400, 0xa5ff) AM_RAM_WRITE( reeltileshigh_3_w ) AM_BASE( &reeltileshigh_3_ram ) + AM_RANGE(0xa600, 0xa7ff) AM_RAM_WRITE( reeltileshigh_4_w ) AM_BASE( &reeltileshigh_4_ram ) AM_RANGE(0xaa55, 0xaa55) AM_READ( ret_ff ) - AM_RANGE(0xb000, 0xb03f) AM_RAM AM_WRITE(reelscroll1_w) AM_BASE(&reelscroll1) - AM_RANGE(0xb040, 0xb07f) AM_RAM AM_WRITE(reelscroll1_w) - AM_RANGE(0xb080, 0xb0bf) AM_RAM AM_WRITE(reelscroll1_w) - AM_RANGE(0xb0c0, 0xb0ff) AM_RAM AM_WRITE(reelscroll1_w) - AM_RANGE(0xb100, 0xb13f) AM_RAM AM_WRITE(reelscroll1_w) - AM_RANGE(0xb140, 0xb17f) AM_RAM AM_WRITE(reelscroll1_w) - AM_RANGE(0xb180, 0xb1bf) AM_RAM AM_WRITE(reelscroll1_w) - AM_RANGE(0xb1c0, 0xb1ff) AM_RAM AM_WRITE(reelscroll1_w) - - AM_RANGE(0xb200, 0xb23f) AM_RAM AM_WRITE(reelscroll2_w) AM_BASE(&reelscroll2) - AM_RANGE(0xb240, 0xb27f) AM_RAM AM_WRITE(reelscroll2_w) - AM_RANGE(0xb280, 0xb2bf) AM_RAM AM_WRITE(reelscroll2_w) - AM_RANGE(0xb2c0, 0xb2ff) AM_RAM AM_WRITE(reelscroll2_w) - AM_RANGE(0xb300, 0xb33f) AM_RAM AM_WRITE(reelscroll2_w) - AM_RANGE(0xb340, 0xb37f) AM_RAM AM_WRITE(reelscroll2_w) - AM_RANGE(0xb380, 0xb3bf) AM_RAM AM_WRITE(reelscroll2_w) - AM_RANGE(0xb3c0, 0xb3ff) AM_RAM AM_WRITE(reelscroll2_w) - - AM_RANGE(0xb400, 0xb43f) AM_RAM AM_WRITE(reelscroll3_w) AM_BASE(&reelscroll3) - AM_RANGE(0xb440, 0xb47f) AM_RAM AM_WRITE(reelscroll3_w) - AM_RANGE(0xb480, 0xb4bf) AM_RAM AM_WRITE(reelscroll3_w) - AM_RANGE(0xb4c0, 0xb4ff) AM_RAM AM_WRITE(reelscroll3_w) - AM_RANGE(0xb500, 0xb53f) AM_RAM AM_WRITE(reelscroll3_w) - AM_RANGE(0xb540, 0xb57f) AM_RAM AM_WRITE(reelscroll3_w) - AM_RANGE(0xb580, 0xb5bf) AM_RAM AM_WRITE(reelscroll3_w) - AM_RANGE(0xb5c0, 0xb5ff) AM_RAM AM_WRITE(reelscroll3_w) - - AM_RANGE(0xb600, 0xb63f) AM_RAM AM_WRITE(reelscroll4_w) AM_BASE(&reelscroll4) - AM_RANGE(0xb640, 0xb67f) AM_RAM AM_WRITE(reelscroll4_w) - AM_RANGE(0xb680, 0xb6bf) AM_RAM AM_WRITE(reelscroll4_w) - AM_RANGE(0xb6c0, 0xb6ff) AM_RAM AM_WRITE(reelscroll4_w) - AM_RANGE(0xb700, 0xb73f) AM_RAM AM_WRITE(reelscroll4_w) - AM_RANGE(0xb740, 0xb77f) AM_RAM AM_WRITE(reelscroll4_w) - AM_RANGE(0xb780, 0xb7bf) AM_RAM AM_WRITE(reelscroll4_w) - AM_RANGE(0xb7c0, 0xb7ff) AM_RAM AM_WRITE(reelscroll4_w) + AM_RANGE(0xb000, 0xb03f) AM_RAM_WRITE(reelscroll1_w) AM_BASE(&reelscroll1) + AM_RANGE(0xb040, 0xb07f) AM_RAM_WRITE(reelscroll1_w) + AM_RANGE(0xb080, 0xb0bf) AM_RAM_WRITE(reelscroll1_w) + AM_RANGE(0xb0c0, 0xb0ff) AM_RAM_WRITE(reelscroll1_w) + AM_RANGE(0xb100, 0xb13f) AM_RAM_WRITE(reelscroll1_w) + AM_RANGE(0xb140, 0xb17f) AM_RAM_WRITE(reelscroll1_w) + AM_RANGE(0xb180, 0xb1bf) AM_RAM_WRITE(reelscroll1_w) + AM_RANGE(0xb1c0, 0xb1ff) AM_RAM_WRITE(reelscroll1_w) + + AM_RANGE(0xb200, 0xb23f) AM_RAM_WRITE(reelscroll2_w) AM_BASE(&reelscroll2) + AM_RANGE(0xb240, 0xb27f) AM_RAM_WRITE(reelscroll2_w) + AM_RANGE(0xb280, 0xb2bf) AM_RAM_WRITE(reelscroll2_w) + AM_RANGE(0xb2c0, 0xb2ff) AM_RAM_WRITE(reelscroll2_w) + AM_RANGE(0xb300, 0xb33f) AM_RAM_WRITE(reelscroll2_w) + AM_RANGE(0xb340, 0xb37f) AM_RAM_WRITE(reelscroll2_w) + AM_RANGE(0xb380, 0xb3bf) AM_RAM_WRITE(reelscroll2_w) + AM_RANGE(0xb3c0, 0xb3ff) AM_RAM_WRITE(reelscroll2_w) + + AM_RANGE(0xb400, 0xb43f) AM_RAM_WRITE(reelscroll3_w) AM_BASE(&reelscroll3) + AM_RANGE(0xb440, 0xb47f) AM_RAM_WRITE(reelscroll3_w) + AM_RANGE(0xb480, 0xb4bf) AM_RAM_WRITE(reelscroll3_w) + AM_RANGE(0xb4c0, 0xb4ff) AM_RAM_WRITE(reelscroll3_w) + AM_RANGE(0xb500, 0xb53f) AM_RAM_WRITE(reelscroll3_w) + AM_RANGE(0xb540, 0xb57f) AM_RAM_WRITE(reelscroll3_w) + AM_RANGE(0xb580, 0xb5bf) AM_RAM_WRITE(reelscroll3_w) + AM_RANGE(0xb5c0, 0xb5ff) AM_RAM_WRITE(reelscroll3_w) + + AM_RANGE(0xb600, 0xb63f) AM_RAM_WRITE(reelscroll4_w) AM_BASE(&reelscroll4) + AM_RANGE(0xb640, 0xb67f) AM_RAM_WRITE(reelscroll4_w) + AM_RANGE(0xb680, 0xb6bf) AM_RAM_WRITE(reelscroll4_w) + AM_RANGE(0xb6c0, 0xb6ff) AM_RAM_WRITE(reelscroll4_w) + AM_RANGE(0xb700, 0xb73f) AM_RAM_WRITE(reelscroll4_w) + AM_RANGE(0xb740, 0xb77f) AM_RAM_WRITE(reelscroll4_w) + AM_RANGE(0xb780, 0xb7bf) AM_RAM_WRITE(reelscroll4_w) + AM_RANGE(0xb7c0, 0xb7ff) AM_RAM_WRITE(reelscroll4_w) AM_RANGE(0xc000, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/snesb.c b/src/mame/drivers/snesb.c index 9bbdf40443f..a9edd4cea0e 100644 --- a/src/mame/drivers/snesb.c +++ b/src/mame/drivers/snesb.c @@ -250,10 +250,10 @@ static READ8_HANDLER(iron_770079_r) static ADDRESS_MAP_START( snesb_map, ADDRESS_SPACE_PROGRAM, 8) AM_RANGE(0x000000, 0x2fffff) AM_READWRITE(snes_r_bank1, snes_w_bank1) /* I/O and ROM (repeats for each bank) */ AM_RANGE(0x300000, 0x3fffff) AM_READWRITE(snes_r_bank2, snes_w_bank2) /* I/O and ROM (repeats for each bank) */ - AM_RANGE(0x400000, 0x5fffff) AM_READWRITE(snes_r_bank3, SMH_ROM) /* ROM (and reserved in Mode 20) */ + AM_RANGE(0x400000, 0x5fffff) AM_READ(snes_r_bank3) /* ROM (and reserved in Mode 20) */ AM_RANGE(0x600000, 0x6fffff) AM_READWRITE(snes_r_bank4, snes_w_bank4) /* used by Mode 20 DSP-1 */ AM_RANGE(0x700000, 0x7dffff) AM_READWRITE(snes_r_bank5, snes_w_bank5) - AM_RANGE(0x7e0000, 0x7fffff) AM_RAM /* 8KB Low RAM, 24KB High RAM, 96KB Expanded RAM */ + AM_RANGE(0x7e0000, 0x7fffff) AM_RAM /* 8KB Low RAM, 24KB High RAM, 96KB Expanded RAM */ AM_RANGE(0x800000, 0xbfffff) AM_READWRITE(snes_r_bank6, snes_w_bank6) /* Mirror and ROM */ AM_RANGE(0xc00000, 0xffffff) AM_READWRITE(snes_r_bank7, snes_w_bank7) /* Mirror and ROM */ ADDRESS_MAP_END diff --git a/src/mame/drivers/spaceg.c b/src/mame/drivers/spaceg.c index 6916686e147..6458c0ac23c 100644 --- a/src/mame/drivers/spaceg.c +++ b/src/mame/drivers/spaceg.c @@ -320,11 +320,11 @@ static ADDRESS_MAP_START( spaceg_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x3000, 0x3fff) AM_ROM AM_RANGE(0x7000, 0x77ff) AM_RAM - AM_RANGE(0xa000, 0xbfff) AM_READWRITE(spaceg_colorram_r, SMH_RAM) AM_BASE_MEMBER(spaceg_state, unkram) + AM_RANGE(0xa000, 0xbfff) AM_RAM_READ(spaceg_colorram_r) AM_BASE_MEMBER(spaceg_state, unkram) AM_RANGE(0xc000, 0xdfff) AM_RAM_WRITE(zvideoram_w) AM_BASE_MEMBER(spaceg_state, videoram) - AM_RANGE(0x9400, 0x9400) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(spaceg_state, io9400) /* gfx ctrl */ - AM_RANGE(0x9401, 0x9401) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(spaceg_state, io9401) /* gfx ctrl */ + AM_RANGE(0x9400, 0x9400) AM_WRITEONLY AM_BASE_MEMBER(spaceg_state, io9400) /* gfx ctrl */ + AM_RANGE(0x9401, 0x9401) AM_WRITEONLY AM_BASE_MEMBER(spaceg_state, io9401) /* gfx ctrl */ /* 9402 - bits 0 and 1 probably control the lamps under the player 1 and player 2 start buttons bit 2 - unknown - diff --git a/src/mame/drivers/speglsht.c b/src/mame/drivers/speglsht.c index 87beafa870c..26b2fb28760 100644 --- a/src/mame/drivers/speglsht.c +++ b/src/mame/drivers/speglsht.c @@ -211,7 +211,7 @@ static ADDRESS_MAP_START( speglsht_mem, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x01800400, 0x01800403) AM_READ_PORT("IN1") AM_RANGE(0x01a00000, 0x01afffff) AM_RAM AM_BASE(&speglsht_framebuffer) AM_RANGE(0x01b00000, 0x01b07fff) AM_RAM //cleared ... video related ? - AM_RANGE(0x01c00000, 0x01dfffff) AM_READ(SMH_ROM) AM_WRITE(SMH_ROM) AM_REGION("user2", 0) + AM_RANGE(0x01c00000, 0x01dfffff) AM_ROM AM_REGION("user2", 0) AM_RANGE(0x0a000000, 0x0a003fff) AM_READWRITE(shared_r, shared_w) AM_RANGE(0x1eff0000, 0x1eff001f) AM_RAM AM_RANGE(0x1eff003c, 0x1eff003f) AM_READNOP //interrupt related diff --git a/src/mame/drivers/spool99.c b/src/mame/drivers/spool99.c index 9f3907b746c..df8b7f3e17f 100644 --- a/src/mame/drivers/spool99.c +++ b/src/mame/drivers/spool99.c @@ -190,7 +190,7 @@ static ADDRESS_MAP_START( spool99_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xafef, 0xafef) AM_WRITE(eeprom_dataline_w ) AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE("oki", okim6295_w) - AM_RANGE(0xb000, 0xb3ff) AM_RAM AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram) // palette + AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram) // palette AM_RANGE(0xb800, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(spool99_vram_w) AM_BASE_GENERIC(videoram) diff --git a/src/mame/drivers/srmp5.c b/src/mame/drivers/srmp5.c index 76a0b805086..84e5cf133f2 100644 --- a/src/mame/drivers/srmp5.c +++ b/src/mame/drivers/srmp5.c @@ -299,7 +299,7 @@ static WRITE32_HANDLER(srmp5_vidregs_w) static ADDRESS_MAP_START( srmp5_mem, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x00000000, 0x000fffff) AM_RAM //maybe 0 - 2fffff ? AM_RANGE(0x002f0000, 0x002f7fff) AM_RAM - AM_RANGE(0x01000000, 0x01000003) AM_WRITE(SMH_RAM) // 0xaa .. watchdog ? + AM_RANGE(0x01000000, 0x01000003) AM_WRITEONLY // 0xaa .. watchdog ? AM_RANGE(0x01800000, 0x01800003) AM_RAM //?1 AM_RANGE(0x01800004, 0x01800007) AM_READ_PORT("DSW1") AM_RANGE(0x01800008, 0x0180000b) AM_READ_PORT("DSW2") @@ -321,10 +321,10 @@ static ADDRESS_MAP_START( srmp5_mem, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x0a180000, 0x0a18011f) AM_READWRITE(srmp5_vidregs_r, srmp5_vidregs_w) AM_RANGE(0x0a200000, 0x0a3fffff) AM_READWRITE(tileram_r, tileram_w) - AM_RANGE(0x1eff0000, 0x1eff001f) AM_WRITE(SMH_RAM) + AM_RANGE(0x1eff0000, 0x1eff001f) AM_WRITEONLY AM_RANGE(0x1eff003c, 0x1eff003f) AM_READNOP - AM_RANGE(0x1fc00000, 0x1fdfffff) AM_READ(SMH_ROM) AM_WRITE(SMH_ROM) AM_REGION("user1", 0) - AM_RANGE(0x2fc00000, 0x2fdfffff) AM_READ(SMH_ROM) AM_WRITE(SMH_ROM) AM_REGION("user1", 0) + AM_RANGE(0x1fc00000, 0x1fdfffff) AM_ROM AM_REGION("user1", 0) + AM_RANGE(0x2fc00000, 0x2fdfffff) AM_ROM AM_REGION("user1", 0) ADDRESS_MAP_END static ADDRESS_MAP_START( st0016_mem, ADDRESS_SPACE_PROGRAM, 8 ) diff --git a/src/mame/drivers/srumbler.c b/src/mame/drivers/srumbler.c index 0da895bee90..cce2524b074 100644 --- a/src/mame/drivers/srumbler.c +++ b/src/mame/drivers/srumbler.c @@ -50,7 +50,7 @@ static WRITE8_HANDLER( srumbler_bankswitch_w ) char bankname[10]; /* bit 2 of prom1 selects ROM or RAM - not supported */ - sprintf(bankname, "%04X", i*0x1000); + sprintf(bankname, "%04x", i*0x1000); memory_set_bankptr(space->machine, bankname,&ROM[bank*0x1000]); } } @@ -98,12 +98,12 @@ static ADDRESS_MAP_START( srumbler_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x7000, 0x73ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x8000, 0x8fff) AM_ROMBANK("8000") /* Banked ROM */ AM_RANGE(0x9000, 0x9fff) AM_ROMBANK("9000") /* Banked ROM */ - AM_RANGE(0xa000, 0xafff) AM_ROMBANK("A000") /* Banked ROM */ - AM_RANGE(0xb000, 0xbfff) AM_ROMBANK("B000") /* Banked ROM */ - AM_RANGE(0xc000, 0xcfff) AM_ROMBANK("C000") /* Banked ROM */ - AM_RANGE(0xd000, 0xdfff) AM_ROMBANK("D000") /* Banked ROM */ - AM_RANGE(0xe000, 0xefff) AM_ROMBANK("E000") /* Banked ROM */ - AM_RANGE(0xf000, 0xffff) AM_ROMBANK("F000") /* Banked ROM */ + AM_RANGE(0xa000, 0xafff) AM_ROMBANK("a000") /* Banked ROM */ + AM_RANGE(0xb000, 0xbfff) AM_ROMBANK("b000") /* Banked ROM */ + AM_RANGE(0xc000, 0xcfff) AM_ROMBANK("c000") /* Banked ROM */ + AM_RANGE(0xd000, 0xdfff) AM_ROMBANK("d000") /* Banked ROM */ + AM_RANGE(0xe000, 0xefff) AM_ROMBANK("e000") /* Banked ROM */ + AM_RANGE(0xf000, 0xffff) AM_ROMBANK("f000") /* Banked ROM */ ADDRESS_MAP_END static ADDRESS_MAP_START( srumbler_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) diff --git a/src/mame/drivers/ssf2md.c b/src/mame/drivers/ssf2md.c index 53a53755135..f9c5acaf397 100644 --- a/src/mame/drivers/ssf2md.c +++ b/src/mame/drivers/ssf2md.c @@ -18,9 +18,9 @@ static READ16_HANDLER( ssf2ghw_dsw_r ) static DRIVER_INIT( ssf2ghw ) { - memory_install_write16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xA130F0, 0xA130FF, 0, 0, (write16_space_func)SMH_NOP); // custom banking is disabled (!) + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xA130F0, 0xA130FF, 0, 0); // custom banking is disabled (!) memory_install_read_bank_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x400000, 0x5fffff, 0, 0, "bank5"); - memory_install_write16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x400000, 0x5fffff, 0, 0, (write16_space_func)SMH_UNMAP); + memory_unmap_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x400000, 0x5fffff, 0, 0); memory_set_bankptr(machine, "bank5", memory_region( machine, "maincpu" ) + 0x400000 ); diff --git a/src/mame/drivers/ssv.c b/src/mame/drivers/ssv.c index 195659170d0..16a56474b2e 100644 --- a/src/mame/drivers/ssv.c +++ b/src/mame/drivers/ssv.c @@ -428,16 +428,16 @@ static READ16_HANDLER( fake_r ) { return ssv_scroll[offset]; } AM_RANGE(0x140000, 0x15ffff) AM_RAM_WRITE(paletteram16_xrgb_swap_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ \ AM_RANGE(0x160000, 0x17ffff) AM_RAM /* */ \ AM_RANGE(0x1c0000, 0x1c0001) AM_READ(ssv_vblank_r ) /* Vblank? */ \ -/**/AM_RANGE(0x1c0002, 0x1c007f) AM_READ(SMH_RAM ) /* Scroll */ \ +/**/AM_RANGE(0x1c0002, 0x1c007f) AM_READONLY /* Scroll */ \ AM_RANGE(0x1c0000, 0x1c007f) AM_WRITE(ssv_scroll_w) AM_BASE(&ssv_scroll) /* Scroll */ \ AM_RANGE(0x210002, 0x210003) AM_READ_PORT("DSW1") \ AM_RANGE(0x210004, 0x210005) AM_READ_PORT("DSW2") \ AM_RANGE(0x210008, 0x210009) AM_READ_PORT("P1") \ AM_RANGE(0x21000a, 0x21000b) AM_READ_PORT("P2") \ AM_RANGE(0x21000c, 0x21000d) AM_READ_PORT("SYSTEM") \ - AM_RANGE(0x21000e, 0x21000f) AM_READWRITE(SMH_NOP, ssv_lockout_w) /* Lockout */ \ + AM_RANGE(0x21000e, 0x21000f) AM_READNOP AM_WRITE(ssv_lockout_w) /* Lockout */ \ AM_RANGE(0x210010, 0x210011) AM_WRITENOP \ - AM_RANGE(0x230000, 0x230071) AM_WRITE(SMH_RAM) AM_BASE(&ssv_irq_vectors) /* IRQ Vec */ \ + AM_RANGE(0x230000, 0x230071) AM_WRITEONLY AM_BASE(&ssv_irq_vectors) /* IRQ Vec */ \ AM_RANGE(0x240000, 0x240071) AM_WRITE(ssv_irq_ack_w ) /* IRQ Ack */ \ AM_RANGE(0x260000, 0x260001) AM_WRITE(ssv_irq_enable_w) /* IRQ En */ \ AM_RANGE(0x300000, 0x30007f) AM_DEVREADWRITE8("ensoniq", es5506_r, es5506_w, 0x00ff) /* Sound */ \ @@ -458,11 +458,11 @@ static READ16_HANDLER( drifto94_rand_r ) } static ADDRESS_MAP_START( drifto94_map, ADDRESS_SPACE_PROGRAM, 16 ) -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start - AM_RANGE(0x400000, 0x47ffff) AM_WRITE(SMH_RAM) // ? +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start + AM_RANGE(0x400000, 0x47ffff) AM_WRITEONLY // ? AM_RANGE(0x480000, 0x480001) AM_NOP // ? - AM_RANGE(0x483000, 0x485fff) AM_WRITE(SMH_NOP) // ? - AM_RANGE(0x500000, 0x500001) AM_WRITE(SMH_NOP) // ?? + AM_RANGE(0x483000, 0x485fff) AM_WRITENOP // ? + AM_RANGE(0x500000, 0x500001) AM_WRITENOP // ?? AM_RANGE(0x510000, 0x510001) AM_READ(drifto94_rand_r ) // ?? AM_RANGE(0x520000, 0x520001) AM_READ(drifto94_rand_r ) // ?? AM_RANGE(0x580000, 0x5807ff) AM_RAM AM_BASE(&ssv_nvram) AM_SIZE(&ssv_nvram_size) // NVRAM @@ -635,9 +635,9 @@ static READ16_HANDLER( hypreact_input_r ) static ADDRESS_MAP_START( hypreact_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 5 at the start +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 5 at the start AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines -// AM_RANGE(0x280000, 0x280001) AM_READ(SMH_NOP) // ? read at the start, value not used +// AM_RANGE(0x280000, 0x280001) AM_READNOP // ? read at the start, value not used AM_RANGE(0xc00000, 0xc00001) AM_READ(hypreact_input_r) // Inputs AM_RANGE(0xc00006, 0xc00007) AM_RAM AM_BASE(&ssv_input_sel) // AM_RANGE(0xc00008, 0xc00009) AM_NOP // @@ -651,12 +651,12 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( hypreac2_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 5 at the start +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 5 at the start AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines -// AM_RANGE(0x280000, 0x280001) AM_READ(SMH_NOP) // ? read at the start, value not used +// AM_RANGE(0x280000, 0x280001) AM_READNOP // ? read at the start, value not used AM_RANGE(0x500000, 0x500001) AM_READ(hypreact_input_r) // Inputs AM_RANGE(0x500002, 0x500003) AM_READ(hypreact_input_r) // (again?) - AM_RANGE(0x520000, 0x520001) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel) // Inputs + AM_RANGE(0x520000, 0x520001) AM_WRITEONLY AM_BASE(&ssv_input_sel) // Inputs // 0x540000, 0x540003 communication with other units SSV_MAP( 0xe00000 ) ADDRESS_MAP_END @@ -669,10 +669,10 @@ ADDRESS_MAP_END static READ16_HANDLER( srmp4_input_r ); static ADDRESS_MAP_START( janjans1_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x210000, 0x210001) AM_WRITE(SMH_NOP) // koikois2 but not janjans1 -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start - AM_RANGE(0x210006, 0x210007) AM_READ(SMH_NOP) - AM_RANGE(0x800000, 0x800001) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel) // Inputs + AM_RANGE(0x210000, 0x210001) AM_WRITENOP // koikois2 but not janjans1 +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start + AM_RANGE(0x210006, 0x210007) AM_READNOP + AM_RANGE(0x800000, 0x800001) AM_WRITEONLY AM_BASE(&ssv_input_sel) // Inputs AM_RANGE(0x800002, 0x800003) AM_READ(srmp4_input_r) // Inputs SSV_MAP( 0xc00000 ) ADDRESS_MAP_END @@ -683,10 +683,10 @@ ADDRESS_MAP_END ***************************************************************************/ static ADDRESS_MAP_START( keithlcy_map, ADDRESS_SPACE_PROGRAM, 16 ) -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start - AM_RANGE(0x210010, 0x210011) AM_WRITE(SMH_NOP) // - AM_RANGE(0x21000e, 0x21000f) AM_READ(SMH_NOP) // - AM_RANGE(0x400000, 0x47ffff) AM_WRITE(SMH_RAM) // ? +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start + AM_RANGE(0x210010, 0x210011) AM_WRITENOP // + AM_RANGE(0x21000e, 0x21000f) AM_READNOP // + AM_RANGE(0x400000, 0x47ffff) AM_WRITEONLY // ? SSV_MAP( 0xe00000 ) ADDRESS_MAP_END @@ -697,9 +697,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( meosism_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 5 at the start -// AM_RANGE(0x280000, 0x280001) AM_READ(SMH_NOP) // ? read once, value not used -// AM_RANGE(0x500004, 0x500005) AM_WRITE(SMH_NOP) // ? 0,58,18 +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 5 at the start +// AM_RANGE(0x280000, 0x280001) AM_READNOP // ? read once, value not used +// AM_RANGE(0x500004, 0x500005) AM_WRITENOP // ? 0,58,18 AM_RANGE(0x580000, 0x58ffff) AM_RAM AM_BASE(&ssv_nvram) AM_SIZE(&ssv_nvram_size) // NVRAM SSV_MAP( 0xf00000 ) ADDRESS_MAP_END @@ -722,9 +722,9 @@ static WRITE16_HANDLER( ssv_mainram_w ) static ADDRESS_MAP_START( mslider_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x010000, 0x01ffff) AM_READWRITE(ssv_mainram_r, ssv_mainram_w) // RAM Mirror -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start - AM_RANGE(0x400000, 0x47ffff) AM_WRITE(SMH_RAM) // ? -// AM_RANGE(0x500000, 0x500001) AM_WRITE(SMH_NOP) // ? ff at the start +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start + AM_RANGE(0x400000, 0x47ffff) AM_WRITEONLY // ? +// AM_RANGE(0x500000, 0x500001) AM_WRITENOP // ? ff at the start SSV_MAP( 0xf00000 ) ADDRESS_MAP_END @@ -735,7 +735,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( ryorioh_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x210000, 0x210001) AM_WRITE(watchdog_reset16_w) // Watchdog -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start SSV_MAP( 0xc00000 ) ADDRESS_MAP_END @@ -757,10 +757,10 @@ static READ16_HANDLER( srmp4_input_r ) static ADDRESS_MAP_START( srmp4_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1,5 at the start +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1,5 at the start AM_RANGE(0xc0000a, 0xc0000b) AM_READ(srmp4_input_r) // Inputs - AM_RANGE(0xc0000e, 0xc0000f) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel) // Inputs - AM_RANGE(0xc00010, 0xc00011) AM_WRITE(SMH_NOP) // + AM_RANGE(0xc0000e, 0xc0000f) AM_WRITEONLY AM_BASE(&ssv_input_sel) // Inputs + AM_RANGE(0xc00010, 0xc00011) AM_WRITENOP // SSV_MAP( 0xf00000 ) ADDRESS_MAP_END @@ -805,13 +805,13 @@ static READ16_HANDLER( srmp7_input_r ) static ADDRESS_MAP_START( srmp7_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x010000, 0x050faf) AM_RAM // More RAM AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 0,4 at the start +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 0,4 at the start AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Coin Counters / Lockouts AM_RANGE(0x300076, 0x300077) AM_READ(srmp7_irqv_r) // Sound // 0x540000, 0x540003, related to lev 5 irq? AM_RANGE(0x580000, 0x580001) AM_WRITE(srmp7_sound_bank_w) // Sound Bank AM_RANGE(0x600000, 0x600001) AM_READ(srmp7_input_r) // Inputs - AM_RANGE(0x680000, 0x680001) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel) // Inputs + AM_RANGE(0x680000, 0x680001) AM_WRITEONLY AM_BASE(&ssv_input_sel) // Inputs SSV_MAP( 0xc00000 ) ADDRESS_MAP_END @@ -822,9 +822,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( survarts_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 0,4 at the start -// AM_RANGE(0x290000, 0x290001) AM_READ(SMH_NOP) // ? -// AM_RANGE(0x2a0000, 0x2a0001) AM_READ(SMH_NOP) // ? +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 0,4 at the start +// AM_RANGE(0x290000, 0x290001) AM_READNOP // ? +// AM_RANGE(0x2a0000, 0x2a0001) AM_READNOP // ? AM_RANGE(0x400000, 0x43ffff) AM_RAM // dyna @@ -873,7 +873,7 @@ static WRITE16_HANDLER( sxyreact_motor_w ) static ADDRESS_MAP_START( sxyreact_map, ADDRESS_SPACE_PROGRAM, 16 ) // AM_RANGE(0x020000, 0x03ffff) AM_READWRITE(ssv_mainram_r, ssv_mainram_w) // sxyreac2 reads / writes here, why? AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines AM_RANGE(0x500002, 0x500003) AM_READ(sxyreact_ballswitch_r) // ? AM_RANGE(0x500004, 0x500005) AM_READWRITE(sxyreact_dial_r, sxyreact_motor_w) // Dial Value (serial) @@ -905,7 +905,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( ultrax_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x010000, 0x03ffff) AM_RAM // More RAM AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog (also value is cmp.b with memory address 8) -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 2,6 at the start +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 2,6 at the start SSV_MAP( 0xe00000 ) ADDRESS_MAP_END @@ -1027,8 +1027,8 @@ static WRITE16_HANDLER( eaglshot_gfxram_w ) static ADDRESS_MAP_START( eaglshot_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x180000, 0x1bffff) AM_READWRITE(eaglshot_gfxram_r, eaglshot_gfxram_w) - AM_RANGE(0x210000, 0x210001) AM_READ(/*watchdog_reset16_r*/SMH_NOP) // Watchdog -// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 0,4 at the start + AM_RANGE(0x210000, 0x210001) AM_READNOP /*AM_READ(watchdog_reset16_r)*/ // Watchdog +// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 0,4 at the start AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines AM_RANGE(0x800000, 0x800001) AM_WRITE(eaglshot_gfxrom_w) AM_RANGE(0x900000, 0x900001) AM_WRITE(eaglshot_trackball_w) diff --git a/src/mame/drivers/stactics.c b/src/mame/drivers/stactics.c index 9bde548bd92..4dab7c43780 100644 --- a/src/mame/drivers/stactics.c +++ b/src/mame/drivers/stactics.c @@ -178,14 +178,14 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x0fff) AM_READ_PORT("IN1") AM_RANGE(0x6000, 0x6001) AM_MIRROR(0x0f08) AM_WRITE(stactics_coin_lockout_w) AM_RANGE(0x6002, 0x6005) AM_MIRROR(0x0f08) AM_WRITENOP - AM_RANGE(0x6006, 0x6007) AM_MIRROR(0x0f08) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(stactics_state, palette) + AM_RANGE(0x6006, 0x6007) AM_MIRROR(0x0f08) AM_WRITEONLY AM_BASE_MEMBER(stactics_state, palette) /* AM_RANGE(0x6010, 0x6017) AM_MIRROR(0x0f08) AM_WRITE(stactics_sound_w) */ - AM_RANGE(0x6016, 0x6016) AM_MIRROR(0x0f08) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(stactics_state, motor_on) /* Note: This overlaps rocket sound */ - AM_RANGE(0x6020, 0x6027) AM_MIRROR(0x0f08) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(stactics_state, lamps) + AM_RANGE(0x6016, 0x6016) AM_MIRROR(0x0f08) AM_WRITEONLY AM_BASE_MEMBER(stactics_state, motor_on) /* Note: This overlaps rocket sound */ + AM_RANGE(0x6020, 0x6027) AM_MIRROR(0x0f08) AM_WRITEONLY AM_BASE_MEMBER(stactics_state, lamps) AM_RANGE(0x6030, 0x6030) AM_MIRROR(0x0f0f) AM_WRITE(stactics_speed_latch_w) AM_RANGE(0x6040, 0x6040) AM_MIRROR(0x0f0f) AM_WRITE(stactics_shot_trigger_w) AM_RANGE(0x6050, 0x6050) AM_MIRROR(0x0f0f) AM_WRITE(stactics_shot_flag_clear_w) - AM_RANGE(0x6060, 0x606f) AM_MIRROR(0x0f00) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(stactics_state, display_buffer) + AM_RANGE(0x6060, 0x606f) AM_MIRROR(0x0f00) AM_WRITEONLY AM_BASE_MEMBER(stactics_state, display_buffer) AM_RANGE(0x6070, 0x609f) AM_MIRROR(0x0f00) AM_WRITENOP /* AM_RANGE(0x60a0, 0x60ef) AM_MIRROR(0x0f00) AM_WRITE(stactics_sound2_w) */ AM_RANGE(0x60f0, 0x60ff) AM_MIRROR(0x0f00) AM_WRITENOP diff --git a/src/mame/drivers/stadhero.c b/src/mame/drivers/stadhero.c index e3dc5c6e424..997f9428d04 100644 --- a/src/mame/drivers/stadhero.c +++ b/src/mame/drivers/stadhero.c @@ -67,8 +67,8 @@ static WRITE16_HANDLER( stadhero_control_w ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x01ffff) AM_ROM AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(stadhero_pf1_data_w) AM_BASE(&stadhero_pf1_data) - AM_RANGE(0x240000, 0x240007) AM_RAM_WRITE(SMH_RAM) AM_BASE(&stadhero_pf2_control_0) - AM_RANGE(0x240010, 0x240017) AM_WRITE(SMH_RAM) AM_BASE(&stadhero_pf2_control_1) + AM_RANGE(0x240000, 0x240007) AM_RAM AM_BASE(&stadhero_pf2_control_0) + AM_RANGE(0x240010, 0x240017) AM_WRITEONLY AM_BASE(&stadhero_pf2_control_1) AM_RANGE(0x260000, 0x261fff) AM_READWRITE(stadhero_pf2_data_r, stadhero_pf2_data_w) AM_RANGE(0x30c000, 0x30c00b) AM_READWRITE(stadhero_control_r, stadhero_control_w) AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) diff --git a/src/mame/drivers/starwars.c b/src/mame/drivers/starwars.c index 63c88b96a37..48297c20012 100644 --- a/src/mame/drivers/starwars.c +++ b/src/mame/drivers/starwars.c @@ -172,7 +172,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4620, 0x463f) AM_WRITE(avgdvg_reset_w) AM_RANGE(0x4640, 0x465f) AM_WRITE(watchdog_reset_w) AM_RANGE(0x4660, 0x467f) AM_WRITE(irq_ack_w) - AM_RANGE(0x4680, 0x469f) AM_READWRITE(SMH_NOP,starwars_out_w) + AM_RANGE(0x4680, 0x469f) AM_READNOP AM_WRITE(starwars_out_w) AM_RANGE(0x46a0, 0x46bf) AM_WRITE(starwars_nstore_w) AM_RANGE(0x46c0, 0x46c2) AM_WRITE(starwars_adc_select_w) AM_RANGE(0x46e0, 0x46e0) AM_WRITE(starwars_soundrst_w) diff --git a/src/mame/drivers/strnskil.c b/src/mame/drivers/strnskil.c index d7a7d87af59..2baa220435e 100644 --- a/src/mame/drivers/strnskil.c +++ b/src/mame/drivers/strnskil.c @@ -104,7 +104,7 @@ static ADDRESS_MAP_START( strnskil_map1, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd808, 0xd808) AM_WRITE(strnskil_scrl_ctrl_w) AM_RANGE(0xd809, 0xd809) AM_WRITENOP /* coin counter? */ - AM_RANGE(0xd80a, 0xd80b) AM_WRITE(SMH_RAM) AM_BASE(&strnskil_xscroll) + AM_RANGE(0xd80a, 0xd80b) AM_WRITEONLY AM_BASE(&strnskil_xscroll) ADDRESS_MAP_END static ADDRESS_MAP_START( strnskil_map2, ADDRESS_SPACE_PROGRAM, 8 ) diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c index bd1a1519abd..68619d3ebaa 100644 --- a/src/mame/drivers/suna8.c +++ b/src/mame/drivers/suna8.c @@ -513,7 +513,7 @@ static ADDRESS_MAP_START( hardhead_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM AM_RANGE(0xc000, 0xd7ff) AM_RAM // RAM AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram) // Palette - AM_RANGE(0xda00, 0xda00) AM_READWRITE(hardhead_ip_r, SMH_RAM) AM_BASE(&hardhead_ip) // Input Port Select + AM_RANGE(0xda00, 0xda00) AM_RAM_READ(hardhead_ip_r) AM_BASE(&hardhead_ip) // Input Port Select AM_RANGE(0xda80, 0xda80) AM_READWRITE(soundlatch2_r, hardhead_bankswitch_w ) // ROM Banking AM_RANGE(0xdb00, 0xdb00) AM_WRITE(soundlatch_w ) // To Sound CPU AM_RANGE(0xdb80, 0xdb80) AM_WRITE(hardhead_flipscreen_w ) // Flip Screen + Coin Lockout @@ -527,7 +527,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( hardhead_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_READ(SMH_NOP ) // ? IRQ Ack + AM_RANGE(0x00, 0x00) AM_READNOP // ? IRQ Ack ADDRESS_MAP_END /*************************************************************************** @@ -578,7 +578,7 @@ static ADDRESS_MAP_START( rranger_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc003, 0xc003) AM_READ_PORT("P2") // P2 AM_RANGE(0xc004, 0xc004) AM_READ(rranger_soundstatus_r ) // Latch Status? AM_RANGE(0xc200, 0xc200) AM_NOP // Protection? - AM_RANGE(0xc280, 0xc280) AM_WRITE(SMH_NOP ) // ? NMI Ack + AM_RANGE(0xc280, 0xc280) AM_WRITENOP // ? NMI Ack AM_RANGE(0xc280, 0xc280) AM_READ_PORT("DSW1") // DSW 1 AM_RANGE(0xc2c0, 0xc2c0) AM_READ_PORT("DSW2") // DSW 2 AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram) // Palette @@ -589,7 +589,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( rranger_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_READ(SMH_NOP ) // ? IRQ Ack + AM_RANGE(0x00, 0x00) AM_READNOP // ? IRQ Ack ADDRESS_MAP_END /*************************************************************************** @@ -759,7 +759,7 @@ static ADDRESS_MAP_START( hardhea2_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc300, 0xc300) AM_WRITE(hardhea2_flipscreen_w ) // Flip Screen AM_RANGE(0xc380, 0xc380) AM_WRITE(hardhea2_nmi_w ) // ? NMI related ? AM_RANGE(0xc400, 0xc400) AM_WRITE(hardhea2_leds_w ) // Leds + Coin Counter - AM_RANGE(0xc480, 0xc480) AM_WRITE(SMH_NOP ) // ~ROM Bank + AM_RANGE(0xc480, 0xc480) AM_WRITENOP // ~ROM Bank AM_RANGE(0xc500, 0xc500) AM_WRITE(soundlatch_w ) // To Sound CPU // *** Protection @@ -922,7 +922,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( hardhead_sound_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x01, 0x01) AM_READ(SMH_NOP ) // ? IRQ Ack + AM_RANGE(0x01, 0x01) AM_READNOP // ? IRQ Ack ADDRESS_MAP_END diff --git a/src/mame/drivers/suprnova.c b/src/mame/drivers/suprnova.c index 1848008e386..4086a0ce882 100644 --- a/src/mame/drivers/suprnova.c +++ b/src/mame/drivers/suprnova.c @@ -781,7 +781,7 @@ static ADDRESS_MAP_START( skns_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x02400000, 0x0240007f) AM_RAM_WRITE(skns_v3_regs_w) AM_BASE(&skns_v3_regs) /* tilemap registers */ AM_RANGE(0x02500000, 0x02503fff) AM_RAM_WRITE(skns_tilemapA_w) AM_BASE(&skns_tilemapA_ram) /* tilemap A */ AM_RANGE(0x02504000, 0x02507fff) AM_RAM_WRITE(skns_tilemapB_w) AM_BASE(&skns_tilemapB_ram) /* tilemap B */ - AM_RANGE(0x02600000, 0x02607fff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&skns_v3slc_ram) /* tilemap linescroll */ + AM_RANGE(0x02600000, 0x02607fff) AM_RAM AM_BASE(&skns_v3slc_ram) /* tilemap linescroll */ AM_RANGE(0x02a00000, 0x02a0001f) AM_RAM_WRITE(skns_pal_regs_w) AM_BASE(&skns_pal_regs) AM_RANGE(0x02a40000, 0x02a5ffff) AM_RAM_WRITE(skns_palette_ram_w) AM_BASE(&skns_palette_ram) AM_RANGE(0x02f00000, 0x02f000ff) AM_READWRITE(skns_hit_r, skns_hit_w) diff --git a/src/mame/drivers/suprslam.c b/src/mame/drivers/suprslam.c index 4b9696110b0..90f52140daa 100644 --- a/src/mame/drivers/suprslam.c +++ b/src/mame/drivers/suprslam.c @@ -146,7 +146,7 @@ static ADDRESS_MAP_START( suprslam_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xff8000, 0xff8fff) AM_RAM AM_BASE(&K053936_0_linectrl) AM_RANGE(0xff9000, 0xff9001) AM_WRITE(sound_command_w) AM_RANGE(0xffa000, 0xffafff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xffd000, 0xffd01f) AM_WRITE(SMH_RAM) AM_BASE(&K053936_0_ctrl) + AM_RANGE(0xffd000, 0xffd01f) AM_WRITEONLY AM_BASE(&K053936_0_ctrl) AM_RANGE(0xffe000, 0xffe001) AM_WRITE(suprslam_bank_w) AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1") AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("P2") diff --git a/src/mame/drivers/system16.c b/src/mame/drivers/system16.c index bafc41da469..84a0ee89c7c 100644 --- a/src/mame/drivers/system16.c +++ b/src/mame/drivers/system16.c @@ -828,10 +828,10 @@ static ADDRESS_MAP_START( goldnaxe_b1_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE") AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1") AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2") - AM_RANGE(0xc42006, 0xc42007) AM_WRITE(SMH_NOP) // sound related? - AM_RANGE(0xc43000, 0xc43001) AM_WRITE(SMH_NOP) - AM_RANGE(0xc43034, 0xc43035) AM_WRITE(SMH_NOP) - AM_RANGE(0xc80000, 0xc80001) AM_WRITE(SMH_NOP) + AM_RANGE(0xc42006, 0xc42007) AM_WRITENOP // sound related? + AM_RANGE(0xc43000, 0xc43001) AM_WRITENOP + AM_RANGE(0xc43034, 0xc43035) AM_WRITENOP + AM_RANGE(0xc80000, 0xc80001) AM_WRITENOP AM_RANGE(0xffc000, 0xffffff) AM_RAM // work ram ADDRESS_MAP_END @@ -1023,21 +1023,21 @@ static ADDRESS_MAP_START( goldnaxe_b2_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE( sys16_textram_w ) AM_BASE(&sys16_textram) AM_RANGE(0x140000, 0x143fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram) AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE(&segaic16_spriteram_0) - AM_RANGE(0xc40000, 0xc40001) AM_READ_PORT("DSW2") AM_WRITE(SMH_NOP) + AM_RANGE(0xc40000, 0xc40001) AM_READ_PORT("DSW2") AM_WRITENOP AM_RANGE(0xc40002, 0xc40003) AM_READ_PORT("DSW1") AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE") AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1") AM_RANGE(0xc41004, 0xc41005) AM_READ_PORT("P2") - AM_RANGE(0xc43000, 0xc43001) AM_WRITE(SMH_NOP) + AM_RANGE(0xc43000, 0xc43001) AM_WRITENOP AM_RANGE(0xc44000, 0xc44001) AM_WRITE(goldnax_b2_fgscrolly_w) AM_RANGE(0xc44008, 0xc44009) AM_WRITE(goldnax_b2_fgscrollx_w) // and tile bank AM_RANGE(0xc44010, 0xc44011) AM_WRITE(goldnax_b2_bgscrolly_w) AM_RANGE(0xc44018, 0xc44019) AM_WRITE(goldnax_b2_bgscrollx_w) AM_RANGE(0xc44020, 0xc44027) AM_WRITE(goldnax_b2_bgpage_w) AM_BASE(&goldnax_b2_bgpage) AM_RANGE(0xc44060, 0xc44067) AM_WRITE(goldnax_b2_fgpage_w) AM_BASE(&goldnax_b2_fgpage) - AM_RANGE(0xc46000, 0xc46001) AM_WRITE(SMH_NOP) - AM_RANGE(0xc43034, 0xc43035) AM_WRITE(SMH_NOP) - AM_RANGE(0xfe0006, 0xfe0007) AM_WRITE(SMH_NOP) + AM_RANGE(0xc46000, 0xc46001) AM_WRITENOP + AM_RANGE(0xc43034, 0xc43035) AM_WRITENOP + AM_RANGE(0xfe0006, 0xfe0007) AM_WRITENOP AM_RANGE(0xffc000, 0xffffff) AM_RAM // work ram ADDRESS_MAP_END diff --git a/src/mame/drivers/tagteam.c b/src/mame/drivers/tagteam.c index 949248deb15..5c9fc92f324 100644 --- a/src/mame/drivers/tagteam.c +++ b/src/mame/drivers/tagteam.c @@ -59,7 +59,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) // AM_RANGE(0x2003, 0x2003) AM_WRITENOP /* Appears to increment when you're out of the ring */ AM_RANGE(0x4000, 0x43ff) AM_READWRITE(tagteam_mirrorvideoram_r, tagteam_mirrorvideoram_w) AM_RANGE(0x4400, 0x47ff) AM_READWRITE(tagteam_mirrorcolorram_r, tagteam_mirrorcolorram_w) - AM_RANGE(0x4800, 0x4fff) AM_READ(SMH_RAM) + AM_RANGE(0x4800, 0x4fff) AM_READONLY AM_RANGE(0x4800, 0x4bff) AM_WRITE(tagteam_videoram_w) AM_BASE_GENERIC(videoram) AM_RANGE(0x4c00, 0x4fff) AM_WRITE(tagteam_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x8000, 0xffff) AM_ROM @@ -72,7 +72,7 @@ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x2004, 0x2004) AM_DEVWRITE("dac", dac_w) AM_RANGE(0x2005, 0x2005) AM_WRITE(interrupt_enable_w) AM_RANGE(0x2007, 0x2007) AM_READ(soundlatch_r) - AM_RANGE(0x4000, 0xffff) AM_READ(SMH_ROM) + AM_RANGE(0x4000, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/tail2nos.c b/src/mame/drivers/tail2nos.c index 1c2548a56f9..5ae7ff45fd0 100644 --- a/src/mame/drivers/tail2nos.c +++ b/src/mame/drivers/tail2nos.c @@ -93,7 +93,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( sound_port_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x07, 0x07) AM_READWRITE(soundlatch_r, SMH_NOP) /* the write is a clear pending command */ + AM_RANGE(0x07, 0x07) AM_READ(soundlatch_r) AM_WRITENOP /* the write is a clear pending command */ AM_RANGE(0x08, 0x0b) AM_DEVWRITE("ymsnd", ym2608_w) #if 0 AM_RANGE(0x18, 0x1b) AM_DEVREAD("ymsnd", ym2608_r) diff --git a/src/mame/drivers/taito_o.c b/src/mame/drivers/taito_o.c index a7c2f1536dc..6df9a48ac5b 100644 --- a/src/mame/drivers/taito_o.c +++ b/src/mame/drivers/taito_o.c @@ -68,7 +68,7 @@ static ADDRESS_MAP_START( parentj_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x200000, 0x20000f) AM_READWRITE(io_r, io_w) /* TC0220IOC ? */ AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymsnd", ym2203_r, ym2203_w, 0x00ff) AM_RANGE(0x400000, 0x420fff) AM_READWRITE(TC0080VCO_word_r, TC0080VCO_word_w) - AM_RANGE(0x500800, 0x500fff) AM_RAM AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) + AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) ADDRESS_MAP_END static INPUT_PORTS_START( parentj ) diff --git a/src/mame/drivers/taitoair.c b/src/mame/drivers/taitoair.c index 613b7259bc0..e4d33fe9870 100644 --- a/src/mame/drivers/taitoair.c +++ b/src/mame/drivers/taitoair.c @@ -400,7 +400,7 @@ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") AM_RANGE(0xc000, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_r, ym2610_w) - AM_RANGE(0xe200, 0xe200) AM_READWRITE(SMH_NOP, taitosound_slave_port_w) + AM_RANGE(0xe200, 0xe200) AM_READNOP AM_WRITE(taitosound_slave_port_w) AM_RANGE(0xe201, 0xe201) AM_READWRITE(taitosound_slave_comm_r, taitosound_slave_comm_w) AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan control */ AM_RANGE(0xea00, 0xea00) AM_READNOP diff --git a/src/mame/drivers/taitogn.c b/src/mame/drivers/taitogn.c index 43e8b309234..000afc986fe 100644 --- a/src/mame/drivers/taitogn.c +++ b/src/mame/drivers/taitogn.c @@ -519,7 +519,7 @@ static void install_handlers(running_machine *machine, int mode) memory_install_readwrite32_handler(a, 0x1f000000, 0x1f1fffff, 0, 0, flash_subbios_r, flash_subbios_w); memory_install_readwrite32_handler(a, 0x1f200000, 0x1f2fffff, 0, 0, rf5c296_mem_r, rf5c296_mem_w); memory_install_readwrite32_handler(a, 0x1f300000, 0x1f37ffff, 0, 0, flash_mn102_r, flash_mn102_w); - memory_install_readwrite32_handler(a, 0x1f380000, 0x1f5fffff, 0, 0, (read32_space_func)SMH_NOP, (write32_space_func)SMH_NOP); + memory_nop_readwrite(a, 0x1f380000, 0x1f5fffff, 0, 0); } else { // Mode 1 has access to the 3 samples flashes diff --git a/src/mame/drivers/taitosj.c b/src/mame/drivers/taitosj.c index 2d2aa029ea2..4702eea90d5 100644 --- a/src/mame/drivers/taitosj.c +++ b/src/mame/drivers/taitosj.c @@ -211,8 +211,8 @@ static ADDRESS_MAP_START( taitosj_main_nomcu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd000, 0xd05f) AM_RAM AM_BASE(&taitosj_colscrolly) AM_RANGE(0xd100, 0xd1ff) AM_RAM AM_BASE(&taitosj_spriteram) AM_RANGE(0xd200, 0xd27f) AM_MIRROR(0x0080) AM_RAM AM_BASE(&taitosj_paletteram) - AM_RANGE(0xd300, 0xd300) AM_MIRROR(0x00ff) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_video_priority) - AM_RANGE(0xd400, 0xd403) AM_MIRROR(0x00f0) AM_READ(SMH_RAM) AM_BASE(&taitosj_collision_reg) + AM_RANGE(0xd300, 0xd300) AM_MIRROR(0x00ff) AM_WRITEONLY AM_BASE(&taitosj_video_priority) + AM_RANGE(0xd400, 0xd403) AM_MIRROR(0x00f0) AM_READONLY AM_BASE(&taitosj_collision_reg) AM_RANGE(0xd404, 0xd404) AM_MIRROR(0x00f3) AM_READ(taitosj_gfxrom_r) AM_RANGE(0xd408, 0xd408) AM_MIRROR(0x00f0) AM_READ_PORT("IN0") AM_RANGE(0xd409, 0xd409) AM_MIRROR(0x00f0) AM_READ_PORT("IN1") @@ -222,15 +222,15 @@ static ADDRESS_MAP_START( taitosj_main_nomcu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd40d, 0xd40d) AM_MIRROR(0x00f0) AM_READ_PORT("IN4") AM_RANGE(0xd40e, 0xd40f) AM_MIRROR(0x00f0) AM_DEVWRITE("ay1", ay8910_address_data_w) AM_RANGE(0xd40f, 0xd40f) AM_MIRROR(0x00f0) AM_DEVREAD("ay1", ay8910_r) /* DSW2 and DSW3 */ - AM_RANGE(0xd500, 0xd505) AM_MIRROR(0x00f0) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_scroll) - AM_RANGE(0xd506, 0xd507) AM_MIRROR(0x00f0) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_colorbank) + AM_RANGE(0xd500, 0xd505) AM_MIRROR(0x00f0) AM_WRITEONLY AM_BASE(&taitosj_scroll) + AM_RANGE(0xd506, 0xd507) AM_MIRROR(0x00f0) AM_WRITEONLY AM_BASE(&taitosj_colorbank) AM_RANGE(0xd508, 0xd508) AM_MIRROR(0x00f0) AM_WRITE(taitosj_collision_reg_clear_w) - AM_RANGE(0xd509, 0xd50a) AM_MIRROR(0x00f0) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_gfxpointer) + AM_RANGE(0xd509, 0xd50a) AM_MIRROR(0x00f0) AM_WRITEONLY AM_BASE(&taitosj_gfxpointer) AM_RANGE(0xd50b, 0xd50b) AM_MIRROR(0x00f0) AM_WRITE(taitosj_soundcommand_w) - AM_RANGE(0xd50d, 0xd50d) AM_MIRROR(0x00f0) AM_WRITE(SMH_RAM) /*watchdog_reset_w*/ /* Bio Attack sometimes resets after you die */ + AM_RANGE(0xd50d, 0xd50d) AM_MIRROR(0x00f0) AM_WRITEONLY /*watchdog_reset_w*/ /* Bio Attack sometimes resets after you die */ AM_RANGE(0xd50e, 0xd50e) AM_MIRROR(0x00f0) AM_WRITE(taitosj_bankswitch_w) AM_RANGE(0xd50f, 0xd50f) AM_MIRROR(0x00f0) AM_WRITENOP - AM_RANGE(0xd600, 0xd600) AM_MIRROR(0x00ff) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_video_mode) + AM_RANGE(0xd600, 0xd600) AM_MIRROR(0x00ff) AM_WRITEONLY AM_BASE(&taitosj_video_mode) AM_RANGE(0xd700, 0xdfff) AM_NOP AM_RANGE(0xe000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -251,8 +251,8 @@ static ADDRESS_MAP_START( taitosj_main_mcu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd000, 0xd05f) AM_RAM AM_BASE(&taitosj_colscrolly) AM_RANGE(0xd100, 0xd1ff) AM_RAM AM_BASE(&taitosj_spriteram) AM_RANGE(0xd200, 0xd27f) AM_MIRROR(0x0080) AM_RAM AM_BASE(&taitosj_paletteram) - AM_RANGE(0xd300, 0xd300) AM_MIRROR(0x00ff) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_video_priority) - AM_RANGE(0xd400, 0xd403) AM_MIRROR(0x00f0) AM_READ(SMH_RAM) AM_BASE(&taitosj_collision_reg) + AM_RANGE(0xd300, 0xd300) AM_MIRROR(0x00ff) AM_WRITEONLY AM_BASE(&taitosj_video_priority) + AM_RANGE(0xd400, 0xd403) AM_MIRROR(0x00f0) AM_READONLY AM_BASE(&taitosj_collision_reg) AM_RANGE(0xd404, 0xd404) AM_MIRROR(0x00f3) AM_READ(taitosj_gfxrom_r) AM_RANGE(0xd408, 0xd408) AM_MIRROR(0x00f0) AM_READ_PORT("IN0") AM_RANGE(0xd409, 0xd409) AM_MIRROR(0x00f0) AM_READ_PORT("IN1") @@ -262,15 +262,15 @@ static ADDRESS_MAP_START( taitosj_main_mcu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd40d, 0xd40d) AM_MIRROR(0x00f0) AM_READ_PORT("IN4") AM_RANGE(0xd40e, 0xd40f) AM_MIRROR(0x00f0) AM_DEVWRITE("ay1", ay8910_address_data_w) AM_RANGE(0xd40f, 0xd40f) AM_MIRROR(0x00f0) AM_DEVREAD("ay1", ay8910_r) /* DSW2 and DSW3 */ - AM_RANGE(0xd500, 0xd505) AM_MIRROR(0x00f0) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_scroll) - AM_RANGE(0xd506, 0xd507) AM_MIRROR(0x00f0) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_colorbank) + AM_RANGE(0xd500, 0xd505) AM_MIRROR(0x00f0) AM_WRITEONLY AM_BASE(&taitosj_scroll) + AM_RANGE(0xd506, 0xd507) AM_MIRROR(0x00f0) AM_WRITEONLY AM_BASE(&taitosj_colorbank) AM_RANGE(0xd508, 0xd508) AM_MIRROR(0x00f0) AM_WRITE(taitosj_collision_reg_clear_w) - AM_RANGE(0xd509, 0xd50a) AM_MIRROR(0x00f0) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_gfxpointer) + AM_RANGE(0xd509, 0xd50a) AM_MIRROR(0x00f0) AM_WRITEONLY AM_BASE(&taitosj_gfxpointer) AM_RANGE(0xd50b, 0xd50b) AM_MIRROR(0x00f0) AM_WRITE(taitosj_soundcommand_w) - AM_RANGE(0xd50d, 0xd50d) AM_MIRROR(0x00f0) AM_WRITE(SMH_RAM) /*watchdog_reset_w*/ /* Bio Attack sometimes resets after you die */ + AM_RANGE(0xd50d, 0xd50d) AM_MIRROR(0x00f0) AM_WRITEONLY /*watchdog_reset_w*/ /* Bio Attack sometimes resets after you die */ AM_RANGE(0xd50e, 0xd50e) AM_MIRROR(0x00f0) AM_WRITE(taitosj_bankswitch_w) AM_RANGE(0xd50f, 0xd50f) AM_MIRROR(0x00f0) AM_WRITENOP - AM_RANGE(0xd600, 0xd600) AM_MIRROR(0x00ff) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_video_mode) + AM_RANGE(0xd600, 0xd600) AM_MIRROR(0x00ff) AM_WRITEONLY AM_BASE(&taitosj_video_mode) AM_RANGE(0xd700, 0xdfff) AM_NOP AM_RANGE(0xe000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -306,19 +306,19 @@ static ADDRESS_MAP_START( kikstart_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x8800, 0x8800) AM_READWRITE(taitosj_mcu_data_r, taitosj_mcu_data_w) AM_RANGE(0x8801, 0x8801) AM_READ(taitosj_mcu_status_r) - AM_RANGE(0x8802, 0x8802) AM_READWRITE(SMH_NOP, SMH_NOP) - AM_RANGE(0x8a00, 0x8a5f) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_colscrolly) + AM_RANGE(0x8802, 0x8802) AM_NOP + AM_RANGE(0x8a00, 0x8a5f) AM_WRITEONLY AM_BASE(&taitosj_colscrolly) AM_RANGE(0x9000, 0xbfff) AM_WRITE(taitosj_characterram_w) AM_BASE(&taitosj_characterram) AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_RANGE(0xc400, 0xc7ff) AM_RAM AM_BASE(&taitosj_videoram_1) AM_RANGE(0xc800, 0xcbff) AM_RAM AM_BASE(&taitosj_videoram_2) AM_RANGE(0xcc00, 0xcfff) AM_RAM AM_BASE(&taitosj_videoram_3) - AM_RANGE(0xd000, 0xd001) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_colorbank) - AM_RANGE(0xd002, 0xd007) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_scroll) + AM_RANGE(0xd000, 0xd001) AM_WRITEONLY AM_BASE(&taitosj_colorbank) + AM_RANGE(0xd002, 0xd007) AM_WRITEONLY AM_BASE(&taitosj_scroll) AM_RANGE(0xd100, 0xd1ff) AM_RAM AM_BASE(&taitosj_spriteram) AM_RANGE(0xd200, 0xd27f) AM_RAM AM_BASE(&taitosj_paletteram) - AM_RANGE(0xd300, 0xd300) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_video_priority) - AM_RANGE(0xd400, 0xd403) AM_READ(SMH_RAM) AM_BASE(&taitosj_collision_reg) + AM_RANGE(0xd300, 0xd300) AM_WRITEONLY AM_BASE(&taitosj_video_priority) + AM_RANGE(0xd400, 0xd403) AM_READONLY AM_BASE(&taitosj_collision_reg) AM_RANGE(0xd404, 0xd404) AM_READ(taitosj_gfxrom_r) AM_RANGE(0xd408, 0xd408) AM_MIRROR(0x00f0) AM_READ_PORT("IN0") AM_RANGE(0xd409, 0xd409) AM_MIRROR(0x00f0) AM_READ_PORT("IN1") @@ -329,11 +329,11 @@ static ADDRESS_MAP_START( kikstart_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd40e, 0xd40f) AM_DEVWRITE("ay1", ay8910_address_data_w) AM_RANGE(0xd40f, 0xd40f) AM_DEVREAD("ay1", ay8910_r) /* DSW2 and DSW3 */ AM_RANGE(0xd508, 0xd508) AM_WRITE(taitosj_collision_reg_clear_w) - AM_RANGE(0xd509, 0xd50a) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_gfxpointer) + AM_RANGE(0xd509, 0xd50a) AM_WRITEONLY AM_BASE(&taitosj_gfxpointer) AM_RANGE(0xd50b, 0xd50b) AM_WRITE(taitosj_soundcommand_w) AM_RANGE(0xd50d, 0xd50d) AM_WRITE(watchdog_reset_w) AM_RANGE(0xd50e, 0xd50e) AM_WRITE(taitosj_bankswitch_w) - AM_RANGE(0xd600, 0xd600) AM_WRITE(SMH_RAM) AM_BASE(&taitosj_video_mode) + AM_RANGE(0xd600, 0xd600) AM_WRITEONLY AM_BASE(&taitosj_video_mode) AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE(&kikstart_scrollram)// scroll ram + ??? AM_RANGE(0xe000, 0xefff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/tank8.c b/src/mame/drivers/tank8.c index f37f74286ea..112e4d3ef61 100644 --- a/src/mame/drivers/tank8.c +++ b/src/mame/drivers/tank8.c @@ -114,9 +114,9 @@ static ADDRESS_MAP_START( tank8_cpu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1c0f, 0x1c0f) AM_READ_PORT("VBLANK") AM_RANGE(0x1800, 0x1bff) AM_WRITE(tank8_video_ram_w) AM_BASE(&tank8_video_ram) - AM_RANGE(0x1c00, 0x1c0f) AM_WRITE(SMH_RAM) AM_BASE(&tank8_pos_h_ram) - AM_RANGE(0x1c10, 0x1c1f) AM_WRITE(SMH_RAM) AM_BASE(&tank8_pos_v_ram) - AM_RANGE(0x1c20, 0x1c2f) AM_WRITE(SMH_RAM) AM_BASE(&tank8_pos_d_ram) + AM_RANGE(0x1c00, 0x1c0f) AM_WRITEONLY AM_BASE(&tank8_pos_h_ram) + AM_RANGE(0x1c10, 0x1c1f) AM_WRITEONLY AM_BASE(&tank8_pos_v_ram) + AM_RANGE(0x1c20, 0x1c2f) AM_WRITEONLY AM_BASE(&tank8_pos_d_ram) AM_RANGE(0x1c30, 0x1c37) AM_WRITE(tank8_lockout_w) AM_RANGE(0x1d00, 0x1d00) AM_WRITE(tank8_int_reset_w) @@ -124,7 +124,7 @@ static ADDRESS_MAP_START( tank8_cpu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1d02, 0x1d02) AM_DEVWRITE("discrete", tank8_explosion_w) AM_RANGE(0x1d03, 0x1d03) AM_DEVWRITE("discrete", tank8_bugle_w) AM_RANGE(0x1d04, 0x1d04) AM_DEVWRITE("discrete", tank8_bug_w) - AM_RANGE(0x1d05, 0x1d05) AM_WRITE(SMH_RAM) AM_BASE(&tank8_team) + AM_RANGE(0x1d05, 0x1d05) AM_WRITEONLY AM_BASE(&tank8_team) AM_RANGE(0x1d06, 0x1d06) AM_DEVWRITE("discrete", tank8_attract_w) AM_RANGE(0x1e00, 0x1e07) AM_DEVWRITE("discrete", tank8_motor_w) diff --git a/src/mame/drivers/tankbust.c b/src/mame/drivers/tankbust.c index 40cb0d9b02d..42b44829554 100644 --- a/src/mame/drivers/tankbust.c +++ b/src/mame/drivers/tankbust.c @@ -221,13 +221,12 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( map_cpu2, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM) + AM_RANGE(0x0000, 0x1fff) AM_ROM AM_RANGE(0x2000, 0x3fff) AM_WRITENOP /* garbage, written in initialization loop */ //0x4000 and 0x4040-0x4045 seem to be used (referenced in the code) AM_RANGE(0x4000, 0x7fff) AM_WRITENOP /* garbage, written in initialization loop */ - AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x8000, 0x87ff) AM_READONLY + AM_RANGE(0x8000, 0x87ff) AM_WRITEONLY ADDRESS_MAP_END diff --git a/src/mame/drivers/taotaido.c b/src/mame/drivers/taotaido.c index a26285690c4..abdcb8d2340 100644 --- a/src/mame/drivers/taotaido.c +++ b/src/mame/drivers/taotaido.c @@ -102,7 +102,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xffff86, 0xffff87) AM_READ_PORT("DSW1") AM_RANGE(0xffff88, 0xffff89) AM_READ_PORT("DSW2") AM_RANGE(0xffff8a, 0xffff8b) AM_READ_PORT("DSW3") - AM_RANGE(0xffff8c, 0xffff8d) AM_READ(SMH_RAM) // unknown + AM_RANGE(0xffff8c, 0xffff8d) AM_READONLY // unknown AM_RANGE(0xffff8e, 0xffff8f) AM_READ_PORT("JP") AM_RANGE(0xffffa0, 0xffffa1) AM_READ_PORT("P3") // used only by taotaida AM_RANGE(0xffffa2, 0xffffa3) AM_READ_PORT("P4") // used only by taotaida diff --git a/src/mame/drivers/targeth.c b/src/mame/drivers/targeth.c index 727c97dab8a..a0cc986acd1 100644 --- a/src/mame/drivers/targeth.c +++ b/src/mame/drivers/targeth.c @@ -71,12 +71,12 @@ static WRITE16_HANDLER( targeth_coin_counter_w ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(targeth_vram_w) AM_BASE(&targeth_videoram) /* Video RAM */ - AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE(&targeth_vregs) /* Video Registers */ + AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(&targeth_vregs) /* Video Registers */ AM_RANGE(0x108000, 0x108001) AM_READ_PORT("GUNX1") AM_RANGE(0x108002, 0x108003) AM_READ_PORT("GUNY1") AM_RANGE(0x108004, 0x108005) AM_READ_PORT("GUNX2") AM_RANGE(0x108006, 0x108007) AM_READ_PORT("GUNY2") - AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE(&targeth_vregs) /* Video Registers */ + AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(&targeth_vregs) /* Video Registers */ AM_RANGE(0x10800c, 0x10800d) AM_WRITENOP /* CLR Video INT */ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&targeth_spriteram) /* Sprite RAM */ diff --git a/src/mame/drivers/tatsumi.c b/src/mame/drivers/tatsumi.c index 586e9479c2d..1b23355a07c 100644 --- a/src/mame/drivers/tatsumi.c +++ b/src/mame/drivers/tatsumi.c @@ -240,9 +240,9 @@ static ADDRESS_MAP_START( roundup5_v30_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x08000, 0x0bfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE_GENERIC(videoram) AM_RANGE(0x0c000, 0x0c003) AM_WRITE(roundup5_crt_w) AM_RANGE(0x0d000, 0x0d001) AM_READ_PORT("DSW") - AM_RANGE(0x0d400, 0x0d40f) AM_WRITE(SMH_RAM) AM_BASE(&roundup5_unknown0) - AM_RANGE(0x0d800, 0x0d801) AM_WRITE(SMH_RAM) AM_BASE(&roundup5_unknown1) // VRAM2 X scroll (todo) - AM_RANGE(0x0dc00, 0x0dc01) AM_WRITE(SMH_RAM) AM_BASE(&roundup5_unknown2) // VRAM2 Y scroll (todo) + AM_RANGE(0x0d400, 0x0d40f) AM_WRITEONLY AM_BASE(&roundup5_unknown0) + AM_RANGE(0x0d800, 0x0d801) AM_WRITEONLY AM_BASE(&roundup5_unknown1) // VRAM2 X scroll (todo) + AM_RANGE(0x0dc00, 0x0dc01) AM_WRITEONLY AM_BASE(&roundup5_unknown2) // VRAM2 Y scroll (todo) AM_RANGE(0x0e000, 0x0e001) AM_WRITE(roundup5_control_w) AM_RANGE(0x0f000, 0x0ffff) AM_RAM_WRITE(roundup5_palette_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x10000, 0x1ffff) AM_READWRITE(roundup_v30_z80_r, roundup_v30_z80_w) diff --git a/src/mame/drivers/taxidrvr.c b/src/mame/drivers/taxidrvr.c index c96eeb2996a..d62ddb7a765 100644 --- a/src/mame/drivers/taxidrvr.c +++ b/src/mame/drivers/taxidrvr.c @@ -146,20 +146,20 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xa000, 0xafff) AM_RAM /* ??? */ AM_RANGE(0xb000, 0xbfff) AM_RAM /* ??? */ AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE(&taxidrvr_vram4) /* radar bitmap */ - AM_RANGE(0xc800, 0xcfff) AM_WRITE(SMH_RAM) AM_BASE(&taxidrvr_vram5) /* "sprite1" bitmap */ - AM_RANGE(0xd000, 0xd7ff) AM_WRITE(SMH_RAM) AM_BASE(&taxidrvr_vram6) /* "sprite2" bitmap */ + AM_RANGE(0xc800, 0xcfff) AM_WRITEONLY AM_BASE(&taxidrvr_vram5) /* "sprite1" bitmap */ + AM_RANGE(0xd000, 0xd7ff) AM_WRITEONLY AM_BASE(&taxidrvr_vram6) /* "sprite2" bitmap */ AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE(&taxidrvr_vram7) /* "sprite3" bitmap */ - AM_RANGE(0xe000, 0xf3ff) AM_READ(SMH_RAM) - AM_RANGE(0xe000, 0xe3ff) AM_WRITE(SMH_RAM) AM_BASE(&taxidrvr_vram1) /* car tilemap */ - AM_RANGE(0xe400, 0xebff) AM_WRITE(SMH_RAM) AM_BASE(&taxidrvr_vram2) /* bg1 tilemap */ - AM_RANGE(0xec00, 0xefff) AM_WRITE(SMH_RAM) AM_BASE(&taxidrvr_vram0) /* fg tilemap */ - AM_RANGE(0xf000, 0xf3ff) AM_WRITE(SMH_RAM) AM_BASE(&taxidrvr_vram3) /* bg2 tilemap */ + AM_RANGE(0xe000, 0xf3ff) AM_READONLY + AM_RANGE(0xe000, 0xe3ff) AM_WRITEONLY AM_BASE(&taxidrvr_vram1) /* car tilemap */ + AM_RANGE(0xe400, 0xebff) AM_WRITEONLY AM_BASE(&taxidrvr_vram2) /* bg1 tilemap */ + AM_RANGE(0xec00, 0xefff) AM_WRITEONLY AM_BASE(&taxidrvr_vram0) /* fg tilemap */ + AM_RANGE(0xf000, 0xf3ff) AM_WRITEONLY AM_BASE(&taxidrvr_vram3) /* bg2 tilemap */ AM_RANGE(0xf400, 0xf403) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) AM_RANGE(0xf480, 0xf483) AM_DEVREADWRITE("ppi8255_2", ppi8255_r, ppi8255_w) /* "sprite1" placement */ AM_RANGE(0xf500, 0xf503) AM_DEVREADWRITE("ppi8255_3", ppi8255_r, ppi8255_w) /* "sprite2" placement */ AM_RANGE(0xf580, 0xf583) AM_DEVREADWRITE("ppi8255_4", ppi8255_r, ppi8255_w) /* "sprite3" placement */ - //AM_RANGE(0xf780, 0xf781) AM_WRITE(SMH_RAM) /* more scroll registers? */ - AM_RANGE(0xf782, 0xf787) AM_WRITE(SMH_RAM) AM_BASE(&taxidrvr_scroll) /* bg scroll (three copies always identical) */ + //AM_RANGE(0xf780, 0xf781) AM_WRITEONLY /* more scroll registers? */ + AM_RANGE(0xf782, 0xf787) AM_WRITEONLY AM_BASE(&taxidrvr_scroll) /* bg scroll (three copies always identical) */ AM_RANGE(0xf800, 0xffff) AM_RAM ADDRESS_MAP_END diff --git a/src/mame/drivers/tbowl.c b/src/mame/drivers/tbowl.c index d718858673b..9506d93e3ff 100644 --- a/src/mame/drivers/tbowl.c +++ b/src/mame/drivers/tbowl.c @@ -146,9 +146,9 @@ static WRITE8_HANDLER ( tbowl_trigger_nmi ) static ADDRESS_MAP_START( 6206C_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xbfff) AM_ROM - AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_RAM) - AM_RANGE(0xc000, 0xd7ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xd800, 0xdfff) AM_WRITE(SMH_RAM) AM_BASE(&tbowl_spriteram) + AM_RANGE(0xc000, 0xdfff) AM_READONLY + AM_RANGE(0xc000, 0xd7ff) AM_WRITEONLY + AM_RANGE(0xd800, 0xdfff) AM_WRITEONLY AM_BASE(&tbowl_spriteram) AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE_GENERIC(paletteram) // 2x palettes, one for each monitor? AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank2") AM_RANGE(0xf800, 0xfbff) AM_READWRITE(shared_r, shared_w) diff --git a/src/mame/drivers/tceptor.c b/src/mame/drivers/tceptor.c index 329ed4b643d..4bfded4b5d3 100644 --- a/src/mame/drivers/tceptor.c +++ b/src/mame/drivers/tceptor.c @@ -202,7 +202,7 @@ static ADDRESS_MAP_START( m6502_a_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0300, 0x030f) AM_RAM AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w) AM_RANGE(0x3000, 0x30ff) AM_RAM AM_SHARE(3) - AM_RANGE(0x3c01, 0x3c01) AM_WRITE(SMH_RAM) + AM_RANGE(0x3c01, 0x3c01) AM_WRITEONLY AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -211,7 +211,7 @@ static ADDRESS_MAP_START( m6502_b_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE(2) AM_RANGE(0x0100, 0x01ff) AM_RAM AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("dac", voice_w) // voice data - AM_RANGE(0x5000, 0x5000) AM_WRITE(SMH_RAM) // voice ctrl?? + AM_RANGE(0x5000, 0x5000) AM_WRITEONLY // voice ctrl?? AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -220,8 +220,8 @@ static ADDRESS_MAP_START( m68k_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x00ffff) AM_ROM // M68K ERROR 1 AM_RANGE(0x100000, 0x10ffff) AM_ROM // not sure AM_RANGE(0x200000, 0x203fff) AM_RAM // M68K ERROR 0 - AM_RANGE(0x300000, 0x300001) AM_WRITE(SMH_RAM) - AM_RANGE(0x400000, 0x4001ff) AM_WRITE(SMH_RAM) AM_BASE(&tceptor_sprite_ram) + AM_RANGE(0x300000, 0x300001) AM_WRITEONLY + AM_RANGE(0x400000, 0x4001ff) AM_WRITEONLY AM_BASE(&tceptor_sprite_ram) AM_RANGE(0x500000, 0x51ffff) AM_WRITE(namco_road16_w) AM_RANGE(0x600000, 0x600001) AM_WRITE(m68k_irq_enable_w) // not sure AM_RANGE(0x700000, 0x703fff) AM_READWRITE(m68k_shared_word_r, m68k_shared_word_w) AM_SHARE(1) @@ -249,8 +249,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( mcu_io_map, ADDRESS_SPACE_IO, 8 ) - AM_RANGE(HD63701_PORT1, HD63701_PORT1) AM_READWRITE(readFF, SMH_NOP) - AM_RANGE(HD63701_PORT2, HD63701_PORT2) AM_READWRITE(readFF, SMH_NOP) + AM_RANGE(HD63701_PORT1, HD63701_PORT1) AM_READ(readFF) AM_WRITENOP + AM_RANGE(HD63701_PORT2, HD63701_PORT2) AM_READ(readFF) AM_WRITENOP ADDRESS_MAP_END diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c index 87ad23a2eaa..f3f30e4f318 100644 --- a/src/mame/drivers/tecmo.c +++ b/src/mame/drivers/tecmo.c @@ -1088,9 +1088,9 @@ static DRIVER_INIT( backfirt ) tecmo_video_type = 2; /* no MSM */ - memory_install_write8_handler(cputag_get_address_space(machine, "soundcpu", ADDRESS_SPACE_PROGRAM), 0xc000, 0xc000, 0, 0, (write8_space_func)SMH_NOP); - memory_install_write8_handler(cputag_get_address_space(machine, "soundcpu", ADDRESS_SPACE_PROGRAM), 0xd000, 0xd000, 0, 0, (write8_space_func)SMH_NOP); - memory_install_write8_handler(cputag_get_address_space(machine, "soundcpu", ADDRESS_SPACE_PROGRAM), 0xe000, 0xe000, 0, 0, (write8_space_func)SMH_NOP); + memory_nop_write(cputag_get_address_space(machine, "soundcpu", ADDRESS_SPACE_PROGRAM), 0xc000, 0xc000, 0, 0); + memory_nop_write(cputag_get_address_space(machine, "soundcpu", ADDRESS_SPACE_PROGRAM), 0xd000, 0xd000, 0, 0); + memory_nop_write(cputag_get_address_space(machine, "soundcpu", ADDRESS_SPACE_PROGRAM), 0xe000, 0xe000, 0, 0); } diff --git a/src/mame/drivers/tecmosys.c b/src/mame/drivers/tecmosys.c index f3100fd9250..8a1978bf0b4 100644 --- a/src/mame/drivers/tecmosys.c +++ b/src/mame/drivers/tecmosys.c @@ -423,20 +423,20 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(fg_tilemap_w) AM_BASE(&fgtilemap_ram) // fix ram AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE(&tecmosys_spriteram) // obj ram AM_RANGE(0x880000, 0x88000b) AM_READ(unk880000_r) - AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // AM_WRITE(SMH_RAM) // obj pal + AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // AM_WRITEONLY // obj pal - //AM_RANGE(0x980000, 0x9807ff) AM_WRITE(SMH_RAM) // bg pal + //AM_RANGE(0x980000, 0x9807ff) AM_WRITEONLY // bg pal //AM_RANGE(0x980800, 0x980fff) AM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // fix pal // the two above are as tested by the game code, I've only rolled them into one below to get colours to show right. AM_RANGE(0x980000, 0x980fff) AM_RAM_WRITE(tilemap_paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&tilemap_paletteram16) AM_RANGE(0x880000, 0x88002f) AM_WRITE( unk880000_w ) AM_BASE(&tecmosys_880000regs) // 10 byte dta@88000c, 880022=watchdog? AM_RANGE(0xa00000, 0xa00001) AM_WRITE(eeprom_w ) - AM_RANGE(0xa80000, 0xa80005) AM_WRITE(SMH_RAM ) AM_BASE(&tecmosys_a80000regs) // a80000-3 scroll? a80004 inverted ? 3 : 0 - AM_RANGE(0xb00000, 0xb00005) AM_WRITE(SMH_RAM ) AM_BASE(&tecmosys_b00000regs) // b00000-3 scrool?, b00004 inverted ? 3 : 0 + AM_RANGE(0xa80000, 0xa80005) AM_WRITEONLY AM_BASE(&tecmosys_a80000regs) // a80000-3 scroll? a80004 inverted ? 3 : 0 + AM_RANGE(0xb00000, 0xb00005) AM_WRITEONLY AM_BASE(&tecmosys_b00000regs) // b00000-3 scrool?, b00004 inverted ? 3 : 0 AM_RANGE(0xb80000, 0xb80001) AM_READWRITE(tecmosys_prot_status_r, tecmosys_prot_status_w) - AM_RANGE(0xc00000, 0xc00005) AM_WRITE(SMH_RAM ) AM_BASE(&tecmosys_c00000regs) // c00000-3 scroll? c00004 inverted ? 13 : 10 - AM_RANGE(0xc80000, 0xc80005) AM_WRITE(SMH_RAM ) AM_BASE(&tecmosys_c80000regs) // c80000-3 scrool? c80004 inverted ? 3 : 0 + AM_RANGE(0xc00000, 0xc00005) AM_WRITEONLY AM_BASE(&tecmosys_c00000regs) // c00000-3 scroll? c00004 inverted ? 13 : 10 + AM_RANGE(0xc80000, 0xc80005) AM_WRITEONLY AM_BASE(&tecmosys_c80000regs) // c80000-3 scrool? c80004 inverted ? 3 : 0 AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("P1") AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("P2") AM_RANGE(0xd80000, 0xd80001) AM_READ(eeprom_r) diff --git a/src/mame/drivers/tempest.c b/src/mame/drivers/tempest.c index ef48715c9f3..2baaa3f3c2f 100644 --- a/src/mame/drivers/tempest.c +++ b/src/mame/drivers/tempest.c @@ -386,12 +386,12 @@ static WRITE8_HANDLER( tempest_coin_w ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x07ff) AM_RAM - AM_RANGE(0x0800, 0x080f) AM_WRITE(SMH_RAM) AM_BASE(&tempest_colorram) + AM_RANGE(0x0800, 0x080f) AM_WRITEONLY AM_BASE(&tempest_colorram) AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("IN0") AM_RANGE(0x0d00, 0x0d00) AM_READ_PORT("DSW1") AM_RANGE(0x0e00, 0x0e00) AM_READ_PORT("DSW2") AM_RANGE(0x2000, 0x2fff) AM_RAM AM_BASE(&vectorram) AM_SIZE(&vectorram_size) AM_REGION("maincpu", 0x2000) - AM_RANGE(0x3000, 0x3fff) AM_READ(SMH_ROM) + AM_RANGE(0x3000, 0x3fff) AM_ROM AM_RANGE(0x4000, 0x4000) AM_WRITE(tempest_coin_w) AM_RANGE(0x4800, 0x4800) AM_WRITE(avgdvg_go_w) AM_RANGE(0x5000, 0x5000) AM_WRITE(wdclr_w) diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c index d8dbc4c92ba..444f4103428 100644 --- a/src/mame/drivers/tetrisp2.c +++ b/src/mame/drivers/tetrisp2.c @@ -389,19 +389,19 @@ static ADDRESS_MAP_START( nndmseal_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xb00000, 0xb00001) AM_WRITE(nndmseal_coincounter_w) // Coin Counter AM_RANGE(0xb20000, 0xb20001) AM_WRITE(nndmseal_b20000_w) // ??? - AM_RANGE(0xb40000, 0xb4000b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_fg ) // Foreground Scrolling - AM_RANGE(0xb40010, 0xb4001b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_bg ) // Background Scrolling + AM_RANGE(0xb40000, 0xb4000b) AM_WRITEONLY AM_BASE(&tetrisp2_scroll_fg ) // Foreground Scrolling + AM_RANGE(0xb40010, 0xb4001b) AM_WRITEONLY AM_BASE(&tetrisp2_scroll_bg ) // Background Scrolling AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size - AM_RANGE(0xb60000, 0xb6002f) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_rotregs) // Rotation Registers + AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_BASE(&tetrisp2_rotregs) // Rotation Registers AM_RANGE(0xb80000, 0xb80001) AM_WRITE(nndmseal_sound_bank_w) AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w ) // system param - AM_RANGE(0xba001a, 0xba001b) AM_WRITE(SMH_NOP ) // Lev 4 irq ack - AM_RANGE(0xba001e, 0xba001f) AM_WRITE(SMH_NOP ) // Lev 2 irq ack + AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack + AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack - AM_RANGE(0xbe0000, 0xbe0001) AM_READ (SMH_NOP ) // INT-level1 dummy read + AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("BUTTONS" ) // Inputs AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("COINS" ) // "" AM_RANGE(0xbe0006, 0xbe0007) AM_READ_PORT("PRINT" ) // "" @@ -464,10 +464,10 @@ static ADDRESS_MAP_START( rockn2_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xa48000, 0xa48001) AM_WRITENOP // YMZ280 Reset AM_RANGE(0xb00000, 0xb00001) AM_WRITE(tetrisp2_coincounter_w) // Coin Counter AM_RANGE(0xb20000, 0xb20001) AM_WRITENOP // ??? - AM_RANGE(0xb40000, 0xb4000b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_fg) // Foreground Scrolling - AM_RANGE(0xb40010, 0xb4001b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_bg) // Background Scrolling + AM_RANGE(0xb40000, 0xb4000b) AM_WRITEONLY AM_BASE(&tetrisp2_scroll_fg) // Foreground Scrolling + AM_RANGE(0xb40010, 0xb4001b) AM_WRITEONLY AM_BASE(&tetrisp2_scroll_bg) // Background Scrolling AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size - AM_RANGE(0xb60000, 0xb6002f) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_rotregs) // Rotation Registers + AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_BASE(&tetrisp2_rotregs) // Rotation Registers AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w) // system param AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack diff --git a/src/mame/drivers/thedeep.c b/src/mame/drivers/thedeep.c index 58c2507b4e8..adcfd9c098a 100644 --- a/src/mame/drivers/thedeep.c +++ b/src/mame/drivers/thedeep.c @@ -162,7 +162,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xe00b, 0xe00b) AM_READ_PORT("e00b") // DSW2 AM_RANGE(0xe00c, 0xe00c) AM_WRITE(thedeep_sound_w ) // To Sound CPU AM_RANGE(0xe100, 0xe100) AM_WRITE(thedeep_e100_w ) // ? - AM_RANGE(0xe210, 0xe213) AM_WRITE(SMH_RAM) AM_BASE(&thedeep_scroll ) // Scroll + AM_RANGE(0xe210, 0xe213) AM_WRITEONLY AM_BASE(&thedeep_scroll ) // Scroll AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(thedeep_vram_1_w) AM_BASE(&thedeep_vram_1 ) // Text Layer AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(thedeep_vram_0_w) AM_BASE(&thedeep_vram_0 ) // Background Layer diff --git a/src/mame/drivers/thepit.c b/src/mame/drivers/thepit.c index dd9729a8251..84150a7586c 100644 --- a/src/mame/drivers/thepit.c +++ b/src/mame/drivers/thepit.c @@ -172,7 +172,7 @@ static ADDRESS_MAP_START( thepit_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x9800, 0x983f) AM_MIRROR(0x0700) AM_RAM AM_BASE(&thepit_attributesram) AM_RANGE(0x9840, 0x985f) AM_RAM AM_BASE(&thepit_spriteram) AM_SIZE(&thepit_spriteram_size) AM_RANGE(0x9860, 0x98ff) AM_RAM - AM_RANGE(0xa000, 0xa000) AM_READWRITE(thepit_input_port_0_r, SMH_NOP) // Not hooked up according to the schematics + AM_RANGE(0xa000, 0xa000) AM_READ(thepit_input_port_0_r) AM_WRITENOP // Not hooked up according to the schematics AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1") AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW") AM_WRITE(interrupt_enable_w) AM_RANGE(0xb001, 0xb001) AM_WRITENOP // Unused, but initialized diff --git a/src/mame/drivers/thief.c b/src/mame/drivers/thief.c index 9f3ec3a3d67..63502596446 100644 --- a/src/mame/drivers/thief.c +++ b/src/mame/drivers/thief.c @@ -173,10 +173,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( thief_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x0000) AM_WRITE(thief_blit_w) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x0001, 0x7fff) AM_WRITE(SMH_ROM) + AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x8fff) AM_RAM /* 2114 */ - AM_RANGE(0xa000, 0xafff) AM_READ(SMH_ROM) /* NATO Defense diagnostic ROM */ + AM_RANGE(0xa000, 0xafff) AM_ROM /* NATO Defense diagnostic ROM */ AM_RANGE(0xc000, 0xdfff) AM_READWRITE(thief_videoram_r, thief_videoram_w) /* 4116 */ AM_RANGE(0xe000, 0xe008) AM_READWRITE(thief_coprocessor_r, thief_coprocessor_w) AM_RANGE(0xe010, 0xe02f) AM_ROM diff --git a/src/mame/drivers/tigeroad.c b/src/mame/drivers/tigeroad.c index 7799f70164d..ffc8cc407b4 100644 --- a/src/mame/drivers/tigeroad.c +++ b/src/mame/drivers/tigeroad.c @@ -183,7 +183,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xfe4004, 0xfe4005) AM_READ_PORT("DSW") AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE(tigeroad_videoram_w) AM_BASE_GENERIC(videoram) AM_RANGE(0xfe8000, 0xfe8003) AM_WRITE(tigeroad_scroll_w) - AM_RANGE(0xfe800e, 0xfe800f) AM_WRITE(SMH_RAM) /* fe800e = watchdog or IRQ acknowledge */ + AM_RANGE(0xfe800e, 0xfe800f) AM_WRITEONLY /* fe800e = watchdog or IRQ acknowledge */ AM_RANGE(0xff8200, 0xff867f) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_BASE(&ram16) ADDRESS_MAP_END diff --git a/src/mame/drivers/tmaster.c b/src/mame/drivers/tmaster.c index 2861271fdcf..2074df10c2a 100644 --- a/src/mame/drivers/tmaster.c +++ b/src/mame/drivers/tmaster.c @@ -491,7 +491,7 @@ static ADDRESS_MAP_START( tmaster_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE( 0x580000, 0x580001 ) AM_WRITENOP // often - AM_RANGE( 0x600000, 0x601fff ) AM_READWRITE( SMH_RAM, paletteram16_xBBBBBGGGGGRRRRR_word_w ) AM_BASE_GENERIC(paletteram) + AM_RANGE( 0x600000, 0x601fff ) AM_RAM_WRITE( paletteram16_xBBBBBGGGGGRRRRR_word_w ) AM_BASE_GENERIC(paletteram) AM_RANGE( 0x800000, 0x800001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff ) @@ -707,8 +707,8 @@ static ADDRESS_MAP_START( galgames_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE( 0x400014, 0x400015 ) AM_WRITE( tmaster_color_w ) AM_RANGE( 0x400020, 0x400021 ) AM_READ ( tmaster_blitter_r ) - AM_RANGE( 0x600000, 0x600001 ) AM_READWRITE( dummy_read_01, SMH_NOP ) - AM_RANGE( 0x700000, 0x700001 ) AM_READWRITE( dummy_read_01, SMH_NOP ) + AM_RANGE( 0x600000, 0x600001 ) AM_READ( dummy_read_01 ) AM_WRITENOP + AM_RANGE( 0x700000, 0x700001 ) AM_READ( dummy_read_01 ) AM_WRITENOP AM_RANGE( 0x800020, 0x80003f ) AM_NOP // ? AM_RANGE( 0x900000, 0x900001 ) AM_WRITE( watchdog_reset16_w ) @@ -719,7 +719,7 @@ static ADDRESS_MAP_START( galgames_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE( 0xc00002, 0xc00003 ) AM_WRITE( galgames_palette_data_w ) AM_RANGE( 0xd00000, 0xd00001 ) AM_READ_PORT("TRACKBALL_1_X") - AM_RANGE( 0xd00000, 0xd00001 ) AM_WRITE( SMH_NOP ) + AM_RANGE( 0xd00000, 0xd00001 ) AM_WRITENOP AM_RANGE( 0xd00002, 0xd00003 ) AM_READ_PORT("TRACKBALL_1_Y") AM_RANGE( 0xd00004, 0xd00005 ) AM_READ_PORT("TRACKBALL_2_X") AM_RANGE( 0xd00006, 0xd00007 ) AM_READ_PORT("TRACKBALL_2_Y") diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c index 556cb731a18..57455e031e1 100644 --- a/src/mame/drivers/tmnt.c +++ b/src/mame/drivers/tmnt.c @@ -788,7 +788,7 @@ static ADDRESS_MAP_START( glfgreat_main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x10c000, 0x10cfff) AM_RAM AM_BASE(&K053936_0_linectrl) /* 053936? */ AM_RANGE(0x110000, 0x11001f) AM_WRITE(K053244_word_noA1_w) /* duplicate! */ AM_RANGE(0x114000, 0x11401f) AM_READWRITE(K053244_lsb_r, K053244_lsb_w) /* duplicate! */ - AM_RANGE(0x118000, 0x11801f) AM_WRITE(SMH_RAM) AM_BASE(&K053936_0_ctrl) + AM_RANGE(0x118000, 0x11801f) AM_WRITEONLY AM_BASE(&K053936_0_ctrl) AM_RANGE(0x11c000, 0x11c01f) AM_WRITE(K053251_msb_w) AM_RANGE(0x120000, 0x120001) AM_READ_PORT("P1/P2") AM_RANGE(0x120002, 0x120003) AM_READ_PORT("P3/P4") @@ -811,7 +811,7 @@ static ADDRESS_MAP_START( prmrsocr_main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x10c000, 0x10cfff) AM_RAM AM_BASE(&K053936_0_linectrl) AM_RANGE(0x110000, 0x11001f) AM_WRITE(K053244_word_noA1_w) /* duplicate! */ AM_RANGE(0x114000, 0x11401f) AM_READWRITE(K053244_lsb_r, K053244_lsb_w) /* duplicate! */ - AM_RANGE(0x118000, 0x11801f) AM_WRITE(SMH_RAM) AM_BASE(&K053936_0_ctrl) + AM_RANGE(0x118000, 0x11801f) AM_WRITEONLY AM_BASE(&K053936_0_ctrl) AM_RANGE(0x11c000, 0x11c01f) AM_WRITE(K053251_msb_w) AM_RANGE(0x120000, 0x120001) AM_READ(prmrsocr_IN0_r) AM_RANGE(0x120002, 0x120003) AM_READ_PORT("P2/EEPROM") diff --git a/src/mame/drivers/tnzs.c b/src/mame/drivers/tnzs.c index 6581cb8160c..fb0a5991dfb 100644 --- a/src/mame/drivers/tnzs.c +++ b/src/mame/drivers/tnzs.c @@ -822,7 +822,7 @@ static ADDRESS_MAP_START( tnzsb_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc002, 0xc002) AM_READ_PORT("IN2") AM_RANGE(0xd000, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE(1) - AM_RANGE(0xf000, 0xf003) AM_READ(SMH_RAM) + AM_RANGE(0xf000, 0xf003) AM_READONLY AM_RANGE(0xf000, 0xf3ff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram) ADDRESS_MAP_END @@ -891,9 +891,9 @@ static ADDRESS_MAP_START( jpopnics_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE(1) /* WORK RAM (shared by the 2 z80's) */ AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_BASE_MEMBER(tnzs_state, vdcram) /* VDC RAM */ AM_RANGE(0xf200, 0xf2ff) AM_RAM AM_BASE_MEMBER(tnzs_state, scrollram) /* scrolling info */ - AM_RANGE(0xf300, 0xf303) AM_MIRROR(0xfc) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(tnzs_state, objctrl) /* control registers (0x80 mirror used by Arkanoid 2) */ - AM_RANGE(0xf400, 0xf400) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(tnzs_state, bg_flag) /* enable / disable background transparency */ - AM_RANGE(0xf600, 0xf600) AM_READWRITE(SMH_NOP, tnzs_bankswitch_w) + AM_RANGE(0xf300, 0xf303) AM_MIRROR(0xfc) AM_WRITEONLY AM_BASE_MEMBER(tnzs_state, objctrl) /* control registers (0x80 mirror used by Arkanoid 2) */ + AM_RANGE(0xf400, 0xf400) AM_WRITEONLY AM_BASE_MEMBER(tnzs_state, bg_flag) /* enable / disable background transparency */ + AM_RANGE(0xf600, 0xf600) AM_READNOP AM_WRITE(tnzs_bankswitch_w) AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(jpopnics_palette_w) AM_BASE_GENERIC(paletteram) ADDRESS_MAP_END diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c index fe614d5e228..57bf67d5a96 100644 --- a/src/mame/drivers/toaplan2.c +++ b/src/mame/drivers/toaplan2.c @@ -1527,11 +1527,11 @@ static ADDRESS_MAP_START( fixeight_68k_mem, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x280000, 0x28dfff) AM_RAM /* part of shared ram ? */ AM_RANGE(0x28e000, 0x28efff) AM_READWRITE(shared_ram_r, shared_ram_w) AM_BASE(&toaplan2_shared_ram16) AM_RANGE(0x28f000, 0x28f001) AM_READWRITE(fixeight_sec_cpu_r, fixeight_sec_cpu_w) AM_BASE(&fixeight_sec_cpu_mem) /* V25+ Command/Status port */ -// AM_RANGE(0x28f002, 0x28f003) AM_READ(SMH_RAM) /* part of shared ram */ +// AM_RANGE(0x28f002, 0x28f003) AM_READONLY /* part of shared ram */ // AM_RANGE(0x28f004, 0x28f005) AM_READ_PORT("DSWA") /* Dip Switch A - Wrong !!! */ // AM_RANGE(0x28f006, 0x28f007) AM_READ_PORT("DSWB") /* Dip Switch B - Wrong !!! */ // AM_RANGE(0x28f008, 0x28f009) AM_READ_PORT("JMPR") /* Territory Jumper block - Wrong !!! */ -// AM_RANGE(0x28f00a, 0x28fbff) AM_READ(SMH_RAM) /* part of shared ram */ +// AM_RANGE(0x28f00a, 0x28fbff) AM_READONLY /* part of shared ram */ AM_RANGE(0x28fc00, 0x28ffff) AM_READWRITE(V25_sharedram_r, V25_sharedram_w) AM_BASE(&V25_shared_ram) /* 16-bit on 68000 side, 8-bit on V25+ side */ #endif AM_RANGE(0x300000, 0x300001) AM_WRITE(toaplan2_0_voffs_w) /* VideoRAM selector/offset */ diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c index 551532e9f67..a97f918cd17 100644 --- a/src/mame/drivers/toki.c +++ b/src/mame/drivers/toki.c @@ -130,10 +130,10 @@ static ADDRESS_MAP_START( tokib_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x071000, 0x071001) AM_WRITENOP /* sprite related? seems another scroll register */ /* gets written the same value as 75000a (bg2 scrollx) */ AM_RANGE(0x071804, 0x071807) AM_WRITENOP /* sprite related, always 01be0100 */ - AM_RANGE(0x07180e, 0x071e45) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) + AM_RANGE(0x07180e, 0x071e45) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x072000, 0x072001) AM_READ(watchdog_reset16_r) /* probably */ AM_RANGE(0x075000, 0x075001) AM_WRITE(tokib_soundcommand16_w) - AM_RANGE(0x075004, 0x07500b) AM_WRITE(SMH_RAM) AM_BASE(&toki_scrollram16) + AM_RANGE(0x075004, 0x07500b) AM_WRITEONLY AM_BASE(&toki_scrollram16) AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("DSW") AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("INPUTS") AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("SYSTEM") @@ -145,9 +145,8 @@ ADDRESS_MAP_END /*****************************************************************************/ static ADDRESS_MAP_START( tokib_audio_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) + AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") - AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM) AM_RANGE(0xe000, 0xe000) AM_DEVWRITE("msm", toki_adpcm_control_w) /* MSM5205 + ROM bank */ AM_RANGE(0xe400, 0xe400) AM_WRITE(toki_adpcm_data_w) AM_RANGE(0xec00, 0xec01) AM_MIRROR(0x0008) AM_DEVREADWRITE("ymsnd", ym3812_r, ym3812_w) diff --git a/src/mame/drivers/tp84.c b/src/mame/drivers/tp84.c index 2e8bf9bab3b..e7db89dc385 100644 --- a/src/mame/drivers/tp84.c +++ b/src/mame/drivers/tp84.c @@ -142,12 +142,12 @@ static ADDRESS_MAP_START( tp84_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x2840, 0x2840) AM_READ_PORT("P2") AM_RANGE(0x2860, 0x2860) AM_READ_PORT("DSW1") AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DSW2") AM_WRITEONLY - AM_RANGE(0x3004, 0x3004) AM_WRITE(SMH_RAM) AM_BASE(&tp84_flipscreen_x) - AM_RANGE(0x3005, 0x3005) AM_WRITE(SMH_RAM) AM_BASE(&tp84_flipscreen_y) + AM_RANGE(0x3004, 0x3004) AM_WRITEONLY AM_BASE(&tp84_flipscreen_x) + AM_RANGE(0x3005, 0x3005) AM_WRITEONLY AM_BASE(&tp84_flipscreen_y) AM_RANGE(0x3800, 0x3800) AM_WRITE(tp84_sh_irqtrigger_w) AM_RANGE(0x3a00, 0x3a00) AM_WRITE(soundlatch_w) - AM_RANGE(0x3c00, 0x3c00) AM_WRITE(SMH_RAM) AM_BASE(&tp84_scroll_x) - AM_RANGE(0x3e00, 0x3e00) AM_WRITE(SMH_RAM) AM_BASE(&tp84_scroll_y) + AM_RANGE(0x3c00, 0x3c00) AM_WRITEONLY AM_BASE(&tp84_scroll_x) + AM_RANGE(0x3e00, 0x3e00) AM_WRITEONLY AM_BASE(&tp84_scroll_y) AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE(&tp84_bg_videoram) AM_RANGE(0x4400, 0x47ff) AM_RAM AM_BASE(&tp84_fg_videoram) AM_RANGE(0x4800, 0x4bff) AM_RAM AM_BASE(&tp84_bg_colorram) @@ -168,12 +168,12 @@ static ADDRESS_MAP_START( tp84b_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1a40, 0x1a40) AM_READ_PORT("P2") AM_RANGE(0x1a60, 0x1a60) AM_READ_PORT("DSW1") AM_RANGE(0x1c00, 0x1c00) AM_READ_PORT("DSW2") AM_WRITENOP - AM_RANGE(0x1c04, 0x1c04) AM_WRITE(SMH_RAM) AM_BASE(&tp84_flipscreen_x) - AM_RANGE(0x1c05, 0x1c05) AM_WRITE(SMH_RAM) AM_BASE(&tp84_flipscreen_y) + AM_RANGE(0x1c04, 0x1c04) AM_WRITEONLY AM_BASE(&tp84_flipscreen_x) + AM_RANGE(0x1c05, 0x1c05) AM_WRITEONLY AM_BASE(&tp84_flipscreen_y) AM_RANGE(0x1e00, 0x1e00) AM_WRITE(tp84_sh_irqtrigger_w) AM_RANGE(0x1e80, 0x1e80) AM_WRITE(soundlatch_w) - AM_RANGE(0x1f00, 0x1f00) AM_WRITE(SMH_RAM) AM_BASE(&tp84_scroll_x) - AM_RANGE(0x1f80, 0x1f80) AM_WRITE(SMH_RAM) AM_BASE(&tp84_scroll_y) + AM_RANGE(0x1f00, 0x1f00) AM_WRITEONLY AM_BASE(&tp84_scroll_x) + AM_RANGE(0x1f80, 0x1f80) AM_WRITEONLY AM_BASE(&tp84_scroll_y) AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/trackfld.c b/src/mame/drivers/trackfld.c index 5b10ac79302..045ee419dc2 100644 --- a/src/mame/drivers/trackfld.c +++ b/src/mame/drivers/trackfld.c @@ -210,8 +210,8 @@ static ADDRESS_MAP_START( wizzquiz_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1c60, 0x1fff) AM_RAM AM_RANGE(0x2800, 0x2bff) AM_RAM AM_RANGE(0x2c00, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) - AM_RANGE(0x3000, 0x37ff) AM_READ(SMH_RAM) AM_WRITE(trackfld_videoram_w) AM_BASE_MEMBER(trackfld_state, videoram) - AM_RANGE(0x3800, 0x3fff) AM_READ(SMH_RAM) AM_WRITE(trackfld_colorram_w) AM_BASE_MEMBER(trackfld_state, colorram) + AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE_MEMBER(trackfld_state, videoram) + AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE_MEMBER(trackfld_state, colorram) AM_RANGE(0xc000, 0xc000) AM_WRITE(questions_bank_w) AM_RANGE(0x6000, 0xdfff) AM_ROMBANK("bank1") AM_RANGE(0xe000, 0xffff) AM_ROM @@ -1190,7 +1190,7 @@ static DRIVER_INIT( atlantol ) memory_set_decrypted_region(space, 0x0000, 0xffff, decrypt); memory_install_write8_handler(space, 0x0800, 0x0800, 0, 0, atlantol_gfxbank_w); - memory_install_write8_handler(space, 0x1000, 0x1000, 0, 0, (write8_space_func)SMH_NOP); + memory_nop_write(space, 0x1000, 0x1000, 0, 0); /* unmapped areas read as ROM */ memory_install_read_bank_handler(space, 0x0000, 0x11ff, 0, 0, "bank10"); diff --git a/src/mame/drivers/travrusa.c b/src/mame/drivers/travrusa.c index ac636a41a63..41120483e39 100644 --- a/src/mame/drivers/travrusa.c +++ b/src/mame/drivers/travrusa.c @@ -57,7 +57,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(travrusa_videoram_w) AM_BASE_MEMBER(irem_z80_state, videoram) AM_RANGE(0x9000, 0x9000) AM_WRITE(travrusa_scroll_x_low_w) AM_RANGE(0xa000, 0xa000) AM_WRITE(travrusa_scroll_x_high_w) - AM_RANGE(0xc800, 0xc9ff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_MEMBER(irem_z80_state, spriteram, spriteram_size) + AM_RANGE(0xc800, 0xc9ff) AM_WRITEONLY AM_BASE_SIZE_MEMBER(irem_z80_state, spriteram, spriteram_size) AM_RANGE(0xd000, 0xd000) AM_WRITE(irem_sound_cmd_w) AM_RANGE(0xd001, 0xd001) AM_WRITE(travrusa_flipscreen_w) /* + coin counters - not written by shtrider */ AM_RANGE(0xd000, 0xd000) AM_READ_PORT("SYSTEM") /* IN0 */ diff --git a/src/mame/drivers/triplhnt.c b/src/mame/drivers/triplhnt.c index bd3eb57bd53..125938510c9 100644 --- a/src/mame/drivers/triplhnt.c +++ b/src/mame/drivers/triplhnt.c @@ -137,11 +137,11 @@ static READ8_HANDLER( triplhnt_da_latch_r ) static ADDRESS_MAP_START( triplhnt_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_GLOBAL_MASK(0x7fff) AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x300) - AM_RANGE(0x0400, 0x04ff) AM_WRITE(SMH_RAM) AM_BASE(&triplhnt_playfield_ram) - AM_RANGE(0x0800, 0x080f) AM_WRITE(SMH_RAM) AM_BASE(&triplhnt_vpos_ram) - AM_RANGE(0x0810, 0x081f) AM_WRITE(SMH_RAM) AM_BASE(&triplhnt_hpos_ram) - AM_RANGE(0x0820, 0x082f) AM_WRITE(SMH_RAM) AM_BASE(&triplhnt_orga_ram) - AM_RANGE(0x0830, 0x083f) AM_WRITE(SMH_RAM) AM_BASE(&triplhnt_code_ram) + AM_RANGE(0x0400, 0x04ff) AM_WRITEONLY AM_BASE(&triplhnt_playfield_ram) + AM_RANGE(0x0800, 0x080f) AM_WRITEONLY AM_BASE(&triplhnt_vpos_ram) + AM_RANGE(0x0810, 0x081f) AM_WRITEONLY AM_BASE(&triplhnt_hpos_ram) + AM_RANGE(0x0820, 0x082f) AM_WRITEONLY AM_BASE(&triplhnt_orga_ram) + AM_RANGE(0x0830, 0x083f) AM_WRITEONLY AM_BASE(&triplhnt_code_ram) AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("0C00") AM_RANGE(0x0c08, 0x0c08) AM_READ_PORT("0C08") AM_RANGE(0x0c09, 0x0c09) AM_READ_PORT("0C09") diff --git a/src/mame/drivers/truco.c b/src/mame/drivers/truco.c index 7607be633f3..dc642b892c3 100644 --- a/src/mame/drivers/truco.c +++ b/src/mame/drivers/truco.c @@ -34,9 +34,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1800, 0x7bff) AM_RAM AM_BASE_GENERIC(videoram) /* video ram */ AM_RANGE(0x7c00, 0x7fff) AM_RAM AM_BASE(&battery_ram) /* battery backed ram */ AM_RANGE(0x8000, 0x8000) AM_READ_PORT("P1") AM_WRITENOP /* controls (and irq ack?) */ - AM_RANGE(0x8001, 0x8001) AM_READWRITE(SMH_NOP, SMH_NOP) /* unknown */ + AM_RANGE(0x8001, 0x8001) AM_NOP /* unknown */ AM_RANGE(0x8002, 0x8002) AM_READ_PORT("DSW") AM_DEVWRITE("dac", dac_w) /* dipswitches */ - AM_RANGE(0x8003, 0x8007) AM_READWRITE(SMH_NOP, SMH_NOP) /* unknown */ + AM_RANGE(0x8003, 0x8007) AM_NOP /* unknown */ AM_RANGE(0x8008, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/trvquest.c b/src/mame/drivers/trvquest.c index 9ca523e2a38..9ee7cda977d 100644 --- a/src/mame/drivers/trvquest.c +++ b/src/mame/drivers/trvquest.c @@ -67,7 +67,7 @@ static ADDRESS_MAP_START( cpu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x3840, 0x3841) AM_DEVWRITE("ay2", ay8910_address_data_w) AM_RANGE(0x3850, 0x3850) AM_READNOP //watchdog_reset_r ? AM_RANGE(0x8000, 0x9fff) AM_READ(trvquest_question_r) - AM_RANGE(0xa000, 0xa000) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(gameplan_state, trvquest_question) + AM_RANGE(0xa000, 0xa000) AM_WRITEONLY AM_BASE_MEMBER(gameplan_state, trvquest_question) AM_RANGE(0xa000, 0xa000) AM_READNOP // bogus read from the game code when reads question roms AM_RANGE(0xb000, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/tsamurai.c b/src/mame/drivers/tsamurai.c index 02db81dee5a..cf81f8520f4 100644 --- a/src/mame/drivers/tsamurai.c +++ b/src/mame/drivers/tsamurai.c @@ -331,7 +331,7 @@ static WRITE8_HANDLER( vsgongf_sound_command_w ) static ADDRESS_MAP_START( vsgongf_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0xa003, 0xa003) AM_READ(SMH_RAM) + AM_RANGE(0xa003, 0xa003) AM_READONLY AM_RANGE(0xa006, 0xa006) AM_READ(vsgongf_a006_r) /* protection */ AM_RANGE(0xa100, 0xa100) AM_READ(vsgongf_a100_r) /* protection */ AM_RANGE(0xc000, 0xc7ff) AM_RAM /* work ram */ @@ -339,9 +339,9 @@ static ADDRESS_MAP_START( vsgongf_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xe400, 0xe43f) AM_RAM AM_BASE_GENERIC(spriteram) AM_RANGE(0xe440, 0xe47b) AM_RAM AM_RANGE(0xe800, 0xe800) AM_WRITE(vsgongf_sound_command_w) - AM_RANGE(0xec00, 0xec06) AM_WRITE(SMH_RAM) + AM_RANGE(0xec00, 0xec06) AM_WRITEONLY AM_RANGE(0xf000, 0xf000) AM_WRITE(vsgongf_color_w) - AM_RANGE(0xf400, 0xf400) AM_WRITE(SMH_RAM) /* vreg? always 0 */ + AM_RANGE(0xf400, 0xf400) AM_WRITEONLY /* vreg? always 0 */ AM_RANGE(0xf800, 0xf800) AM_READ_PORT("P1") AM_RANGE(0xf801, 0xf801) AM_READ_PORT("P2") AM_RANGE(0xf802, 0xf802) AM_READ_PORT("SYSTEM") diff --git a/src/mame/drivers/tubep.c b/src/mame/drivers/tubep.c index 0316a5f69ce..f701c6de3b2 100644 --- a/src/mame/drivers/tubep.c +++ b/src/mame/drivers/tubep.c @@ -161,8 +161,8 @@ static ADDRESS_MAP_START( tubep_main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_RANGE(0xc000, 0xc7ff) AM_WRITE(tubep_textram_w) AM_BASE(&tubep_textram) /* RAM on GFX PCB @B13 */ - AM_RANGE(0xe000, 0xe7ff) AM_WRITE(SMH_RAM) AM_SHARE(1) - AM_RANGE(0xe800, 0xebff) AM_WRITE(SMH_RAM) AM_SHARE(4) /* row of 8 x 2147 RAMs on main PCB */ + AM_RANGE(0xe000, 0xe7ff) AM_WRITEONLY AM_SHARE(1) + AM_RANGE(0xe800, 0xebff) AM_WRITEONLY AM_SHARE(4) /* row of 8 x 2147 RAMs on main PCB */ ADDRESS_MAP_END @@ -215,8 +215,8 @@ static ADDRESS_MAP_START( tubep_second_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xa000, 0xa000) AM_WRITE(tubep_background_a000_w) AM_RANGE(0xc000, 0xc000) AM_WRITE(tubep_background_c000_w) AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE(1) /* 6116 #1 */ - AM_RANGE(0xe800, 0xebff) AM_WRITE(SMH_RAM) AM_SHARE(4) AM_BASE(&tubep_backgroundram) /* row of 8 x 2147 RAMs on main PCB */ - AM_RANGE(0xf000, 0xf3ff) AM_WRITE(SMH_RAM) AM_SHARE(3) /* sprites color lookup table */ + AM_RANGE(0xe800, 0xebff) AM_WRITEONLY AM_SHARE(4) AM_BASE(&tubep_backgroundram) /* row of 8 x 2147 RAMs on main PCB */ + AM_RANGE(0xf000, 0xf3ff) AM_WRITEONLY AM_SHARE(3) /* sprites color lookup table */ AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE(2) /* program copies here part of shared ram ?? */ ADDRESS_MAP_END diff --git a/src/mame/drivers/tugboat.c b/src/mame/drivers/tugboat.c index 6735df16493..ec693fdfa2a 100644 --- a/src/mame/drivers/tugboat.c +++ b/src/mame/drivers/tugboat.c @@ -206,9 +206,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) //AM_RANGE(0x1700, 0x1fff) AM_RAM AM_RANGE(0x18e0, 0x18ef) AM_WRITE(tugboat_score_w) AM_RANGE(0x2000, 0x2fff) AM_RAM /* tilemap RAM */ - AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x5000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0xfff0, 0xffff) AM_READ(SMH_ROM) /* vectors */ + AM_RANGE(0x4000, 0x7fff) AM_ROM + AM_RANGE(0xfff0, 0xffff) AM_ROM /* vectors */ ADDRESS_MAP_END diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c index 8f93b42c07e..d29605dcb44 100644 --- a/src/mame/drivers/tumbleb.c +++ b/src/mame/drivers/tumbleb.c @@ -661,17 +661,15 @@ static WRITE16_DEVICE_HANDLER( tumbleb2_soundmcu_w ) /******************************************************************************/ static ADDRESS_MAP_START( tumblepopb_main_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) + AM_RANGE(0x000000, 0x07ffff) AM_ROM #if TUMBLEP_HACK - AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_RAM) /* To write levels modifications */ -#else - AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x000000, 0x07ffff) AM_WRITEONLY /* To write levels modifications */ #endif AM_RANGE(0x100000, 0x100001) AM_READ(tumblepb_prot_r) AM_DEVWRITE("oki", tumblepb_oki_w) AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&tumblepb_mainram) AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Bootleg sprite buffer */ - AM_RANGE(0x160800, 0x160807) AM_WRITE(SMH_RAM) /* writes past the end of spriteram */ + AM_RANGE(0x160800, 0x160807) AM_WRITEONLY /* writes past the end of spriteram */ AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r) AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM @@ -685,17 +683,15 @@ static ADDRESS_MAP_START( tumblepopb_main_map, ADDRESS_SPACE_PROGRAM, 16 ) ADDRESS_MAP_END static ADDRESS_MAP_START( fncywld_main_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM) + AM_RANGE(0x000000, 0x0fffff) AM_ROM #if FNCYWLD_HACK - AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_RAM) /* To write levels modifications */ -#else - AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x000000, 0x0fffff) AM_WRITEONLY /* To write levels modifications */ #endif AM_RANGE(0x100000, 0x100003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff) AM_RANGE(0x100004, 0x100005) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff) AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprites */ - AM_RANGE(0x160800, 0x16080f) AM_WRITE(SMH_RAM) /* goes slightly past the end of spriteram? */ + AM_RANGE(0x160800, 0x16080f) AM_WRITEONLY /* goes slightly past the end of spriteram? */ AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r) AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM @@ -721,7 +717,7 @@ static ADDRESS_MAP_START( htchctch_main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x100002, 0x100003) AM_WRITE(bcstory_tilebank_w) AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&tumblepb_mainram) AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) /* Bootleg sprite buffer */ + AM_RANGE(0x160000, 0x160fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Bootleg sprite buffer */ AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r) AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP AM_RANGE(0x1a0000, 0x1a0fff) AM_RAM @@ -745,7 +741,7 @@ static ADDRESS_MAP_START( jumppop_main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x1a0000, 0x1a7fff) AM_RAM AM_RANGE(0x300000, 0x303fff) AM_RAM_WRITE(tumblepb_pf2_data_w) AM_BASE(&tumblepb_pf2_data) AM_RANGE(0x320000, 0x323fff) AM_RAM_WRITE(tumblepb_pf1_data_w) AM_BASE(&tumblepb_pf1_data) - AM_RANGE(0x380000, 0x38000f) AM_WRITE(SMH_RAM) AM_BASE(&jumppop_control) + AM_RANGE(0x380000, 0x38000f) AM_WRITEONLY AM_BASE(&jumppop_control) ADDRESS_MAP_END static WRITE16_HANDLER( jumpkids_sound_w ) @@ -774,7 +770,7 @@ static ADDRESS_MAP_START( pangpang_main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&tumblepb_mainram) AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Bootleg sprite buffer */ - AM_RANGE(0x160800, 0x160807) AM_WRITE(SMH_RAM) // writes past the end of spriteram + AM_RANGE(0x160800, 0x160807) AM_WRITEONLY // writes past the end of spriteram AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r) AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM AM_RANGE(0x300000, 0x30000f) AM_WRITE(tumblepb_control_0_w) @@ -857,7 +853,7 @@ static ADDRESS_MAP_START( jumpkids_main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&tumblepb_mainram) AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Bootleg sprite buffer */ - AM_RANGE(0x160800, 0x160807) AM_WRITE(SMH_RAM) /* writes past the end of spriteram */ + AM_RANGE(0x160800, 0x160807) AM_WRITEONLY /* writes past the end of spriteram */ AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r) AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM @@ -3574,7 +3570,7 @@ static DRIVER_INIT( htchctch ) HCROM[0x1e228/2] = 0x4e75; - memory_install_write16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x140000, 0x1407ff, 0, 0, (write16_space_func)SMH_NOP ); // kill palette writes as the interrupt code we don't have controls them + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x140000, 0x1407ff, 0, 0 ); // kill palette writes as the interrupt code we don't have controls them { diff --git a/src/mame/drivers/tumblep.c b/src/mame/drivers/tumblep.c index a67ad869488..48093e31d4d 100644 --- a/src/mame/drivers/tumblep.c +++ b/src/mame/drivers/tumblep.c @@ -106,8 +106,8 @@ static READ16_HANDLER( tumblepop_controls_r ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) #if TUMBLEP_HACK - AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_RAM) // To write levels modifications - AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) + AM_RANGE(0x000000, 0x07ffff) AM_WRITEONLY // To write levels modifications + AM_RANGE(0x000000, 0x07ffff) AM_ROM #else AM_RANGE(0x000000, 0x07ffff) AM_ROM #endif @@ -117,11 +117,11 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepop_controls_r) AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) - AM_RANGE(0x300000, 0x30000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control) + AM_RANGE(0x300000, 0x30000f) AM_WRITEONLY AM_BASE(&deco16_pf12_control) AM_RANGE(0x320000, 0x320fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data) AM_RANGE(0x322000, 0x322fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data) - AM_RANGE(0x340000, 0x3407ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf1_rowscroll) // unused - AM_RANGE(0x342000, 0x3427ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf2_rowscroll) // unused + AM_RANGE(0x340000, 0x3407ff) AM_WRITEONLY AM_BASE(&deco16_pf1_rowscroll) // unused + AM_RANGE(0x342000, 0x3427ff) AM_WRITEONLY AM_BASE(&deco16_pf2_rowscroll) // unused ADDRESS_MAP_END /******************************************************************************/ diff --git a/src/mame/drivers/tunhunt.c b/src/mame/drivers/tunhunt.c index fd0f296a49f..0380fe95d22 100644 --- a/src/mame/drivers/tunhunt.c +++ b/src/mame/drivers/tunhunt.c @@ -142,24 +142,23 @@ static READ8_DEVICE_HANDLER( dsw2_4r ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x03ff) AM_RAM AM_BASE(&tunhunt_ram) /* Work RAM */ - AM_RANGE(0x1080, 0x10ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x1200, 0x12ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x1400, 0x14ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x1600, 0x160f) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram) /* COLRAM (D7-D4 SHADE; D3-D0 COLOR) */ - AM_RANGE(0x1800, 0x1800) AM_WRITE(SMH_RAM) /* SHEL0H */ - AM_RANGE(0x1a00, 0x1a00) AM_WRITE(SMH_RAM) /* SHEL1H */ - AM_RANGE(0x1c00, 0x1c00) AM_WRITE(SMH_RAM) /* MOBJV */ + AM_RANGE(0x1080, 0x10ff) AM_WRITEONLY + AM_RANGE(0x1200, 0x12ff) AM_WRITEONLY + AM_RANGE(0x1400, 0x14ff) AM_WRITEONLY + AM_RANGE(0x1600, 0x160f) AM_WRITEONLY AM_BASE_GENERIC(paletteram) /* COLRAM (D7-D4 SHADE; D3-D0 COLOR) */ + AM_RANGE(0x1800, 0x1800) AM_WRITEONLY /* SHEL0H */ + AM_RANGE(0x1a00, 0x1a00) AM_WRITEONLY /* SHEL1H */ + AM_RANGE(0x1c00, 0x1c00) AM_WRITEONLY /* MOBJV */ AM_RANGE(0x1e00, 0x1eff) AM_WRITE(tunhunt_videoram_w) AM_BASE_GENERIC(videoram) /* ALPHA */ AM_RANGE(0x2000, 0x2000) AM_WRITENOP /* watchdog */ AM_RANGE(0x2000, 0x2007) AM_READ(tunhunt_button_r) AM_RANGE(0x2400, 0x2400) AM_WRITENOP /* INT ACK */ AM_RANGE(0x2800, 0x2800) AM_WRITE(tunhunt_control_w) - AM_RANGE(0x2c00, 0x2fff) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram) + AM_RANGE(0x2c00, 0x2fff) AM_WRITEONLY AM_BASE_GENERIC(spriteram) AM_RANGE(0x3000, 0x300f) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w) AM_RANGE(0x4000, 0x400f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w) - AM_RANGE(0x5000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0xfffa, 0xffff) AM_READ(SMH_ROM) - AM_RANGE(0x5000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x5000, 0x7fff) AM_ROM + AM_RANGE(0xfffa, 0xffff) AM_ROM ADDRESS_MAP_END diff --git a/src/mame/drivers/tutankhm.c b/src/mame/drivers/tutankhm.c index 8387977f3ff..06a6992f2e3 100644 --- a/src/mame/drivers/tutankhm.c +++ b/src/mame/drivers/tutankhm.c @@ -110,7 +110,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x81a0, 0x81a0) AM_MIRROR(0x000f) AM_READ_PORT("IN1") /* IN1: Player 1 I/O */ AM_RANGE(0x81c0, 0x81c0) AM_MIRROR(0x000f) AM_READ_PORT("IN2") /* IN2: Player 2 I/O */ AM_RANGE(0x81e0, 0x81e0) AM_MIRROR(0x000f) AM_READ_PORT("DSW1") /* DSW1 (inverted bits) */ - AM_RANGE(0x8200, 0x8200) AM_MIRROR(0x00f8) AM_READWRITE(SMH_NOP, irq_enable_w) + AM_RANGE(0x8200, 0x8200) AM_MIRROR(0x00f8) AM_READNOP AM_WRITE(irq_enable_w) AM_RANGE(0x8202, 0x8203) AM_MIRROR(0x00f8) AM_WRITE(tutankhm_coin_counter_w) AM_RANGE(0x8205, 0x8205) AM_MIRROR(0x00f8) AM_WRITE(sound_mute_w) AM_RANGE(0x8206, 0x8206) AM_MIRROR(0x00f8) AM_WRITE(tutankhm_flip_screen_x_w) diff --git a/src/mame/drivers/twin16.c b/src/mame/drivers/twin16.c index 0b7ca397882..203221eada7 100644 --- a/src/mame/drivers/twin16.c +++ b/src/mame/drivers/twin16.c @@ -76,8 +76,8 @@ int twin16_spriteram_process_enable( void ) /******************************************************************************************/ -#define COMRAM_r "COMRAM" -#define COMRAM_w "COMRAM" +#define COMRAM_r "comram" +#define COMRAM_w "comram" /* Read/Write Handlers */ diff --git a/src/mame/drivers/unico.c b/src/mame/drivers/unico.c index 9bb9754ebeb..30e702dacd5 100644 --- a/src/mame/drivers/unico.c +++ b/src/mame/drivers/unico.c @@ -65,12 +65,12 @@ static ADDRESS_MAP_START( burglarx_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x80001a, 0x80001b) AM_READ_PORT("DSW1") AM_RANGE(0x80001c, 0x80001d) AM_READ_PORT("DSW2") AM_RANGE(0x800030, 0x800031) AM_WRITENOP // ? 0 - AM_RANGE(0x80010c, 0x80010d) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrollx_0) // Scroll - AM_RANGE(0x80010e, 0x80010f) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrolly_0) // - AM_RANGE(0x800110, 0x800111) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrolly_2) // - AM_RANGE(0x800114, 0x800115) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrollx_2) // - AM_RANGE(0x800116, 0x800117) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrollx_1) // - AM_RANGE(0x800120, 0x800121) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrolly_1) // + AM_RANGE(0x80010c, 0x80010d) AM_WRITEONLY AM_BASE(&unico_scrollx_0) // Scroll + AM_RANGE(0x80010e, 0x80010f) AM_WRITEONLY AM_BASE(&unico_scrolly_0) // + AM_RANGE(0x800110, 0x800111) AM_WRITEONLY AM_BASE(&unico_scrolly_2) // + AM_RANGE(0x800114, 0x800115) AM_WRITEONLY AM_BASE(&unico_scrollx_2) // + AM_RANGE(0x800116, 0x800117) AM_WRITEONLY AM_BASE(&unico_scrollx_1) // + AM_RANGE(0x800120, 0x800121) AM_WRITEONLY AM_BASE(&unico_scrolly_1) // AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff) // Sound AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8("ymsnd", ym3812_write_port_w, 0xff00 ) // AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8("ymsnd", ym3812_status_port_r, ym3812_control_port_w, 0xff00 ) // @@ -156,12 +156,12 @@ static ADDRESS_MAP_START( zeropnt_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x800018, 0x800019) AM_READ_PORT("INPUTS") AM_RANGE(0x80001a, 0x80001b) AM_READ_PORT("DSW1") AM_RANGE(0x80001c, 0x80001d) AM_READ_PORT("DSW2") - AM_RANGE(0x80010c, 0x80010d) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrollx_0 ) // Scroll - AM_RANGE(0x80010e, 0x80010f) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrolly_0 ) // - AM_RANGE(0x800110, 0x800111) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrolly_2 ) // - AM_RANGE(0x800114, 0x800115) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrollx_2 ) // - AM_RANGE(0x800116, 0x800117) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrollx_1 ) // - AM_RANGE(0x800120, 0x800121) AM_WRITE(SMH_RAM) AM_BASE(&unico_scrolly_1 ) // + AM_RANGE(0x80010c, 0x80010d) AM_WRITEONLY AM_BASE(&unico_scrollx_0 ) // Scroll + AM_RANGE(0x80010e, 0x80010f) AM_WRITEONLY AM_BASE(&unico_scrolly_0 ) // + AM_RANGE(0x800110, 0x800111) AM_WRITEONLY AM_BASE(&unico_scrolly_2 ) // + AM_RANGE(0x800114, 0x800115) AM_WRITEONLY AM_BASE(&unico_scrollx_2 ) // + AM_RANGE(0x800116, 0x800117) AM_WRITEONLY AM_BASE(&unico_scrollx_1 ) // + AM_RANGE(0x800120, 0x800121) AM_WRITEONLY AM_BASE(&unico_scrolly_1 ) // AM_RANGE(0x800170, 0x800171) AM_READ(unico_guny_0_msb_r ) // Light Guns AM_RANGE(0x800174, 0x800175) AM_READ(unico_gunx_0_msb_r ) // AM_RANGE(0x800178, 0x800179) AM_READ(unico_guny_1_msb_r ) // @@ -170,7 +170,7 @@ static ADDRESS_MAP_START( zeropnt_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8("ymsnd", ym3812_write_port_w, 0xff00 ) // AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8("ymsnd", ym3812_status_port_r, ym3812_control_port_w, 0xff00 ) // AM_RANGE(0x80018e, 0x80018f) AM_WRITE(zeropnt_sound_bank_w ) // - AM_RANGE(0x8001e0, 0x8001e1) AM_WRITE(SMH_RAM ) // ? IRQ Ack + AM_RANGE(0x8001e0, 0x8001e1) AM_WRITEONLY // ? IRQ Ack AM_RANGE(0x904000, 0x907fff) AM_RAM_WRITE(unico_vram_1_w) AM_BASE(&unico_vram_1 ) // Layers AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE(unico_vram_2_w) AM_BASE(&unico_vram_2 ) // AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE(unico_vram_0_w) AM_BASE(&unico_vram_0 ) // @@ -236,7 +236,7 @@ static ADDRESS_MAP_START( zeropnt2_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x800030, 0x800033) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff0000 ) // AM_RANGE(0x800034, 0x800037) AM_WRITE(zeropnt2_sound_bank_w ) // AM_RANGE(0x800038, 0x80003b) AM_WRITE(zeropnt2_leds_w ) // ? - AM_RANGE(0x80010c, 0x800123) AM_WRITE(SMH_RAM) AM_BASE(&unico_scroll32 ) // Scroll + AM_RANGE(0x80010c, 0x800123) AM_WRITEONLY AM_BASE(&unico_scroll32 ) // Scroll AM_RANGE(0x800140, 0x800143) AM_READ(zeropnt2_guny_0_msb_r ) // Light Guns AM_RANGE(0x800144, 0x800147) AM_READ(zeropnt2_gunx_0_msb_r ) // AM_RANGE(0x800148, 0x80014b) AM_READ(zeropnt2_guny_1_msb_r ) // diff --git a/src/mame/drivers/upscope.c b/src/mame/drivers/upscope.c index 70e3915ffd0..3a254374f5a 100644 --- a/src/mame/drivers/upscope.c +++ b/src/mame/drivers/upscope.c @@ -93,7 +93,7 @@ static WRITE8_DEVICE_HANDLER( upscope_cia_0_porta_w ) else /* overlay enabled, map Amiga system ROM on 0x000000 */ - memory_install_write16_handler(cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x000000, 0x07ffff, 0, 0, (write16_space_func)SMH_UNMAP); + memory_unmap_write(cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x000000, 0x07ffff, 0, 0); } diff --git a/src/mame/drivers/vaportra.c b/src/mame/drivers/vaportra.c index 32b0fd188e9..7144b4977f0 100644 --- a/src/mame/drivers/vaportra.c +++ b/src/mame/drivers/vaportra.c @@ -58,10 +58,10 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x100000, 0x10000f) AM_READ(vaportra_control_r) AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data) AM_RANGE(0x202000, 0x203fff) AM_RAM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data) - AM_RANGE(0x240000, 0x24000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf34_control) + AM_RANGE(0x240000, 0x24000f) AM_WRITEONLY AM_BASE(&deco16_pf34_control) AM_RANGE(0x280000, 0x281fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data) AM_RANGE(0x282000, 0x283fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data) - AM_RANGE(0x2c0000, 0x2c000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control) + AM_RANGE(0x2c0000, 0x2c000f) AM_WRITEONLY AM_BASE(&deco16_pf12_control) AM_RANGE(0x300000, 0x3009ff) AM_RAM_WRITE(vaportra_palette_24bit_rg_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x304000, 0x3049ff) AM_RAM_WRITE(vaportra_palette_24bit_b_w) AM_BASE_GENERIC(paletteram2) AM_RANGE(0x308000, 0x308001) AM_NOP diff --git a/src/mame/drivers/vastar.c b/src/mame/drivers/vastar.c index 55733812444..01b122c521b 100644 --- a/src/mame/drivers/vastar.c +++ b/src/mame/drivers/vastar.c @@ -109,18 +109,18 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x9000, 0x9fff) AM_READWRITE(vastar_bg1videoram_r, vastar_bg1videoram_w) AM_BASE_MEMBER(vastar_state,bg1videoram) AM_RANGE(0xa000, 0xafff) AM_READWRITE(vastar_bg2videoram_r, vastar_bg2videoram_w) /* mirror address */ AM_RANGE(0xb000, 0xbfff) AM_READWRITE(vastar_bg1videoram_r, vastar_bg1videoram_w) /* mirror address */ - AM_RANGE(0xc000, 0xc000) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(vastar_state,sprite_priority) /* sprite/BG priority */ + AM_RANGE(0xc000, 0xc000) AM_WRITEONLY AM_BASE_MEMBER(vastar_state,sprite_priority) /* sprite/BG priority */ AM_RANGE(0xc400, 0xcfff) AM_RAM_WRITE(vastar_fgvideoram_w) AM_BASE_MEMBER(vastar_state,fgvideoram) AM_RANGE(0xe000, 0xe000) AM_READWRITE(watchdog_reset_r, watchdog_reset_w) AM_RANGE(0xf000, 0xf0ff) AM_READWRITE(vastar_sharedram_r, vastar_sharedram_w) AM_BASE_MEMBER(vastar_state,sharedram) AM_RANGE(0xf100, 0xf7ff) AM_RAM /* in hidden portions of video RAM: (fallthrough) */ - AM_RANGE(0xc400, 0xc43f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(vastar_state,spriteram1) /* actually c410-c41f and c430-c43f */ - AM_RANGE(0xc7c0, 0xc7df) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(vastar_state,bg1_scroll) - AM_RANGE(0xc7e0, 0xc7ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(vastar_state,bg2_scroll) - AM_RANGE(0xc800, 0xc83f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(vastar_state,spriteram2) /* actually c810-c81f and c830-c83f */ - AM_RANGE(0xcc00, 0xcc3f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(vastar_state,spriteram3) /* actually cc10-cc1f and cc30-cc3f */ + AM_RANGE(0xc400, 0xc43f) AM_WRITEONLY AM_BASE_MEMBER(vastar_state,spriteram1) /* actually c410-c41f and c430-c43f */ + AM_RANGE(0xc7c0, 0xc7df) AM_WRITEONLY AM_BASE_MEMBER(vastar_state,bg1_scroll) + AM_RANGE(0xc7e0, 0xc7ff) AM_WRITEONLY AM_BASE_MEMBER(vastar_state,bg2_scroll) + AM_RANGE(0xc800, 0xc83f) AM_WRITEONLY AM_BASE_MEMBER(vastar_state,spriteram2) /* actually c810-c81f and c830-c83f */ + AM_RANGE(0xcc00, 0xcc3f) AM_WRITEONLY AM_BASE_MEMBER(vastar_state,spriteram3) /* actually cc10-cc1f and cc30-cc3f */ ADDRESS_MAP_END static ADDRESS_MAP_START( main_port_map, ADDRESS_SPACE_IO, 8 ) diff --git a/src/mame/drivers/vball.c b/src/mame/drivers/vball.c index 417d5d05439..82741123837 100644 --- a/src/mame/drivers/vball.c +++ b/src/mame/drivers/vball.c @@ -222,7 +222,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x100a, 0x100b) AM_WRITE(vball_irq_ack_w) /* is there a scanline counter here? */ AM_RANGE(0x100c, 0x100c) AM_WRITE(vb_scrollx_lo_w) AM_RANGE(0x100d, 0x100d) AM_WRITE(cpu_sound_command_w) - AM_RANGE(0x100e, 0x100e) AM_WRITE(SMH_RAM) AM_BASE(&vb_scrolly_lo) + AM_RANGE(0x100e, 0x100e) AM_WRITEONLY AM_BASE(&vb_scrolly_lo) AM_RANGE(0x2000, 0x2fff) AM_WRITE(vb_videoram_w) AM_BASE(&vb_videoram) AM_RANGE(0x3000, 0x3fff) AM_WRITE(vb_attrib_w) AM_BASE(&vb_attribram) AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") diff --git a/src/mame/drivers/vegas.c b/src/mame/drivers/vegas.c index ce87cc000a2..c13aabae27a 100644 --- a/src/mame/drivers/vegas.c +++ b/src/mame/drivers/vegas.c @@ -310,6 +310,8 @@ #define MAX_DYNAMIC_ADDRESSES 32 +#define NOP_HANDLER ((read32_space_func)-1) + /************************************* @@ -1557,7 +1559,7 @@ static void remap_dynamic_addresses(running_machine *machine) /* unmap everything we know about */ for (addr = 0; addr < dynamic_count; addr++) - memory_install_readwrite32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), dynamic[addr].start, dynamic[addr].end, 0, 0, (read32_space_func)SMH_UNMAP, (write32_space_func)SMH_UNMAP); + memory_unmap_readwrite(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), dynamic[addr].start, dynamic[addr].end, 0, 0); /* the build the list of stuff */ dynamic_count = 0; @@ -1571,7 +1573,7 @@ static void remap_dynamic_addresses(running_machine *machine) add_dynamic_address(base + 0x2000, base + 0x2003, sio_irq_cause_r, NULL); add_dynamic_address(base + 0x3000, base + 0x3003, sio_irq_status_r, NULL); add_dynamic_address(base + 0x4000, base + 0x4003, sio_led_r, sio_led_w); - add_dynamic_address(base + 0x5000, base + 0x5007, (read32_space_func)SMH_NOP, NULL); + add_dynamic_address(base + 0x5000, base + 0x5007, NOP_HANDLER, NULL); add_dynamic_address(base + 0x6000, base + 0x6003, NULL, cmos_unlock_w); add_dynamic_address(base + 0x7000, base + 0x7003, NULL, vegas_watchdog_w); } @@ -1676,8 +1678,14 @@ static void remap_dynamic_addresses(running_machine *machine) for (addr = 0; addr < dynamic_count; addr++) { if (LOG_DYNAMIC) logerror(" installing: %08X-%08X %s,%s\n", dynamic[addr].start, dynamic[addr].end, dynamic[addr].rdname, dynamic[addr].wrname); - if (dynamic[addr].mread != NULL || dynamic[addr].mwrite != NULL) - _memory_install_handler32(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), dynamic[addr].start, dynamic[addr].end, 0, 0, dynamic[addr].mread, dynamic[addr].mwrite, dynamic[addr].rdname, dynamic[addr].wrname); + + if (dynamic[addr].mread == NOP_HANDLER) + memory_nop_read(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), dynamic[addr].start, dynamic[addr].end, 0, 0); + else if (dynamic[addr].mread != NULL) + _memory_install_handler32(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), dynamic[addr].start, dynamic[addr].end, 0, 0, dynamic[addr].mread, NULL, dynamic[addr].rdname, NULL); + if (dynamic[addr].mwrite != NULL) + _memory_install_handler32(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), dynamic[addr].start, dynamic[addr].end, 0, 0, NULL, dynamic[addr].mwrite, NULL, dynamic[addr].wrname); + if (dynamic[addr].dread != NULL || dynamic[addr].dwrite != NULL) _memory_install_device_handler32(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), dynamic[addr].device, dynamic[addr].start, dynamic[addr].end, 0, 0, dynamic[addr].dread, dynamic[addr].dwrite, dynamic[addr].rdname, dynamic[addr].wrname); } diff --git a/src/mame/drivers/vicdual.c b/src/mame/drivers/vicdual.c index f8f5c75fdad..50f592cfce3 100644 --- a/src/mame/drivers/vicdual.c +++ b/src/mame/drivers/vicdual.c @@ -2014,7 +2014,7 @@ static WRITE8_HANDLER( samurai_io_w ) /* dual game hardware */ static ADDRESS_MAP_START( samurai_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_READWRITE(SMH_ROM, samurai_protection_w) + AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM AM_WRITE(samurai_protection_w) AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x7000) AM_RAM_WRITE(vicdual_videoram_w) AM_BASE(&vicdual_videoram) AM_RANGE(0x8400, 0x87ff) AM_MIRROR(0x7000) AM_RAM AM_RANGE(0x8800, 0x8fff) AM_MIRROR(0x7000) AM_RAM_WRITE(vicdual_characterram_w) AM_BASE(&vicdual_characterram) diff --git a/src/mame/drivers/videopin.c b/src/mame/drivers/videopin.c index 2929a14474e..aafd92b9937 100644 --- a/src/mame/drivers/videopin.c +++ b/src/mame/drivers/videopin.c @@ -206,7 +206,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1000, 0x1000) AM_READ_PORT("IN0") AM_RANGE(0x1800, 0x1800) AM_READ_PORT("DSW") AM_RANGE(0x2000, 0x3fff) AM_ROM - AM_RANGE(0xe000, 0xffff) AM_READ(SMH_ROM) /* mirror for 6502 vectors */ + AM_RANGE(0xe000, 0xffff) AM_ROM /* mirror for 6502 vectors */ ADDRESS_MAP_END diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c index a69c32c6f52..da337c57840 100644 --- a/src/mame/drivers/vigilant.c +++ b/src/mame/drivers/vigilant.c @@ -74,7 +74,7 @@ static WRITE8_HANDLER( kikcubic_coin_w ) static ADDRESS_MAP_START( vigilant_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") /* Fallthrough */ AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0xc020, 0xc0df) AM_RAM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) + AM_RANGE(0xc020, 0xc0df) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(vigilant_paletteram_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) AM_RANGE(0xe000, 0xefff) AM_RAM @@ -97,7 +97,7 @@ static ADDRESS_MAP_START( kikcubic_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE(vigilant_paletteram_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(SMH_RAM) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) + AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) AM_RANGE(0xe000, 0xffff) AM_RAM ADDRESS_MAP_END diff --git a/src/mame/drivers/vmetal.c b/src/mame/drivers/vmetal.c index 4fd843e7744..89c885ede8c 100644 --- a/src/mame/drivers/vmetal.c +++ b/src/mame/drivers/vmetal.c @@ -221,12 +221,12 @@ static ADDRESS_MAP_START( varia_program_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x160000, 0x16ffff) AM_READ(varia_crom_read) // cgrom read window .. - AM_RANGE(0x170000, 0x173fff) AM_READWRITE(SMH_RAM,paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette + AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette AM_RANGE(0x174000, 0x174fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x175000, 0x177fff) AM_RAM AM_RANGE(0x178000, 0x1787ff) AM_RAM AM_BASE(&vmetal_tlookup) AM_RANGE(0x178800, 0x1796ff) AM_RAM AM_BASE(&vmetal_videoregs) - AM_RANGE(0x179700, 0x179713) AM_WRITE(SMH_RAM) AM_BASE(&metro_videoregs ) // Video Registers + AM_RANGE(0x179700, 0x179713) AM_WRITEONLY AM_BASE(&metro_videoregs ) // Video Registers AM_RANGE(0x200000, 0x200001) AM_READ_PORT("P1_P2") AM_DEVWRITE8("essnd", vmetal_control_w, 0x00ff) AM_RANGE(0x200002, 0x200003) AM_READ_PORT("SYSTEM") diff --git a/src/mame/drivers/vulgus.c b/src/mame/drivers/vulgus.c index 88b2afca8c0..4f374007d71 100644 --- a/src/mame/drivers/vulgus.c +++ b/src/mame/drivers/vulgus.c @@ -89,7 +89,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x1fff) AM_ROM AM_RANGE(0x4000, 0x47ff) AM_RAM - AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x4000, 0x47ff) AM_WRITEONLY AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r) AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ay1", ay8910_address_data_w) AM_RANGE(0xc000, 0xc001) AM_DEVWRITE("ay2", ay8910_address_data_w) diff --git a/src/mame/drivers/warriorb.c b/src/mame/drivers/warriorb.c index 74349f494dc..806f38653c3 100644 --- a/src/mame/drivers/warriorb.c +++ b/src/mame/drivers/warriorb.c @@ -252,7 +252,7 @@ static ADDRESS_MAP_START( z80_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank10") AM_RANGE(0xc000, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_r, ym2610_w) - AM_RANGE(0xe200, 0xe200) AM_READWRITE(SMH_NOP, taitosound_slave_port_w) + AM_RANGE(0xe200, 0xe200) AM_READNOP AM_WRITE(taitosound_slave_port_w) AM_RANGE(0xe201, 0xe201) AM_READWRITE(taitosound_slave_comm_r, taitosound_slave_comm_w) AM_RANGE(0xe400, 0xe403) AM_WRITE(warriorb_pancontrol) /* pan */ AM_RANGE(0xea00, 0xea00) AM_READNOP diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c index 960d1de5e37..476022a7272 100644 --- a/src/mame/drivers/wecleman.c +++ b/src/mame/drivers/wecleman.c @@ -554,7 +554,7 @@ static ADDRESS_MAP_START( wecleman_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x140012, 0x140013) AM_READ_PORT("IN1") // ?? AM_RANGE(0x140014, 0x140015) AM_READ_PORT("DSWA") // DSW 2 AM_RANGE(0x140016, 0x140017) AM_READ_PORT("DSWB") // DSW 1 - AM_RANGE(0x140020, 0x140021) AM_WRITE(SMH_RAM) // Paired with writes to $140003 + AM_RANGE(0x140020, 0x140021) AM_WRITEONLY // Paired with writes to $140003 AM_RANGE(0x140020, 0x140021) AM_READ(selected_ip_r) // Accelerator or Wheel or .. AM_RANGE(0x140030, 0x140031) AM_WRITENOP // toggles between 0 & 1 on hitting bumps and crashes (vibration?) ADDRESS_MAP_END @@ -616,7 +616,7 @@ static ADDRESS_MAP_START( hotchase_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x140012, 0x140013) AM_READ_PORT("IN1") // ?? bit 4 from sound cpu AM_RANGE(0x140014, 0x140015) AM_READ_PORT("DSW2") // DSW 2 AM_RANGE(0x140016, 0x140017) AM_READ_PORT("DSW1") // DSW 1 - AM_RANGE(0x140020, 0x140021) AM_READWRITE(selected_ip_r, SMH_NOP) // Paired with writes to $140003 + AM_RANGE(0x140020, 0x140021) AM_READ(selected_ip_r) AM_WRITENOP // Paired with writes to $140003 AM_RANGE(0x140022, 0x140023) AM_READNOP // ?? AM_RANGE(0x140030, 0x140031) AM_WRITENOP // signal to cabinet vibration motors? ADDRESS_MAP_END diff --git a/src/mame/drivers/wgp.c b/src/mame/drivers/wgp.c index 74e7d298c58..a84306af053 100644 --- a/src/mame/drivers/wgp.c +++ b/src/mame/drivers/wgp.c @@ -677,8 +677,8 @@ static ADDRESS_MAP_START( cpu2_map, ADDRESS_SPACE_PROGRAM, 16 ) /* LAN areas not AM_RANGE(0x100000, 0x103fff) AM_RAM AM_RANGE(0x140000, 0x143fff) AM_READWRITE(sharedram_r,sharedram_w) AM_RANGE(0x200000, 0x200003) AM_READWRITE(wgp_sound_r,wgp_sound_w) -// AM_RANGE(0x380000, 0x383fff) AM_READ(SMH_RAM) // LAN RAM -// AM_RANGE(0x380000, 0x383fff) AM_WRITE(SMH_RAM) // LAN RAM +// AM_RANGE(0x380000, 0x383fff) AM_READONLY // LAN RAM +// AM_RANGE(0x380000, 0x383fff) AM_WRITEONLY // LAN RAM AM_RANGE(0x380000, 0x380001) AM_READ(lan_status_r) // ?? // a lan input area is read somewhere above the status // (make the status return 0 and log)... @@ -692,7 +692,7 @@ static ADDRESS_MAP_START( z80_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0xc000, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_r, ym2610_w) - AM_RANGE(0xe200, 0xe200) AM_READWRITE(SMH_NOP,taitosound_slave_port_w) + AM_RANGE(0xe200, 0xe200) AM_READNOP AM_WRITE(taitosound_slave_port_w) AM_RANGE(0xe201, 0xe201) AM_READWRITE(taitosound_slave_comm_r,taitosound_slave_comm_w) AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan */ AM_RANGE(0xea00, 0xea00) AM_READNOP diff --git a/src/mame/drivers/williams.c b/src/mame/drivers/williams.c index 0801ae55d79..481509a6dd1 100644 --- a/src/mame/drivers/williams.c +++ b/src/mame/drivers/williams.c @@ -548,9 +548,9 @@ void defender_install_io_space(const address_space *space) *************************************/ static ADDRESS_MAP_START( williams_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x8fff) AM_READ_BANK("bank1") AM_WRITE(SMH_RAM) AM_BASE(&williams_videoram) + AM_RANGE(0x0000, 0x8fff) AM_READ_BANK("bank1") AM_WRITEONLY AM_BASE(&williams_videoram) AM_RANGE(0x9000, 0xbfff) AM_RAM - AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram) + AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITEONLY AM_BASE_GENERIC(paletteram) AM_RANGE(0xc804, 0xc807) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_0", pia6821_r, pia6821_w) AM_RANGE(0xc80c, 0xc80f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_1", pia6821_r, pia6821_w) AM_RANGE(0xc900, 0xc9ff) AM_WRITE(williams_vram_select_w) @@ -563,9 +563,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( williams_extra_ram_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x8fff) AM_READ_BANK("bank1") AM_WRITE(SMH_RAM) AM_BASE(&williams_videoram) + AM_RANGE(0x0000, 0x8fff) AM_READ_BANK("bank1") AM_WRITEONLY AM_BASE(&williams_videoram) AM_RANGE(0x9000, 0xbfff) AM_RAM - AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram) + AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITEONLY AM_BASE_GENERIC(paletteram) AM_RANGE(0xc804, 0xc807) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_0", pia6821_r, pia6821_w) AM_RANGE(0xc80c, 0xc80f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_1", pia6821_r, pia6821_w) AM_RANGE(0xc900, 0xc9ff) AM_WRITE(sinistar_vram_select_w) @@ -586,12 +586,12 @@ ADDRESS_MAP_END *************************************/ static ADDRESS_MAP_START( blaster_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE(SMH_RAM) AM_BASE(&williams_videoram) - AM_RANGE(0x4000, 0x8fff) AM_READ_BANK("bank2") AM_WRITE(SMH_RAM) - AM_RANGE(0xbb00, 0xbbff) AM_WRITE(SMH_RAM) AM_BASE(&blaster_palette_0) - AM_RANGE(0xbc00, 0xbcff) AM_WRITE(SMH_RAM) AM_BASE(&blaster_scanline_control) + AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITEONLY AM_BASE(&williams_videoram) + AM_RANGE(0x4000, 0x8fff) AM_READ_BANK("bank2") AM_WRITEONLY + AM_RANGE(0xbb00, 0xbbff) AM_WRITEONLY AM_BASE(&blaster_palette_0) + AM_RANGE(0xbc00, 0xbcff) AM_WRITEONLY AM_BASE(&blaster_scanline_control) AM_RANGE(0x9000, 0xbfff) AM_RAM - AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram) + AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITEONLY AM_BASE_GENERIC(paletteram) AM_RANGE(0xc804, 0xc807) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_0", pia6821_r, pia6821_w) AM_RANGE(0xc80c, 0xc80f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_1", pia6821_r, pia6821_w) AM_RANGE(0xc900, 0xc93f) AM_WRITE(blaster_vram_select_w) @@ -614,7 +614,7 @@ ADDRESS_MAP_END *************************************/ static ADDRESS_MAP_START( williams2_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ_BANK("bank1") AM_WRITE(SMH_RAM) AM_BASE(&williams_videoram) + AM_RANGE(0x0000, 0x7fff) AM_READ_BANK("bank1") AM_WRITEONLY AM_BASE(&williams_videoram) AM_RANGE(0x8000, 0xbfff) AM_RAM AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(williams2_tileram_w) AM_BASE(&williams2_tileram) AM_RANGE(0xc800, 0xc87f) AM_WRITE(williams2_bank_select_w) @@ -636,7 +636,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( williams2_extra_ram_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ_BANK("bank1") AM_WRITE(SMH_RAM) AM_BASE(&williams_videoram) + AM_RANGE(0x0000, 0x7fff) AM_READ_BANK("bank1") AM_WRITEONLY AM_BASE(&williams_videoram) AM_RANGE(0x8000, 0xbfff) AM_RAM AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(williams2_tileram_w) AM_BASE(&williams2_tileram) AM_RANGE(0xc800, 0xc87f) AM_WRITE(williams2_bank_select_w) @@ -2812,14 +2812,14 @@ static DRIVER_INIT( spdball ) static DRIVER_INIT( alienar ) { CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC01, 0xc000); - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xcbff, 0xcbff, 0, 0, (write8_space_func)SMH_NOP); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xcbff, 0xcbff, 0, 0); } static DRIVER_INIT( alienaru ) { CONFIGURE_BLITTER(WILLIAMS_BLITTER_SC01, 0xc000); - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xcbff, 0xcbff, 0, 0, (write8_space_func)SMH_NOP); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xcbff, 0xcbff, 0, 0); } diff --git a/src/mame/drivers/wiz.c b/src/mame/drivers/wiz.c index aa2aed9d1b9..64a0c44eef0 100644 --- a/src/mame/drivers/wiz.c +++ b/src/mame/drivers/wiz.c @@ -1086,7 +1086,7 @@ static DRIVER_INIT( stinger ) static DRIVER_INIT( scion ) { - memory_install_write8_handler(cputag_get_address_space(machine, "audiocpu", ADDRESS_SPACE_PROGRAM), 0x4000, 0x4001, 0, 0, (write8_space_func)SMH_NOP); + memory_nop_write(cputag_get_address_space(machine, "audiocpu", ADDRESS_SPACE_PROGRAM), 0x4000, 0x4001, 0, 0); } diff --git a/src/mame/drivers/wolfpack.c b/src/mame/drivers/wolfpack.c index ebd527b8e45..ad1ca45b87b 100644 --- a/src/mame/drivers/wolfpack.c +++ b/src/mame/drivers/wolfpack.c @@ -132,7 +132,7 @@ static WRITE8_HANDLER( wolfpack_coldetres_w ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x100) AM_RANGE(0x1000, 0x1000) AM_READ_PORT("INPUTS") - AM_RANGE(0x1000, 0x10ff) AM_WRITE(SMH_RAM) AM_BASE(&wolfpack_alpha_num_ram) + AM_RANGE(0x1000, 0x10ff) AM_WRITEONLY AM_BASE(&wolfpack_alpha_num_ram) AM_RANGE(0x2000, 0x2000) AM_READ(wolfpack_misc_r) AM_RANGE(0x2000, 0x2000) AM_WRITE(wolfpack_high_explo_w) AM_RANGE(0x2001, 0x2001) AM_WRITE(wolfpack_sonar_ping_w) diff --git a/src/mame/drivers/wrally.c b/src/mame/drivers/wrally.c index 0904039a8f5..51b83cb1d5d 100644 --- a/src/mame/drivers/wrally.c +++ b/src/mame/drivers/wrally.c @@ -104,10 +104,10 @@ static UINT16 *wrally_shareram; static ADDRESS_MAP_START( wrally_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */ - AM_RANGE(0x100000, 0x103fff) AM_READWRITE(SMH_RAM, wrally_vram_w) AM_BASE(&wrally_videoram) /* encrypted Video RAM */ + AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(wrally_vram_w) AM_BASE(&wrally_videoram) /* encrypted Video RAM */ AM_RANGE(0x108000, 0x108007) AM_RAM AM_BASE(&wrally_vregs) /* Video Registers */ AM_RANGE(0x10800c, 0x10800d) AM_WRITENOP /* CLR INT Video */ - AM_RANGE(0x200000, 0x203fff) AM_READWRITE(SMH_RAM, paletteram16_xxxxBBBBRRRRGGGG_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ + AM_RANGE(0x200000, 0x203fff) AM_RAM_WRITE(paletteram16_xxxxBBBBRRRRGGGG_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&wrally_spriteram) /* Sprite RAM */ AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW") AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P1_P2") diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c index 305127ec823..109e57663e4 100644 --- a/src/mame/drivers/xexex.c +++ b/src/mame/drivers/xexex.c @@ -376,7 +376,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_RANGE(0x180000, 0x181fff) AM_READWRITE(K056832_ram_word_r, K056832_ram_word_w) AM_RANGE(0x182000, 0x183fff) AM_READWRITE(K056832_ram_word_r, K056832_ram_word_w) - AM_RANGE(0x190000, 0x191fff) AM_READWRITE(K056832_rom_word_r, SMH_ROM) // Passthrough to tile roms + AM_RANGE(0x190000, 0x191fff) AM_READ(K056832_rom_word_r) // Passthrough to tile roms AM_RANGE(0x1a0000, 0x1a1fff) AM_READ(K053250_0_rom_r) AM_RANGE(0x1b0000, 0x1b1fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram) diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c index 43f81826515..f4442e59319 100644 --- a/src/mame/drivers/xmen.c +++ b/src/mame/drivers/xmen.c @@ -182,7 +182,6 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank4") - AM_RANGE(0x8000, 0xbfff) AM_WRITE(SMH_ROM) AM_RANGE(0xc000, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xe22f) AM_DEVREADWRITE("konami", k054539_r, k054539_w) AM_RANGE(0xe800, 0xe801) AM_MIRROR(0x0400) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w) @@ -199,7 +198,7 @@ static ADDRESS_MAP_START( 6p_main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x101000, 0x101fff) AM_RAM AM_RANGE(0x102000, 0x102fff) AM_RAM AM_BASE(&xmen6p_spriteramright) /* sprites (screen 2) */ AM_RANGE(0x103000, 0x103fff) AM_RAM /* 6p - a buffer? */ - AM_RANGE(0x104000, 0x104fff) AM_READWRITE(SMH_RAM,paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) + AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w) AM_RANGE(0x108020, 0x108027) AM_WRITE(K053246_word_w) /* sprites */ AM_RANGE(0x10804c, 0x10804d) AM_WRITE(sound_cmd_w) @@ -216,35 +215,35 @@ static ADDRESS_MAP_START( 6p_main_map, ADDRESS_SPACE_PROGRAM, 16 ) /* AM_RANGE(0x18c000, 0x197fff) AM_WRITE(K052109_lsb_w) AM_BASE(&xmen6p_tilemapleft) */ AM_RANGE(0x18c000, 0x197fff) AM_RAM AM_BASE(&xmen6p_tilemapleft) /* left tilemap (p1,p2,p3 counters) */ /* - AM_RANGE(0x1ac000, 0x1af7ff) AM_READ(SMH_RAM) - AM_RANGE(0x1ac000, 0x1af7ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x1ac000, 0x1af7ff) AM_READONLY + AM_RANGE(0x1ac000, 0x1af7ff) AM_WRITEONLY - AM_RANGE(0x1b0000, 0x1b37ff) AM_READ(SMH_RAM) - AM_RANGE(0x1b0000, 0x1b37ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x1b0000, 0x1b37ff) AM_READONLY + AM_RANGE(0x1b0000, 0x1b37ff) AM_WRITEONLY - AM_RANGE(0x1b4000, 0x1b77ff) AM_READ(SMH_RAM) - AM_RANGE(0x1b4000, 0x1b77ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x1b4000, 0x1b77ff) AM_READONLY + AM_RANGE(0x1b4000, 0x1b77ff) AM_WRITEONLY */ AM_RANGE(0x1ac000, 0x1b7fff) AM_RAM AM_BASE(&xmen6p_tilemapright) /* right tilemap */ /* what are the regions below buffers? (used by hw or software?) */ /* - AM_RANGE(0x1cc000, 0x1cf7ff) AM_READ(SMH_RAM) - AM_RANGE(0x1cc000, 0x1cf7ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x1cc000, 0x1cf7ff) AM_READONLY + AM_RANGE(0x1cc000, 0x1cf7ff) AM_WRITEONLY - AM_RANGE(0x1d0000, 0x1d37ff) AM_READ(SMH_RAM) - AM_RANGE(0x1d0000, 0x1d37ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x1d0000, 0x1d37ff) AM_READONLY + AM_RANGE(0x1d0000, 0x1d37ff) AM_WRITEONLY */ AM_RANGE(0x1cc000, 0x1d7fff) AM_RAM /* tilemap ? */ /* whats the stuff below, buffers? */ /* - AM_RANGE(0x1ec000, 0x1ef7ff) AM_READ(SMH_RAM) - AM_RANGE(0x1ec000, 0x1ef7ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x1f0000, 0x1f37ff) AM_READ(SMH_RAM) - AM_RANGE(0x1f0000, 0x1f37ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x1f4000, 0x1f77ff) AM_READ(SMH_RAM) - AM_RANGE(0x1f4000, 0x1f77ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x1ec000, 0x1ef7ff) AM_READONLY + AM_RANGE(0x1ec000, 0x1ef7ff) AM_WRITEONLY + AM_RANGE(0x1f0000, 0x1f37ff) AM_READONLY + AM_RANGE(0x1f0000, 0x1f37ff) AM_WRITEONLY + AM_RANGE(0x1f4000, 0x1f77ff) AM_READONLY + AM_RANGE(0x1f4000, 0x1f77ff) AM_WRITEONLY */ AM_RANGE(0x1ec000, 0x1f7fff) AM_RAM /* tilemap ? */ ADDRESS_MAP_END diff --git a/src/mame/drivers/yunsun16.c b/src/mame/drivers/yunsun16.c index 3ff894a0ffd..5202cfc61ab 100644 --- a/src/mame/drivers/yunsun16.c +++ b/src/mame/drivers/yunsun16.c @@ -118,17 +118,17 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x800018, 0x800019) AM_READ_PORT("SYSTEM") AM_RANGE(0x80001a, 0x80001b) AM_READ_PORT("DSW1") AM_RANGE(0x80001c, 0x80001d) AM_READ_PORT("DSW2") - AM_RANGE(0x800030, 0x800031) AM_WRITE(SMH_NOP) // ? (value: don't care) - AM_RANGE(0x800100, 0x800101) AM_WRITE(SMH_NOP) // ? $9100 - AM_RANGE(0x800102, 0x800103) AM_WRITE(SMH_NOP) // ? $9080 - AM_RANGE(0x800104, 0x800105) AM_WRITE(SMH_NOP) // ? $90c0 - AM_RANGE(0x80010a, 0x80010b) AM_WRITE(SMH_NOP) // ? $9000 + AM_RANGE(0x800030, 0x800031) AM_WRITENOP // ? (value: don't care) + AM_RANGE(0x800100, 0x800101) AM_WRITENOP // ? $9100 + AM_RANGE(0x800102, 0x800103) AM_WRITENOP // ? $9080 + AM_RANGE(0x800104, 0x800105) AM_WRITENOP // ? $90c0 + AM_RANGE(0x80010a, 0x80010b) AM_WRITENOP // ? $9000 AM_RANGE(0x80010c, 0x80010f) AM_RAM AM_BASE_MEMBER(yunsun16_state, scrollram_1) // Scrolling AM_RANGE(0x800114, 0x800117) AM_RAM AM_BASE_MEMBER(yunsun16_state, scrollram_0) // Scrolling AM_RANGE(0x800154, 0x800155) AM_RAM AM_BASE_MEMBER(yunsun16_state, priorityram) // Priority AM_RANGE(0x800180, 0x800181) AM_WRITE(yunsun16_sound_bank_w) // Sound AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff) // Sound - AM_RANGE(0x8001fe, 0x8001ff) AM_WRITE(SMH_NOP) // ? 0 (during int) + AM_RANGE(0x8001fe, 0x8001ff) AM_WRITENOP // ? 0 (during int) AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE(yunsun16_vram_1_w) AM_BASE_MEMBER(yunsun16_state, vram_1) // Layer 1 AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE(yunsun16_vram_0_w) AM_BASE_MEMBER(yunsun16_state, vram_0) // Layer 0 diff --git a/src/mame/drivers/yunsung8.c b/src/mame/drivers/yunsung8.c index ca4e6be5dc7..157d69950af 100644 --- a/src/mame/drivers/yunsung8.c +++ b/src/mame/drivers/yunsung8.c @@ -114,7 +114,7 @@ static ADDRESS_MAP_START( port_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW1") AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW2") AM_RANGE(0x06, 0x06) AM_WRITE(yunsung8_flipscreen_w ) // Flip Screen - AM_RANGE(0x07, 0x07) AM_WRITE(SMH_NOP ) // ? (end of IRQ, random value) + AM_RANGE(0x07, 0x07) AM_WRITENOP // ? (end of IRQ, random value) ADDRESS_MAP_END diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c index 195d329337b..4a13e2293c8 100644 --- a/src/mame/drivers/zaccaria.c +++ b/src/mame/drivers/zaccaria.c @@ -314,7 +314,7 @@ static WRITE8_HANDLER( nmienable_w ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_ROM - AM_RANGE(0x6000, 0x63ff) AM_READ(SMH_RAM) + AM_RANGE(0x6000, 0x63ff) AM_READONLY AM_RANGE(0x6400, 0x6407) AM_READ(zaccaria_prot1_r) AM_RANGE(0x6000, 0x67ff) AM_WRITE(zaccaria_videoram_w) AM_BASE(&zaccaria_videoram) /* 6400-67ff is 4 bits wide */ AM_RANGE(0x6800, 0x683f) AM_WRITE(zaccaria_attributes_w) AM_BASE(&zaccaria_attributesram) diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c index 6d4d2f1c9b8..fe092212479 100644 --- a/src/mame/drivers/zn.c +++ b/src/mame/drivers/zn.c @@ -1215,7 +1215,7 @@ static ADDRESS_MAP_START( fx1a_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0xc000, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_r, ym2610_w) - AM_RANGE(0xe200, 0xe200) AM_READWRITE(SMH_NOP, taitosound_slave_port_w) + AM_RANGE(0xe200, 0xe200) AM_READNOP AM_WRITE(taitosound_slave_port_w) AM_RANGE(0xe201, 0xe201) AM_READWRITE(taitosound_slave_comm_r, taitosound_slave_comm_w) AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan */ AM_RANGE(0xee00, 0xee00) AM_NOP /* ? */ @@ -1477,10 +1477,10 @@ static DRIVER_INIT( coh1000w ) { const device_config *ide = devtag_get_device(machine, "ide"); - memory_install_read_bank_handler ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f000000, 0x1f1fffff, 0, 0, "bank1" ); - memory_install_write32_handler ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f000000, 0x1f000003, 0, 0, (write32_space_func)SMH_NOP ); + memory_install_read_bank_handler ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f000000, 0x1f1fffff, 0, 0, "bank1" ); + memory_nop_write ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f000000, 0x1f000003, 0, 0 ); memory_install_readwrite32_device_handler( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), ide, 0x1f7e4000, 0x1f7e4fff, 0, 0, ide_controller32_r, ide_controller32_w ); - memory_install_readwrite32_handler ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f7e8000, 0x1f7e8003, 0, 0, (read32_space_func)SMH_NOP, (write32_space_func)SMH_NOP ); + memory_nop_readwrite ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f7e8000, 0x1f7e8003, 0, 0 ); memory_install_readwrite32_device_handler( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), ide, 0x1f7f4000, 0x1f7f4fff, 0, 0, ide_controller32_r, ide_controller32_w ); zn_driver_init(machine); @@ -2151,7 +2151,7 @@ static DRIVER_INIT( coh1000a ) const device_config *ide = devtag_get_device(machine, "ide"); memory_install_read32_device_handler( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), ide, 0x1fbfff8c, 0x1fbfff8f, 0, 0, jdredd_idestat_r ); - memory_install_write32_handler ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1fbfff8c, 0x1fbfff8f, 0, 0, (write32_space_func)SMH_NOP ); + memory_nop_write ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1fbfff8c, 0x1fbfff8f, 0, 0 ); memory_install_readwrite32_device_handler( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), ide, 0x1fbfff90, 0x1fbfff9f, 0, 0, jdredd_ide_r, jdredd_ide_w ); } diff --git a/src/mame/drivers/zodiack.c b/src/mame/drivers/zodiack.c index 7c922da58ed..64c70d28178 100644 --- a/src/mame/drivers/zodiack.c +++ b/src/mame/drivers/zodiack.c @@ -128,7 +128,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x6083, 0x6083) AM_READ_PORT("IN0") AM_RANGE(0x6084, 0x6084) AM_READ_PORT("IN1") AM_RANGE(0x6090, 0x6090) AM_READWRITE(soundlatch_r, zodiac_master_soundlatch_w) - AM_RANGE(0x7000, 0x7000) AM_READWRITE(SMH_NOP,watchdog_reset_w) /* NOP??? */ + AM_RANGE(0x7000, 0x7000) AM_READNOP AM_WRITE(watchdog_reset_w) /* NOP??? */ AM_RANGE(0x7100, 0x7100) AM_WRITE(zodiac_master_interrupt_enable_w) AM_RANGE(0x7200, 0x7200) AM_WRITE(zodiack_flipscreen_w) AM_RANGE(0x9000, 0x903f) AM_RAM_WRITE(zodiack_attributes_w) AM_BASE_MEMBER(espial_state, attributeram) diff --git a/src/mame/machine/atari.c b/src/mame/machine/atari.c index c6df7855467..5f70708e07a 100644 --- a/src/mame/machine/atari.c +++ b/src/mame/machine/atari.c @@ -105,13 +105,13 @@ void a600xl_mmu(running_machine *machine, UINT8 new_mmu) if ( new_mmu & 0x80 ) { logerror("%s MMU SELFTEST RAM\n", machine->gamedrv->name); - memory_install_readwrite8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x5000, 0x57ff, 0, 0, (read8_space_func)SMH_NOP, (write8_space_func)SMH_NOP); + memory_nop_readwrite(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x5000, 0x57ff, 0, 0); } else { logerror("%s MMU SELFTEST ROM\n", machine->gamedrv->name); memory_install_read_bank_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x5000, 0x57ff, 0, 0, "bank2"); - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x5000, 0x57ff, 0, 0, (write8_space_func)SMH_UNMAP); + memory_unmap_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x5000, 0x57ff, 0, 0); memory_set_bankptr(machine, "bank2", memory_region(machine, "maincpu") + 0x5000); } } diff --git a/src/mame/machine/midtunit.c b/src/mame/machine/midtunit.c index 24504aec410..78ff269bd2b 100644 --- a/src/mame/machine/midtunit.c +++ b/src/mame/machine/midtunit.c @@ -520,7 +520,7 @@ DRIVER_INIT( jdreddp ) init_tunit_generic(machine, SOUND_ADPCM_LARGE); /* looks like the watchdog needs to be disabled */ - memory_install_write16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x01d81060, 0x01d8107f, 0, 0, (write16_space_func)SMH_NOP); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x01d81060, 0x01d8107f, 0, 0); /* protection */ memory_install_readwrite16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1b00000, 0x1bfffff, 0, 0, jdredd_prot_r, jdredd_prot_w); diff --git a/src/mame/machine/scramble.c b/src/mame/machine/scramble.c index 08ac4ce4464..2dfead12578 100644 --- a/src/mame/machine/scramble.c +++ b/src/mame/machine/scramble.c @@ -243,14 +243,14 @@ DRIVER_INIT( mariner ) { /* extra ROM */ memory_install_read_bank_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x5800, 0x67ff, 0, 0, "bank1"); - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x5800, 0x67ff, 0, 0, (write8_space_func)SMH_UNMAP); + memory_unmap_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x5800, 0x67ff, 0, 0); memory_set_bankptr(machine, "bank1", memory_region(machine, "maincpu") + 0x5800); memory_install_read8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x9008, 0x9008, 0, 0, mariner_protection_2_r); memory_install_read8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xb401, 0xb401, 0, 0, mariner_protection_1_r); /* ??? (it's NOT a background enable) */ - /*memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x6803, 0x6803, 0, 0, (write8_space_func)SMH_NOP);*/ + /*memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x6803, 0x6803, 0, 0);*/ } #ifdef UNUSED_FUNCTION @@ -335,8 +335,8 @@ DRIVER_INIT( cavelon ) /* A15 switches memory banks */ memory_install_readwrite8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x8000, 0xffff, 0, 0, cavelon_banksw_r, cavelon_banksw_w); - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x2000, 0x2000, 0, 0, (write8_space_func)SMH_NOP); /* ??? */ - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x3800, 0x3801, 0, 0, (write8_space_func)SMH_NOP); /* looks suspicously like + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x2000, 0x2000, 0, 0); /* ??? */ + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x3800, 0x3801, 0, 0); /* looks suspicously like an AY8910, but not sure */ state_save_register_global(machine, cavelon_bank); } diff --git a/src/mame/machine/seicop.c b/src/mame/machine/seicop.c index cf18d671541..efe40cda751 100644 --- a/src/mame/machine/seicop.c +++ b/src/mame/machine/seicop.c @@ -2115,10 +2115,10 @@ WRITE16_HANDLER( copdxbl_0_w ) case (0x478/2): { /* - AM_RANGE(0x100800, 0x100fff) AM_READWRITE(SMH_RAM,legionna_background_w) AM_BASE(&legionna_back_data) - AM_RANGE(0x101000, 0x1017ff) AM_READWRITE(SMH_RAM,legionna_foreground_w) AM_BASE(&legionna_fore_data) - AM_RANGE(0x101800, 0x101fff) AM_READWRITE(SMH_RAM,legionna_midground_w) AM_BASE(&legionna_mid_data) - AM_RANGE(0x102000, 0x102fff) AM_READWRITE(SMH_RAM,legionna_text_w) AM_BASE(&legionna_textram) + AM_RANGE(0x100800, 0x100fff) AM_RAM_WRITE(legionna_background_w) AM_BASE(&legionna_back_data) + AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(legionna_foreground_w) AM_BASE(&legionna_fore_data) + AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE(legionna_midground_w) AM_BASE(&legionna_mid_data) + AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(legionna_text_w) AM_BASE(&legionna_textram) */ break; } diff --git a/src/mame/machine/tnzs.c b/src/mame/machine/tnzs.c index 12b8635928a..fedbb9c64b8 100644 --- a/src/mame/machine/tnzs.c +++ b/src/mame/machine/tnzs.c @@ -514,7 +514,7 @@ DRIVER_INIT( drtoppel ) state->mcu_type = MCU_DRTOPPEL; /* drtoppel writes to the palette RAM area even if it has PROMs! We have to patch it out. */ - memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xf800, 0xfbff, 0, 0, (write8_space_func)SMH_NOP); + memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xf800, 0xfbff, 0, 0); } DRIVER_INIT( chukatai ) diff --git a/src/mame/machine/williams.c b/src/mame/machine/williams.c index 648a66c267b..e0373c87d71 100644 --- a/src/mame/machine/williams.c +++ b/src/mame/machine/williams.c @@ -780,13 +780,13 @@ WRITE8_HANDLER( defender_bank_select_w ) case 8: case 9: memory_install_read_bank_handler(space, 0xc000, 0xcfff, 0, 0, "bank1"); - memory_install_write8_handler(space, 0xc000, 0xcfff, 0, 0, (write8_space_func)SMH_UNMAP); + memory_unmap_write(space, 0xc000, 0xcfff, 0, 0); memory_set_bank(space->machine, "bank1", vram_bank - 1); break; /* pages A-F are not connected */ default: - memory_install_readwrite8_handler(space, 0xc000, 0xcfff, 0, 0, (read8_space_func)SMH_NOP, (write8_space_func)SMH_NOP); + memory_nop_readwrite(space, 0xc000, 0xcfff, 0, 0); break; } } diff --git a/src/mame/video/combatsc.c b/src/mame/video/combatsc.c index e6ff7bad2a8..0a18f0b5460 100644 --- a/src/mame/video/combatsc.c +++ b/src/mame/video/combatsc.c @@ -420,7 +420,7 @@ WRITE8_HANDLER( combascb_bankselect_w ) else { memory_install_read_bank_handler(space, 0x4000, 0x7fff, 0, 0, "bank1"); /* banked ROM */ - memory_install_write8_handler(space, 0x4000, 0x7fff, 0, 0, (write8_space_func)SMH_UNMAP); /* banked ROM */ + memory_unmap_write(space, 0x4000, 0x7fff, 0, 0); /* banked ROM */ } } } diff --git a/src/mame/video/qix.c b/src/mame/video/qix.c index d12be1368b4..1e9556ffd2c 100644 --- a/src/mame/video/qix.c +++ b/src/mame/video/qix.c @@ -373,8 +373,8 @@ static ADDRESS_MAP_START( qix_video_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8c01, 0x8c01) AM_MIRROR(0x03fe) AM_READWRITE(qix_video_firq_ack_r, qix_video_firq_ack_w) AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(qix_paletteram_w) AM_BASE_MEMBER(qix_state, paletteram) AM_RANGE(0x9400, 0x9400) AM_MIRROR(0x03fc) AM_READWRITE(qix_addresslatch_r, qix_addresslatch_w) - AM_RANGE(0x9402, 0x9403) AM_MIRROR(0x03fc) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(qix_state, videoram_address) - AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READ(SMH_RAM) AM_BASE_MEMBER(qix_state, scanline_latch) + AM_RANGE(0x9402, 0x9403) AM_MIRROR(0x03fc) AM_WRITEONLY AM_BASE_MEMBER(qix_state, videoram_address) + AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READONLY AM_BASE_MEMBER(qix_state, scanline_latch) AM_RANGE(0x9c00, 0x9c00) AM_MIRROR(0x03fe) AM_DEVWRITE("vid_u18", mc6845_address_w) AM_RANGE(0x9c01, 0x9c01) AM_MIRROR(0x03fe) AM_DEVREADWRITE("vid_u18", mc6845_register_r, mc6845_register_w) AM_RANGE(0xa000, 0xffff) AM_ROM @@ -391,8 +391,8 @@ static ADDRESS_MAP_START( zookeep_video_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8c01, 0x8c01) AM_MIRROR(0x03fe) AM_READWRITE(qix_video_firq_ack_r, qix_video_firq_ack_w) AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(qix_paletteram_w) AM_BASE_MEMBER(qix_state, paletteram) AM_RANGE(0x9400, 0x9400) AM_MIRROR(0x03fc) AM_READWRITE(qix_addresslatch_r, qix_addresslatch_w) - AM_RANGE(0x9402, 0x9403) AM_MIRROR(0x03fc) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(qix_state, videoram_address) - AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READ(SMH_RAM) AM_BASE_MEMBER(qix_state, scanline_latch) + AM_RANGE(0x9402, 0x9403) AM_MIRROR(0x03fc) AM_WRITEONLY AM_BASE_MEMBER(qix_state, videoram_address) + AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READONLY AM_BASE_MEMBER(qix_state, scanline_latch) AM_RANGE(0x9c00, 0x9c00) AM_MIRROR(0x03fe) AM_DEVWRITE("vid_u18", mc6845_address_w) AM_RANGE(0x9c01, 0x9c01) AM_MIRROR(0x03fe) AM_DEVREADWRITE("vid_u18", mc6845_register_r, mc6845_register_w) AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank1") @@ -409,9 +409,9 @@ static ADDRESS_MAP_START( slither_video_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8c01, 0x8c01) AM_MIRROR(0x03fe) AM_READWRITE(qix_video_firq_ack_r, qix_video_firq_ack_w) AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(qix_paletteram_w) AM_BASE_MEMBER(qix_state, paletteram) AM_RANGE(0x9400, 0x9400) AM_MIRROR(0x03fc) AM_READWRITE(qix_addresslatch_r, slither_addresslatch_w) - AM_RANGE(0x9401, 0x9401) AM_MIRROR(0x03fc) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(qix_state, videoram_mask) - AM_RANGE(0x9402, 0x9403) AM_MIRROR(0x03fc) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(qix_state, videoram_address) - AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READ(SMH_RAM) AM_BASE_MEMBER(qix_state, scanline_latch) + AM_RANGE(0x9401, 0x9401) AM_MIRROR(0x03fc) AM_WRITEONLY AM_BASE_MEMBER(qix_state, videoram_mask) + AM_RANGE(0x9402, 0x9403) AM_MIRROR(0x03fc) AM_WRITEONLY AM_BASE_MEMBER(qix_state, videoram_address) + AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READONLY AM_BASE_MEMBER(qix_state, scanline_latch) AM_RANGE(0x9c00, 0x9c00) AM_MIRROR(0x03fe) AM_DEVWRITE("vid_u18", mc6845_address_w) AM_RANGE(0x9c01, 0x9c01) AM_MIRROR(0x03fe) AM_DEVREADWRITE("vid_u18", mc6845_register_r, mc6845_register_w) AM_RANGE(0xa000, 0xffff) AM_ROM diff --git a/src/mame/video/taitoic.c b/src/mame/video/taitoic.c index 9f6a34694b7..a3cc48203ba 100644 --- a/src/mame/video/taitoic.c +++ b/src/mame/video/taitoic.c @@ -587,7 +587,7 @@ static int has_write_handler8(const device_config *cpu, write8_space_func handle if (space != NULL && space->map != NULL) for (entry = space->map->entrylist; entry != NULL; entry = entry->next) - if (entry->write.shandler8 == handler) + if (entry->write.type == AMH_HANDLER && entry->write.handler.write.shandler8 == handler) return 1; } @@ -603,7 +603,7 @@ static int has_write_handler(const device_config *cpu, write16_space_func handle if (space != NULL && space->map != NULL) for (entry = space->map->entrylist; entry != NULL; entry = entry->next) - if (entry->write.shandler16 == handler) + if (entry->write.type == AMH_HANDLER && entry->write.handler.write.shandler16 == handler) return 1; } |