peyper.cpp: Simplify handler signatures; mask SL for reads (nw)

turbo.cpp: More likely 8279 clock (nw)
This commit is contained in:
AJR 2020-05-16 23:57:46 -04:00
parent 69bf823978
commit d5367d10eb
2 changed files with 21 additions and 21 deletions

View File

@ -61,16 +61,16 @@ public:
void peyper(machine_config &config); void peyper(machine_config &config);
private: private:
DECLARE_READ8_MEMBER(sw_r); uint8_t sw_r();
DECLARE_WRITE8_MEMBER(col_w); void col_w(uint8_t data);
DECLARE_WRITE8_MEMBER(disp_w); void disp_w(uint8_t data);
DECLARE_WRITE8_MEMBER(lamp_w); void lamp_w(offs_t offset, uint8_t data);
DECLARE_WRITE8_MEMBER(lamp7_w); void lamp7_w(uint8_t data);
DECLARE_WRITE8_MEMBER(sol_w); void sol_w(uint8_t data);
DECLARE_WRITE8_MEMBER(p1a_w) { } // more lamps void p1a_w(uint8_t data) { } // more lamps
DECLARE_WRITE8_MEMBER(p1b_w) { } // more lamps void p1b_w(uint8_t data) { } // more lamps
DECLARE_WRITE8_MEMBER(p2a_w) { } // more lamps void p2a_w(uint8_t data) { } // more lamps
DECLARE_WRITE8_MEMBER(p2b_w) { } // more lamps void p2b_w(uint8_t data) { } // more lamps
virtual void machine_start() override; virtual void machine_start() override;
virtual void machine_reset() override; virtual void machine_reset() override;
@ -86,20 +86,20 @@ private:
output_finder<34> m_dpl; // 0 used as black hole output_finder<34> m_dpl; // 0 used as black hole
}; };
WRITE8_MEMBER( peyper_state::col_w ) void peyper_state::col_w(uint8_t data)
{ {
m_digit = data; m_digit = data;
} }
READ8_MEMBER( peyper_state::sw_r ) uint8_t peyper_state::sw_r()
{ {
if (m_digit < 4) if ((m_digit & 7) < 4)
return m_switch[m_digit]->read(); return m_switch[m_digit & 7]->read();
return 0xff; return 0xff;
} }
WRITE8_MEMBER( peyper_state::disp_w ) void peyper_state::disp_w(uint8_t data)
{ {
static const uint8_t patterns[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0 }; // 7448 static const uint8_t patterns[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0 }; // 7448
/* /*
@ -169,18 +169,18 @@ WRITE8_MEMBER( peyper_state::disp_w )
} }
} }
WRITE8_MEMBER(peyper_state::lamp_w) void peyper_state::lamp_w(offs_t offset, uint8_t data)
{ {
//logerror("lamp_w %02x\n",data); //logerror("lamp_w %02x\n",data);
//logerror("[%d]= %02x\n",4+offset/4,data); //logerror("[%d]= %02x\n",4+offset/4,data);
} }
WRITE8_MEMBER(peyper_state::lamp7_w) void peyper_state::lamp7_w(uint8_t data)
{ {
//logerror("[7]= %02x\n",data); //logerror("[7]= %02x\n",data);
} }
WRITE8_MEMBER(peyper_state::sol_w) void peyper_state::sol_w(uint8_t data)
{ {
//logerror("sol_w %02x\n",data); //logerror("sol_w %02x\n",data);
} }

View File

@ -870,7 +870,7 @@ void turbo_state::turbo(machine_config &config)
m_i8255_3->in_pb_callback().set_ioport("DSW2"); m_i8255_3->in_pb_callback().set_ioport("DSW2");
m_i8255_3->out_pc_callback().set(FUNC(turbo_state::turbo_ppi3c_w)); m_i8255_3->out_pc_callback().set(FUNC(turbo_state::turbo_ppi3c_w));
i8279_device &kbdc(I8279(config, "i8279", MASTER_CLOCK/4)); // unknown clock i8279_device &kbdc(I8279(config, "i8279", MASTER_CLOCK/16)); // clock = H1
kbdc.out_sl_callback().set(FUNC(turbo_state::scanlines_w)); // scan SL lines kbdc.out_sl_callback().set(FUNC(turbo_state::scanlines_w)); // scan SL lines
kbdc.out_disp_callback().set(FUNC(turbo_state::digit_w)); // display A&B kbdc.out_disp_callback().set(FUNC(turbo_state::digit_w)); // display A&B
kbdc.in_rl_callback().set_ioport("DSW1"); // kbd RL lines kbdc.in_rl_callback().set_ioport("DSW1"); // kbd RL lines
@ -914,7 +914,7 @@ void turbo_state::subroc3d(machine_config &config)
m_i8255_1->out_pb_callback().set(FUNC(turbo_state::subroc3d_sound_b_w)); m_i8255_1->out_pb_callback().set(FUNC(turbo_state::subroc3d_sound_b_w));
m_i8255_1->out_pc_callback().set(FUNC(turbo_state::subroc3d_sound_c_w)); m_i8255_1->out_pc_callback().set(FUNC(turbo_state::subroc3d_sound_c_w));
i8279_device &kbdc(I8279(config, "i8279", MASTER_CLOCK/4)); // unknown clock i8279_device &kbdc(I8279(config, "i8279", MASTER_CLOCK/16)); // unknown clock
kbdc.out_sl_callback().set(FUNC(turbo_state::scanlines_w)); // scan SL lines kbdc.out_sl_callback().set(FUNC(turbo_state::scanlines_w)); // scan SL lines
kbdc.out_disp_callback().set(FUNC(turbo_state::digit_w)); // display A&B kbdc.out_disp_callback().set(FUNC(turbo_state::digit_w)); // display A&B
kbdc.in_rl_callback().set_ioport("DSW1"); // kbd RL lines kbdc.in_rl_callback().set_ioport("DSW1"); // kbd RL lines
@ -961,7 +961,7 @@ void turbo_state::buckrog(machine_config &config)
m_i8255_1->out_pb_callback().set(FUNC(turbo_state::buckrog_sound_b_w)); m_i8255_1->out_pb_callback().set(FUNC(turbo_state::buckrog_sound_b_w));
m_i8255_1->out_pc_callback().set(FUNC(turbo_state::buckrog_ppi1c_w)); m_i8255_1->out_pc_callback().set(FUNC(turbo_state::buckrog_ppi1c_w));
i8279_device &kbdc(I8279(config, "i8279", MASTER_CLOCK/4)); // unknown clock i8279_device &kbdc(I8279(config, "i8279", MASTER_CLOCK/16)); // unknown clock
kbdc.out_sl_callback().set(FUNC(turbo_state::scanlines_w)); // scan SL lines kbdc.out_sl_callback().set(FUNC(turbo_state::scanlines_w)); // scan SL lines
kbdc.out_disp_callback().set(FUNC(turbo_state::digit_w)); // display A&B kbdc.out_disp_callback().set(FUNC(turbo_state::digit_w)); // display A&B
kbdc.in_rl_callback().set_ioport("DSW1"); // kbd RL lines kbdc.in_rl_callback().set_ioport("DSW1"); // kbd RL lines