diff options
| author | 2014-01-10 20:12:15 +0000 | |
|---|---|---|
| committer | 2014-01-10 20:12:15 +0000 | |
| commit | fc59ec00a093224ffd1f56a8accae2abaf1f6cbf (patch) | |
| tree | 986f5eaf5e94600e82f163295da11f071beca773 /src/emu | |
| parent | 9176cfff3ce62370925dee8713ddb1f8e1da7d3d (diff) | |
fixed pc1403 & pc1403h crashing and standardised devcb2 callbacks (nw)
Diffstat (limited to 'src/emu')
| -rw-r--r-- | src/emu/cpu/sc61860/sc61860.c | 10 | ||||
| -rw-r--r-- | src/emu/cpu/sc61860/sc61860.h | 31 |
2 files changed, 27 insertions, 14 deletions
diff --git a/src/emu/cpu/sc61860/sc61860.c b/src/emu/cpu/sc61860/sc61860.c index e983beebbb7..1abc5975efd 100644 --- a/src/emu/cpu/sc61860/sc61860.c +++ b/src/emu/cpu/sc61860/sc61860.c @@ -119,11 +119,11 @@ void sc61860_device::device_start() m_reset.resolve(); m_brk.resolve(); m_x.resolve(); - m_ina.resolve(); - m_outa.resolve(); - m_inb.resolve(); - m_outb.resolve(); - m_outc.resolve(); + m_ina.resolve_safe(0); + m_outa.resolve_safe(); + m_inb.resolve_safe(0); + m_outb.resolve_safe(); + m_outc.resolve_safe(); m_p = 0; m_q = 0; diff --git a/src/emu/cpu/sc61860/sc61860.h b/src/emu/cpu/sc61860/sc61860.h index 86e62ccd8fc..c29e7079126 100644 --- a/src/emu/cpu/sc61860/sc61860.h +++ b/src/emu/cpu/sc61860/sc61860.h @@ -54,16 +54,29 @@ enum }; -#define MCFG_SC61860_CONFIG(_reset, _brk, _x, _ina, _outa, _inb, _outb, _outc) \ - sc61860_device::set_reset_cb(*device, DEVCB2_##_reset); \ - sc61860_device::set_brk_cb(*device, DEVCB2_##_brk); \ - sc61860_device::set_x_cb(*device, DEVCB2_##_x); \ - sc61860_device::set_ina_cb(*device, DEVCB2_##_ina); \ - sc61860_device::set_outa_cb(*device, DEVCB2_##_outa); \ - sc61860_device::set_inb_cb(*device, DEVCB2_##_inb); \ - sc61860_device::set_outb_cb(*device, DEVCB2_##_outb); \ - sc61860_device::set_outc_cb(*device, DEVCB2_##_outc); +#define MCFG_SC61860_READ_RESET_HANDLER(_devcb) \ + devcb = &sc61860_device::set_reset_cb(*device, DEVCB2_##_devcb); +#define MCFG_SC61860_READ_BRK_HANDLER(_devcb) \ + devcb = &sc61860_device::set_brk_cb(*device, DEVCB2_##_devcb); + +#define MCFG_SC61860_READ_X_HANDLER(_devcb) \ + devcb = &sc61860_device::set_x_cb(*device, DEVCB2_##_devcb); + +#define MCFG_SC61860_READ_A_HANDLER(_devcb) \ + devcb = &sc61860_device::set_ina_cb(*device, DEVCB2_##_devcb); + +#define MCFG_SC61860_WRITE_A_HANDLER(_devcb) \ + devcb = &sc61860_device::set_outa_cb(*device, DEVCB2_##_devcb); + +#define MCFG_SC61860_READ_B_HANDLER(_devcb) \ + devcb = &sc61860_device::set_inb_cb(*device, DEVCB2_##_devcb); + +#define MCFG_SC61860_WRITE_B_HANDLER(_devcb) \ + devcb = &sc61860_device::set_outb_cb(*device, DEVCB2_##_devcb); + +#define MCFG_SC61860_WRITE_C_HANDLER(_devcb) \ + devcb = &sc61860_device::set_outc_cb(*device, DEVCB2_##_devcb); class sc61860_device : public cpu_device { |
