Previous 199869 Revisions Next

r24017 Sunday 30th June, 2013 at 11:00:58 UTC by Curt Coder
(MESS) ibm5160: Keyboard WIP. (nw)
[src/mess/machine]kb_pcxt83.c kb_pcxt83.h

trunk/src/mess/machine/kb_pcxt83.c
r24016r24017
281281   // state saving
282282   save_item(NAME(m_p1));
283283   save_item(NAME(m_p2));
284   save_item(NAME(m_md));
285   save_item(NAME(m_sense));
284286}
285287
286288
r24016r24017
336338
337339   m_pc_kbdc->data_write_from_kb(BIT(data, 5));
338340   m_pc_kbdc->clock_write_from_kb(BIT(data, 6));
341
342   if (BIT(data, 7))
343   {
344      m_md = (m_p2 & 0xf0) << 4 | m_p1;
345   }
339346}
340347
341348
r24016r24017
377384       0       SELECT 2
378385       1       SELECT 1
379386       2       SELECT 0
380       3       SA CLOSED, T1
387       3       SA CLOSED
381388       4       MD08
382389       5       MD09
383390       6       MD10
r24016r24017
385392   
386393   */
387394
395   if (!BIT(m_p2, 3) && BIT(data, 3))
396   {
397      m_sense = data & 0x07;
398   }
399
388400   m_p2 = data;
389401}
390402
r24016r24017
417429{
418430   UINT8 data = 0xff;
419431
420   logerror("md %03x sense %01x\n", m_p2 << 4 | m_p1, m_p2&0x07);
432   if (BIT(m_md,  0)) data &= m_md00->read();
433   if (BIT(m_md,  1)) data &= m_md01->read();
434   if (BIT(m_md,  2)) data &= m_md02->read();
435   if (BIT(m_md,  3)) data &= m_md03->read();
436   if (BIT(m_md,  4)) data &= m_md04->read();
437   if (BIT(m_md,  5)) data &= m_md05->read();
438   if (BIT(m_md,  6)) data &= m_md06->read();
439   if (BIT(m_md,  7)) data &= m_md07->read();
440   if (BIT(m_md,  8)) data &= m_md08->read();
441   if (BIT(m_md,  9)) data &= m_md09->read();
442   if (BIT(m_md, 10)) data &= m_md10->read();
443   if (BIT(m_md, 11)) data &= m_md11->read();
421444
422   if (BIT(m_p1, 0)) data &= m_md00->read();
423   if (BIT(m_p1, 1)) data &= m_md01->read();
424   if (BIT(m_p1, 2)) data &= m_md02->read();
425   if (BIT(m_p1, 3)) data &= m_md03->read();
426   if (BIT(m_p1, 4)) data &= m_md04->read();
427   if (BIT(m_p1, 5)) data &= m_md05->read();
428   if (BIT(m_p1, 6)) data &= m_md06->read();
429   if (BIT(m_p1, 7)) data &= m_md07->read();
430   if (BIT(m_p2, 4)) data &= m_md08->read();
431   if (BIT(m_p2, 5)) data &= m_md09->read();
432   if (BIT(m_p2, 6)) data &= m_md10->read();
433   if (BIT(m_p2, 7)) data &= m_md11->read();
434
435   return BIT(m_p2, 3) && BIT(data, m_p2 & 0x07);
445   return BIT(data, m_sense);
436446}
trunk/src/mess/machine/kb_pcxt83.h
r24016r24017
7171
7272   UINT8 m_p1;
7373   UINT8 m_p2;
74   UINT16 m_md;
75   int m_sense;
7476};
7577
7678

Previous 199869 Revisions Next


© 1997-2024 The MAME Team