mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
Added new macros AM_DEVREAD, AM_DEVWRITE, and AM_DEVREADWRITE,
which specify device read/write handlers in address maps, along with the type/tag of the device they reference. Converted MC6845 read/write handlers to READ/WRITE8_DEVICE_HANDLERs. Updated all MC6845-using drivers to use the new macros and call the updated functions. Removed the many little helper functions that used to do this work. Added validity checks to ensure that the devices referenced actually exist.
This commit is contained in:
parent
856c0a06cf
commit
31bb5d3f3c
@ -1510,13 +1510,23 @@ static void populate_memory(void)
|
||||
if (map->read.handler != NULL)
|
||||
{
|
||||
void *object = Machine;
|
||||
if (map->read_devtype != NULL) object = (void *)device_list_find_by_tag(Machine->config->devicelist, map->read_devtype, map->read_devtag);
|
||||
if (map->read_devtype != NULL)
|
||||
{
|
||||
object = (void *)device_list_find_by_tag(Machine->config->devicelist, map->read_devtype, map->read_devtag);
|
||||
if (object == NULL)
|
||||
fatalerror("Unidentified object in memory map: type=%s tag=%s\n", devtype_name(map->read_devtype), map->read_devtag);
|
||||
}
|
||||
install_mem_handler_private(space, 0, space->dbits, ismatchmask, map->start, map->end, map->mask, map->mirror, map->read.handler, isfixed, object, map->read_name);
|
||||
}
|
||||
if (map->write.handler != NULL)
|
||||
{
|
||||
void *object = Machine;
|
||||
if (map->write_devtype != NULL) object = (void *)device_list_find_by_tag(Machine->config->devicelist, map->write_devtype, map->write_devtag);
|
||||
if (map->write_devtype != NULL)
|
||||
{
|
||||
object = (void *)device_list_find_by_tag(Machine->config->devicelist, map->write_devtype, map->write_devtag);
|
||||
if (object == NULL)
|
||||
fatalerror("Unidentified object in memory map: type=%s tag=%s\n", devtype_name(map->write_devtype), map->write_devtag);
|
||||
}
|
||||
install_mem_handler_private(space, 1, space->dbits, ismatchmask, map->start, map->end, map->mask, map->mirror, map->write.handler, isfixed, object, map->write_name);
|
||||
}
|
||||
}
|
||||
|
@ -619,15 +619,19 @@ address_map *construct_map_##_name(address_map *map) \
|
||||
address_map *construct_map_##_name(address_map *map) \
|
||||
{ \
|
||||
extern read##_bits##_machine_func port_tag_to_handler##_bits(const char *); \
|
||||
typedef read##_bits##_machine_func _rh_t; \
|
||||
typedef write##_bits##_machine_func _wh_t; \
|
||||
_rh_t read; \
|
||||
_wh_t write; \
|
||||
_rh_t (*port_tag_to_handler)(const char *) = port_tag_to_handler##_bits; \
|
||||
typedef read##_bits##_machine_func _rmf_t; \
|
||||
typedef write##_bits##_machine_func _wmf_t; \
|
||||
typedef read##_bits##_device_func _rdf_t; \
|
||||
typedef write##_bits##_device_func _wdf_t; \
|
||||
_rmf_t readm; \
|
||||
_wmf_t writem; \
|
||||
_rdf_t readd; \
|
||||
_wdf_t writed; \
|
||||
_rmf_t (*port_tag_to_handler)(const char *) = port_tag_to_handler##_bits; \
|
||||
UINT##_bits **base; \
|
||||
\
|
||||
(void)read; (void)write; (void)base; \
|
||||
(void)port_tag_to_handler; \
|
||||
(void)readm; (void)writem; (void)readd; (void)writed; (void)base; \
|
||||
(void)port_tag_to_handler; \
|
||||
map->flags = AM_FLAGS_EXTENDED; \
|
||||
map->start = AMEF_DBITS(_bits) | AMEF_SPACE(_space); \
|
||||
|
||||
@ -663,16 +667,28 @@ address_map *construct_map_##_name(address_map *map) \
|
||||
map->mirror = (_mirror); \
|
||||
|
||||
#define AM_READ(_handler) \
|
||||
map->read.handler = (genf *)(read = _handler); \
|
||||
map->read.handler = (genf *)(readm = _handler); \
|
||||
map->read_name = #_handler; \
|
||||
|
||||
#define AM_READ_PORT(_tag) \
|
||||
AM_READ((*port_tag_to_handler)(_tag))
|
||||
#define AM_READ_PORT(_tag) \
|
||||
AM_READ((*port_tag_to_handler)(_tag)) \
|
||||
|
||||
#define AM_DEVREAD(_type, _tag, _handler) \
|
||||
map->read.handler = (genf *)(readd = _handler); \
|
||||
map->read_name = #_handler; \
|
||||
map->read_devtype = _type; \
|
||||
map->read_devtag = _tag; \
|
||||
|
||||
#define AM_WRITE(_handler) \
|
||||
map->write.handler = (genf *)(write = _handler); \
|
||||
map->write.handler = (genf *)(writem = _handler); \
|
||||
map->write_name = #_handler; \
|
||||
|
||||
#define AM_DEVWRITE(_type, _tag, _handler) \
|
||||
map->write.handler = (genf *)(writed = _handler); \
|
||||
map->write_name = #_handler; \
|
||||
map->write_devtype = _type; \
|
||||
map->write_devtag = _tag; \
|
||||
|
||||
#define AM_REGION(_region, _offs) \
|
||||
map->region = (_region); \
|
||||
map->region_offs = (_offs); \
|
||||
@ -696,15 +712,16 @@ address_map *construct_map_##_name(address_map *map) \
|
||||
|
||||
/* ----- common shortcuts ----- */
|
||||
#define AM_READWRITE(_read,_write) AM_READ(_read) AM_WRITE(_write)
|
||||
#define AM_ROM AM_READ((_rh_t)STATIC_ROM)
|
||||
#define AM_RAM AM_READWRITE((_rh_t)STATIC_RAM, (_wh_t)STATIC_RAM)
|
||||
#define AM_WRITEONLY AM_WRITE((_wh_t)STATIC_RAM)
|
||||
#define AM_UNMAP AM_READWRITE((_rh_t)STATIC_UNMAP, (_wh_t)STATIC_UNMAP)
|
||||
#define AM_ROMBANK(_bank) AM_READ((_rh_t)(STATIC_BANK1 + (_bank) - 1))
|
||||
#define AM_RAMBANK(_bank) AM_READWRITE((_rh_t)(STATIC_BANK1 + (_bank) - 1), (_wh_t)(STATIC_BANK1 + (_bank) - 1))
|
||||
#define AM_NOP AM_READWRITE((_rh_t)STATIC_NOP, (_wh_t)STATIC_NOP)
|
||||
#define AM_READNOP AM_READ((_rh_t)STATIC_NOP)
|
||||
#define AM_WRITENOP AM_WRITE((_wh_t)STATIC_NOP)
|
||||
#define AM_DEVREADWRITE(_type,_tag,_read,_write) AM_DEVREAD(_type,_tag,_read) AM_DEVWRITE(_type,_tag,_write)
|
||||
#define AM_ROM AM_READ((_rmf_t)STATIC_ROM)
|
||||
#define AM_RAM AM_READWRITE((_rmf_t)STATIC_RAM, (_wmf_t)STATIC_RAM)
|
||||
#define AM_WRITEONLY AM_WRITE((_wmf_t)STATIC_RAM)
|
||||
#define AM_UNMAP AM_READWRITE((_rmf_t)STATIC_UNMAP, (_wmf_t)STATIC_UNMAP)
|
||||
#define AM_ROMBANK(_bank) AM_READ((_rmf_t)(STATIC_BANK1 + (_bank) - 1))
|
||||
#define AM_RAMBANK(_bank) AM_READWRITE((_rmf_t)(STATIC_BANK1 + (_bank) - 1), (_wmf_t)(STATIC_BANK1 + (_bank) - 1))
|
||||
#define AM_NOP AM_READWRITE((_rmf_t)STATIC_NOP, (_wmf_t)STATIC_NOP)
|
||||
#define AM_READNOP AM_READ((_rmf_t)STATIC_NOP)
|
||||
#define AM_WRITENOP AM_WRITE((_wmf_t)STATIC_NOP)
|
||||
|
||||
|
||||
|
||||
|
@ -687,51 +687,61 @@ static int validate_cpu(int drivnum, const machine_config *config, const UINT32
|
||||
UINT32 start = SPACE_SHIFT(map->start);
|
||||
UINT32 end = ismatchmask ? SPACE_SHIFT(map->end) : SPACE_SHIFT_END(map->end);
|
||||
|
||||
/* look for inverted start/end pairs */
|
||||
if (end < start)
|
||||
{
|
||||
/* look for inverted start/end pairs */
|
||||
if (end < start)
|
||||
mame_printf_error("%s: %s wrong %s memory read handler start = %08x > end = %08x\n", driver->source_file, driver->name, spacename[spacenum], map->start, map->end);
|
||||
error = TRUE;
|
||||
}
|
||||
|
||||
/* look for misaligned entries */
|
||||
if ((start & (alignunit-1)) != 0 || (end & (alignunit-1)) != (alignunit-1))
|
||||
{
|
||||
mame_printf_error("%s: %s wrong %s memory read handler start = %08x, end = %08x ALIGN = %d\n", driver->source_file, driver->name, spacename[spacenum], map->start, map->end, alignunit);
|
||||
error = TRUE;
|
||||
}
|
||||
|
||||
/* if this is a program space, auto-assign implicit ROM entries */
|
||||
if ((FPTR)map->read.handler == STATIC_ROM && !map->region)
|
||||
{
|
||||
map->region = REGION_CPU1 + cpunum;
|
||||
map->region_offs = map->start;
|
||||
}
|
||||
|
||||
/* if this entry references a memory region, validate it */
|
||||
if (map->region && map->share == 0)
|
||||
{
|
||||
offs_t length = region_length[map->region];
|
||||
|
||||
if (length == 0)
|
||||
{
|
||||
mame_printf_error("%s: %s wrong %s memory read handler start = %08x > end = %08x\n", driver->source_file, driver->name, spacename[spacenum], map->start, map->end);
|
||||
mame_printf_error("%s: %s CPU %d space %d memory map entry %X-%X references non-existant region %d\n", driver->source_file, driver->name, cpunum, spacenum, map->start, map->end, map->region);
|
||||
error = TRUE;
|
||||
}
|
||||
|
||||
/* look for misaligned entries */
|
||||
if ((start & (alignunit-1)) != 0 || (end & (alignunit-1)) != (alignunit-1))
|
||||
else if (map->region_offs + (end - start + 1) > length)
|
||||
{
|
||||
mame_printf_error("%s: %s wrong %s memory read handler start = %08x, end = %08x ALIGN = %d\n", driver->source_file, driver->name, spacename[spacenum], map->start, map->end, alignunit);
|
||||
mame_printf_error("%s: %s CPU %d space %d memory map entry %X-%X extends beyond region %d size (%X)\n", driver->source_file, driver->name, cpunum, spacenum, map->start, map->end, map->region, length);
|
||||
error = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* if this is a program space, auto-assign implicit ROM entries */
|
||||
if ((FPTR)map->read.handler == STATIC_ROM && !map->region)
|
||||
{
|
||||
map->region = REGION_CPU1 + cpunum;
|
||||
map->region_offs = map->start;
|
||||
}
|
||||
|
||||
/* if this entry references a memory region, validate it */
|
||||
if (map->region && map->share == 0)
|
||||
{
|
||||
offs_t length = region_length[map->region];
|
||||
|
||||
if (length == 0)
|
||||
{
|
||||
mame_printf_error("%s: %s CPU %d space %d memory map entry %X-%X references non-existant region %d\n", driver->source_file, driver->name, cpunum, spacenum, map->start, map->end, map->region);
|
||||
error = TRUE;
|
||||
}
|
||||
else if (map->region_offs + (end - start + 1) > length)
|
||||
{
|
||||
mame_printf_error("%s: %s CPU %d space %d memory map entry %X-%X extends beyond region %d size (%X)\n", driver->source_file, driver->name, cpunum, spacenum, map->start, map->end, map->region, length);
|
||||
error = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* If this is a match/mask, make sure the match bits are present in the mask */
|
||||
if (ismatchmask && (start & end) != start)
|
||||
{
|
||||
mame_printf_error("%s: %s CPU %d space %d memory map entry match %X contains bits not in mask %X for region %d\n", driver->source_file, driver->name, cpunum, spacenum, map->start, map->end, map->region);
|
||||
error = TRUE;
|
||||
}
|
||||
/* If this is a match/mask, make sure the match bits are present in the mask */
|
||||
if (ismatchmask && (start & end) != start)
|
||||
{
|
||||
mame_printf_error("%s: %s CPU %d space %d memory map entry match %X contains bits not in mask %X for region %d\n", driver->source_file, driver->name, cpunum, spacenum, map->start, map->end, map->region);
|
||||
error = TRUE;
|
||||
}
|
||||
|
||||
/* make sure all devices exist */
|
||||
if (map->read_devtype != NULL && device_list_find_by_tag(config->devicelist, map->read_devtype, map->read_devtag) == NULL)
|
||||
{
|
||||
mame_printf_error("%s: %s CPU %d space %d memory map entry references nonexistant device type %s, tag %s\n", driver->source_file, driver->name, cpunum, spacenum, devtype_name(map->read_devtype), map->read_devtag);
|
||||
error = TRUE;
|
||||
}
|
||||
if (map->write_devtype != NULL && device_list_find_by_tag(config->devicelist, map->write_devtype, map->write_devtag) == NULL)
|
||||
{
|
||||
mame_printf_error("%s: %s CPU %d space %d memory map entry references nonexistant device type %s, tag %s\n", driver->source_file, driver->name, cpunum, spacenum, devtype_name(map->write_devtype), map->write_devtag);
|
||||
error = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -113,16 +113,19 @@ static void mc6845_state_save_postload(void *param)
|
||||
}
|
||||
|
||||
|
||||
void mc6845_address_w(mc6845_t *mc6845, UINT8 data)
|
||||
WRITE8_DEVICE_HANDLER( mc6845_address_w )
|
||||
{
|
||||
mc6845_t *mc6845 = device->token;
|
||||
|
||||
assert(mc6845 != NULL);
|
||||
|
||||
mc6845->register_address_latch = data & 0x1f;
|
||||
}
|
||||
|
||||
|
||||
UINT8 mc6845_status_r(mc6845_t *mc6845)
|
||||
READ8_DEVICE_HANDLER( mc6845_status_r )
|
||||
{
|
||||
mc6845_t *mc6845 = device->token;
|
||||
UINT8 ret = 0;
|
||||
|
||||
assert(mc6845 != NULL);
|
||||
@ -140,8 +143,9 @@ UINT8 mc6845_status_r(mc6845_t *mc6845)
|
||||
}
|
||||
|
||||
|
||||
UINT8 mc6845_register_r(mc6845_t *mc6845)
|
||||
READ8_DEVICE_HANDLER( mc6845_register_r )
|
||||
{
|
||||
mc6845_t *mc6845 = device->token;
|
||||
UINT8 ret = 0;
|
||||
|
||||
assert(mc6845 != NULL);
|
||||
@ -163,8 +167,10 @@ UINT8 mc6845_register_r(mc6845_t *mc6845)
|
||||
}
|
||||
|
||||
|
||||
void mc6845_register_w(mc6845_t *mc6845, UINT8 data)
|
||||
WRITE8_DEVICE_HANDLER( mc6845_register_w )
|
||||
{
|
||||
mc6845_t *mc6845 = device->token;
|
||||
|
||||
assert(mc6845 != NULL);
|
||||
|
||||
if (LOG) logerror("M6845 PC %04x: reg 0x%02x = 0x%02x\n", activecpu_get_pc(), mc6845->register_address_latch, data);
|
||||
|
@ -83,16 +83,16 @@ DEVICE_GET_INFO( r6545_1 );
|
||||
DEVICE_GET_INFO( c6545_1 );
|
||||
|
||||
/* select one of the registers for reading or writing */
|
||||
void mc6845_address_w(mc6845_t *mc6845, UINT8 data);
|
||||
WRITE8_DEVICE_HANDLER( mc6845_address_w );
|
||||
|
||||
/* read from the status register */
|
||||
UINT8 mc6845_status_r(mc6845_t *mc6845);
|
||||
READ8_DEVICE_HANDLER( mc6845_status_r );
|
||||
|
||||
/* read from the currently selected register */
|
||||
UINT8 mc6845_register_r(mc6845_t *mc6845);
|
||||
READ8_DEVICE_HANDLER( mc6845_register_r );
|
||||
|
||||
/* write to the currently selected register */
|
||||
void mc6845_register_w(mc6845_t *mc6845, UINT8 data);
|
||||
WRITE8_DEVICE_HANDLER( mc6845_register_w );
|
||||
|
||||
/* return the current value on the MA0-MA13 pins */
|
||||
UINT16 mc6845_get_ma(mc6845_t *mc6845);
|
||||
|
@ -491,9 +491,6 @@
|
||||
/* from video */
|
||||
WRITE8_HANDLER( calomega_videoram_w );
|
||||
WRITE8_HANDLER( calomega_colorram_w );
|
||||
WRITE8_HANDLER( calomega_mc6845_address_w );
|
||||
READ8_HANDLER( calomega_mc6845_register_r );
|
||||
WRITE8_HANDLER( calomega_mc6845_register_w );
|
||||
PALETTE_INIT( calomega );
|
||||
VIDEO_START( calomega );
|
||||
VIDEO_UPDATE( calomega );
|
||||
@ -507,8 +504,8 @@ static ADDRESS_MAP_START( sys903_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
|
||||
AM_RANGE(0x0840, 0x0840) AM_WRITE(AY8910_control_port_0_w)
|
||||
AM_RANGE(0x0841, 0x0841) AM_WRITE(AY8910_write_port_0_w)
|
||||
AM_RANGE(0x0880, 0x0880) AM_WRITE(calomega_mc6845_address_w)
|
||||
AM_RANGE(0x0881, 0x0881) AM_READWRITE(calomega_mc6845_register_r, calomega_mc6845_register_w)
|
||||
AM_RANGE(0x0880, 0x0880) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x0881, 0x0881) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0x08c4, 0x08c7) AM_READWRITE(pia_0_r, pia_0_w)
|
||||
AM_RANGE(0x08c8, 0x08cb) AM_READWRITE(pia_1_r, pia_1_w)
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_WRITE(calomega_videoram_w) AM_BASE(&videoram)
|
||||
@ -520,8 +517,8 @@ static ADDRESS_MAP_START( sys905_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
|
||||
AM_RANGE(0x0880, 0x0880) AM_WRITE(AY8910_control_port_0_w)
|
||||
AM_RANGE(0x0881, 0x0881) AM_WRITE(AY8910_write_port_0_w)
|
||||
AM_RANGE(0x1080, 0x1080) AM_WRITE(calomega_mc6845_address_w)
|
||||
AM_RANGE(0x1081, 0x1081) AM_READWRITE(calomega_mc6845_register_r, calomega_mc6845_register_w)
|
||||
AM_RANGE(0x1080, 0x1080) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x1081, 0x1081) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0x10c4, 0x10c7) AM_READWRITE(pia_0_r, pia_0_w)
|
||||
AM_RANGE(0x10c8, 0x10cb) AM_READWRITE(pia_1_r, pia_1_w)
|
||||
AM_RANGE(0x2000, 0x23ff) AM_RAM AM_WRITE(calomega_videoram_w) AM_BASE(&videoram)
|
||||
|
@ -51,17 +51,6 @@ static mc6845_t *mc6845;
|
||||
|
||||
|
||||
|
||||
static WRITE8_HANDLER( carrera_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( carrera_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x4fff) AM_READ(MRA8_ROM)
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_READ(MRA8_RAM)
|
||||
@ -71,8 +60,8 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x4fff) AM_WRITE(MWA8_ROM)
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_WRITE(MWA8_RAM)
|
||||
AM_RANGE(0xe800, 0xe800) AM_WRITE(carrera_mc6845_address_w)
|
||||
AM_RANGE(0xe801, 0xe801) AM_WRITE(carrera_mc6845_register_w)
|
||||
AM_RANGE(0xe800, 0xe800) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0xe801, 0xe801) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0xf000, 0xffff) AM_WRITE(MWA8_RAM) AM_BASE(&carrera_tileram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -116,16 +116,6 @@ static WRITE8_HANDLER( question_w )
|
||||
question_adr[offset] = data;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( coinmstr_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( coinmstr_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
// Common memory map
|
||||
|
||||
static ADDRESS_MAP_START( coinmstr_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
@ -149,8 +139,8 @@ static ADDRESS_MAP_START( quizmstr_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x50, 0x53) AM_READNOP
|
||||
AM_RANGE(0x50, 0x53) AM_WRITENOP
|
||||
AM_RANGE(0x58, 0x5b) AM_READWRITE(pia_2_r, pia_2_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(coinmstr_mc6845_address_w)
|
||||
AM_RANGE(0x71, 0x71) AM_WRITE(coinmstr_mc6845_register_w)
|
||||
AM_RANGE(0x70, 0x70) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x71, 0x71) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0xc0, 0xc3) AM_READNOP
|
||||
AM_RANGE(0xc0, 0xc3) AM_WRITENOP
|
||||
ADDRESS_MAP_END
|
||||
@ -159,8 +149,8 @@ static ADDRESS_MAP_START( trailblz_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_FLAGS( AMEF_ABITS(8) )
|
||||
AM_RANGE(0x00, 0x00) AM_READ(question_r)
|
||||
AM_RANGE(0x00, 0x03) AM_WRITE(question_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(coinmstr_mc6845_address_w)
|
||||
AM_RANGE(0x41, 0x41) AM_WRITE(coinmstr_mc6845_register_w)
|
||||
AM_RANGE(0x40, 0x40) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x41, 0x41) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0x48, 0x48) AM_WRITE(AY8910_control_port_0_w)
|
||||
AM_RANGE(0x49, 0x49) AM_READWRITE(AY8910_read_port_0_r, AY8910_write_port_0_w)
|
||||
AM_RANGE(0x50, 0x53) AM_READWRITE(pia_0_r, pia_0_w) //?
|
||||
@ -176,8 +166,8 @@ static ADDRESS_MAP_START( supnudg2_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x40, 0x41) AM_READNOP
|
||||
AM_RANGE(0x40, 0x43) AM_WRITENOP
|
||||
AM_RANGE(0x43, 0x43) AM_READNOP
|
||||
AM_RANGE(0x48, 0x48) AM_WRITE(coinmstr_mc6845_address_w)
|
||||
AM_RANGE(0x49, 0x49) AM_WRITE(coinmstr_mc6845_register_w)
|
||||
AM_RANGE(0x48, 0x48) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x49, 0x49) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0x50, 0x51) AM_READNOP
|
||||
AM_RANGE(0x50, 0x53) AM_WRITENOP
|
||||
AM_RANGE(0x53, 0x53) AM_READNOP
|
||||
|
@ -54,16 +54,6 @@ x-x- ---- ---- ---- extra tile number.
|
||||
---- ---- xxxx xxxx tile number
|
||||
*/
|
||||
|
||||
static WRITE8_HANDLER( couple_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( couple_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
{
|
||||
UINT16 vram_data = (((vram_hi[tile_index] & 0xff) << 8) | (vram_lo[tile_index] & 0xff));
|
||||
@ -158,8 +148,8 @@ static ADDRESS_MAP_START( merit_mem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
// AM_RANGE( 0xc000, 0xc00f ) AM_READ(dummy_inputs_r)
|
||||
// AM_RANGE( 0xc008, 0xc008 ) AM_READ(input_port_0_r)
|
||||
// AM_RANGE( 0xc00a, 0xc00a ) AM_READ(input_port_1_r)
|
||||
AM_RANGE( 0xe000, 0xe000 ) AM_WRITE(couple_mc6845_address_w)
|
||||
AM_RANGE( 0xe001, 0xe001 ) AM_WRITE(couple_mc6845_register_w)
|
||||
AM_RANGE( 0xe000, 0xe000 ) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE( 0xe001, 0xe001 ) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE( 0xe800, 0xefff ) AM_READWRITE(MRA8_RAM, couple_vram_hi_w) AM_BASE(&vram_hi)
|
||||
AM_RANGE( 0xf000, 0xf7ff ) AM_READWRITE(MRA8_RAM, couple_vram_lo_w) AM_BASE(&vram_lo)
|
||||
AM_RANGE( 0xf800, 0xfbff ) AM_RAM /*extra VRAM?*/
|
||||
|
@ -840,9 +840,6 @@
|
||||
/* from video */
|
||||
WRITE8_HANDLER( funworld_videoram_w );
|
||||
WRITE8_HANDLER( funworld_colorram_w );
|
||||
WRITE8_HANDLER( funworld_mc6845_address_w );
|
||||
READ8_HANDLER( funworld_mc6845_register_r );
|
||||
WRITE8_HANDLER( funworld_mc6845_register_w );
|
||||
PALETTE_INIT( funworld );
|
||||
VIDEO_START( funworld );
|
||||
VIDEO_START( magiccrd );
|
||||
@ -885,8 +882,8 @@ static ADDRESS_MAP_START( funworld_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0a00, 0x0a03) AM_READWRITE(pia_1_r, pia_1_w)
|
||||
AM_RANGE(0x0c00, 0x0c00) AM_READWRITE(AY8910_read_port_0_r, AY8910_control_port_0_w)
|
||||
AM_RANGE(0x0c01, 0x0c01) AM_WRITE(AY8910_write_port_0_w)
|
||||
AM_RANGE(0x0e00, 0x0e00) AM_WRITE(funworld_mc6845_address_w)
|
||||
AM_RANGE(0x0e01, 0x0e01) AM_READWRITE(funworld_mc6845_register_r, funworld_mc6845_register_w)
|
||||
AM_RANGE(0x0e00, 0x0e00) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x0e01, 0x0e01) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0x2000, 0x2fff) AM_RAM AM_WRITE(funworld_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x3000, 0x3fff) AM_RAM AM_WRITE(funworld_colorram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0x4000, 0x4000) AM_READNOP
|
||||
@ -900,8 +897,8 @@ static ADDRESS_MAP_START( magiccrd_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0a00, 0x0a03) AM_READWRITE(pia_1_r, pia_1_w)
|
||||
AM_RANGE(0x0c00, 0x0c00) AM_READWRITE(AY8910_read_port_0_r, AY8910_control_port_0_w)
|
||||
AM_RANGE(0x0c01, 0x0c01) AM_WRITE(AY8910_write_port_0_w)
|
||||
AM_RANGE(0x0e00, 0x0e00) AM_WRITE(funworld_mc6845_address_w)
|
||||
AM_RANGE(0x0e01, 0x0e01) AM_READWRITE(funworld_mc6845_register_r, funworld_mc6845_register_w)
|
||||
AM_RANGE(0x0e00, 0x0e00) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x0e01, 0x0e01) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0x3600, 0x36ff) AM_RAM // some games use $3603-05 range for protection.
|
||||
AM_RANGE(0x4000, 0x4fff) AM_RAM AM_WRITE(funworld_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x5000, 0x5fff) AM_RAM AM_WRITE(funworld_colorram_w) AM_BASE(&colorram)
|
||||
@ -914,8 +911,8 @@ static ADDRESS_MAP_START( cuoreuno_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0a00, 0x0a03) AM_READWRITE(pia_1_r, pia_1_w)
|
||||
AM_RANGE(0x0c00, 0x0c00) AM_READWRITE(AY8910_read_port_0_r, AY8910_control_port_0_w)
|
||||
AM_RANGE(0x0c01, 0x0c01) AM_WRITE(AY8910_write_port_0_w)
|
||||
AM_RANGE(0x0e00, 0x0e00) AM_WRITE(funworld_mc6845_address_w)
|
||||
AM_RANGE(0x0e01, 0x0e01) AM_READWRITE(funworld_mc6845_register_r, funworld_mc6845_register_w)
|
||||
AM_RANGE(0x0e00, 0x0e00) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x0e01, 0x0e01) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0x2000, 0x2000) AM_READNOP // some unknown reads
|
||||
AM_RANGE(0x3e00, 0x3fff) AM_RAM // some games use $3e03-05 range for protection.
|
||||
AM_RANGE(0x6000, 0x6fff) AM_RAM AM_WRITE(funworld_videoram_w) AM_BASE(&videoram)
|
||||
@ -929,8 +926,8 @@ static ADDRESS_MAP_START( royalmcu_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x2a00, 0x2a03) AM_READWRITE(pia_1_r, pia_1_w)
|
||||
AM_RANGE(0x2c00, 0x2c00) AM_READWRITE(AY8910_read_port_0_r, AY8910_control_port_0_w)
|
||||
AM_RANGE(0x2c01, 0x2c01) AM_WRITE(AY8910_write_port_0_w)
|
||||
AM_RANGE(0x2e00, 0x2e00) AM_WRITE(funworld_mc6845_address_w)
|
||||
AM_RANGE(0x2e01, 0x2e01) AM_READWRITE(funworld_mc6845_register_r, funworld_mc6845_register_w)
|
||||
AM_RANGE(0x2e00, 0x2e00) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x2e01, 0x2e01) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0x4000, 0x4fff) AM_RAM AM_WRITE(funworld_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x5000, 0x5fff) AM_RAM AM_WRITE(funworld_colorram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0x6000, 0xffff) AM_ROM
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "driver.h"
|
||||
#include "deprecat.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "video/mc6845.h"
|
||||
#include "madalien.h"
|
||||
|
||||
|
||||
@ -86,8 +87,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x6400, 0x67ff) AM_RAM
|
||||
AM_RANGE(0x6800, 0x7fff) AM_RAM AM_BASE(&madalien_charram)
|
||||
|
||||
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x0ff0) AM_WRITE(madalien_mc6845_address_w)
|
||||
AM_RANGE(0x8001, 0x8001) AM_MIRROR(0x0ff0) AM_READWRITE(madalien_mc6845_register_r, madalien_mc6845_register_w)
|
||||
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x0ff0) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x8001, 0x8001) AM_MIRROR(0x0ff0) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0x8004, 0x8004) AM_MIRROR(0x0ff0) AM_WRITE(MWA8_RAM) 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)
|
||||
|
@ -336,21 +336,6 @@ static WRITE8_HANDLER( magicfly_colorram_w )
|
||||
tilemap_mark_tile_dirty(bg_tilemap, offset);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( magicfly_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
static READ8_HANDLER( magicfly_mc6845_register_r )
|
||||
{
|
||||
return mc6845_register_r(mc6845);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( magicfly_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_magicfly_tile_info )
|
||||
{
|
||||
/* - bits -
|
||||
@ -475,8 +460,8 @@ static WRITE8_HANDLER( mux_w )
|
||||
|
||||
static ADDRESS_MAP_START( magicfly_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) /* MK48Z02B NVRAM */
|
||||
AM_RANGE(0x0800, 0x0800) AM_WRITE(magicfly_mc6845_address_w)
|
||||
AM_RANGE(0x0801, 0x0801) AM_READWRITE(magicfly_mc6845_register_r, magicfly_mc6845_register_w)
|
||||
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_WRITE(magicfly_videoram_w) AM_BASE(&videoram) /* HM6116LP #1 (2K x 8) RAM (only 1st half used) */
|
||||
AM_RANGE(0x1800, 0x1bff) AM_RAM AM_WRITE(magicfly_colorram_w) AM_BASE(&colorram) /* HM6116LP #2 (2K x 8) RAM (only 1st half used) */
|
||||
AM_RANGE(0x2800, 0x2800) AM_READ(mux_port_r) /* multiplexed input port */
|
||||
|
@ -146,21 +146,6 @@ static WRITE8_HANDLER( miniboy7_colorram_w )
|
||||
tilemap_mark_tile_dirty(bg_tilemap, offset);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( miniboy7_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
static READ8_HANDLER( miniboy7_mc6845_register_r )
|
||||
{
|
||||
return mc6845_register_r(mc6845);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( miniboy7_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
{
|
||||
/* - bits -
|
||||
@ -203,8 +188,8 @@ static ADDRESS_MAP_START( miniboy7_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x1000, 0x17ff) AM_RAM AM_WRITE(miniboy7_colorram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0x1800, 0x25ff) AM_RAM /* looks like videoram */
|
||||
AM_RANGE(0x2600, 0x27ff) AM_RAM
|
||||
AM_RANGE(0x2800, 0x2800) AM_WRITE(miniboy7_mc6845_address_w)
|
||||
AM_RANGE(0x2801, 0x2801) AM_READWRITE(miniboy7_mc6845_register_r, miniboy7_mc6845_register_w)
|
||||
AM_RANGE(0x2800, 0x2800) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x2801, 0x2801) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
// AM_RANGE(0x3000, 0x3001) ????? R/W
|
||||
// AM_RANGE(0x3080, 0x3083) AM_READWRITE(pia_0_r, pia_0_w)
|
||||
// AM_RANGE(0x3800, 0x3800) ????? R
|
||||
|
@ -1495,21 +1495,6 @@ GFXDECODE_END
|
||||
|
||||
static UINT8 *dealem_videoram;
|
||||
|
||||
static WRITE8_HANDLER( dealem_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
static READ8_HANDLER( dealem_mc6845_register_r )
|
||||
{
|
||||
return mc6845_register_r(mc6845);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( dealem_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Convert the color PROMs into a more useable format.
|
||||
@ -1585,8 +1570,8 @@ static ADDRESS_MAP_START( dealem_memmap, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
|
||||
|
||||
AM_RANGE(0x0800, 0x0800) AM_WRITE(dealem_mc6845_address_w)
|
||||
AM_RANGE(0x0801, 0x0801) AM_READWRITE(dealem_mc6845_register_r, dealem_mc6845_register_w)
|
||||
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
|
||||
// AM_RANGE(0x0850, 0x0850) AM_WRITE(bankswitch_w) // write bank (rom page select)
|
||||
|
||||
|
@ -101,21 +101,10 @@ static mc6845_t *mc6845;
|
||||
static UINT8 *murogem_videoram;
|
||||
|
||||
|
||||
static WRITE8_HANDLER( murogem_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( murogem_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( murogem_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x007f) AM_RAM
|
||||
AM_RANGE(0x4000, 0x4000) AM_WRITE(murogem_mc6845_address_w)
|
||||
AM_RANGE(0x4001, 0x4001) AM_WRITE(murogem_mc6845_register_w)
|
||||
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x4001, 0x4001) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0x5000, 0x5000) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0x5800, 0x5800) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x7000, 0x7000) AM_WRITE(MWA8_NOP) // sound? payout?
|
||||
|
@ -270,18 +270,6 @@ static MACHINE_RESET( nyny )
|
||||
#define NUM_PENS (8)
|
||||
|
||||
|
||||
static WRITE8_HANDLER( nyny_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( nyny_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( flipscreen_w )
|
||||
{
|
||||
flipscreen = data ? 0 : 1;
|
||||
@ -541,8 +529,8 @@ static ADDRESS_MAP_START( nyny_main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x6000, 0x7fff) AM_RAM AM_BASE(&nyny_colorram_2)
|
||||
AM_RANGE(0x8000, 0x9fff) AM_RAM
|
||||
AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) /* SRAM (coin counter, shown when holding F2) */
|
||||
AM_RANGE(0xa100, 0xa100) AM_MIRROR(0x00fe) AM_WRITE(nyny_mc6845_address_w)
|
||||
AM_RANGE(0xa101, 0xa101) AM_MIRROR(0x00fe) AM_WRITE(nyny_mc6845_register_w)
|
||||
AM_RANGE(0xa100, 0xa100) AM_MIRROR(0x00fe) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0xa101, 0xa101) AM_MIRROR(0x00fe) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0xa200, 0xa20f) AM_MIRROR(0x00f0) AM_READWRITE(nyny_pia_1_2_r, nyny_pia_1_2_w)
|
||||
AM_RANGE(0xa300, 0xa300) AM_MIRROR(0x00ff) AM_READWRITE(soundlatch3_r, audio_1_command_w)
|
||||
AM_RANGE(0xa400, 0xa7ff) AM_NOP
|
||||
|
@ -383,21 +383,6 @@
|
||||
static mc6845_t *mc6845;
|
||||
static tilemap *bg_tilemap;
|
||||
|
||||
static WRITE8_HANDLER( pmpoker_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
static READ8_HANDLER( pmpoker_mc6845_register_r )
|
||||
{
|
||||
return mc6845_register_r(mc6845);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( pmpoker_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( pmpoker_videoram_w )
|
||||
{
|
||||
videoram[offset] = data;
|
||||
@ -484,8 +469,8 @@ static PALETTE_INIT( pottnpkr )
|
||||
|
||||
static ADDRESS_MAP_START( pmpoker_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) /* battery backed RAM */
|
||||
AM_RANGE(0x0800, 0x0800) AM_WRITE(pmpoker_mc6845_address_w)
|
||||
AM_RANGE(0x0801, 0x0801) AM_READWRITE(pmpoker_mc6845_register_r, pmpoker_mc6845_register_w)
|
||||
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0x0844, 0x0847) AM_READWRITE(pia_0_r, pia_0_w)
|
||||
AM_RANGE(0x0848, 0x084b) AM_READWRITE(pia_1_r, pia_1_w)
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_WRITE(pmpoker_videoram_w) AM_BASE(&videoram)
|
||||
@ -496,8 +481,8 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( jokerpkr_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) /* battery backed RAM */
|
||||
AM_RANGE(0x0800, 0x0800) AM_WRITE(pmpoker_mc6845_address_w)
|
||||
AM_RANGE(0x0801, 0x0801) AM_READWRITE(pmpoker_mc6845_register_r, pmpoker_mc6845_register_w)
|
||||
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0x0844, 0x0847) AM_READWRITE(pia_0_r, pia_0_w)
|
||||
AM_RANGE(0x0848, 0x084b) AM_READWRITE(pia_1_r, pia_1_w)
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_WRITE(pmpoker_videoram_w) AM_BASE(&videoram)
|
||||
|
@ -304,18 +304,6 @@ static MACHINE_RESET( r2dtank )
|
||||
#define NUM_PENS (8)
|
||||
|
||||
|
||||
static WRITE8_HANDLER( r2dtank_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( r2dtank_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( flipscreen_w )
|
||||
{
|
||||
flipscreen = !data;
|
||||
@ -440,8 +428,8 @@ static ADDRESS_MAP_START( r2dtank_main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x6000, 0x7fff) AM_RAM
|
||||
AM_RANGE(0x8000, 0x8003) AM_READWRITE(pia_0_r, pia_comp_0_w)
|
||||
AM_RANGE(0x8004, 0x8004) AM_READWRITE(audio_answer_r, audio_command_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_WRITE(r2dtank_mc6845_address_w)
|
||||
AM_RANGE(0xb001, 0xb001) AM_WRITE(r2dtank_mc6845_register_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0xb001, 0xb001) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0xc000, 0xc007) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
|
||||
AM_RANGE(0xc800, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
@ -289,8 +289,6 @@ WRITE8_HANDLER( rockola_videoram_w );
|
||||
WRITE8_HANDLER( rockola_videoram2_w );
|
||||
WRITE8_HANDLER( rockola_colorram_w );
|
||||
WRITE8_HANDLER( rockola_charram_w );
|
||||
WRITE8_HANDLER( rockola_mc6845_address_w );
|
||||
WRITE8_HANDLER( rockola_mc6845_register_w );
|
||||
WRITE8_HANDLER( rockola_flipscreen_w );
|
||||
WRITE8_HANDLER( rockola_scrollx_w );
|
||||
WRITE8_HANDLER( rockola_scrolly_w );
|
||||
@ -372,8 +370,8 @@ static ADDRESS_MAP_START( sasuke_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_WRITE(rockola_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_WRITE(rockola_colorram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_WRITE(rockola_charram_w) AM_BASE(&rockola_charram)
|
||||
AM_RANGE(0x3000, 0x3000) AM_WRITE(rockola_mc6845_address_w)
|
||||
AM_RANGE(0x3001, 0x3001) AM_WRITE(rockola_mc6845_register_w)
|
||||
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0x4000, 0x8fff) AM_ROM
|
||||
AM_RANGE(0xb000, 0xb001) AM_WRITE(sasuke_sound_w)
|
||||
AM_RANGE(0xb002, 0xb002) AM_WRITE(satansat_b002_w) /* flip screen & irq enable */
|
||||
@ -391,8 +389,8 @@ static ADDRESS_MAP_START( satansat_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_WRITE(rockola_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_WRITE(rockola_colorram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_WRITE(rockola_charram_w) AM_BASE(&rockola_charram)
|
||||
AM_RANGE(0x3000, 0x3000) AM_WRITE(rockola_mc6845_address_w)
|
||||
AM_RANGE(0x3001, 0x3001) AM_WRITE(rockola_mc6845_register_w)
|
||||
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0x4000, 0x97ff) AM_ROM
|
||||
AM_RANGE(0xb000, 0xb001) AM_WRITE(satansat_sound_w)
|
||||
AM_RANGE(0xb002, 0xb002) AM_WRITE(satansat_b002_w) /* flip screen & irq enable */
|
||||
@ -410,8 +408,8 @@ static ADDRESS_MAP_START( vanguard_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_WRITE(rockola_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_WRITE(rockola_colorram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_WRITE(rockola_charram_w) AM_BASE(&rockola_charram)
|
||||
AM_RANGE(0x3000, 0x3000) AM_WRITE(rockola_mc6845_address_w)
|
||||
AM_RANGE(0x3001, 0x3001) AM_WRITE(rockola_mc6845_register_w)
|
||||
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0x3100, 0x3102) AM_WRITE(vanguard_sound_w)
|
||||
AM_RANGE(0x3103, 0x3103) AM_WRITE(rockola_flipscreen_w)
|
||||
AM_RANGE(0x3104, 0x3104) AM_READ_PORT("IN0")
|
||||
@ -431,8 +429,8 @@ static ADDRESS_MAP_START( fantasy_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_WRITE(rockola_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_WRITE(rockola_colorram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_WRITE(rockola_charram_w) AM_BASE(&rockola_charram)
|
||||
AM_RANGE(0x2000, 0x2000) AM_WRITE(rockola_mc6845_address_w)
|
||||
AM_RANGE(0x2001, 0x2001) AM_WRITE(rockola_mc6845_register_w)
|
||||
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x2001, 0x2001) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0x2100, 0x2103) AM_WRITE(fantasy_sound_w)
|
||||
AM_RANGE(0x2104, 0x2104) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x2105, 0x2105) AM_READ_PORT("IN1")
|
||||
@ -452,8 +450,8 @@ static ADDRESS_MAP_START( pballoon_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_WRITE(rockola_colorram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_WRITE(rockola_charram_w) AM_BASE(&rockola_charram)
|
||||
AM_RANGE(0x3000, 0x9fff) AM_ROM
|
||||
AM_RANGE(0xb000, 0xb000) AM_WRITE(rockola_mc6845_address_w)
|
||||
AM_RANGE(0xb001, 0xb001) AM_WRITE(rockola_mc6845_register_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0xb001, 0xb001) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
AM_RANGE(0xb100, 0xb103) AM_WRITE(fantasy_sound_w)
|
||||
AM_RANGE(0xb104, 0xb104) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0xb105, 0xb105) AM_READ_PORT("IN1")
|
||||
|
@ -410,24 +410,6 @@ static MACHINE_RESET( spiders )
|
||||
#define NUM_PENS (8)
|
||||
|
||||
|
||||
static WRITE8_HANDLER( spiders_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
static READ8_HANDLER( spiders_mc6845_register_r )
|
||||
{
|
||||
return mc6845_register_r(mc6845);
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( spiders_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( flipscreen_w )
|
||||
{
|
||||
flipscreen = data;
|
||||
@ -591,8 +573,8 @@ static READ8_HANDLER( gfx_rom_r )
|
||||
|
||||
static ADDRESS_MAP_START( spiders_main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_BASE(&spiders_ram)
|
||||
AM_RANGE(0xc000, 0xc000) AM_WRITE(spiders_mc6845_address_w)
|
||||
AM_RANGE(0xc001, 0xc001) AM_READWRITE(spiders_mc6845_register_r, spiders_mc6845_register_w)
|
||||
AM_RANGE(0xc000, 0xc000) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0xc001, 0xc001) AM_DEVREADWRITE(MC6845, "crtc", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0xc020, 0xc027) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
|
||||
AM_RANGE(0xc044, 0xc047) AM_READWRITE(pia_1_r, pia_1_w)
|
||||
AM_RANGE(0xc048, 0xc04b) AM_READWRITE(pia_2_alt_r, pia_2_alt_w)
|
||||
|
@ -106,17 +106,6 @@ static WRITE8_HANDLER(ssingles_colorram_w)
|
||||
ssingles_colorram[offset]=data;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( ssingles_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( ssingles_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
static VIDEO_START(ssingles)
|
||||
{
|
||||
@ -193,8 +182,8 @@ static ADDRESS_MAP_START( ssingles_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x18, 0x18) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0x1c, 0x1c) AM_READ(controls_r)
|
||||
AM_RANGE(0x1a, 0x1a) AM_WRITENOP //video/crt related
|
||||
AM_RANGE(0xfe, 0xfe) AM_WRITE(ssingles_mc6845_address_w)
|
||||
AM_RANGE(0xff, 0xff) AM_WRITE(ssingles_mc6845_register_w)
|
||||
AM_RANGE(0xfe, 0xfe) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0xff, 0xff) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -31,8 +31,6 @@ Sound: AY-3-8912
|
||||
/* video */
|
||||
WRITE8_HANDLER( usgames_videoram_w );
|
||||
WRITE8_HANDLER( usgames_charram_w );
|
||||
WRITE8_HANDLER( usgames_mc6845_address_w );
|
||||
WRITE8_HANDLER( usgames_mc6845_register_w );
|
||||
VIDEO_START(usgames);
|
||||
PALETTE_INIT(usgames);
|
||||
VIDEO_UPDATE(usgames);
|
||||
@ -104,8 +102,8 @@ static ADDRESS_MAP_START( usgames_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x2020, 0x2020) AM_WRITE(lamps1_w)
|
||||
AM_RANGE(0x2030, 0x2030) AM_WRITE(lamps2_w)
|
||||
|
||||
AM_RANGE(0x2040, 0x2040) AM_WRITE(usgames_mc6845_address_w)
|
||||
AM_RANGE(0x2041, 0x2041) AM_WRITE(usgames_mc6845_register_w)
|
||||
AM_RANGE(0x2040, 0x2040) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x2041, 0x2041) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
|
||||
AM_RANGE(0x2400, 0x2400) AM_WRITE(AY8910_control_port_0_w)
|
||||
AM_RANGE(0x2401, 0x2401) AM_WRITE(AY8910_write_port_0_w)
|
||||
@ -124,8 +122,8 @@ static ADDRESS_MAP_START( usg185_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x2420, 0x2420) AM_WRITE(lamps1_w)
|
||||
AM_RANGE(0x2430, 0x2430) AM_WRITE(lamps2_w)
|
||||
|
||||
AM_RANGE(0x2440, 0x2440) AM_WRITE(usgames_mc6845_address_w)
|
||||
AM_RANGE(0x2441, 0x2441) AM_WRITE(usgames_mc6845_register_w)
|
||||
AM_RANGE(0x2440, 0x2440) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
|
||||
AM_RANGE(0x2441, 0x2441) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
|
||||
|
||||
AM_RANGE(0x2000, 0x2000) AM_WRITE(AY8910_control_port_0_w)
|
||||
AM_RANGE(0x2001, 0x2001) AM_WRITE(AY8910_write_port_0_w)
|
||||
|
@ -21,8 +21,4 @@ extern UINT8 *madalien_edge1_pos;
|
||||
extern UINT8 *madalien_edge2_pos;
|
||||
extern UINT8 *madalien_headlight_pos;
|
||||
|
||||
WRITE8_HANDLER( madalien_mc6845_address_w );
|
||||
READ8_HANDLER( madalien_mc6845_register_r );
|
||||
WRITE8_HANDLER( madalien_mc6845_register_w );
|
||||
|
||||
MACHINE_DRIVER_EXTERN( madalien_video );
|
||||
|
@ -50,21 +50,6 @@ static TILE_GET_INFO( get_bg_tile_info )
|
||||
SET_TILE_INFO(bank, code, color, 0);
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( calomega_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
READ8_HANDLER( calomega_mc6845_register_r )
|
||||
{
|
||||
return mc6845_register_r(mc6845);
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( calomega_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
VIDEO_START( calomega )
|
||||
{
|
||||
mc6845 = devtag_get_token(machine, MC6845, "crtc");
|
||||
|
@ -125,21 +125,6 @@ WRITE8_HANDLER( funworld_colorram_w )
|
||||
tilemap_mark_tile_dirty(bg_tilemap, offset);
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( funworld_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
READ8_HANDLER( funworld_mc6845_register_r )
|
||||
{
|
||||
return mc6845_register_r(mc6845);
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( funworld_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
/**** normal hardware limit ****
|
||||
- bits -
|
||||
7654 3210
|
||||
|
@ -84,22 +84,6 @@ static PALETTE_INIT( madalien )
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( madalien_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
READ8_HANDLER( madalien_mc6845_register_r )
|
||||
{
|
||||
return mc6845_register_r(mc6845);
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( madalien_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
INLINE int scan_helper(int col, int row, int section)
|
||||
{
|
||||
return (section << 8) | ((~col & 0x0f) << 3) | row;
|
||||
|
@ -286,37 +286,6 @@ static void get_pens(qix_state *state, pen_t *pens)
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* M6845 access
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static WRITE8_HANDLER( qix_mc6845_address_w )
|
||||
{
|
||||
qix_state *state = Machine->driver_data;
|
||||
|
||||
mc6845_address_w(state->mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
static READ8_HANDLER( qix_mc6845_register_r )
|
||||
{
|
||||
qix_state *state = Machine->driver_data;
|
||||
|
||||
return mc6845_register_r(state->mc6845);
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( qix_mc6845_register_w )
|
||||
{
|
||||
qix_state *state = Machine->driver_data;
|
||||
|
||||
mc6845_register_w(state->mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* M6845 callbacks for updating
|
||||
@ -397,8 +366,8 @@ static ADDRESS_MAP_START( qix_video_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x9400, 0x9400) AM_MIRROR(0x03fc) AM_READWRITE(qix_addresslatch_r, qix_addresslatch_w)
|
||||
AM_RANGE(0x9402, 0x9403) AM_MIRROR(0x03fc) AM_WRITE(MWA8_RAM) AM_BASE_MEMBER(qix_state, videoram_address)
|
||||
AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READ(MRA8_RAM) AM_BASE_MEMBER(qix_state, scanline_latch)
|
||||
AM_RANGE(0x9c00, 0x9c00) AM_MIRROR(0x03fe) AM_WRITE(qix_mc6845_address_w)
|
||||
AM_RANGE(0x9c01, 0x9c01) AM_MIRROR(0x03fe) AM_READWRITE(qix_mc6845_register_r, qix_mc6845_register_w)
|
||||
AM_RANGE(0x9c00, 0x9c00) AM_MIRROR(0x03fe) AM_DEVWRITE(MC6845, "vid-u18", mc6845_address_w)
|
||||
AM_RANGE(0x9c01, 0x9c01) AM_MIRROR(0x03fe) AM_DEVREADWRITE(MC6845, "vid-u18", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0xa000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -415,8 +384,8 @@ static ADDRESS_MAP_START( zookeep_video_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x9400, 0x9400) AM_MIRROR(0x03fc) AM_READWRITE(qix_addresslatch_r, qix_addresslatch_w)
|
||||
AM_RANGE(0x9402, 0x9403) AM_MIRROR(0x03fc) AM_WRITE(MWA8_RAM) AM_BASE_MEMBER(qix_state, videoram_address)
|
||||
AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READ(MRA8_RAM) AM_BASE_MEMBER(qix_state, scanline_latch)
|
||||
AM_RANGE(0x9c00, 0x9c00) AM_MIRROR(0x03fe) AM_WRITE(qix_mc6845_address_w)
|
||||
AM_RANGE(0x9c01, 0x9c01) AM_MIRROR(0x03fe) AM_READWRITE(qix_mc6845_register_r, qix_mc6845_register_w)
|
||||
AM_RANGE(0x9c00, 0x9c00) AM_MIRROR(0x03fe) AM_DEVWRITE(MC6845, "vid-u18", mc6845_address_w)
|
||||
AM_RANGE(0x9c01, 0x9c01) AM_MIRROR(0x03fe) AM_DEVREADWRITE(MC6845, "vid-u18", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK(1)
|
||||
AM_RANGE(0xc000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
@ -434,8 +403,8 @@ static ADDRESS_MAP_START( slither_video_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x9401, 0x9401) AM_MIRROR(0x03fc) AM_WRITE(MWA8_RAM) AM_BASE_MEMBER(qix_state, videoram_mask)
|
||||
AM_RANGE(0x9402, 0x9403) AM_MIRROR(0x03fc) AM_WRITE(MWA8_RAM) AM_BASE_MEMBER(qix_state, videoram_address)
|
||||
AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READ(MRA8_RAM) AM_BASE_MEMBER(qix_state, scanline_latch)
|
||||
AM_RANGE(0x9c00, 0x9c00) AM_MIRROR(0x03fe) AM_WRITE(qix_mc6845_address_w)
|
||||
AM_RANGE(0x9c01, 0x9c01) AM_MIRROR(0x03fe) AM_READWRITE(qix_mc6845_register_r, qix_mc6845_register_w)
|
||||
AM_RANGE(0x9c00, 0x9c00) AM_MIRROR(0x03fe) AM_DEVWRITE(MC6845, "vid-u18", mc6845_address_w)
|
||||
AM_RANGE(0x9c01, 0x9c01) AM_MIRROR(0x03fe) AM_DEVREADWRITE(MC6845, "vid-u18", mc6845_register_r, mc6845_register_w)
|
||||
AM_RANGE(0xa000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -115,18 +115,6 @@ WRITE8_HANDLER( rockola_charram_w )
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( rockola_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( rockola_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( rockola_flipscreen_w )
|
||||
{
|
||||
int bank;
|
||||
|
@ -72,18 +72,6 @@ WRITE8_HANDLER( usgames_charram_w )
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( usgames_mc6845_address_w )
|
||||
{
|
||||
mc6845_address_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( usgames_mc6845_register_w )
|
||||
{
|
||||
mc6845_register_w(mc6845, data);
|
||||
}
|
||||
|
||||
|
||||
VIDEO_UPDATE(usgames)
|
||||
{
|
||||
tilemap_draw(bitmap,cliprect,usgames_tilemap,0,0);
|
||||
|
Loading…
Reference in New Issue
Block a user