mirror of
https://github.com/holub/mame
synced 2025-07-04 09:28:51 +03:00
devices\machine\myb3k_kbd: removed MCFG macro (nw)
This commit is contained in:
parent
c1afd51519
commit
d80de5bcfb
@ -24,11 +24,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define MYB3K_KBD_CB_PUT(cls, fnc) myb3k_keyboard_device::output_delegate((&cls::fnc), (#cls "::" #fnc), DEVICE_SELF, ((cls *)nullptr))
|
|
||||||
#define MYB3K_KBD_CB_DEVPUT(tag, cls, fnc) myb3k_keyboard_device::output_delegate((&cls::fnc), (#cls "::" #fnc), (tag), ((cls *)nullptr))
|
|
||||||
|
|
||||||
#define MCFG_MYB3K_KEYBOARD_CB(cb) downcast<myb3k_keyboard_device &>(*device).set_keyboard_callback((MYB3K_KBD_CB_##cb));
|
|
||||||
|
|
||||||
DECLARE_DEVICE_TYPE(MYB3K_KEYBOARD, myb3k_keyboard_device)
|
DECLARE_DEVICE_TYPE(MYB3K_KEYBOARD, myb3k_keyboard_device)
|
||||||
DECLARE_DEVICE_TYPE(JB3000_KEYBOARD, jb3000_keyboard_device)
|
DECLARE_DEVICE_TYPE(JB3000_KEYBOARD, jb3000_keyboard_device)
|
||||||
DECLARE_DEVICE_TYPE(STEPONE_KEYBOARD, stepone_keyboard_device)
|
DECLARE_DEVICE_TYPE(STEPONE_KEYBOARD, stepone_keyboard_device)
|
||||||
@ -51,7 +46,18 @@ public:
|
|||||||
TIMER_ID_SECOND_BYTE
|
TIMER_ID_SECOND_BYTE
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class Object> void set_keyboard_callback(Object &&cb) { m_keyboard_cb = std::forward<Object>(cb); }
|
template <class FunctionClass>
|
||||||
|
void set_keyboard_callback(void (FunctionClass::*callback)(u8 character), const char *name)
|
||||||
|
{
|
||||||
|
set_keyboard_callback(output_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr)));
|
||||||
|
}
|
||||||
|
// FIXME: this should be aware of current device for resolving the tag
|
||||||
|
template <class FunctionClass>
|
||||||
|
void set_keyboard_callback(const char *devname, void (FunctionClass::*callback)(u8 character), const char *name)
|
||||||
|
{
|
||||||
|
set_keyboard_callback(output_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr)));
|
||||||
|
}
|
||||||
|
void set_keyboard_callback(output_delegate callback) { m_keyboard_cb = callback; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
myb3k_keyboard_device(
|
myb3k_keyboard_device(
|
||||||
|
@ -1017,8 +1017,8 @@ MACHINE_CONFIG_START(myb3k_state::myb3k)
|
|||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
||||||
|
|
||||||
/* Keyboard */
|
/* Keyboard */
|
||||||
MCFG_DEVICE_ADD("myb3k_keyboard", MYB3K_KEYBOARD, 0)
|
MYB3K_KEYBOARD(config, m_kb, 0);
|
||||||
MCFG_MYB3K_KEYBOARD_CB(PUT(myb3k_state, kbd_set_data_and_interrupt))
|
m_kb->set_keyboard_callback(FUNC(myb3k_state::kbd_set_data_and_interrupt));
|
||||||
|
|
||||||
/* Monitor */
|
/* Monitor */
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
@ -1026,23 +1026,24 @@ MACHINE_CONFIG_START(myb3k_state::myb3k)
|
|||||||
MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
|
MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
MACHINE_CONFIG_START(myb3k_state::jb3000)
|
void myb3k_state::jb3000(machine_config &config)
|
||||||
|
{
|
||||||
myb3k(config);
|
myb3k(config);
|
||||||
/* Keyboard */
|
/* Keyboard */
|
||||||
MCFG_DEVICE_REPLACE("myb3k_keyboard", JB3000_KEYBOARD, 0)
|
JB3000_KEYBOARD(config.replace(), m_kb, 0);
|
||||||
MCFG_MYB3K_KEYBOARD_CB(PUT(myb3k_state, kbd_set_data_and_interrupt))
|
m_kb->set_keyboard_callback(FUNC(myb3k_state::kbd_set_data_and_interrupt));
|
||||||
|
}
|
||||||
|
|
||||||
MACHINE_CONFIG_END
|
void myb3k_state::stepone(machine_config &config)
|
||||||
|
{
|
||||||
MACHINE_CONFIG_START(myb3k_state::stepone)
|
|
||||||
myb3k(config);
|
myb3k(config);
|
||||||
/* Keyboard */
|
/* Keyboard */
|
||||||
MCFG_DEVICE_REPLACE("myb3k_keyboard", STEPONE_KEYBOARD, 0)
|
STEPONE_KEYBOARD(config.replace(), m_kb, 0);
|
||||||
MCFG_MYB3K_KEYBOARD_CB(PUT(myb3k_state, kbd_set_data_and_interrupt))
|
m_kb->set_keyboard_callback(FUNC(myb3k_state::kbd_set_data_and_interrupt));
|
||||||
|
|
||||||
/* software lists */
|
/* software lists */
|
||||||
MCFG_SOFTWARE_LIST_ADD("stepone_flop_list", "stepone_flop")
|
SOFTWARE_LIST(config, "stepone_flop_list").set_original("stepone_flop");
|
||||||
MACHINE_CONFIG_END
|
}
|
||||||
|
|
||||||
/* ROM definitions, ROM area is 8 x 8Kb and can be populated with 2732 mask ROMs or 2764s */
|
/* ROM definitions, ROM area is 8 x 8Kb and can be populated with 2732 mask ROMs or 2764s */
|
||||||
ROM_START( myb3k )
|
ROM_START( myb3k )
|
||||||
|
Loading…
Reference in New Issue
Block a user