Previous 199869 Revisions Next

r24626 Thursday 1st August, 2013 at 10:11:16 UTC by Dirk Best
cs4031: do the previous commit a bit differently
[src/mess/machine]cs4031.c cs4031.h

trunk/src/mess/machine/cs4031.c
r24625r24626
3838#define LOG_REGISTER    1
3939#define LOG_MEMORY      1
4040#define LOG_IO          1
41#define LOG_KEYBOARD   0
4142
4243
4344//**************************************************************************
r24625r24626
210211   m_refresh_toggle(0),
211212   m_iochck(1),
212213   m_nmi_mask(1),
213   m_sysctrl(0),
214214   m_cpureset(0),
215215   m_kbrst(1),
216216   m_ext_gatea20(0),
r24625r24626
718718
719719READ8_MEMBER( cs4031_device::keyb_status_r )
720720{
721   if (LOG_KEYBOARD)
722      logerror("cs4031_device::keyb_status_r\n");
723
721724   return m_keybc->status_r(space, 0);
722725}
723726
724727WRITE8_MEMBER( cs4031_device::keyb_command_w )
725728{
726   if (0)
729   if (LOG_KEYBOARD)
727730      logerror("cs4031_device::keyb_command_w: %02x\n", data);
728731
729732   m_keybc->command_w(space, 0, data);
r24625r24626
731734
732735READ8_MEMBER( cs4031_device::keyb_data_r )
733736{
734   if (0)
737   if (LOG_KEYBOARD)
735738      logerror("cs4031_device::keyb_data_r\n");
736739
737740   return m_keybc->data_r(space, 0);
r24625r24626
739742
740743WRITE8_MEMBER( cs4031_device::keyb_data_w )
741744{
742   if (0)
745   if (LOG_KEYBOARD)
743746      logerror("cs4031_device::keyb_data_w: %02x\n", data);
744747
745748   m_keybc->data_w(space, 0, data);
r24625r24626
747750
748751WRITE_LINE_MEMBER( cs4031_device::gatea20_w )
749752{
750   if (LOG_IO)
753   if (LOG_KEYBOARD)
751754      logerror("cs4031_device::gatea20_w: %u\n", state);
752755
753756   if (m_ext_gatea20 != state)
r24625r24626
759762
760763WRITE_LINE_MEMBER( cs4031_device::kbrst_w )
761764{
762   if (LOG_IO)
765   if (LOG_KEYBOARD)
763766      logerror("cs4031_device::kbrst_w: %u\n", state);
764767
765768   // active low signal
r24625r24626
786789   if (LOG_IO)
787790      logerror("cs4031_device::sysctrl_w: %u\n", data);
788791
789   m_sysctrl = data;
790
791792   m_fast_gatea20 = BIT(data, 1);
792793   a20m();
793794
r24625r24626
803804
804805READ8_MEMBER( cs4031_device::sysctrl_r )
805806{
807   UINT8 result = 0; // reserved bits read as 0?
808
809   result |= m_cpureset << 0;
810   result |= m_fast_gatea20 << 1;
811
806812   if (LOG_IO)
807      logerror("cs4031_device::sysctrl_r: %u\n", m_sysctrl);
813      logerror("cs4031_device::sysctrl_r: %u\n", result);
808814
809   return m_sysctrl;
815   return result;
810816}
811817
818
812819//**************************************************************************
813820//  MISCELLANEOUS
814821//**************************************************************************
trunk/src/mess/machine/cs4031.h
r24625r24626
240240   int m_refresh_toggle;
241241   int m_iochck;
242242   int m_nmi_mask;
243   UINT8 m_sysctrl;
244243
245244   // keyboard
246245   at_keyboard_controller_device *m_keybc;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team