Previous 199869 Revisions Next

r35054 Sunday 15th February, 2015 at 19:31:35 UTC by hap
fix k/i input handling
[src/emu/cpu/amis2000]amis2000.c amis2000.h amis2000op.inc

trunk/src/emu/cpu/amis2000/amis2000.c
r243565r243566
156156   m_bu = 0;
157157   m_acc = 0;
158158   m_e = 0;
159   m_i = 0;
160   m_k = 0;
159   m_ki_mask = 0;
161160   m_d = 0;
162161   m_d_active = false;
163162   m_d_polarity = 0;
r243565r243566
177176   save_item(NAME(m_bu));
178177   save_item(NAME(m_acc));
179178   save_item(NAME(m_e));
180   save_item(NAME(m_i));
181   save_item(NAME(m_k));
179   save_item(NAME(m_ki_mask));
182180   save_item(NAME(m_d));
183181   save_item(NAME(m_d_active));
184182   save_item(NAME(m_d_polarity));
r243565r243566
214212   m_d_polarity = 0;
215213   m_d = 0; d_latch_out(false);
216214   m_a = 0; m_write_a(0, 0, 0xffff);
217   m_i = 0xf;
218   m_k = 0xf;
215   m_ki_mask = 0xf;
219216}
220217
221218
trunk/src/emu/cpu/amis2000/amis2000.h
r243565r243566
9191   UINT8 m_bu;                 // 2/3-bit ram index y
9292   UINT8 m_acc;                // 4-bit accumulator
9393   UINT8 m_e;                  // 4-bit generic register
94   UINT8 m_i;                  // 4-bit i-pins latch
95   UINT8 m_k;                  // 4-bit k-pins latch
94   UINT8 m_ki_mask;            // 4-bit k/i-pins select latch
9695   UINT8 m_d;                  // 8-bit d-pins latch
9796   bool m_d_active;            // d-pins available for direct i/o(floating), or outputting d-latch
9897   UINT8 m_d_polarity;         // invert d-latch output
trunk/src/emu/cpu/amis2000/amis2000op.inc
r243565r243566
4545   {
4646      UINT8 param = m_op & 0x0f;
4747      m_acc = param;
48      m_i = m_read_i(0, 0xff) & param;
49      m_k = m_read_k(0, 0xff) & param;
48      m_ki_mask = param;
5049   }
5150}
5251
r243565r243566
371370
372371void amis2000_device::op_szi()
373372{
374   // SZI: skip next on zero I pin(s)
375   m_skip = !m_i;
373   // SZI: skip next on I pin(s)
374   // note: AMI's manual is ambiguous here
375   m_skip = ((m_read_i(0, 0xff) & m_ki_mask) != 0);
376376}
377377
378378void amis2000_device::op_szk()
379379{
380   // SZK: skip next on zero K pin(s)
381   m_skip = !m_k;
380   // SZK: skip next on K pin(s)
381   // note: AMI's manual is ambiguous here
382   m_skip = ((m_read_k(0, 0xff) & m_ki_mask) != 0);
382383}
383384
384385void amis2000_device::op_sbe()


Previous 199869 Revisions Next


© 1997-2024 The MAME Team