summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/re900.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/re900.c')
-rw-r--r--src/mame/drivers/re900.c57
1 files changed, 23 insertions, 34 deletions
diff --git a/src/mame/drivers/re900.c b/src/mame/drivers/re900.c
index f2b5a5c3b30..287ef51b5ae 100644
--- a/src/mame/drivers/re900.c
+++ b/src/mame/drivers/re900.c
@@ -88,9 +88,9 @@ static UINT8 psg_pa, psg_pb = 0, mux_data = 0, ledant = 0, player = 1, stat_a= 1
* Read Handlers *
****************/
-static READ8_HANDLER (re_psg_portA_r)
+static READ8_DEVICE_HANDLER (re_psg_portA_r)
{
- if ((input_port_read(space->machine, "IN0") & 0x01) == 0)
+ if ((input_port_read(device->machine, "IN0") & 0x01) == 0)
{
output_set_lamp_value(0,1); // Operator Key ON
}
@@ -100,10 +100,10 @@ static READ8_HANDLER (re_psg_portA_r)
output_set_lamp_value(0,0); // Operator Key OFF
}
- return input_port_read(space->machine, "IN0");
+ return input_port_read(device->machine, "IN0");
}
-static READ8_HANDLER (re_psg_portB_r)
+static READ8_DEVICE_HANDLER (re_psg_portB_r)
{
UINT8 retval = 0xff;
logerror("llamada a re_psg_portB_r\n");
@@ -111,7 +111,7 @@ static READ8_HANDLER (re_psg_portB_r)
output_set_lamp_value(player,1);
- if (input_port_read(space->machine, "IN_S"))
+ if (input_port_read(device->machine, "IN_S"))
{
if (!stat_a)
{
@@ -142,27 +142,17 @@ static READ8_HANDLER (re_psg_portB_r)
/* "INA": Unified port to share the player Keys among all players - Key In & Key Out have their own buttons on keyboard. */
switch( mux_data )
{
- case 0x01: retval = (input_port_read(space->machine, "IN6") | 0x80 ) - (( player == 6 ) ? (input_port_read(space->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 6 */
- case 0x02: retval = (input_port_read(space->machine, "IN5") | 0x80 ) - (( player == 5 ) ? (input_port_read(space->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 5 */
- case 0x04: retval = (input_port_read(space->machine, "IN4") | 0x80 ) - (( player == 4 ) ? (input_port_read(space->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 4 */
- case 0x08: retval = (input_port_read(space->machine, "IN3") | 0x80 ) - (( player == 3 ) ? (input_port_read(space->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 3 */
- case 0x10: retval = (input_port_read(space->machine, "IN2") | 0x80 ) - (( player == 2 ) ? (input_port_read(space->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 2 */
- case 0x20: retval = (input_port_read(space->machine, "IN1") | 0x80 ) - (( player == 1 ) ? (input_port_read(space->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 1 */
+ case 0x01: retval = (input_port_read(device->machine, "IN6") | 0x80 ) - (( player == 6 ) ? (input_port_read(device->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 6 */
+ case 0x02: retval = (input_port_read(device->machine, "IN5") | 0x80 ) - (( player == 5 ) ? (input_port_read(device->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 5 */
+ case 0x04: retval = (input_port_read(device->machine, "IN4") | 0x80 ) - (( player == 4 ) ? (input_port_read(device->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 4 */
+ case 0x08: retval = (input_port_read(device->machine, "IN3") | 0x80 ) - (( player == 3 ) ? (input_port_read(device->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 3 */
+ case 0x10: retval = (input_port_read(device->machine, "IN2") | 0x80 ) - (( player == 2 ) ? (input_port_read(device->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 2 */
+ case 0x20: retval = (input_port_read(device->machine, "IN1") | 0x80 ) - (( player == 1 ) ? (input_port_read(device->machine, "INA") | 0x80 ) ^ 0xff: 0x00 ); break; /* Player 1 */
}
return retval;
}
-static READ8_HANDLER (bs94_portA_r)
-{
- return input_port_read(space->machine, "IN0");
-}
-
-static READ8_HANDLER (bs94_portB_r)
-{
- return input_port_read(space->machine, "IN1");
-}
-
static READ8_HANDLER (rom_r)
{
return re900_rom[offset];
@@ -173,13 +163,13 @@ static READ8_HANDLER (rom_r)
* Write Handlers *
***********************/
-static WRITE8_HANDLER (re_mux_port_A_w)
+static WRITE8_DEVICE_HANDLER (re_mux_port_A_w)
{
psg_pa = data;
mux_data = ((data >> 2) & 0x3f) ^ 0x3f;
}
-static WRITE8_HANDLER (re_mux_port_B_w)
+static WRITE8_DEVICE_HANDLER (re_mux_port_B_w)
{
UINT8 led;
psg_pb = data;
@@ -222,9 +212,8 @@ static ADDRESS_MAP_START( mem_io, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
AM_RANGE(0xe000, 0xe000) AM_WRITE(TMS9928A_vram_w)
AM_RANGE(0xe001, 0xe001) AM_WRITE(TMS9928A_register_w)
- AM_RANGE(0xe800, 0xe800) AM_WRITE(ay8910_control_port_0_w)
- AM_RANGE(0xe801, 0xe801) AM_WRITE(ay8910_write_port_0_w)
- AM_RANGE(0xe802, 0xe802) AM_READ(ay8910_read_port_0_r)
+ AM_RANGE(0xe800, 0xe801) AM_DEVWRITE(SOUND, "ay_re900", ay8910_address_data_w)
+ AM_RANGE(0xe802, 0xe802) AM_DEVREAD(SOUND, "ay_re900", ay8910_r)
AM_RANGE(0xe000, 0xefff) AM_WRITE(re900_watchdog_reset_w)
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P0) AM_WRITE(cpu_port_0_w)
AM_RANGE(MCS51_PORT_P2, MCS51_PORT_P2) AM_NOP
@@ -378,20 +367,20 @@ static const ay8910_interface ay8910_re900 =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- re_psg_portA_r,
- re_psg_portB_r,
- re_mux_port_A_w,
- re_mux_port_B_w
+ DEVCB_HANDLER(re_psg_portA_r),
+ DEVCB_HANDLER(re_psg_portB_r),
+ DEVCB_HANDLER(re_mux_port_A_w),
+ DEVCB_HANDLER(re_mux_port_B_w)
};
static const ay8910_interface ay8910_bs94 =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- bs94_portA_r,
- bs94_portB_r,
- 0,
- 0
+ DEVCB_INPUT_PORT("IN0"),
+ DEVCB_INPUT_PORT("IN1"),
+ DEVCB_NULL,
+ DEVCB_NULL
};
/***************************