zrt80: removed anonymous timer

This commit is contained in:
Robbbert 2020-10-09 19:29:41 +11:00
parent 5312d992b4
commit a0080be98d

View File

@ -22,6 +22,7 @@
#include "machine/ins8250.h"
#include "machine/keyboard.h"
#include "sound/beep.h"
#include "machine/timer.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
@ -38,17 +39,12 @@ public:
, m_beep(*this, "beeper")
, m_palette(*this, "palette")
, m_p_chargen(*this, "chargen")
{
}
, m_beep_timer(*this, "beep_timer")
{ }
void zrt80(machine_config &config);
private:
enum
{
TIMER_BEEP_OFF
};
uint8_t zrt80_10_r();
void zrt80_30_w(uint8_t data);
void zrt80_38_w(uint8_t data);
@ -58,7 +54,7 @@ private:
void io_map(address_map &map);
void mem_map(address_map &map);
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
TIMER_DEVICE_CALLBACK_MEMBER(beep_timer);
uint8_t m_term_data;
void machine_reset() override;
void machine_start() override;
@ -69,6 +65,7 @@ private:
required_device<beep_device> m_beep;
required_device<palette_device> m_palette;
required_region_ptr<u8> m_p_chargen;
required_device<timer_device> m_beep_timer;
};
@ -79,28 +76,21 @@ uint8_t zrt80_state::zrt80_10_r()
return ret;
}
void zrt80_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
TIMER_DEVICE_CALLBACK_MEMBER(zrt80_state::beep_timer)
{
switch (id)
{
case TIMER_BEEP_OFF:
m_beep->set_state(0);
break;
default:
throw emu_fatalerror("Unknown id in zrt80_state::device_timer");
}
m_beep->set_state(0);
}
void zrt80_state::zrt80_30_w(uint8_t data)
{
timer_set(attotime::from_msec(100), TIMER_BEEP_OFF);
m_beep_timer->adjust(attotime::from_msec(100));
m_beep->set_state(1);
}
void zrt80_state::zrt80_38_w(uint8_t data)
{
timer_set(attotime::from_msec(400), TIMER_BEEP_OFF);
m_beep_timer->adjust(attotime::from_msec(400));
m_beep->set_state(1);
}
@ -302,6 +292,7 @@ void zrt80_state::zrt80(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
BEEP(config, m_beep, 800).add_route(ALL_OUTPUTS, "mono", 0.50);
TIMER(config, m_beep_timer).configure_generic(FUNC(zrt80_state::beep_timer));
/* Devices */
MC6845(config, m_crtc, XTAL(20'000'000) / 8);