diff options
Diffstat (limited to 'src/mame/drivers/carpolo.cpp')
-rw-r--r-- | src/mame/drivers/carpolo.cpp | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/src/mame/drivers/carpolo.cpp b/src/mame/drivers/carpolo.cpp index e2a2c6ecf44..6370d0f7a8b 100644 --- a/src/mame/drivers/carpolo.cpp +++ b/src/mame/drivers/carpolo.cpp @@ -34,29 +34,30 @@ * *************************************/ -ADDRESS_MAP_START(carpolo_state::main_map) - AM_RANGE(0x0000, 0x01ff) AM_RAM - AM_RANGE(0x3000, 0x30ff) AM_WRITEONLY AM_SHARE("alpharam") - AM_RANGE(0x4000, 0x400f) AM_WRITEONLY AM_SHARE("spriteram") - AM_RANGE(0x5400, 0x5403) AM_DEVREADWRITE("pia0", pia6821_device, read, write) - AM_RANGE(0x5800, 0x5803) AM_DEVREADWRITE("pia1", pia6821_device, read, write) - AM_RANGE(0xa000, 0xa000) AM_READ(carpolo_ball_screen_collision_cause_r) - AM_RANGE(0xa001, 0xa001) AM_READ(carpolo_car_ball_collision_x_r) - AM_RANGE(0xa002, 0xa002) AM_READ(carpolo_car_ball_collision_y_r) - AM_RANGE(0xa003, 0xa003) AM_READ(carpolo_car_car_collision_cause_r) - AM_RANGE(0xa004, 0xa004) AM_READ(carpolo_car_border_collision_cause_r) - AM_RANGE(0xa005, 0xa005) AM_READ(carpolo_car_ball_collision_cause_r) - AM_RANGE(0xa006, 0xa006) AM_READ(carpolo_car_goal_collision_cause_r) - AM_RANGE(0xa007, 0xa007) AM_READ_PORT("IN1") - AM_RANGE(0xb000, 0xb000) AM_WRITE(carpolo_ball_screen_interrupt_clear_w) - AM_RANGE(0xb001, 0xb001) AM_WRITE(carpolo_timer_interrupt_clear_w) - AM_RANGE(0xb003, 0xb003) AM_WRITE(carpolo_car_car_interrupt_clear_w) - AM_RANGE(0xb004, 0xb004) AM_WRITE(carpolo_car_border_interrupt_clear_w) - AM_RANGE(0xb005, 0xb005) AM_WRITE(carpolo_car_ball_interrupt_clear_w) - AM_RANGE(0xb006, 0xb006) AM_WRITE(carpolo_car_goal_interrupt_clear_w) - AM_RANGE(0xc000, 0xc000) AM_READ(carpolo_interrupt_cause_r) - AM_RANGE(0xf000, 0xffff) AM_ROM -ADDRESS_MAP_END +void carpolo_state::main_map(address_map &map) +{ + map(0x0000, 0x01ff).ram(); + map(0x3000, 0x30ff).writeonly().share("alpharam"); + map(0x4000, 0x400f).writeonly().share("spriteram"); + map(0x5400, 0x5403).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0x5800, 0x5803).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0xa000, 0xa000).r(this, FUNC(carpolo_state::carpolo_ball_screen_collision_cause_r)); + map(0xa001, 0xa001).r(this, FUNC(carpolo_state::carpolo_car_ball_collision_x_r)); + map(0xa002, 0xa002).r(this, FUNC(carpolo_state::carpolo_car_ball_collision_y_r)); + map(0xa003, 0xa003).r(this, FUNC(carpolo_state::carpolo_car_car_collision_cause_r)); + map(0xa004, 0xa004).r(this, FUNC(carpolo_state::carpolo_car_border_collision_cause_r)); + map(0xa005, 0xa005).r(this, FUNC(carpolo_state::carpolo_car_ball_collision_cause_r)); + map(0xa006, 0xa006).r(this, FUNC(carpolo_state::carpolo_car_goal_collision_cause_r)); + map(0xa007, 0xa007).portr("IN1"); + map(0xb000, 0xb000).w(this, FUNC(carpolo_state::carpolo_ball_screen_interrupt_clear_w)); + map(0xb001, 0xb001).w(this, FUNC(carpolo_state::carpolo_timer_interrupt_clear_w)); + map(0xb003, 0xb003).w(this, FUNC(carpolo_state::carpolo_car_car_interrupt_clear_w)); + map(0xb004, 0xb004).w(this, FUNC(carpolo_state::carpolo_car_border_interrupt_clear_w)); + map(0xb005, 0xb005).w(this, FUNC(carpolo_state::carpolo_car_ball_interrupt_clear_w)); + map(0xb006, 0xb006).w(this, FUNC(carpolo_state::carpolo_car_goal_interrupt_clear_w)); + map(0xc000, 0xc000).r(this, FUNC(carpolo_state::carpolo_interrupt_cause_r)); + map(0xf000, 0xffff).rom(); +} |