mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
to8, to9, to9p: Fix mapping of monitor ROM area
* to7: Change CPU type to MC6809
This commit is contained in:
parent
69660564e6
commit
ab286598af
@ -568,6 +568,9 @@ void thomson_state::to7(machine_config &config)
|
||||
{
|
||||
to7_base(config, false);
|
||||
|
||||
MC6809(config.replace(), m_maincpu, 16_MHz_XTAL / 4);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &thomson_state::to7_map);
|
||||
|
||||
/* timer */
|
||||
MC6846(config, m_mc6846, 16_MHz_XTAL / 16);
|
||||
m_mc6846->out_port().set(FUNC(thomson_state::to7_timer_port_out));
|
||||
@ -1051,6 +1054,7 @@ void to9_state::to9_map(address_map &map)
|
||||
map(0x4000, 0x5fff).bankr(THOM_VRAM_BANK).w(FUNC(to9_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).rom();
|
||||
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));
|
||||
@ -1324,13 +1328,14 @@ void to9_state::to8_map(address_map &map)
|
||||
map(0x8000, 0x9fff).bankr(TO8_SYS_HI).w(FUNC(to9_state::to8_sys_hi_w));
|
||||
map(0xa000, 0xbfff).bankr(TO8_DATA_LO).w(FUNC(to9_state::to8_data_lo_w));
|
||||
map(0xc000, 0xdfff).bankr(TO8_DATA_HI).w(FUNC(to9_state::to8_data_hi_w));
|
||||
map(0xe000, 0xffff).bankr(TO8_BIOS_BANK);
|
||||
map(0xe7c0, 0xe7ff).unmaprw();
|
||||
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(0xe7da, 0xe7dd).rw(FUNC(to9_state::to8_vreg_r), FUNC(to9_state::to8_vreg_w));
|
||||
map(0xe7e4, 0xe7e7).rw(FUNC(to9_state::to8_gatearray_r), FUNC(to9_state::to8_gatearray_w));
|
||||
/* map(0xe7f0, 0xe7f7).rw(FUNC(to9_state::to9_ieee_r), FUNC(to9_state::to9_ieee_w )); */
|
||||
map(0xe800, 0xffff).bankr(TO8_BIOS_BANK); /* 2 * 6 KB */
|
||||
|
||||
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
|
||||
/* 0x20000 - 0x2ffff: 64 KB internal software ROM */
|
||||
@ -1524,6 +1529,8 @@ void to9_state::to9p_map(address_map &map)
|
||||
map(0x8000, 0x9fff).bankr(TO8_SYS_HI).w(FUNC(to9_state::to8_sys_hi_w));
|
||||
map(0xa000, 0xbfff).bankr(TO8_DATA_LO).w(FUNC(to9_state::to8_data_lo_w));
|
||||
map(0xc000, 0xdfff).bankr(TO8_DATA_HI).w(FUNC(to9_state::to8_data_hi_w));
|
||||
map(0xe000, 0xffff).bankr(TO8_BIOS_BANK);
|
||||
map(0xe7c0, 0xe7ff).unmaprw();
|
||||
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));
|
||||
@ -1531,7 +1538,6 @@ void to9_state::to9p_map(address_map &map)
|
||||
map(0xe7de, 0xe7df).rw(FUNC(to9_state::to9_kbd_r), FUNC(to9_state::to9_kbd_w));
|
||||
map(0xe7e4, 0xe7e7).rw(FUNC(to9_state::to8_gatearray_r), FUNC(to9_state::to8_gatearray_w));
|
||||
/* map(0xe7f0, 0xe7f7).rw(FUNC(to9_state::to9_ieee_r), FUNC(to9_state::to9_ieee_w )); */
|
||||
map(0xe800, 0xffff).bankr(TO8_BIOS_BANK); /* 2 * 6 KB */
|
||||
|
||||
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
|
||||
/* 0x20000 - 0x2ffff: 64 KB internal software ROM */
|
||||
@ -1595,7 +1601,7 @@ void to9_state::to9p(machine_config &config)
|
||||
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &to9_state::to9p_map);
|
||||
|
||||
m_pia_sys->readpa_handler().set(FUNC(to9_state::to8_sys_porta_in));
|
||||
m_pia_sys->readpa_handler().set(FUNC(to9_state::to9_sys_porta_in));
|
||||
m_pia_sys->readpb_handler().set_constant(0);
|
||||
m_pia_sys->writepa_handler().set(FUNC(to9_state::to9_sys_porta_out));
|
||||
m_pia_sys->writepb_handler().set(FUNC(to9_state::to8_sys_portb_out));
|
||||
|
@ -2221,6 +2221,7 @@ MACHINE_RESET_MEMBER( to9_state, to9 )
|
||||
|
||||
MACHINE_START_MEMBER( to9_state, to9 )
|
||||
{
|
||||
uint8_t* mem = memregion("maincpu")->base();
|
||||
uint8_t* cartmem = &m_cart_rom[0];
|
||||
uint8_t* ram = m_ram->pointer();
|
||||
|
||||
@ -2238,7 +2239,8 @@ MACHINE_START_MEMBER( to9_state, to9 )
|
||||
m_thom_vram = ram;
|
||||
m_thom_cart_bank = 0;
|
||||
m_vrambank->configure_entries( 0, 2, m_thom_vram, 0x2000 );
|
||||
m_cartbank->configure_entries( 0, 12, cartmem, 0x4000 );
|
||||
m_cartbank->configure_entries( 0, 4, cartmem, 0x4000 );
|
||||
m_cartbank->configure_entries( 4, 8, mem + 0x10000, 0x4000 );
|
||||
m_basebank->configure_entry( 0, ram + 0x4000);
|
||||
m_rambank->configure_entries( 0, 10, ram + 0x8000, 0x4000 );
|
||||
m_vrambank->set_entry( 0 );
|
||||
@ -3168,7 +3170,7 @@ MACHINE_START_MEMBER( to9_state, to8 )
|
||||
m_vrambank->configure_entries( 0, 2, ram, 0x2000 );
|
||||
m_syslobank->configure_entry( 0, ram + 0x6000);
|
||||
m_syshibank->configure_entry( 0, ram + 0x4000);
|
||||
m_biosbank->configure_entries( 0, 2, mem + 0x20800, 0x2000 );
|
||||
m_biosbank->configure_entries( 0, 2, mem + 0x20000, 0x2000 );
|
||||
m_cartbank->set_entry( 0 );
|
||||
m_vrambank->set_entry( 0 );
|
||||
m_syslobank->set_entry( 0 );
|
||||
@ -3300,7 +3302,7 @@ MACHINE_START_MEMBER( to9_state, to9p )
|
||||
m_syshibank->configure_entry( 0, ram + 0x4000 );
|
||||
m_datalobank->configure_entries( 0, 32, ram + 0x2000, 0x4000 );
|
||||
m_datahibank->configure_entries( 0, 32, ram + 0x0000, 0x4000 );
|
||||
m_biosbank->configure_entries( 0, 2, mem + 0x20800, 0x2000 );
|
||||
m_biosbank->configure_entries( 0, 2, mem + 0x20000, 0x2000 );
|
||||
m_cartbank->set_entry( 0 );
|
||||
m_vrambank->set_entry( 0 );
|
||||
m_syslobank->set_entry( 0 );
|
||||
|
Loading…
Reference in New Issue
Block a user