summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/lisa.cpp21
-rw-r--r--src/mame/machine/lisa.cpp6
2 files changed, 23 insertions, 4 deletions
diff --git a/src/mame/drivers/lisa.cpp b/src/mame/drivers/lisa.cpp
index 2908b460ccd..13f5228c6a6 100644
--- a/src/mame/drivers/lisa.cpp
+++ b/src/mame/drivers/lisa.cpp
@@ -106,6 +106,13 @@ void lisa_state::lisa(machine_config &config)
cop421_cpu_device &iocop(COP421(config, "iocop", 3.93216_MHz_XTAL)); // U9F (I/O board)
iocop.set_config(COP400_CKI_DIVISOR_16, COP400_CKO_OSCILLATOR_OUTPUT, true);
+ iocop.read_si().set_constant(1); // FIXME: actually tied to VIA CA2 but both pulled up to +5
+ iocop.read_g().set_constant(15);
+
+ cop421_cpu_device &kbcop(COP421(config, "kbcop", 3932160)); // same clock as other COP?
+ kbcop.set_config(COP400_CKI_DIVISOR_16, COP400_CKO_OSCILLATOR_OUTPUT, true);
+ kbcop.read_si().set_constant(0);
+ kbcop.read_g().set_constant(15);
M6504(config, m_fdc_cpu, 2000000); /* 16.000 MHz / 8 in when DIS asserted, 16.000 MHz / 9 otherwise (?) */
m_fdc_cpu->set_addrmap(AS_PROGRAM, &lisa_state::lisa_fdc_map);
@@ -123,7 +130,7 @@ void lisa_state::lisa(machine_config &config)
m_latch->q_out_cb<7>().set(FUNC(lisa_state::hdmsk_w));
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(20.37504_MHz_XTAL, 896, 0, 720, 380, 0, 364);
+ m_screen->set_raw(20.37504_MHz_XTAL, 896, 0, 720, 379, 0, 364);
//m_screen->set_raw(20_MHz_XTAL, 896, 0, 720, 374, 0, 360); // according to Lisa Hardware Reference Manual
m_screen->set_screen_update(FUNC(lisa_state::screen_update_lisa));
m_screen->set_palette("palette");
@@ -359,6 +366,9 @@ ROM_START( lisa ) /* with twiggy drives, io40 i/o rom; technically any of the bo
ROM_REGION( 0x400, "iocop", 0 )
ROM_LOAD("341-0064a.u9f", 0x000, 0x400, CRC(e6849910) SHA1(d46e67df75c9e3e773d20542fb9d5b1d2ac0fb9b))
+ ROM_REGION( 0x400, "kbcop", 0 )
+ ROM_LOAD("341-0064a.u9f", 0x000, 0x400, CRC(e6849910) SHA1(d46e67df75c9e3e773d20542fb9d5b1d2ac0fb9b))
+
ROM_REGION(0x2000,"fdccpu",0) // 6504 RAM and ROM
// note: other ?prototype? revisions of this rom for the lisa probably exist as well
ROM_LOAD( "341-0138f.bin", 0x001000, 0x001000, CRC(edd8d560) SHA1(872211d21386cd9625b3735d7682e2b2ecff05b4) )
@@ -399,6 +409,9 @@ ROM_START( lisa2 ) /* internal apple codename was 'pepsi'; has one SSDD 400K dri
ROM_REGION( 0x400, "iocop", 0 )
ROM_LOAD("341-0064a.u9f", 0x000, 0x400, CRC(e6849910) SHA1(d46e67df75c9e3e773d20542fb9d5b1d2ac0fb9b))
+ ROM_REGION( 0x400, "kbcop", 0 )
+ ROM_LOAD("341-0064a.u9f", 0x000, 0x400, CRC(e6849910) SHA1(d46e67df75c9e3e773d20542fb9d5b1d2ac0fb9b))
+
ROM_REGION(0x2000,"fdccpu",0) // 6504 RAM and ROM
ROM_LOAD("341-0290-b", 0x1000, 0x1000, CRC(bc6364f1) SHA1(f3164923330a51366a06d9d8a4a01ec7b0d3a8aa)) // 341-0290-B LISA 2/5 Disk Rom (ioa8), supports profile on external port
@@ -429,6 +442,9 @@ ROM_START( lisa210 ) /* newer motherboard and i/o board; has io88 i/o rom, built
ROM_REGION( 0x400, "iocop", 0 )
ROM_LOAD("341-0064a.u9f", 0x000, 0x400, CRC(e6849910) SHA1(d46e67df75c9e3e773d20542fb9d5b1d2ac0fb9b))
+ ROM_REGION( 0x400, "kbcop", 0 )
+ ROM_LOAD("341-0064a.u9f", 0x000, 0x400, CRC(e6849910) SHA1(d46e67df75c9e3e773d20542fb9d5b1d2ac0fb9b))
+
#if 1
ROM_REGION(0x2000,"fdccpu", 0) // 6504 RAM and ROM
ROM_LOAD("341-0281-d", 0x1000, 0x1000, CRC(e343fe74) SHA1(a0e484ead2d2315fca261f39fff2f211ff61b0ef)) // 341-0281-D LISA 2/10 Disk Rom (io88), supports widget on internal port
@@ -454,6 +470,9 @@ ROM_START( macxl )
ROM_REGION( 0x400, "iocop", 0 )
ROM_LOAD("341-0064a.u9f", 0x000, 0x400, CRC(e6849910) SHA1(d46e67df75c9e3e773d20542fb9d5b1d2ac0fb9b))
+ ROM_REGION( 0x400, "kbcop", 0 )
+ ROM_LOAD("341-0064a.u9f", 0x000, 0x400, CRC(e6849910) SHA1(d46e67df75c9e3e773d20542fb9d5b1d2ac0fb9b))
+
#if 1
ROM_REGION(0x2000,"fdccpu", 0) // 6504 RAM and ROM
ROM_LOAD("341-0281-d", 0x1000, 0x1000, CRC(e343fe74) SHA1(a0e484ead2d2315fca261f39fff2f211ff61b0ef)) // 341-0281-D LISA 2/10 Disk Rom (io88), supports widget on internal port
diff --git a/src/mame/machine/lisa.cpp b/src/mame/machine/lisa.cpp
index 2ef7fe045fc..bf4244dcb2a 100644
--- a/src/mame/machine/lisa.cpp
+++ b/src/mame/machine/lisa.cpp
@@ -799,7 +799,7 @@ DIRECT_UPDATE_HANDLER (lisa_OPbaseoverride)
}
- if (m_maincpu->state_int(M68K_SR) & 0x2000)
+ if (BIT(m_maincpu->get_fc(), 2))
{
/* supervisor mode -> force register file 0 */
the_seg = 0;
@@ -1267,7 +1267,7 @@ READ16_MEMBER(lisa_state::lisa_r)
}
}
- if (m_maincpu->state_int(M68K_SR) & 0x2000)
+ if (BIT(m_maincpu->get_fc(), 2))
/* supervisor mode -> force register file 0 */
the_seg = 0;
@@ -1473,7 +1473,7 @@ WRITE16_MEMBER(lisa_state::lisa_w)
}
}
- if (m_maincpu->state_int(M68K_SR) & 0x2000)
+ if (BIT(m_maincpu->get_fc(), 2))
/* supervisor mode -> force register file 0 */
the_seg = 0;