diff options
Diffstat (limited to 'src/mame/drivers/thomson.cpp')
-rw-r--r-- | src/mame/drivers/thomson.cpp | 160 |
1 files changed, 80 insertions, 80 deletions
diff --git a/src/mame/drivers/thomson.cpp b/src/mame/drivers/thomson.cpp index de90724f246..43ce446b633 100644 --- a/src/mame/drivers/thomson.cpp +++ b/src/mame/drivers/thomson.cpp @@ -312,20 +312,20 @@ They can run the same software and accept the same devices and extensions. void thomson_state::to7(address_map &map) { - map(0x0000, 0x3fff).bankr(THOM_CART_BANK).w(this, FUNC(thomson_state::to7_cartridge_w)); /* 4 * 16 KB */ - map(0x4000, 0x5fff).bankr(THOM_VRAM_BANK).w(this, FUNC(thomson_state::to7_vram_w)); + map(0x0000, 0x3fff).bankr(THOM_CART_BANK).w(FUNC(thomson_state::to7_cartridge_w)); /* 4 * 16 KB */ + map(0x4000, 0x5fff).bankr(THOM_VRAM_BANK).w(FUNC(thomson_state::to7_vram_w)); map(0x6000, 0x7fff).bankrw(THOM_BASE_BANK); /* 1 * 8 KB */ map(0x8000, 0xdfff).bankrw(THOM_RAM_BANK); /* 16 or 24 KB (for extension) */ map(0xe000, 0xe7bf).bankr(THOM_FLOP_BANK); map(0xe7c0, 0xe7c7).rw(m_mc6846, FUNC(mc6846_device::read), FUNC(mc6846_device::write)); map(0xe7c8, 0xe7cb).rw("pia_0", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); map(0xe7cc, 0xe7cf).rw("pia_1", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xe7d0, 0xe7df).rw(this, FUNC(thomson_state::to7_floppy_r), FUNC(thomson_state::to7_floppy_w)); + map(0xe7d0, 0xe7df).rw(FUNC(thomson_state::to7_floppy_r), FUNC(thomson_state::to7_floppy_w)); map(0xe7e0, 0xe7e3).rw("to7_io:pia_2", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); map(0xe7e8, 0xe7eb).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); - map(0xe7f2, 0xe7f3).rw(this, FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); + map(0xe7f2, 0xe7f3).rw(FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); map(0xe7f8, 0xe7fb).rw("pia_3", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xe7fe, 0xe7ff).rw(this, FUNC(thomson_state::to7_modem_mea8000_r), FUNC(thomson_state::to7_modem_mea8000_w)); + map(0xe7fe, 0xe7ff).rw(FUNC(thomson_state::to7_modem_mea8000_r), FUNC(thomson_state::to7_modem_mea8000_w)); map(0xe800, 0xffff).rom(); /* system bios */ /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ @@ -825,21 +825,21 @@ In arabic mode, Ctrl+E / Ctrl+X to start / stop typing in-line latin. void thomson_state::to770(address_map &map) { - map(0x0000, 0x3fff).bankr(THOM_CART_BANK).w(this, FUNC(thomson_state::to7_cartridge_w)); /* 4 * 16 KB */ - map(0x4000, 0x5fff).bankr(THOM_VRAM_BANK).w(this, FUNC(thomson_state::to770_vram_w)); + map(0x0000, 0x3fff).bankr(THOM_CART_BANK).w(FUNC(thomson_state::to7_cartridge_w)); /* 4 * 16 KB */ + map(0x4000, 0x5fff).bankr(THOM_VRAM_BANK).w(FUNC(thomson_state::to770_vram_w)); map(0x6000, 0x9fff).bankrw(THOM_BASE_BANK); /* 16 KB */ map(0xa000, 0xdfff).bankrw(THOM_RAM_BANK); /* 6 * 16 KB */ map(0xe000, 0xe7bf).bankr(THOM_FLOP_BANK); map(0xe7c0, 0xe7c7).rw(m_mc6846, FUNC(mc6846_device::read), FUNC(mc6846_device::write)); map(0xe7c8, 0xe7cb).rw("pia_0", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); map(0xe7cc, 0xe7cf).rw("pia_1", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xe7d0, 0xe7df).rw(this, FUNC(thomson_state::to7_floppy_r), FUNC(thomson_state::to7_floppy_w)); + map(0xe7d0, 0xe7df).rw(FUNC(thomson_state::to7_floppy_r), FUNC(thomson_state::to7_floppy_w)); map(0xe7e0, 0xe7e3).rw("to7_io:pia_2", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xe7e4, 0xe7e7).rw(this, FUNC(thomson_state::to770_gatearray_r), FUNC(thomson_state::to770_gatearray_w)); + map(0xe7e4, 0xe7e7).rw(FUNC(thomson_state::to770_gatearray_r), FUNC(thomson_state::to770_gatearray_w)); map(0xe7e8, 0xe7eb).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); - map(0xe7f2, 0xe7f3).rw(this, FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); + map(0xe7f2, 0xe7f3).rw(FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); map(0xe7f8, 0xe7fb).rw("pia_3", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xe7fe, 0xe7ff).rw(this, FUNC(thomson_state::to7_modem_mea8000_r), FUNC(thomson_state::to7_modem_mea8000_w)); + map(0xe7fe, 0xe7ff).rw(FUNC(thomson_state::to7_modem_mea8000_r), FUNC(thomson_state::to7_modem_mea8000_w)); map(0xe800, 0xffff).rom(); /* system bios */ /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ @@ -1027,19 +1027,19 @@ Differences include: void thomson_state::mo5(address_map &map) { - map(0x0000, 0x1fff).bankr(THOM_VRAM_BANK).w(this, FUNC(thomson_state::to770_vram_w)); + map(0x0000, 0x1fff).bankr(THOM_VRAM_BANK).w(FUNC(thomson_state::to770_vram_w)); map(0x2000, 0x9fff).bankrw(THOM_BASE_BANK); map(0xa000, 0xa7bf).bankr(THOM_FLOP_BANK); map(0xa7c0, 0xa7c3).rw("pia_0", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xa7cb, 0xa7cb).w(this, FUNC(thomson_state::mo5_ext_w)); + map(0xa7cb, 0xa7cb).w(FUNC(thomson_state::mo5_ext_w)); map(0xa7cc, 0xa7cf).rw("pia_1", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xa7d0, 0xa7df).rw(this, FUNC(thomson_state::to7_floppy_r), FUNC(thomson_state::to7_floppy_w)); + map(0xa7d0, 0xa7df).rw(FUNC(thomson_state::to7_floppy_r), FUNC(thomson_state::to7_floppy_w)); map(0xa7e0, 0xa7e3).rw("to7_io:pia_2", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xa7e4, 0xa7e7).rw(this, FUNC(thomson_state::mo5_gatearray_r), FUNC(thomson_state::mo5_gatearray_w)); + map(0xa7e4, 0xa7e7).rw(FUNC(thomson_state::mo5_gatearray_r), FUNC(thomson_state::mo5_gatearray_w)); map(0xa7e8, 0xa7eb).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); - map(0xa7f2, 0xa7f3).rw(this, FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); + map(0xa7f2, 0xa7f3).rw(FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); map(0xa7fe, 0xa7ff).rw(m_mea8000, FUNC(mea8000_device::read), FUNC(mea8000_device::write)); - map(0xb000, 0xefff).bankr(THOM_CART_BANK).w(this, FUNC(thomson_state::mo5_cartridge_w)); + map(0xb000, 0xefff).bankr(THOM_CART_BANK).w(FUNC(thomson_state::mo5_cartridge_w)); map(0xf000, 0xffff).rom(); /* system bios */ /* 0x10000 - 0x1ffff: 16 KB integrated BASIC / 64 KB external cartridge */ @@ -1141,7 +1141,7 @@ MACHINE_CONFIG_START(thomson_state::mo5) MCFG_PIA_READPA_HANDLER(READ8(*this, thomson_state, mo5_sys_porta_in)) MCFG_PIA_READPB_HANDLER(READ8(*this, thomson_state, mo5_sys_portb_in)) MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, thomson_state, mo5_sys_porta_out)) - MCFG_PIA_WRITEPB_HANDLER(WRITE8("buzzer", dac_bit_interface, write)) + MCFG_PIA_WRITEPB_HANDLER(WRITE8("buzzer", dac_bit_interface, data_w)) MCFG_PIA_CA2_HANDLER(WRITELINE(*this, thomson_state, mo5_set_cassette_motor)) MCFG_PIA_CB2_HANDLER(NOOP) MCFG_PIA_IRQB_HANDLER(WRITELINE("mainirq", input_merger_device, in_w<1>)) // WARNING: differs from TO7 ! @@ -1251,23 +1251,23 @@ It was replaced quickly with the improved TO9+. void thomson_state::to9(address_map &map) { - map(0x0000, 0x3fff).bankr(THOM_CART_BANK).w(this, FUNC(thomson_state::to9_cartridge_w));/* 4 * 16 KB */ - map(0x4000, 0x5fff).bankr(THOM_VRAM_BANK).w(this, FUNC(thomson_state::to770_vram_w)); + map(0x0000, 0x3fff).bankr(THOM_CART_BANK).w(FUNC(thomson_state::to9_cartridge_w));/* 4 * 16 KB */ + map(0x4000, 0x5fff).bankr(THOM_VRAM_BANK).w(FUNC(thomson_state::to770_vram_w)); map(0x6000, 0x9fff).bankrw(THOM_BASE_BANK); /* 16 KB */ map(0xa000, 0xdfff).bankrw(THOM_RAM_BANK); /* 10 * 16 KB */ map(0xe000, 0xe7bf).bankr(THOM_FLOP_BANK); map(0xe7c0, 0xe7c7).rw(m_mc6846, FUNC(mc6846_device::read), FUNC(mc6846_device::write)); map(0xe7c8, 0xe7cb).rw("pia_0", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); map(0xe7cc, 0xe7cf).rw("pia_1", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xe7d0, 0xe7d9).rw(this, FUNC(thomson_state::to9_floppy_r), FUNC(thomson_state::to9_floppy_w)); - map(0xe7da, 0xe7dd).rw(this, FUNC(thomson_state::to9_vreg_r), FUNC(thomson_state::to9_vreg_w)); - map(0xe7de, 0xe7df).rw(this, FUNC(thomson_state::to9_kbd_r), FUNC(thomson_state::to9_kbd_w)); - map(0xe7e4, 0xe7e7).rw(this, FUNC(thomson_state::to9_gatearray_r), FUNC(thomson_state::to9_gatearray_w)); + map(0xe7d0, 0xe7d9).rw(FUNC(thomson_state::to9_floppy_r), FUNC(thomson_state::to9_floppy_w)); + map(0xe7da, 0xe7dd).rw(FUNC(thomson_state::to9_vreg_r), FUNC(thomson_state::to9_vreg_w)); + map(0xe7de, 0xe7df).rw(FUNC(thomson_state::to9_kbd_r), FUNC(thomson_state::to9_kbd_w)); + map(0xe7e4, 0xe7e7).rw(FUNC(thomson_state::to9_gatearray_r), FUNC(thomson_state::to9_gatearray_w)); map(0xe7e8, 0xe7eb).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); /* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE(to9_ieee_r, to9_ieee_w ) */ - map(0xe7f2, 0xe7f3).rw(this, FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); + map(0xe7f2, 0xe7f3).rw(FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); map(0xe7f8, 0xe7fb).rw("pia_3", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xe7fe, 0xe7ff).rw(this, FUNC(thomson_state::to7_modem_mea8000_r), FUNC(thomson_state::to7_modem_mea8000_w)); + map(0xe7fe, 0xe7ff).rw(FUNC(thomson_state::to7_modem_mea8000_r), FUNC(thomson_state::to7_modem_mea8000_w)); map(0xe800, 0xffff).rom(); /* system bios */ /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ @@ -1581,24 +1581,24 @@ The TO8D is simply a TO8 with an integrated 3"1/2 floppy drive. void thomson_state::to8(address_map &map) { - map(0x0000, 0x3fff).bankr(THOM_CART_BANK).w(this, FUNC(thomson_state::to8_cartridge_w)); /* 4 * 16 KB */ - map(0x4000, 0x5fff).bankr(THOM_VRAM_BANK).w(this, FUNC(thomson_state::to770_vram_w)); - map(0x6000, 0x7fff).bankr(TO8_SYS_LO).w(this, FUNC(thomson_state::to8_sys_lo_w)); - map(0x8000, 0x9fff).bankr(TO8_SYS_HI).w(this, FUNC(thomson_state::to8_sys_hi_w)); - map(0xa000, 0xbfff).bankr(TO8_DATA_LO).w(this, FUNC(thomson_state::to8_data_lo_w)); - map(0xc000, 0xdfff).bankr(TO8_DATA_HI).w(this, FUNC(thomson_state::to8_data_hi_w)); + map(0x0000, 0x3fff).bankr(THOM_CART_BANK).w(FUNC(thomson_state::to8_cartridge_w)); /* 4 * 16 KB */ + map(0x4000, 0x5fff).bankr(THOM_VRAM_BANK).w(FUNC(thomson_state::to770_vram_w)); + map(0x6000, 0x7fff).bankr(TO8_SYS_LO).w(FUNC(thomson_state::to8_sys_lo_w)); + map(0x8000, 0x9fff).bankr(TO8_SYS_HI).w(FUNC(thomson_state::to8_sys_hi_w)); + map(0xa000, 0xbfff).bankr(TO8_DATA_LO).w(FUNC(thomson_state::to8_data_lo_w)); + map(0xc000, 0xdfff).bankr(TO8_DATA_HI).w(FUNC(thomson_state::to8_data_hi_w)); map(0xe000, 0xe7bf).bankr(THOM_FLOP_BANK); /* 2 * 2 KB */ map(0xe7c0, 0xe7c7).rw(m_mc6846, FUNC(mc6846_device::read), FUNC(mc6846_device::write)); map(0xe7c8, 0xe7cb).rw("pia_0", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); map(0xe7cc, 0xe7cf).rw("pia_1", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xe7d0, 0xe7d9).rw(this, FUNC(thomson_state::to8_floppy_r), FUNC(thomson_state::to8_floppy_w)); - map(0xe7da, 0xe7dd).rw(this, FUNC(thomson_state::to8_vreg_r), FUNC(thomson_state::to8_vreg_w)); - map(0xe7e4, 0xe7e7).rw(this, FUNC(thomson_state::to8_gatearray_r), FUNC(thomson_state::to8_gatearray_w)); + map(0xe7d0, 0xe7d9).rw(FUNC(thomson_state::to8_floppy_r), FUNC(thomson_state::to8_floppy_w)); + map(0xe7da, 0xe7dd).rw(FUNC(thomson_state::to8_vreg_r), FUNC(thomson_state::to8_vreg_w)); + map(0xe7e4, 0xe7e7).rw(FUNC(thomson_state::to8_gatearray_r), FUNC(thomson_state::to8_gatearray_w)); map(0xe7e8, 0xe7eb).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); /* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE(to9_ieee_r, to9_ieee_w ) */ - map(0xe7f2, 0xe7f3).rw(this, FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); + map(0xe7f2, 0xe7f3).rw(FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); map(0xe7f8, 0xe7fb).rw("pia_3", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xe7fe, 0xe7ff).rw(this, FUNC(thomson_state::to7_modem_mea8000_r), FUNC(thomson_state::to7_modem_mea8000_w)); + map(0xe7fe, 0xe7ff).rw(FUNC(thomson_state::to7_modem_mea8000_r), FUNC(thomson_state::to7_modem_mea8000_w)); map(0xe800, 0xffff).bankr(TO8_BIOS_BANK); /* 2 * 6 KB */ /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ @@ -1795,25 +1795,25 @@ The differences with the TO8 are: void thomson_state::to9p(address_map &map) { - map(0x0000, 0x3fff).bankr(THOM_CART_BANK).w(this, FUNC(thomson_state::to8_cartridge_w)); /* 4 * 16 KB */ - map(0x4000, 0x5fff).bankr(THOM_VRAM_BANK).w(this, FUNC(thomson_state::to770_vram_w)); - map(0x6000, 0x7fff).bankr(TO8_SYS_LO).w(this, FUNC(thomson_state::to8_sys_lo_w)); - map(0x8000, 0x9fff).bankr(TO8_SYS_HI).w(this, FUNC(thomson_state::to8_sys_hi_w)); - map(0xa000, 0xbfff).bankr(TO8_DATA_LO).w(this, FUNC(thomson_state::to8_data_lo_w)); - map(0xc000, 0xdfff).bankr(TO8_DATA_HI).w(this, FUNC(thomson_state::to8_data_hi_w)); + map(0x0000, 0x3fff).bankr(THOM_CART_BANK).w(FUNC(thomson_state::to8_cartridge_w)); /* 4 * 16 KB */ + map(0x4000, 0x5fff).bankr(THOM_VRAM_BANK).w(FUNC(thomson_state::to770_vram_w)); + map(0x6000, 0x7fff).bankr(TO8_SYS_LO).w(FUNC(thomson_state::to8_sys_lo_w)); + map(0x8000, 0x9fff).bankr(TO8_SYS_HI).w(FUNC(thomson_state::to8_sys_hi_w)); + map(0xa000, 0xbfff).bankr(TO8_DATA_LO).w(FUNC(thomson_state::to8_data_lo_w)); + map(0xc000, 0xdfff).bankr(TO8_DATA_HI).w(FUNC(thomson_state::to8_data_hi_w)); map(0xe000, 0xe7bf).bankr(THOM_FLOP_BANK); /* 2 * 2 KB */ map(0xe7c0, 0xe7c7).rw(m_mc6846, FUNC(mc6846_device::read), FUNC(mc6846_device::write)); map(0xe7c8, 0xe7cb).rw("pia_0", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); map(0xe7cc, 0xe7cf).rw("pia_1", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xe7d0, 0xe7d9).rw(this, FUNC(thomson_state::to8_floppy_r), FUNC(thomson_state::to8_floppy_w)); - map(0xe7da, 0xe7dd).rw(this, FUNC(thomson_state::to8_vreg_r), FUNC(thomson_state::to8_vreg_w)); - map(0xe7de, 0xe7df).rw(this, FUNC(thomson_state::to9_kbd_r), FUNC(thomson_state::to9_kbd_w)); - map(0xe7e4, 0xe7e7).rw(this, FUNC(thomson_state::to8_gatearray_r), FUNC(thomson_state::to8_gatearray_w)); + map(0xe7d0, 0xe7d9).rw(FUNC(thomson_state::to8_floppy_r), FUNC(thomson_state::to8_floppy_w)); + map(0xe7da, 0xe7dd).rw(FUNC(thomson_state::to8_vreg_r), FUNC(thomson_state::to8_vreg_w)); + map(0xe7de, 0xe7df).rw(FUNC(thomson_state::to9_kbd_r), FUNC(thomson_state::to9_kbd_w)); + map(0xe7e4, 0xe7e7).rw(FUNC(thomson_state::to8_gatearray_r), FUNC(thomson_state::to8_gatearray_w)); map(0xe7e8, 0xe7eb).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); /* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE(to9_ieee_r, to9_ieee_w ) */ - map(0xe7f2, 0xe7f3).rw(this, FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); + map(0xe7f2, 0xe7f3).rw(FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); map(0xe7f8, 0xe7fb).rw("pia_3", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xe7fe, 0xe7ff).rw(this, FUNC(thomson_state::to7_modem_mea8000_r), FUNC(thomson_state::to7_modem_mea8000_w)); + map(0xe7fe, 0xe7ff).rw(FUNC(thomson_state::to7_modem_mea8000_r), FUNC(thomson_state::to7_modem_mea8000_w)); map(0xe800, 0xffff).bankr(TO8_BIOS_BANK); /* 2 * 6 KB */ /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ @@ -1976,24 +1976,24 @@ a PC XT. void thomson_state::mo6(address_map &map) { - map(0x0000, 0x1fff).bankr(THOM_VRAM_BANK).w(this, FUNC(thomson_state::to770_vram_w)); - map(0x2000, 0x3fff).bankr(TO8_SYS_LO).w(this, FUNC(thomson_state::to8_sys_lo_w)); - map(0x4000, 0x5fff).bankr(TO8_SYS_HI).w(this, FUNC(thomson_state::to8_sys_hi_w)); - map(0x6000, 0x7fff).bankr(TO8_DATA_LO).w(this, FUNC(thomson_state::to8_data_lo_w)); - map(0x8000, 0x9fff).bankr(TO8_DATA_HI).w(this, FUNC(thomson_state::to8_data_hi_w)); + map(0x0000, 0x1fff).bankr(THOM_VRAM_BANK).w(FUNC(thomson_state::to770_vram_w)); + map(0x2000, 0x3fff).bankr(TO8_SYS_LO).w(FUNC(thomson_state::to8_sys_lo_w)); + map(0x4000, 0x5fff).bankr(TO8_SYS_HI).w(FUNC(thomson_state::to8_sys_hi_w)); + map(0x6000, 0x7fff).bankr(TO8_DATA_LO).w(FUNC(thomson_state::to8_data_lo_w)); + map(0x8000, 0x9fff).bankr(TO8_DATA_HI).w(FUNC(thomson_state::to8_data_hi_w)); map(0xa000, 0xa7bf).bankr(THOM_FLOP_BANK); map(0xa7c0, 0xa7c3).rw("pia_0", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xa7cb, 0xa7cb).w(this, FUNC(thomson_state::mo6_ext_w)); + map(0xa7cb, 0xa7cb).w(FUNC(thomson_state::mo6_ext_w)); map(0xa7cc, 0xa7cf).rw("pia_1", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xa7d0, 0xa7d9).rw(this, FUNC(thomson_state::to7_floppy_r), FUNC(thomson_state::to7_floppy_w)); - map(0xa7da, 0xa7dd).rw(this, FUNC(thomson_state::mo6_vreg_r), FUNC(thomson_state::mo6_vreg_w)); - map(0xa7e4, 0xa7e7).rw(this, FUNC(thomson_state::mo6_gatearray_r), FUNC(thomson_state::mo6_gatearray_w)); + map(0xa7d0, 0xa7d9).rw(FUNC(thomson_state::to7_floppy_r), FUNC(thomson_state::to7_floppy_w)); + map(0xa7da, 0xa7dd).rw(FUNC(thomson_state::mo6_vreg_r), FUNC(thomson_state::mo6_vreg_w)); + map(0xa7e4, 0xa7e7).rw(FUNC(thomson_state::mo6_gatearray_r), FUNC(thomson_state::mo6_gatearray_w)); map(0xa7e8, 0xa7eb).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); -/* map(0xa7f0, 0xa7f7).rw(this, FUNC(thomson_state::to9_ieee_r), FUNC(homson_state::to9_ieee_w));*/ - map(0xa7f2, 0xa7f3).rw(this, FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); +/* map(0xa7f0, 0xa7f7).rw(FUNC(thomson_state::to9_ieee_r), FUNC(homson_state::to9_ieee_w));*/ + map(0xa7f2, 0xa7f3).rw(FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); map(0xa7fe, 0xa7ff).rw(m_mea8000, FUNC(mea8000_device::read), FUNC(mea8000_device::write)); - map(0xb000, 0xbfff).bankr(MO6_CART_LO).w(this, FUNC(thomson_state::mo6_cartridge_w)); - map(0xc000, 0xefff).bankr(MO6_CART_HI).w(this, FUNC(thomson_state::mo6_cartridge_w)); + map(0xb000, 0xbfff).bankr(MO6_CART_LO).w(FUNC(thomson_state::mo6_cartridge_w)); + map(0xc000, 0xefff).bankr(MO6_CART_HI).w(FUNC(thomson_state::mo6_cartridge_w)); map(0xf000, 0xffff).bankr(TO8_BIOS_BANK); /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ @@ -2240,7 +2240,7 @@ MACHINE_CONFIG_START(thomson_state::mo6) MCFG_PIA_READPA_HANDLER(READ8(*this, thomson_state, mo6_sys_porta_in)) MCFG_PIA_READPB_HANDLER(READ8(*this, thomson_state, mo6_sys_portb_in)) MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, thomson_state, mo6_sys_porta_out)) - MCFG_PIA_WRITEPB_HANDLER(WRITE8("buzzer", dac_bit_interface, write)) + MCFG_PIA_WRITEPB_HANDLER(WRITE8("buzzer", dac_bit_interface, data_w)) MCFG_PIA_CA2_HANDLER(WRITELINE(*this, thomson_state, mo5_set_cassette_motor)) MCFG_PIA_CB2_HANDLER(WRITELINE(*this, thomson_state, mo6_sys_cb2_out)) MCFG_PIA_IRQB_HANDLER(WRITELINE("mainirq", input_merger_device, in_w<1>)) // differs from TO @@ -2330,28 +2330,28 @@ Here are the differences between the MO6 and MO5NR: void thomson_state::mo5nr(address_map &map) { - map(0x0000, 0x1fff).bankr(THOM_VRAM_BANK).w(this, FUNC(thomson_state::to770_vram_w)); - map(0x2000, 0x3fff).bankr(TO8_SYS_LO).w(this, FUNC(thomson_state::to8_sys_lo_w)); - map(0x4000, 0x5fff).bankr(TO8_SYS_HI).w(this, FUNC(thomson_state::to8_sys_hi_w)); - map(0x6000, 0x7fff).bankr(TO8_DATA_LO).w(this, FUNC(thomson_state::to8_data_lo_w)); - map(0x8000, 0x9fff).bankr(TO8_DATA_HI).w(this, FUNC(thomson_state::to8_data_hi_w)); + map(0x0000, 0x1fff).bankr(THOM_VRAM_BANK).w(FUNC(thomson_state::to770_vram_w)); + map(0x2000, 0x3fff).bankr(TO8_SYS_LO).w(FUNC(thomson_state::to8_sys_lo_w)); + map(0x4000, 0x5fff).bankr(TO8_SYS_HI).w(FUNC(thomson_state::to8_sys_hi_w)); + map(0x6000, 0x7fff).bankr(TO8_DATA_LO).w(FUNC(thomson_state::to8_data_lo_w)); + map(0x8000, 0x9fff).bankr(TO8_DATA_HI).w(FUNC(thomson_state::to8_data_hi_w)); map(0xa000, 0xa7bf).bankr(THOM_FLOP_BANK); map(0xa7c0, 0xa7c3).rw("pia_0", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xa7cb, 0xa7cb).w(this, FUNC(thomson_state::mo6_ext_w)); + map(0xa7cb, 0xa7cb).w(FUNC(thomson_state::mo6_ext_w)); map(0xa7cc, 0xa7cf).rw("pia_1", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); - map(0xa7d0, 0xa7d9).rw(this, FUNC(thomson_state::mo5nr_net_r), FUNC(thomson_state::mo5nr_net_w)); - map(0xa7da, 0xa7dd).rw(this, FUNC(thomson_state::mo6_vreg_r), FUNC(thomson_state::mo6_vreg_w)); - map(0xa7e1, 0xa7e1).r("cent_data_in", FUNC(input_buffer_device::read)); - map(0xa7e1, 0xa7e1).w(m_cent_data_out, FUNC(output_latch_device::write)); - map(0xa7e3, 0xa7e3).rw(this, FUNC(thomson_state::mo5nr_prn_r), FUNC(thomson_state::mo5nr_prn_w)); - map(0xa7e4, 0xa7e7).rw(this, FUNC(thomson_state::mo6_gatearray_r), FUNC(thomson_state::mo6_gatearray_w)); + map(0xa7d0, 0xa7d9).rw(FUNC(thomson_state::mo5nr_net_r), FUNC(thomson_state::mo5nr_net_w)); + map(0xa7da, 0xa7dd).rw(FUNC(thomson_state::mo6_vreg_r), FUNC(thomson_state::mo6_vreg_w)); + map(0xa7e1, 0xa7e1).r("cent_data_in", FUNC(input_buffer_device::bus_r)); + map(0xa7e1, 0xa7e1).w(m_cent_data_out, FUNC(output_latch_device::bus_w)); + map(0xa7e3, 0xa7e3).rw(FUNC(thomson_state::mo5nr_prn_r), FUNC(thomson_state::mo5nr_prn_w)); + map(0xa7e4, 0xa7e7).rw(FUNC(thomson_state::mo6_gatearray_r), FUNC(thomson_state::mo6_gatearray_w)); map(0xa7e8, 0xa7eb).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); -/* map(0xa7f0, 0xa7f7).rw(this, FUNC(thomson_state::to9_ieee_r), FUNC(homson_state::to9_ieee_w));*/ - map(0xa7f2, 0xa7f3).rw(this, FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); +/* map(0xa7f0, 0xa7f7).rw(FUNC(thomson_state::to9_ieee_r), FUNC(homson_state::to9_ieee_w));*/ + map(0xa7f2, 0xa7f3).rw(FUNC(thomson_state::to7_midi_r), FUNC(thomson_state::to7_midi_w)); map(0xa7f8, 0xa7fb).rw("pia_3", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt)); map(0xa7fe, 0xa7ff).rw(m_mea8000, FUNC(mea8000_device::read), FUNC(mea8000_device::write)); - map(0xb000, 0xbfff).bankr(MO6_CART_LO).w(this, FUNC(thomson_state::mo6_cartridge_w)); - map(0xc000, 0xefff).bankr(MO6_CART_HI).w(this, FUNC(thomson_state::mo6_cartridge_w)); + map(0xb000, 0xbfff).bankr(MO6_CART_LO).w(FUNC(thomson_state::mo6_cartridge_w)); + map(0xc000, 0xefff).bankr(MO6_CART_HI).w(FUNC(thomson_state::mo6_cartridge_w)); map(0xf000, 0xffff).bankr(TO8_BIOS_BANK); /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ @@ -2510,7 +2510,7 @@ MACHINE_CONFIG_START(thomson_state::mo5nr) MCFG_PIA_READPA_HANDLER(READ8(*this, thomson_state, mo6_sys_porta_in)) MCFG_PIA_READPB_HANDLER(READ8(*this, thomson_state, mo5nr_sys_portb_in)) MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, thomson_state, mo5nr_sys_porta_out)) - MCFG_PIA_WRITEPB_HANDLER(WRITE8("buzzer", dac_bit_interface, write)) + MCFG_PIA_WRITEPB_HANDLER(WRITE8("buzzer", dac_bit_interface, data_w)) MCFG_PIA_CA2_HANDLER(WRITELINE(*this, thomson_state, mo5_set_cassette_motor)) MCFG_PIA_CB2_HANDLER(WRITELINE(*this, thomson_state, mo6_sys_cb2_out)) MCFG_PIA_IRQB_HANDLER(WRITELINE("mainirq", input_merger_device, in_w<1>)) // differs from TO |