Previous 199869 Revisions Next

r20503 Saturday 26th January, 2013 at 19:27:16 UTC by Wilbert Pol
(MESS) cfx9850.c: Tagmap cleanup (nw)
[src/mess/drivers]cfx9850.c

trunk/src/mess/drivers/cfx9850.c
r20502r20503
2525{
2626public:
2727   cfx9850_state(const machine_config &mconfig, device_type type, const char *tag)
28      : driver_device(mconfig, type, tag),
29      m_video_ram(*this, "video_ram"),
30      m_display_ram(*this, "display_ram") { }
28      : driver_device(mconfig, type, tag)
29      , m_video_ram(*this, "video_ram")
30      , m_display_ram(*this, "display_ram")
31      , m_ko1(*this, "KO1")
32      , m_ko2(*this, "KO2")
33      , m_ko3(*this, "KO3")
34      , m_ko4(*this, "KO4")
35      , m_ko5(*this, "KO5")
36      , m_ko6(*this, "KO6")
37      , m_ko7(*this, "KO7")
38      , m_ko8(*this, "KO8")
39      , m_ko9(*this, "KO9")
40      , m_ko10(*this, "KO10")
41      , m_ko11(*this, "KO11")
42      , m_ko12(*this, "KO12")
43   { }
3144
3245   DECLARE_WRITE8_MEMBER(cfx9850_kol_w);
3346   DECLARE_WRITE8_MEMBER(cfx9850_koh_w);
r20502r20503
3851   UINT16 m_ko;                /* KO lines KO1 - KO14 */
3952   virtual void palette_init();
4053   UINT32 screen_update_cfx9850(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
54
55protected:
56   required_ioport m_ko1;
57   required_ioport m_ko2;
58   required_ioport m_ko3;
59   required_ioport m_ko4;
60   required_ioport m_ko5;
61   required_ioport m_ko6;
62   required_ioport m_ko7;
63   required_ioport m_ko8;
64   required_ioport m_ko9;
65   required_ioport m_ko10;
66   required_ioport m_ko11;
67   required_ioport m_ko12;
4168};
4269
4370
r20502r20503
6693
6794READ8_MEMBER( cfx9850_state::cfx9850_ki_r )
6895{
69   UINT8 i, data = 0;
70   char kbdrow[8];
96   UINT8 data = 0;
7197
72   for (i = 0; i < 13; i++)
73   {
74      if (BIT(m_ko, i))
75      {
76         sprintf(kbdrow,"KO%d", i+1);
77         data |= ioport(kbdrow)->read();
78      }
79   }
98   if ( m_ko & ( 1 << 0 ) ) data |= m_ko1->read();
99   if ( m_ko & ( 1 << 1 ) ) data |= m_ko2->read();
100   if ( m_ko & ( 1 << 2 ) ) data |= m_ko3->read();
101   if ( m_ko & ( 1 << 3 ) ) data |= m_ko4->read();
102   if ( m_ko & ( 1 << 4 ) ) data |= m_ko5->read();
103   if ( m_ko & ( 1 << 5 ) ) data |= m_ko6->read();
104   if ( m_ko & ( 1 << 6 ) ) data |= m_ko7->read();
105   if ( m_ko & ( 1 << 7 ) ) data |= m_ko8->read();
106   if ( m_ko & ( 1 << 8 ) ) data |= m_ko9->read();
107   if ( m_ko & ( 1 << 9 ) ) data |= m_ko10->read();
108   if ( m_ko & ( 1 << 10 ) ) data |= m_ko11->read();
109   if ( m_ko & ( 1 << 11 ) ) data |= m_ko12->read();
80110
81111   return data;
82112}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team