summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/terminal.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/terminal.cpp')
-rw-r--r--src/devices/machine/terminal.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/devices/machine/terminal.cpp b/src/devices/machine/terminal.cpp
index c2e5c5be205..b367a12857b 100644
--- a/src/devices/machine/terminal.cpp
+++ b/src/devices/machine/terminal.cpp
@@ -1,7 +1,8 @@
// license:BSD-3-Clause
// copyright-holders:Miodrag Milanovic
#include "emu.h"
-#include "machine/terminal.h"
+#include "terminal.h"
+
#include "screen.h"
#include "speaker.h"
@@ -154,7 +155,7 @@ generic_terminal_device::generic_terminal_device(const machine_config &mconfig,
, m_y_pos(0)
, m_bell_timer(nullptr)
, m_beeper(*this, "beeper")
- , m_keyboard_cb()
+ , m_keyboard_cb(*this)
{
}
@@ -220,7 +221,7 @@ void generic_terminal_device::term_write(uint8_t data)
case 0x0d: // carriage return
m_x_pos = 0;
if (!(options & 0x080)) break;
-
+ [[fallthrough]];
case 0x0a: // linefeed
m_y_pos++;
if (m_y_pos >= m_height)
@@ -276,7 +277,7 @@ uint32_t generic_terminal_device::update(screen_device &device, bitmap_rgb32 &bi
{
for (uint8_t ra = 0; ra < 10; ra++)
{
- uint32_t *p = &bitmap.pix32(sy++);
+ uint32_t *p = &bitmap.pix(sy++);
for (uint16_t x = ma; x < ma + m_width; x++)
{
@@ -346,8 +347,8 @@ void generic_terminal_device::device_add_mconfig(machine_config &config)
void generic_terminal_device::device_start()
{
m_buffer = std::make_unique<uint8_t []>(m_width * m_height);
- m_bell_timer = timer_alloc(BELL_TIMER_ID);
- m_keyboard_cb.bind_relative_to(*owner());
+ m_bell_timer = timer_alloc(FUNC(generic_terminal_device::bell_off), this);
+ m_keyboard_cb.resolve_safe();
save_pointer(NAME(m_buffer), m_width * m_height);
save_item(NAME(m_x_pos));
save_item(NAME(m_framecnt));
@@ -361,14 +362,9 @@ void generic_terminal_device::device_reset()
m_framecnt = 0;
}
-void generic_terminal_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+TIMER_CALLBACK_MEMBER(generic_terminal_device::bell_off)
{
- switch (id)
- {
- case BELL_TIMER_ID:
- m_beeper->set_state(0);
- break;
- }
+ m_beeper->set_state(0);
}
/*