Previous 199869 Revisions Next

r26886 Thursday 2nd January, 2014 at 05:40:15 UTC by R. Belmont
(MESS) mac: cleanup (nw)
[src/mess/drivers]mac.c macpci.c
[src/mess/includes]mac.h
[src/mess/machine]mac.c mackbd.h

trunk/src/mess/machine/mackbd.h
r26885r26886
1111//  INTERFACE CONFIGURATION MACROS
1212//**************************************************************************
1313
14#define MACKBD_DEFAULT_TAG "mackbd"
15
16#define MCFG_MACKBD_ADD() \
17    MCFG_DEVICE_ADD(MACKBD_DEFAULT_TAG, MACKBD, 0)
18
19#define MCFG_MACKBD_REPLACE() \
20    MCFG_DEVICE_REPLACE(MACKBD_DEFAULT_TAG, MACKBD, 0)
21
22#define MCFG_MACKBD_REMOVE() \
23    MCFG_DEVICE_REMOVE(MACKBD_DEFAULT_TAG)
24
1425#define MCFG_MACKBD_CLKOUT_HANDLER(_devcb) \
1526   devcb = &mackbd_device::set_clkout_handler(*device, DEVCB2_##_devcb);
1627
trunk/src/mess/machine/mac.c
r26885r26886
11851185
11861186   switch (m_model)
11871187   {
1188      case MODEL_MAC_PORTABLE:
1189      case MODEL_MAC_PB100:
1190         #if LOG_ADB
1191//          printf("Read PM data %x\n", m_pm_data_recv);
1192         #endif
1193         return m_pm_data_recv;
1194
11951188      case MODEL_MAC_CLASSIC:
11961189      case MODEL_MAC_II:
11971190      case MODEL_MAC_II_FDHD:
r26885r26886
12441237   return 0x80;
12451238}
12461239
1240READ8_MEMBER(mac_state::mac_via_in_a_pmu)
1241{
1242//  printf("VIA1 IN_A (PC %x)\n", m_maincpu->safe_pc());
1243
1244   #if LOG_ADB
1245//   printf("Read PM data %x\n", m_pm_data_recv);
1246   #endif
1247   return m_pm_data_recv;
1248}
1249
12471250READ8_MEMBER(mac_state::mac_via_in_b)
12481251{
12491252   int val = 0;
1250   // portable/PB100 is pretty different
1251   if (m_model >= MODEL_MAC_PORTABLE && m_model <= MODEL_MAC_PB100)
1253   /* video beam in display (! VBLANK && ! HBLANK basically) */
1254   if (machine().primary_screen)
12521255   {
1253//      printf("Read VIA B: PM_ACK %x\n", m_pm_ack);
1254      val = 0x80 | 0x04 | m_pm_ack;   // SCC wait/request (bit 2 must be set at 900c1a or startup tests always fail)
1256      if (machine().primary_screen->vpos() >= MAC_V_VIS)
1257         val |= 0x40;
12551258   }
1256   else
1259
1260   if (ADB_IS_BITBANG_CLASS)
12571261   {
1258      /* video beam in display (! VBLANK && ! HBLANK basically) */
1259      if (machine().primary_screen)
1262      val |= m_adb_state<<4;
1263
1264      if (!m_adb_irq_pending)
12601265      {
1261         if (machine().primary_screen->vpos() >= MAC_V_VIS)
1262            val |= 0x40;
1266         val |= 0x08;
12631267      }
12641268
1265      if (ADB_IS_BITBANG_CLASS)
1266      {
1267         val |= m_adb_state<<4;
1269      val |= m_rtc->data_r();
1270   }
1271   else if (ADB_IS_EGRET)
1272   {
1273      val |= m_egret->get_xcvr_session()<<3;
1274   }
1275   else if (ADB_IS_CUDA)
1276   {
1277      val |= m_cuda->get_treq()<<3;
1278   }
1279   else
1280   {
1281      if (m_mouse_bit_y)  /* Mouse Y2 */
1282         val |= 0x20;
1283      if (m_mouse_bit_x)  /* Mouse X2 */
1284         val |= 0x10;
1285      if ((m_mouse0->read() & 0x01) == 0)
1286         val |= 0x08;
12681287
1269         if (!m_adb_irq_pending)
1270         {
1271            val |= 0x08;
1272         }
1288      val |= m_rtc->data_r();
1289   }
12731290
1274         val |= m_rtc->data_r();
1275      }
1276      else if (ADB_IS_EGRET)
1277      {
1278         val |= m_egret->get_xcvr_session()<<3;
1279      }
1280      else if (ADB_IS_CUDA)
1281      {
1282         val |= m_cuda->get_treq()<<3;
1283      }
1284      else
1285      {
1286         if (m_mouse_bit_y)  /* Mouse Y2 */
1287            val |= 0x20;
1288         if (m_mouse_bit_x)  /* Mouse X2 */
1289            val |= 0x10;
1290         if ((m_mouse0->read() & 0x01) == 0)
1291            val |= 0x08;
1291//  printf("VIA1 IN_B = %02x (PC %x)\n", val, m_maincpu->safe_pc());
12921292
1293         if (!ADB_IS_PM_CLASS)
1294         {
1295            val |= m_rtc->data_r();
1296         }
1297      }
1293   return val;
1294}
1295
1296READ8_MEMBER(mac_state::mac_via_in_b_via2pmu)
1297{
1298   int val = 0;
1299   // TODO: is this valid for VIA2 PMU machines?
1300   /* video beam in display (! VBLANK && ! HBLANK basically) */
1301   if (machine().primary_screen)
1302   {
1303      if (machine().primary_screen->vpos() >= MAC_V_VIS)
1304         val |= 0x40;
12981305   }
12991306
13001307//  printf("VIA1 IN_B = %02x (PC %x)\n", val, m_maincpu->safe_pc());
r26885r26886
13021309   return val;
13031310}
13041311
1312READ8_MEMBER(mac_state::mac_via_in_b_pmu)
1313{
1314   int val = 0;
1315//   printf("Read VIA B: PM_ACK %x\n", m_pm_ack);
1316   val = 0x80 | 0x04 | m_pm_ack;   // SCC wait/request (bit 2 must be set at 900c1a or startup tests always fail)
1317
1318//  printf("VIA1 IN_B = %02x (PC %x)\n", val, m_maincpu->safe_pc());
1319
1320   return val;
1321}
1322
13051323WRITE8_MEMBER(mac_state::mac_via_out_a)
13061324{
13071325   mac_sound_device *sound = machine().device<mac_sound_device>("custom");
13081326   device_t *fdc = machine().device("fdc");
13091327//  printf("VIA1 OUT A: %02x (PC %x)\n", data, m_maincpu->safe_pc());
13101328
1311   if (ADB_IS_PM_VIA1)
1312   {
1313      #if LOG_ADB
1314//      printf("%02x to PM\n", data);
1315      #endif
1316      m_pm_data_send = data;
1317      return;
1318   }
1319
13201329   set_scc_waitrequest((data & 0x80) >> 7);
13211330   m_screen_buffer = (data & 0x40) >> 6;
13221331   sony_set_sel_line(fdc,(data & 0x20) >> 5);
r26885r26886
13441353   }
13451354}
13461355
1356WRITE8_MEMBER(mac_state::mac_via_out_a_pmu)
1357{
1358//  printf("VIA1 OUT A: %02x (PC %x)\n", data, m_maincpu->safe_pc());
1359
1360   #if LOG_ADB
1361//   printf("%02x to PM\n", data);
1362   #endif
1363   m_pm_data_send = data;
1364   return;
1365}
1366
13471367WRITE8_MEMBER(mac_state::mac_via_out_b)
13481368{
13491369   mac_sound_device *sound = machine().device<mac_sound_device>("custom");
13501370//  printf("VIA1 OUT B: %02x (PC %x)\n", data, m_maincpu->safe_pc());
13511371
1352   if (ADB_IS_PM_VIA1)
1353   {
1354      device_t *fdc = machine().device("fdc");
1355
1356      sony_set_sel_line(fdc,(data & 0x20) >> 5);
1357      m_drive_select = ((data & 0x10) >> 4);
1358
1359      if ((data & 1) && !(m_pm_req & 1))
1360      {
1361         #if LOG_ADB
1362         printf("PM: 68k dropping /REQ\n");
1363         #endif
1364
1365         if (m_pm_state == 0)     // do this in receive state only
1366         {
1367            m_pm_data_recv = 0xff;
1368            m_pm_ack |= 2;
1369
1370            // check if length byte matches
1371            if ((m_pm_dptr >= 2) && (m_pm_cmd[1] == (m_pm_dptr-2)))
1372            {
1373               pmu_exec();
1374               #if LOG_ADB
1375               printf("PMU exec: command %02x length %d\n", m_pm_cmd[0], m_pm_cmd[1]);
1376               #endif
1377            }
1378         }
1379      }
1380      else if (!(data & 1) && (m_pm_req & 1))
1381      {
1382         if (m_pm_state == 0)
1383         {
1384            #if LOG_ADB
1385            printf("PM: 68k asserting /REQ, clocking in byte [%d] = %02x\n", m_pm_dptr, m_pm_data_send);
1386            #endif
1387            m_pm_ack &= ~2; // clear, we're waiting for more bytes
1388            m_pm_cmd[m_pm_dptr++] = m_pm_data_send;
1389         }
1390         else    // receiving, so this is different
1391         {
1392            m_pm_data_recv = m_pm_out[m_pm_sptr++];
1393            m_pm_slen--;
1394            m_pm_ack |= 2;  // raise ACK to indicate available byte
1395            #if LOG_ADB
1396            printf("PM: 68k asserted /REQ, sending byte %02x\n", m_pm_data_recv);
1397            #endif
1398
1399            // another byte to send?
1400            if (m_pm_slen)
1401            {
1402               m_pmu_send_timer->adjust(attotime(0, ATTOSECONDS_IN_USEC(100)));
1403            }
1404            else
1405            {
1406               m_pm_state = 0; // back to receive state
1407               m_pmu_send_timer->adjust(attotime::never);
1408            }
1409         }
1410      }
1411
1412      m_pm_req = data & 1;
1413      return;
1414   }
1415
14161372   if (AUDIO_IS_CLASSIC)
14171373   {
14181374      sound->enable_sound((data & 0x80) == 0);
14191375   }
14201376
1377   m_rtc->ce_w((data & 0x04)>>2);
1378   m_rtc->data_w(data & 0x01);
1379   m_rtc->clk_w((data >> 1) & 0x01);
1380}
1381
1382WRITE8_MEMBER(mac_state::mac_via_out_b_bbadb)
1383{
1384//  printf("VIA1 OUT B: %02x (PC %x)\n", data, m_maincpu->safe_pc());
1385
14211386   // SE and Classic have SCSI enable/disable here
14221387   if ((m_model == MODEL_MAC_SE) || (m_model == MODEL_MAC_CLASSIC))
14231388   {
r26885r26886
14371402      }
14381403   }
14391404
1440   if (ADB_IS_BITBANG_CLASS)
1441   {
1442      mac_adb_newaction((data & 0x30) >> 4);
1405   mac_adb_newaction((data & 0x30) >> 4);
14431406
1444      m_rtc->ce_w((data & 0x04)>>2);
1445      m_rtc->data_w(data & 0x01);
1446      m_rtc->clk_w((data >> 1) & 0x01);
1447   }
1448   else if (ADB_IS_EGRET)
1407   m_rtc->ce_w((data & 0x04)>>2);
1408   m_rtc->data_w(data & 0x01);
1409   m_rtc->clk_w((data >> 1) & 0x01);
1410}
1411
1412WRITE8_MEMBER(mac_state::mac_via_out_b_egadb)
1413{
1414//  printf("VIA1 OUT B: %02x (PC %x)\n", data, m_maincpu->safe_pc());
1415
1416   #if LOG_ADB
1417   printf("68K: New Egret state: SS %d VF %d (PC %x)\n", (data>>5)&1, (data>>4)&1, space.device().safe_pc());
1418   #endif
1419   m_egret->set_via_full((data&0x10) ? 1 : 0);
1420   m_egret->set_sys_session((data&0x20) ? 1 : 0);
1421}
1422
1423WRITE8_MEMBER(mac_state::mac_via_out_b_cdadb)
1424{
1425//  printf("VIA1 OUT B: %02x (PC %x)\n", data, m_maincpu->safe_pc());
1426
1427   #if LOG_ADB
1428   printf("68K: New Cuda state: TIP %d BYTEACK %d (PC %x)\n", (data>>5)&1, (data>>4)&1, space.device().safe_pc());
1429   #endif
1430   m_cuda->set_byteack((data&0x10) ? 1 : 0);
1431   m_cuda->set_tip((data&0x20) ? 1 : 0);
1432}
1433
1434WRITE8_MEMBER(mac_state::mac_via_out_b_via2pmu)
1435{
1436//  printf("VIA1 OUT B: %02x (PC %x)\n", data, m_maincpu->safe_pc());
1437}
1438
1439WRITE8_MEMBER(mac_state::mac_via_out_b_pmu)
1440{
1441//  printf("VIA1 OUT B: %02x (PC %x)\n", data, m_maincpu->safe_pc());
1442
1443   device_t *fdc = machine().device("fdc");
1444
1445   sony_set_sel_line(fdc,(data & 0x20) >> 5);
1446   m_drive_select = ((data & 0x10) >> 4);
1447
1448   if ((data & 1) && !(m_pm_req & 1))
14491449   {
14501450      #if LOG_ADB
1451      printf("68K: New Egret state: SS %d VF %d (PC %x)\n", (data>>5)&1, (data>>4)&1, space.device().safe_pc());
1451      printf("PM: 68k dropping /REQ\n");
14521452      #endif
1453      m_egret->set_via_full((data&0x10) ? 1 : 0);
1454      m_egret->set_sys_session((data&0x20) ? 1 : 0);
1453
1454      if (m_pm_state == 0)     // do this in receive state only
1455      {
1456         m_pm_data_recv = 0xff;
1457         m_pm_ack |= 2;
1458
1459         // check if length byte matches
1460         if ((m_pm_dptr >= 2) && (m_pm_cmd[1] == (m_pm_dptr-2)))
1461         {
1462            pmu_exec();
1463            #if LOG_ADB
1464            printf("PMU exec: command %02x length %d\n", m_pm_cmd[0], m_pm_cmd[1]);
1465            #endif
1466         }
1467      }
14551468   }
1456   else if (ADB_IS_CUDA)
1469   else if (!(data & 1) && (m_pm_req & 1))
14571470   {
1458      #if LOG_ADB
1459      printf("68K: New Cuda state: TIP %d BYTEACK %d (PC %x)\n", (data>>5)&1, (data>>4)&1, space.device().safe_pc());
1460      #endif
1461      m_cuda->set_byteack((data&0x10) ? 1 : 0);
1462      m_cuda->set_tip((data&0x20) ? 1 : 0);
1471      if (m_pm_state == 0)
1472      {
1473         #if LOG_ADB
1474         printf("PM: 68k asserting /REQ, clocking in byte [%d] = %02x\n", m_pm_dptr, m_pm_data_send);
1475         #endif
1476         m_pm_ack &= ~2; // clear, we're waiting for more bytes
1477         m_pm_cmd[m_pm_dptr++] = m_pm_data_send;
1478      }
1479      else    // receiving, so this is different
1480      {
1481         m_pm_data_recv = m_pm_out[m_pm_sptr++];
1482         m_pm_slen--;
1483         m_pm_ack |= 2;  // raise ACK to indicate available byte
1484         #if LOG_ADB
1485         printf("PM: 68k asserted /REQ, sending byte %02x\n", m_pm_data_recv);
1486         #endif
1487
1488         // another byte to send?
1489         if (m_pm_slen)
1490         {
1491            m_pmu_send_timer->adjust(attotime(0, ATTOSECONDS_IN_USEC(100)));
1492         }
1493         else
1494         {
1495            m_pm_state = 0; // back to receive state
1496            m_pmu_send_timer->adjust(attotime::never);
1497         }
1498      }
14631499   }
1464   else if (!ADB_IS_PM_CLASS)
1465   {
1466      m_rtc->ce_w((data & 0x04)>>2);
1467      m_rtc->data_w(data & 0x01);
1468      m_rtc->clk_w((data >> 1) & 0x01);
1469   }
1500
1501   m_pm_req = data & 1;
14701502}
14711503
14721504WRITE_LINE_MEMBER(mac_state::mac_via_irq)
r26885r26886
15081540}
15091541
15101542/* *************************************************************************
1511 * VIA 2 (on Mac IIs and PowerMacs)
1543 * VIA 2 (on Mac IIs, PowerBooks > 100, and PowerMacs)
15121544 * *************************************************************************/
15131545
15141546WRITE_LINE_MEMBER(mac_state::mac_via2_irq)
r26885r26886
15491581READ8_MEMBER(mac_state::mac_via2_in_a)
15501582{
15511583   UINT8 result;
1552   if (ADB_IS_PM_VIA2)
1584
1585   if ((m_model == MODEL_MAC_QUADRA_700) || (m_model == MODEL_MAC_QUADRA_900) || (m_model == MODEL_MAC_QUADRA_950))
15531586   {
1554      result = m_pm_data_recv;
1555   }
1556   else if ((m_model == MODEL_MAC_QUADRA_700) || (m_model == MODEL_MAC_QUADRA_900) || (m_model == MODEL_MAC_QUADRA_950))
1557   {
15581587      result = 0x80 | m_nubus_irq_state;
15591588   }
15601589   else
r26885r26886
15651594   return result;
15661595}
15671596
1597READ8_MEMBER(mac_state::mac_via2_in_a_pmu)
1598{
1599   return m_pm_data_recv;
1600}
1601
15681602READ8_MEMBER(mac_state::mac_via2_in_b)
15691603{
15701604//  logerror("VIA2 IN B (PC %x)\n", m_maincpu->safe_pc());
15711605
1572   if (ADB_IS_PM_VIA2)
1573   {
1574      if (m_pm_ack == 2)
1575      {
1576         return 0xcf;
1577      }
1578      else
1579      {
1580         return 0xcd;
1581      }
1582   }
1583
15841606   if ((m_model == MODEL_MAC_LC) || (m_model == MODEL_MAC_LC_II) || (m_model == MODEL_MAC_CLASSIC_II))
15851607   {
15861608      return 0x4f;
r26885r26886
15941616   return 0xcf;        // indicate no NuBus transaction error
15951617}
15961618
1597WRITE8_MEMBER(mac_state::mac_via2_out_a)
1619READ8_MEMBER(mac_state::mac_via2_in_b_pmu)
15981620{
1599//  logerror("VIA2 OUT A: %02x (PC %x)\n", data, m_maincpu->safe_pc());
1600   if (ADB_IS_PM_VIA2)
1621//  logerror("VIA2 IN B (PC %x)\n", m_maincpu->safe_pc());
1622
1623   if (m_pm_ack == 2)
16011624   {
1602      m_pm_data_send = data;
1603      return;
1625      return 0xcf;
16041626   }
1627   else
1628   {
1629      return 0xcd;
1630   }
16051631}
16061632
1633WRITE8_MEMBER(mac_state::mac_via2_out_a)
1634{
1635//  logerror("VIA2 OUT A: %02x (PC %x)\n", data, m_maincpu->safe_pc());
1636}
1637
1638WRITE8_MEMBER(mac_state::mac_via2_out_a_pmu)
1639{
1640//  logerror("VIA2 OUT A: %02x (PC %x)\n", data, m_maincpu->safe_pc());
1641   m_pm_data_send = data;
1642}
1643
16071644WRITE8_MEMBER(mac_state::mac_via2_out_b)
16081645{
16091646//  logerror("VIA2 OUT B: %02x (PC %x)\n", data, m_maincpu->safe_pc());
16101647
1611   if (ADB_IS_PM_VIA2)
1648   // chain 60.15 Hz to VIA1
1649   m_via1->write_ca1(data>>7);
1650
1651   if (m_model == MODEL_MAC_II)
16121652   {
1613      if ((data & 4) && !(m_pm_req & 4))
1653      m68000_base_device *m68k = downcast<m68000_base_device *>(m_maincpu.target());
1654      m68k_set_hmmu_enable(m68k, (data & 0x8) ? M68K_HMMU_DISABLE : M68K_HMMU_ENABLE_II);
1655   }
1656}
1657
1658WRITE8_MEMBER(mac_state::mac_via2_out_b_pmu)
1659{
1660//   logerror("VIA2 OUT B PMU: %02x (PC %x)\n", data, m_maincpu->pc());
1661
1662   if ((data & 4) && !(m_pm_req & 4))
1663   {
1664      #if LOG_ADB
1665      printf("PM: 68k dropping /REQ\n");
1666      #endif
1667
1668      if (m_pm_state == 0)     // do this in receive state only
16141669      {
1615         #if LOG_ADB
1616         printf("PM: 68k dropping /REQ\n");
1617         #endif
1670         m_pm_data_recv = 0xff;
1671         m_pm_ack |= 2;
16181672
1619         if (m_pm_state == 0)     // do this in receive state only
1673         // check if length byte matches
1674         if ((m_pm_dptr >= 2) && (m_pm_cmd[1] == (m_pm_dptr-2)))
16201675         {
1621            m_pm_data_recv = 0xff;
1622            m_pm_ack |= 2;
1623
1624            // check if length byte matches
1625            if ((m_pm_dptr >= 2) && (m_pm_cmd[1] == (m_pm_dptr-2)))
1626            {
1627               pmu_exec();
1628               #if LOG_ADB
1629               printf("PMU exec: command %02x length %d\n", m_pm_cmd[0], m_pm_cmd[1]);
1630               #endif
1631            }
1676            pmu_exec();
1677            #if LOG_ADB
1678            printf("PMU exec: command %02x length %d\n", m_pm_cmd[0], m_pm_cmd[1]);
1679            #endif
16321680         }
16331681      }
1634      else if (!(data & 4) && (m_pm_req & 4))
1682   }
1683   else if (!(data & 4) && (m_pm_req & 4))
1684   {
1685      if (m_pm_state == 0)
16351686      {
1636         if (m_pm_state == 0)
1687         #if LOG_ADB
1688         printf("PM: 68k asserting /REQ, clocking in byte [%d] = %02x\n", m_pm_dptr, m_pm_data_send);
1689         #endif
1690         m_pm_ack &= ~2; // clear, we're waiting for more bytes
1691         m_pm_cmd[m_pm_dptr++] = m_pm_data_send;
1692      }
1693      else    // receiving, so this is different
1694      {
1695         m_pm_data_recv = m_pm_out[m_pm_sptr++];
1696         m_pm_slen--;
1697         m_pm_ack |= 2;  // raise ACK to indicate available byte
1698         #if LOG_ADB
1699         printf("PM: 68k asserted /REQ, sending byte %02x\n", m_pm_data_recv);
1700         #endif
1701
1702         // another byte to send?
1703         if (m_pm_slen)
16371704         {
1638            #if LOG_ADB
1639            printf("PM: 68k asserting /REQ, clocking in byte [%d] = %02x\n", m_pm_dptr, m_pm_data_send);
1640            #endif
1641            m_pm_ack &= ~2; // clear, we're waiting for more bytes
1642            m_pm_cmd[m_pm_dptr++] = m_pm_data_send;
1705            m_pmu_send_timer->adjust(attotime(0, ATTOSECONDS_IN_USEC(100)));
16431706         }
1644         else    // receiving, so this is different
1707         else
16451708         {
1646            m_pm_data_recv = m_pm_out[m_pm_sptr++];
1647            m_pm_slen--;
1648            m_pm_ack |= 2;  // raise ACK to indicate available byte
1649            #if LOG_ADB
1650            printf("PM: 68k asserted /REQ, sending byte %02x\n", m_pm_data_recv);
1651            #endif
1652
1653            // another byte to send?
1654            if (m_pm_slen)
1655            {
1656               m_pmu_send_timer->adjust(attotime(0, ATTOSECONDS_IN_USEC(100)));
1657            }
1658            else
1659            {
1660               m_pm_state = 0; // back to receive state
1661               m_pmu_send_timer->adjust(attotime::never);
1662            }
1709            m_pm_state = 0; // back to receive state
1710            m_pmu_send_timer->adjust(attotime::never);
16631711         }
16641712      }
1665
1666      m_pm_req = data & 4;
1667      return;
16681713   }
1669   else
1670   {
1671      // chain 60.15 Hz to VIA1
1672      m_via1->write_ca1(data>>7);
1673   }
16741714
1675   if (m_model == MODEL_MAC_II)
1676   {
1677      m68000_base_device *m68k = downcast<m68000_base_device *>(m_maincpu.target());
1678      m68k_set_hmmu_enable(m68k, (data & 0x8) ? M68K_HMMU_DISABLE : M68K_HMMU_ENABLE_II);
1679   }
1715   m_pm_req = data & 4;
16801716}
16811717
16821718// This signal is generated internally on RBV, V8, Sonora, VASP, Eagle, etc.
r26885r26886
17041740         this->m_adb_timer->adjust(attotime::never);
17051741         m_pmu_int_status = 0;
17061742      }
1707
17081743   }
17091744
17101745   if (machine().primary_screen)
trunk/src/mess/includes/mac.h
r26885r26886
2727#define MAC_SCREEN_NAME "screen"
2828#define MAC_539X_1_TAG "scsi:539x_1"
2929#define MAC_539X_2_TAG "scsi:539x_2"
30#define MACKBD_TAG  "mackbd"
3130
3231// uncomment to run i8021 keyboard in orignal Mac/512(e)/Plus
3332//#define MAC_USE_EMULATED_KBD (1)
r26885r26886
3938#define ADB_IS_EGRET_NONCLASS   (mac->m_model >= MODEL_MAC_LC && mac->m_model <= MODEL_MAC_CLASSIC_II) || ((mac->m_model >= MODEL_MAC_IISI) && (mac->m_model <= MODEL_MAC_IIVI))
4039#define ADB_IS_CUDA     ((m_model >= MODEL_MAC_COLOR_CLASSIC && m_model <= MODEL_MAC_LC_580) || ((m_model >= MODEL_MAC_QUADRA_660AV) && (m_model <= MODEL_MAC_QUADRA_630)) || (m_model >= MODEL_MAC_POWERMAC_6100))
4140#define ADB_IS_CUDA_NONCLASS        ((mac->m_model >= MODEL_MAC_COLOR_CLASSIC && mac->m_model <= MODEL_MAC_LC_580) || ((mac->m_model >= MODEL_MAC_QUADRA_660AV) && (mac->m_model <= MODEL_MAC_QUADRA_630)) || (mac->m_model >= MODEL_MAC_POWERMAC_6100))
42#define ADB_IS_PM_VIA1  (m_model >= MODEL_MAC_PORTABLE && m_model <= MODEL_MAC_PB100)
43#define ADB_IS_PM_VIA2  (m_model >= MODEL_MAC_PB140 && m_model <= MODEL_MAC_PBDUO_270c)
4441#define ADB_IS_PM_VIA1_CLASS    (m_model >= MODEL_MAC_PORTABLE && m_model <= MODEL_MAC_PB100)
4542#define ADB_IS_PM_VIA2_CLASS    (m_model >= MODEL_MAC_PB140 && m_model <= MODEL_MAC_PBDUO_270c)
4643#define ADB_IS_PM_CLASS ((m_model >= MODEL_MAC_PORTABLE && m_model <= MODEL_MAC_PB100) || (m_model >= MODEL_MAC_PB140 && m_model <= MODEL_MAC_PBDUO_270c))
r26885r26886
203200      m_539x_1(*this, MAC_539X_1_TAG),
204201      m_539x_2(*this, MAC_539X_2_TAG),
205202      m_ncr5380(*this, "scsi:ncr5380"),
206      m_mackbd(*this, MACKBD_TAG),
203      m_mackbd(*this, MACKBD_DEFAULT_TAG),
207204      m_rtc(*this,"rtc"),
208205      m_mouse0(*this, "MOUSE0"),
209206      m_mouse1(*this, "MOUSE1"),
r26885r26886
519516   DECLARE_READ8_MEMBER(mac_via_in_b);
520517   DECLARE_WRITE8_MEMBER(mac_via_out_a);
521518   DECLARE_WRITE8_MEMBER(mac_via_out_b);
519   DECLARE_READ8_MEMBER(mac_via_in_a_pmu);
520   DECLARE_READ8_MEMBER(mac_via_in_b_pmu);
521   DECLARE_WRITE8_MEMBER(mac_via_out_a_pmu);
522   DECLARE_WRITE8_MEMBER(mac_via_out_b_pmu);
523   DECLARE_WRITE8_MEMBER(mac_via_out_b_bbadb);
524   DECLARE_WRITE8_MEMBER(mac_via_out_b_egadb);
525   DECLARE_WRITE8_MEMBER(mac_via_out_b_cdadb);
526   DECLARE_READ8_MEMBER(mac_via_in_b_via2pmu);
527   DECLARE_WRITE8_MEMBER(mac_via_out_b_via2pmu);
522528   DECLARE_READ8_MEMBER(mac_via2_in_a);
523529   DECLARE_READ8_MEMBER(mac_via2_in_b);
524530   DECLARE_WRITE8_MEMBER(mac_via2_out_a);
525531   DECLARE_WRITE8_MEMBER(mac_via2_out_b);
532   DECLARE_READ8_MEMBER(mac_via2_in_a_pmu);
533   DECLARE_READ8_MEMBER(mac_via2_in_b_pmu);
534   DECLARE_WRITE8_MEMBER(mac_via2_out_a_pmu);
535   DECLARE_WRITE8_MEMBER(mac_via2_out_b_pmu);
526536   DECLARE_WRITE_LINE_MEMBER(mac_kbd_clk_in);
527537   void mac_state_load();
528538   DECLARE_WRITE_LINE_MEMBER(mac_via_irq);
trunk/src/mess/drivers/macpci.c
r26885r26886
9292   NULL
9393};
9494
95static const cuda_interface mac_cuda_interface =
96{
97   DEVCB_DRIVER_LINE_MEMBER(macpci_state, cuda_reset_w),
98   DEVCB_DRIVER_LINE_MEMBER(macpci_state, cuda_adb_linechange_w)
99};
100
10195static MACHINE_CONFIG_START( pippin, macpci_state )
10296   /* basic machine hardware */
10397   MCFG_CPU_ADD("maincpu", PPC603, 66000000)
r26885r26886
135129   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(macpci_state,mac_via_irq))
136130
137131//  MCFG_SCC8530_ADD("scc", C7M, line_cb_t(FUNC(macpci_state::set_scc_interrupt), static_cast<macpci_state *>(owner)))
138   MCFG_CUDA_ADD(CUDA_341S0060, mac_cuda_interface)
132   MCFG_CUDA_ADD(CUDA_341S0060)
133   MCFG_CUDA_RESET_CALLBACK(WRITELINE(macpci_state, cuda_reset_w))
134   MCFG_CUDA_LINECHANGE_CALLBACK(WRITELINE(macpci_state, cuda_adb_linechange_w))
135   MCFG_CUDA_VIA_CLOCK_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb1))
136   MCFG_CUDA_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
139137   MCFG_QUANTUM_PERFECT_CPU("maincpu")
140138MACHINE_CONFIG_END
141139
trunk/src/mess/drivers/mac.c
r26885r26886
918918   NULL
919919};
920920
921static const cuda_interface mac_cuda_interface =
922{
923   DEVCB_DRIVER_LINE_MEMBER(mac_state, cuda_reset_w),
924   DEVCB_DRIVER_LINE_MEMBER(mac_state, adb_linechange_w)
925};
926
927static const cuda_interface mac_egret_interface =
928{
929   DEVCB_DRIVER_LINE_MEMBER(mac_state, cuda_reset_w),
930   DEVCB_DRIVER_LINE_MEMBER(mac_state, adb_linechange_w)
931};
932
933921static MACHINE_CONFIG_START( mac512ke, mac_state )
934922
935923   /* basic machine hardware */
r26885r26886
971959   MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_via_out_cb2))
972960   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via_irq))
973961
974   MCFG_DEVICE_ADD(MACKBD_TAG, MACKBD, 0)
962   MCFG_MACKBD_ADD()
975963#ifdef MAC_USE_EMULATED_KBD
976964   MCFG_MACKBD_DATAOUT_HANDLER(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
977965   MCFG_MACKBD_CLKOUT_HANDLER(WRITELINE(mac_state, mac_kbd_clk_in))
r26885r26886
10201008   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a))
10211009   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b))
10221010   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a))
1023   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b))
1011   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_bbadb))
10241012   MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2))
10251013   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via_irq))
10261014
r26885r26886
10291017   MCFG_RAM_DEFAULT_SIZE("4M")
10301018   MCFG_RAM_EXTRA_OPTIONS("2M,2560K,4M")
10311019
1032   MCFG_DEVICE_REMOVE(MACKBD_TAG)
1020   MCFG_MACKBD_REMOVE()
10331021
10341022   MCFG_MACPDS_BUS_ADD("sepds", "maincpu", macpds_intf)
10351023   MCFG_MACPDS_SLOT_ADD("sepds", "pds", mac_sepds_cards, NULL)
r26885r26886
10441032   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a))
10451033   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b))
10461034   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a))
1047   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b))
1035   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_bbadb))
10481036   MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2))
10491037   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via_irq))
10501038
r26885r26886
10531041   MCFG_RAM_DEFAULT_SIZE("4M")
10541042   MCFG_RAM_EXTRA_OPTIONS("2M,2560K,4M")
10551043
1056   MCFG_DEVICE_REMOVE(MACKBD_TAG)
1044   MCFG_MACKBD_REMOVE()
10571045MACHINE_CONFIG_END
10581046
10591047static MACHINE_CONFIG_START( macprtb, mac_state )
1060
10611048   /* basic machine hardware */
10621049   MCFG_CPU_ADD("maincpu", M68000, C15M)
10631050   MCFG_CPU_PROGRAM_MAP(macprtb_map)
r26885r26886
10951082
10961083   MCFG_SCC8530_ADD("scc", C7M, line_cb_t(FUNC(mac_state::set_scc_interrupt), static_cast<mac_state *>(owner)))
10971084   MCFG_DEVICE_ADD("via6522_0", VIA6522, 783360)
1098   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a))
1099   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b))
1100   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a))
1101   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b))
1085   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a_pmu))
1086   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b_pmu))
1087   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a_pmu))
1088   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_pmu))
11021089   MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_via_out_cb2))
11031090   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via_irq))
11041091
r26885r26886
11501137   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a))
11511138   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b))
11521139   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a))
1153   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b))
1140   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_bbadb))
11541141   MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2))
11551142   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via_irq))
11561143
r26885r26886
12481235   MCFG_RAM_DEFAULT_SIZE("2M")
12491236   MCFG_RAM_EXTRA_OPTIONS("4M,6M,8M,10M")
12501237
1238   MCFG_DEVICE_MODIFY("via6522_0")
1239   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_egadb))
1240
12511241   MCFG_NUBUS_SLOT_REMOVE("nb9")
12521242   MCFG_NUBUS_SLOT_REMOVE("nba")
12531243   MCFG_NUBUS_SLOT_REMOVE("nbb")
r26885r26886
12631253   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
12641254   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
12651255
1266   MCFG_EGRET_ADD(EGRET_341S0850, mac_egret_interface)
1256   MCFG_EGRET_ADD(EGRET_341S0850)
1257   MCFG_EGRET_RESET_CALLBACK(WRITELINE(mac_state, cuda_reset_w))
1258   MCFG_EGRET_LINECHANGE_CALLBACK(WRITELINE(mac_state, adb_linechange_w))
1259   MCFG_EGRET_VIA_CLOCK_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb1))
1260   MCFG_EGRET_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
12671261   MCFG_QUANTUM_PERFECT_CPU("maincpu")
12681262MACHINE_CONFIG_END
12691263
r26885r26886
12811275static MACHINE_CONFIG_DERIVED( maccclas, maclc2 )
12821276
12831277   MCFG_EGRET_REMOVE()
1284   MCFG_CUDA_ADD(CUDA_341S0788, mac_cuda_interface)    // should be 0417, but that version won't sync up properly with the '030 right now
1278   MCFG_CUDA_ADD(CUDA_341S0788)    // should be 0417, but that version won't sync up properly with the '030 right now
1279   MCFG_CUDA_RESET_CALLBACK(WRITELINE(mac_state, cuda_reset_w))
1280   MCFG_CUDA_LINECHANGE_CALLBACK(WRITELINE(mac_state, adb_linechange_w))
1281   MCFG_CUDA_VIA_CLOCK_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb1))
1282   MCFG_CUDA_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
1283
1284   MCFG_DEVICE_MODIFY("via6522_0")
1285   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_cdadb))
12851286MACHINE_CONFIG_END
12861287
12871288static MACHINE_CONFIG_DERIVED( maclc3, maclc )
r26885r26886
13041305   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
13051306   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
13061307
1307   MCFG_EGRET_REPLACE(EGRET_341S0851, mac_egret_interface)
1308   MCFG_EGRET_REPLACE(EGRET_341S0851)
1309   MCFG_EGRET_RESET_CALLBACK(WRITELINE(mac_state, cuda_reset_w))
1310   MCFG_EGRET_LINECHANGE_CALLBACK(WRITELINE(mac_state, adb_linechange_w))
1311   MCFG_EGRET_VIA_CLOCK_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb1))
1312   MCFG_EGRET_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
13081313MACHINE_CONFIG_END
13091314
13101315static MACHINE_CONFIG_DERIVED( maclc520, maclc3 )
13111316
13121317   MCFG_EGRET_REMOVE()
1313   MCFG_CUDA_ADD(CUDA_341S0060, mac_cuda_interface)
1318   MCFG_CUDA_ADD(CUDA_341S0060)
1319   MCFG_CUDA_RESET_CALLBACK(WRITELINE(mac_state, cuda_reset_w))
1320   MCFG_CUDA_LINECHANGE_CALLBACK(WRITELINE(mac_state, adb_linechange_w))
1321   MCFG_CUDA_VIA_CLOCK_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb1))
1322   MCFG_CUDA_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
1323
1324   MCFG_DEVICE_MODIFY("via6522_0")
1325   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_cdadb))
13141326MACHINE_CONFIG_END
13151327
13161328static MACHINE_CONFIG_DERIVED( maciivx, maclc )
r26885r26886
13341346   MCFG_RAM_DEFAULT_SIZE("4M")
13351347   MCFG_RAM_EXTRA_OPTIONS("8M,12M,16M,20M,24M,28M,32M,36M,40M,44M,48M,52M,56M,60M,64M")
13361348
1337   MCFG_EGRET_REPLACE(EGRET_341S0851, mac_egret_interface)
1349   MCFG_EGRET_REPLACE(EGRET_341S0851)
1350   MCFG_EGRET_RESET_CALLBACK(WRITELINE(mac_state, cuda_reset_w))
1351   MCFG_EGRET_LINECHANGE_CALLBACK(WRITELINE(mac_state, adb_linechange_w))
1352   MCFG_EGRET_VIA_CLOCK_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb1))
1353   MCFG_EGRET_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
13381354MACHINE_CONFIG_END
13391355
13401356static MACHINE_CONFIG_DERIVED( maciivi, maclc )
r26885r26886
13581374   MCFG_RAM_DEFAULT_SIZE("4M")
13591375   MCFG_RAM_EXTRA_OPTIONS("8M,12M,16M,20M,24M,28M,32M,36M,40M,44M,48M,52M,56M,60M,64M")
13601376
1361   MCFG_EGRET_REPLACE(EGRET_341S0851, mac_egret_interface)
1377   MCFG_EGRET_REPLACE(EGRET_341S0851)
1378   MCFG_EGRET_RESET_CALLBACK(WRITELINE(mac_state, cuda_reset_w))
1379   MCFG_EGRET_LINECHANGE_CALLBACK(WRITELINE(mac_state, adb_linechange_w))
1380   MCFG_EGRET_VIA_CLOCK_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb1))
1381   MCFG_EGRET_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
13621382MACHINE_CONFIG_END
13631383
13641384static MACHINE_CONFIG_DERIVED( maciix, macii )
r26885r26886
14211441   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a))
14221442   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b))
14231443   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a))
1424   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b))
1444   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_bbadb))
14251445   MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2))
14261446   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via_irq))
14271447
r26885r26886
14791499
14801500   MCFG_DEVICE_ADD("via6522_0", VIA6522, 783360)
14811501   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a))
1482   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b))
1502   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b_via2pmu))
14831503   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a))
1484   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b))
1504   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_via2pmu))
14851505   MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2))
14861506   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via_irq))
14871507
14881508   MCFG_DEVICE_ADD("via6522_1", VIA6522, 783360)
1489   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state, mac_via2_in_a))
1490   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state, mac_via2_in_b))
1491   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via2_out_a))
1492   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via2_out_b))
1509   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state, mac_via2_in_a_pmu))
1510   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state, mac_via2_in_b_pmu))
1511   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via2_out_a_pmu))
1512   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via2_out_b_pmu))
14931513   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via2_irq))
14941514
14951515   /* internal ram */
r26885r26886
15591579
15601580   MCFG_DEVICE_ADD("via6522_0", VIA6522, 783360)
15611581   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a))
1562   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b))
1582   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b_via2pmu))
15631583   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a))
1564   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b))
1584   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_via2pmu))
15651585   MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2))
15661586   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via_irq))
15671587
15681588   MCFG_DEVICE_ADD("via6522_1", VIA6522, 783360)
1569   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state, mac_via2_in_a))
1570   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state, mac_via2_in_b))
1571   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via2_out_a))
1572   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via2_out_b))
1589   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state, mac_via2_in_a_pmu))
1590   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state, mac_via2_in_b_pmu))
1591   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via2_out_a_pmu))
1592   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via2_out_b_pmu))
15731593   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via2_irq))
15741594
15751595   /* internal ram */
r26885r26886
16341654   MCFG_RAM_DEFAULT_SIZE("10M")
16351655   MCFG_RAM_EXTRA_OPTIONS("2M,4M,6M,8M,10M")
16361656
1637   MCFG_EGRET_REPLACE(EGRET_341S0851, mac_egret_interface)
1657   MCFG_EGRET_REPLACE(EGRET_341S0851)
1658   MCFG_EGRET_RESET_CALLBACK(WRITELINE(mac_state, cuda_reset_w))
1659   MCFG_EGRET_LINECHANGE_CALLBACK(WRITELINE(mac_state, adb_linechange_w))
1660   MCFG_EGRET_VIA_CLOCK_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb1))
1661   MCFG_EGRET_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
16381662MACHINE_CONFIG_END
16391663
16401664static MACHINE_CONFIG_DERIVED( maciici, macii )
r26885r26886
16971721   MCFG_RAM_DEFAULT_SIZE("2M")
16981722   MCFG_RAM_EXTRA_OPTIONS("4M,8M,16M,32M,48M,64M,128M")
16991723
1700   MCFG_EGRET_ADD(EGRET_344S0100, mac_egret_interface)
1724   MCFG_DEVICE_MODIFY("via6522_0")
1725   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_egadb))
1726
1727   MCFG_EGRET_ADD(EGRET_344S0100)
1728   MCFG_EGRET_RESET_CALLBACK(WRITELINE(mac_state, cuda_reset_w))
1729   MCFG_EGRET_LINECHANGE_CALLBACK(WRITELINE(mac_state, adb_linechange_w))
1730   MCFG_EGRET_VIA_CLOCK_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb1))
1731   MCFG_EGRET_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
17011732   MCFG_QUANTUM_PERFECT_CPU("maincpu")
17021733MACHINE_CONFIG_END
17031734
r26885r26886
17421773   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a))
17431774   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b))
17441775   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a))
1745   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b))
1776   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_cdadb))
17461777   MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2))
17471778   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via_irq))
17481779
r26885r26886
17581789   MCFG_RAM_DEFAULT_SIZE("8M")
17591790   MCFG_RAM_EXTRA_OPTIONS("16M,32M,64M,128M")
17601791
1761   MCFG_CUDA_ADD(CUDA_341S0060, mac_cuda_interface)
1792   MCFG_CUDA_ADD(CUDA_341S0060)
1793   MCFG_CUDA_RESET_CALLBACK(WRITELINE(mac_state, cuda_reset_w))
1794   MCFG_CUDA_LINECHANGE_CALLBACK(WRITELINE(mac_state, adb_linechange_w))
1795   MCFG_CUDA_VIA_CLOCK_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb1))
1796   MCFG_CUDA_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
17621797MACHINE_CONFIG_END
17631798
17641799static MACHINE_CONFIG_START( macqd700, mac_state )
r26885r26886
17991834   MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a))
18001835   MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b))
18011836   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a))
1802   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b))
1837   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_bbadb))
18031838   MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2))
18041839   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via_irq))
18051840

Previous 199869 Revisions Next


© 1997-2024 The MAME Team