summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/g65816/g65816.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/cpu/g65816/g65816.c')
-rw-r--r--src/emu/cpu/g65816/g65816.c84
1 files changed, 42 insertions, 42 deletions
diff --git a/src/emu/cpu/g65816/g65816.c b/src/emu/cpu/g65816/g65816.c
index 503e1a5421c..143afc9c9d8 100644
--- a/src/emu/cpu/g65816/g65816.c
+++ b/src/emu/cpu/g65816/g65816.c
@@ -584,39 +584,39 @@ translation of Breath of Fire 2 to work. More weirdness: we might need to leave
8 CPU cycles for division at first, since using 16 produces bugs (see e.g.
Triforce pieces in Zelda 3 intro) */
-static WRITE8_HANDLER( wrmpya_w )
+WRITE8_MEMBER( _5a22_device::wrmpya_w )
{
- g65816i_cpu_struct *cpustate = get_safe_token(&space.device());
+ g65816i_cpu_struct *cpustate = get_safe_token(this);
cpustate->wrmpya = data;
}
-static WRITE8_HANDLER( wrmpyb_w )
+WRITE8_MEMBER( _5a22_device::wrmpyb_w )
{
- g65816i_cpu_struct *cpustate = get_safe_token(&space.device());
+ g65816i_cpu_struct *cpustate = get_safe_token(this);
cpustate->wrmpyb = data;
cpustate->rdmpy = cpustate->wrmpya * cpustate->wrmpyb;
/* TODO: cpustate->rddiv == 0? */
}
-static WRITE8_HANDLER( wrdivl_w )
+WRITE8_MEMBER( _5a22_device::wrdivl_w )
{
- g65816i_cpu_struct *cpustate = get_safe_token(&space.device());
+ g65816i_cpu_struct *cpustate = get_safe_token(this);
cpustate->wrdiv = (data) | (cpustate->wrdiv & 0xff00);
}
-static WRITE8_HANDLER( wrdivh_w )
+WRITE8_MEMBER( _5a22_device::wrdivh_w )
{
- g65816i_cpu_struct *cpustate = get_safe_token(&space.device());
+ g65816i_cpu_struct *cpustate = get_safe_token(this);
cpustate->wrdiv = (data << 8) | (cpustate->wrdiv & 0xff);
}
-static WRITE8_HANDLER( wrdvdd_w )
+WRITE8_MEMBER( _5a22_device::wrdvdd_w )
{
- g65816i_cpu_struct *cpustate = get_safe_token(&space.device());
+ g65816i_cpu_struct *cpustate = get_safe_token(this);
UINT16 quotient, remainder;
cpustate->dvdd = data;
@@ -628,67 +628,67 @@ static WRITE8_HANDLER( wrdvdd_w )
cpustate->rdmpy = remainder;
}
-static WRITE8_HANDLER( memsel_w )
+WRITE8_MEMBER( _5a22_device::memsel_w )
{
- g65816i_cpu_struct *cpustate = get_safe_token(&space.device());
+ g65816i_cpu_struct *cpustate = get_safe_token(this);
cpustate->fastROM = data & 1;
}
-static READ8_HANDLER( rddivl_r )
+READ8_MEMBER( _5a22_device::rddivl_r )
{
- g65816i_cpu_struct *cpustate = get_safe_token(&space.device());
+ g65816i_cpu_struct *cpustate = get_safe_token(this);
return cpustate->rddiv & 0xff;
}
-static READ8_HANDLER( rddivh_r )
+READ8_MEMBER( _5a22_device::rddivh_r )
{
- g65816i_cpu_struct *cpustate = get_safe_token(&space.device());
+ g65816i_cpu_struct *cpustate = get_safe_token(this);
return cpustate->rddiv >> 8;
}
-static READ8_HANDLER( rdmpyl_r )
+READ8_MEMBER( _5a22_device::rdmpyl_r )
{
- g65816i_cpu_struct *cpustate = get_safe_token(&space.device());
+ g65816i_cpu_struct *cpustate = get_safe_token(this);
return cpustate->rdmpy & 0xff;
}
-static READ8_HANDLER( rdmpyh_r )
+READ8_MEMBER( _5a22_device::rdmpyh_r )
{
- g65816i_cpu_struct *cpustate = get_safe_token(&space.device());
+ g65816i_cpu_struct *cpustate = get_safe_token(this);
return cpustate->rdmpy >> 8;
}
-static ADDRESS_MAP_START(_5a22_map, AS_PROGRAM, 8, legacy_cpu_device)
- AM_RANGE(0x4202, 0x4202) AM_MIRROR(0xbf0000) AM_WRITE_LEGACY(wrmpya_w)
- AM_RANGE(0x4203, 0x4203) AM_MIRROR(0xbf0000) AM_WRITE_LEGACY(wrmpyb_w)
- AM_RANGE(0x4204, 0x4204) AM_MIRROR(0xbf0000) AM_WRITE_LEGACY(wrdivl_w)
- AM_RANGE(0x4205, 0x4205) AM_MIRROR(0xbf0000) AM_WRITE_LEGACY(wrdivh_w)
- AM_RANGE(0x4206, 0x4206) AM_MIRROR(0xbf0000) AM_WRITE_LEGACY(wrdvdd_w)
+static ADDRESS_MAP_START(_5a22_map, AS_PROGRAM, 8, _5a22_device)
+ AM_RANGE(0x4202, 0x4202) AM_MIRROR(0xbf0000) AM_WRITE(wrmpya_w)
+ AM_RANGE(0x4203, 0x4203) AM_MIRROR(0xbf0000) AM_WRITE(wrmpyb_w)
+ AM_RANGE(0x4204, 0x4204) AM_MIRROR(0xbf0000) AM_WRITE(wrdivl_w)
+ AM_RANGE(0x4205, 0x4205) AM_MIRROR(0xbf0000) AM_WRITE(wrdivh_w)
+ AM_RANGE(0x4206, 0x4206) AM_MIRROR(0xbf0000) AM_WRITE(wrdvdd_w)
- AM_RANGE(0x420d, 0x420d) AM_MIRROR(0xbf0000) AM_WRITE_LEGACY(memsel_w)
+ AM_RANGE(0x420d, 0x420d) AM_MIRROR(0xbf0000) AM_WRITE(memsel_w)
- AM_RANGE(0x4214, 0x4214) AM_MIRROR(0xbf0000) AM_READ_LEGACY(rddivl_r)
- AM_RANGE(0x4215, 0x4215) AM_MIRROR(0xbf0000) AM_READ_LEGACY(rddivh_r)
- AM_RANGE(0x4216, 0x4216) AM_MIRROR(0xbf0000) AM_READ_LEGACY(rdmpyl_r)
- AM_RANGE(0x4217, 0x4217) AM_MIRROR(0xbf0000) AM_READ_LEGACY(rdmpyh_r)
+ AM_RANGE(0x4214, 0x4214) AM_MIRROR(0xbf0000) AM_READ(rddivl_r)
+ AM_RANGE(0x4215, 0x4215) AM_MIRROR(0xbf0000) AM_READ(rddivh_r)
+ AM_RANGE(0x4216, 0x4216) AM_MIRROR(0xbf0000) AM_READ(rdmpyl_r)
+ AM_RANGE(0x4217, 0x4217) AM_MIRROR(0xbf0000) AM_READ(rdmpyh_r)
ADDRESS_MAP_END
-void set_5a22_map(legacy_cpu_device &cpu)
+void _5a22_device::set_5a22_map()
{
- cpu.space(AS_PROGRAM).install_legacy_write_handler(0x4202, 0x4202, 0, 0xbf0000, FUNC(wrmpya_w));
- cpu.space(AS_PROGRAM).install_legacy_write_handler(0x4203, 0x4203, 0, 0xbf0000, FUNC(wrmpyb_w));
- cpu.space(AS_PROGRAM).install_legacy_write_handler(0x4204, 0x4204, 0, 0xbf0000, FUNC(wrdivl_w));
- cpu.space(AS_PROGRAM).install_legacy_write_handler(0x4205, 0x4205, 0, 0xbf0000, FUNC(wrdivh_w));
- cpu.space(AS_PROGRAM).install_legacy_write_handler(0x4206, 0x4206, 0, 0xbf0000, FUNC(wrdvdd_w));
+ space(AS_PROGRAM).install_write_handler(0x4202, 0x4202, 0, 0xbf0000, write8_delegate(FUNC(_5a22_device::wrmpya_w),this));
+ space(AS_PROGRAM).install_write_handler(0x4203, 0x4203, 0, 0xbf0000, write8_delegate(FUNC(_5a22_device::wrmpyb_w),this));
+ space(AS_PROGRAM).install_write_handler(0x4204, 0x4204, 0, 0xbf0000, write8_delegate(FUNC(_5a22_device::wrdivl_w),this));
+ space(AS_PROGRAM).install_write_handler(0x4205, 0x4205, 0, 0xbf0000, write8_delegate(FUNC(_5a22_device::wrdivh_w),this));
+ space(AS_PROGRAM).install_write_handler(0x4206, 0x4206, 0, 0xbf0000, write8_delegate(FUNC(_5a22_device::wrdvdd_w),this));
- cpu.space(AS_PROGRAM).install_legacy_write_handler(0x420d, 0x420d, 0, 0xbf0000, FUNC(memsel_w));
+ space(AS_PROGRAM).install_write_handler(0x420d, 0x420d, 0, 0xbf0000, write8_delegate(FUNC(_5a22_device::memsel_w),this));
- cpu.space(AS_PROGRAM).install_legacy_read_handler(0x4214, 0x4214, 0, 0xbf0000, FUNC(rddivl_r));
- cpu.space(AS_PROGRAM).install_legacy_read_handler(0x4215, 0x4215, 0, 0xbf0000, FUNC(rddivh_r));
- cpu.space(AS_PROGRAM).install_legacy_read_handler(0x4216, 0x4216, 0, 0xbf0000, FUNC(rdmpyl_r));
- cpu.space(AS_PROGRAM).install_legacy_read_handler(0x4217, 0x4217, 0, 0xbf0000, FUNC(rdmpyh_r));
+ space(AS_PROGRAM).install_read_handler(0x4214, 0x4214, 0, 0xbf0000, read8_delegate(FUNC(_5a22_device::rddivl_r),this));
+ space(AS_PROGRAM).install_read_handler(0x4215, 0x4215, 0, 0xbf0000, read8_delegate(FUNC(_5a22_device::rddivh_r),this));
+ space(AS_PROGRAM).install_read_handler(0x4216, 0x4216, 0, 0xbf0000, read8_delegate(FUNC(_5a22_device::rdmpyl_r),this));
+ space(AS_PROGRAM).install_read_handler(0x4217, 0x4217, 0, 0xbf0000, read8_delegate(FUNC(_5a22_device::rdmpyh_r),this));
}
CPU_SET_INFO( _5a22 )