Previous 199869 Revisions Next

r24025 Sunday 30th June, 2013 at 21:22:08 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
r24024r24025
5454   8143 P
5555   (C) INTEL 76
5656   */
57   ROM_LOAD( "4584751.bin", 0x000, 0x400, CRC(c59aa9d1) SHA1(4f5b2a075c68f6493310ec1e2a24271ceea330df) )
57   ROM_LOAD( "4584751.m1", 0x000, 0x400, CRC(c59aa9d1) SHA1(4f5b2a075c68f6493310ec1e2a24271ceea330df) )
5858ROM_END
5959
6060
r24024r24025
108108
109109INPUT_PORTS_START( ibm_pc_xt_83_keyboard )
110110   PORT_START("MD00")
111   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
112   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
113   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
114   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
115   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
116   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
117   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
118   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
111   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
112   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //4e
113   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //51
114   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) //4d
115   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) //4a
116   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) //49
117   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
118   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //46
119119
120120   PORT_START("MD01")
121   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
122   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
123   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
124   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
125   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
126   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
127   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
128   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
121   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) //53
122   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //50
123   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //4f
124   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) //4c
125   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) //4b
126   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) //47
127   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) //48
128   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //45
129129
130130   PORT_START("MD02")
131   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
132   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
133   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
134   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
135   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
136   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
137   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
138   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
131   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) //52
132   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //37
133   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //36
134   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) //29
135   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) //1c
136   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
137   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
138   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //0e
139139
140140   PORT_START("MD03")
141   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
142   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
143   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
144   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
145   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
146   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
147   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
148   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
141   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) //3a
142   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //35
143   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //28
144   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
145   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) //1b
146   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) //1a
147   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
148   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //0d
149149
150150   PORT_START("MD04")
151   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
152   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
153   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
154   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
155   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
156   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
157   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
158   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
151   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
152   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //34
153   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //27
154   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) //26
155   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
156   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) //19
157   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) //0c
158   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //0b
159159
160160   PORT_START("MD05")
161   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
162   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
163   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
164   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
165   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
166   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
167   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
168   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
161   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) //32
162   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //33
163   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //25
164   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) //24
165   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) //18
166   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) //17
167   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) //0a
168   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //09
169169
170170   PORT_START("MD06")
171   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
172   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
173   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
174   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
175   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
176   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
177   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
178   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
171   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) //39
172   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //31
173   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //30
174   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) //23
175   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) //16
176   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) //15
177   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) //08
178   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //07
179179
180180   PORT_START("MD07")
181   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
182   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
183   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
184   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
185   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
186   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
187   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
188   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
181   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) //2e
182   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //2f
183   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //22
184   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) //21
185   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) //14
186   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) //13
187   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) //06
188   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //05
189189
190190   PORT_START("MD08")
191   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
192   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
193   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
194   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
195   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
196   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
197   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
198   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
191   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) //2d
192   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //2c
193   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //20
194   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) //1f
195   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) //12
196   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) //11
197   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) //04
198   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //03
199199
200200   PORT_START("MD09")
201   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
202   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
203   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
204   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
205   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
206   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
207   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
208   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
201   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) //2b
202   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //2a
203   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //1d
204   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) //1e
205   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) //10
206   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) //0f
207   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) //02
208   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //01
209209
210210   PORT_START("MD10")
211   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
212   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
213   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
214   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
215   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
216   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
217   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
218   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
211   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) //38
212   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //44
213   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //42
214   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) //40
215   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
216   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) //3e
217   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
218   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //3c
219219
220220   PORT_START("MD11")
221   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD )
222   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD )
223   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD )
224   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD )
225   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD )
226   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD )
227   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD )
228   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD )
221   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
222   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) //43
223   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) //41
224   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) //3f
225   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
226   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) //3d
227   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) //76
228   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) //3b
229229INPUT_PORTS_END
230230
231231
r24024r24025
264264     m_md09(*this, "MD09"),
265265     m_md10(*this, "MD10"),
266266     m_md11(*this, "MD11"),
267     m_p1(0),
268     m_p2(0)
267     m_bus(0xff),
268     m_p1(0xff),
269     m_p2(0xff),
270     m_sense(0),
271     m_q(1)
269272{
270273}
271274
r24024r24025
279282   set_pc_kbdc_device();
280283   
281284   // state saving
285   save_item(NAME(m_bus));
282286   save_item(NAME(m_p1));
283287   save_item(NAME(m_p2));
284   save_item(NAME(m_md));
285288   save_item(NAME(m_sense));
289   save_item(NAME(m_q));
286290}
287291
288292
r24024r24025
292296
293297void ibm_pc_xt_83_keyboard_device::device_reset()
294298{
295   m_maincpu->reset();
296299}
297300
298301
r24024r24025
332335       4       
333336       5       DATAOUT
334337       6       -REQOUT
335       7       RESET
338       7       Z1 RESET
336339   
337340   */
338341
339342   m_pc_kbdc->data_write_from_kb(BIT(data, 5));
340343   m_pc_kbdc->clock_write_from_kb(BIT(data, 6));
341344
342   if (BIT(data, 7))
345   if (!BIT(m_bus, 7) && BIT(data, 7))
343346   {
344      m_md = (m_p2 & 0xf0) << 4 | m_p1;
347      UINT8 data = 0xff;
348
349      if (BIT(m_p1, 0)) data &= m_md00->read();
350      if (BIT(m_p1, 1)) data &= m_md01->read();
351      if (BIT(m_p1, 2)) data &= m_md02->read();
352      if (BIT(m_p1, 3)) data &= m_md03->read();
353      if (BIT(m_p1, 4)) data &= m_md04->read();
354      if (BIT(m_p1, 5)) data &= m_md05->read();
355      if (BIT(m_p1, 6)) data &= m_md06->read();
356      if (BIT(m_p1, 7)) data &= m_md07->read();
357      if (BIT(m_p2, 4)) data &= m_md08->read();
358      if (BIT(m_p2, 5)) data &= m_md09->read();
359      if (BIT(m_p2, 6)) data &= m_md10->read();
360      if (BIT(m_p2, 7)) data &= m_md11->read();
361     
362      m_q = BIT(data, m_sense);
345363   }
364
365   m_bus = data;
346366}
347367
348368
r24024r24025
417437
418438READ8_MEMBER( ibm_pc_xt_83_keyboard_device::t1_r )
419439{
420   return sa_closed();
440   return BIT(m_p2, 3) && m_q;
421441}
422
423
424//-------------------------------------------------
425//  sa_closed -
426//-------------------------------------------------
427
428int ibm_pc_xt_83_keyboard_device::sa_closed()
429{
430   UINT8 data = 0xff;
431
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();
444
445   return BIT(data, m_sense);
446}
trunk/src/mess/machine/kb_pcxt83.h
r24024r24025
5353   virtual DECLARE_WRITE_LINE_MEMBER( data_write );
5454
5555private:
56   int sa_closed();
57
5856   required_device<cpu_device> m_maincpu;
5957   required_ioport m_md00;
6058   required_ioport m_md01;
r24024r24025
6967   required_ioport m_md10;
7068   required_ioport m_md11;
7169
70   UINT8 m_bus;
7271   UINT8 m_p1;
7372   UINT8 m_p2;
74   UINT16 m_md;
7573   int m_sense;
74   int m_q;
7675};
7776
7877

Previous 199869 Revisions Next


© 1997-2024 The MAME Team