summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/ioport.h
diff options
context:
space:
mode:
author ImJezze <jezze@gmx.net>2016-02-21 11:48:45 +0100
committer ImJezze <jezze@gmx.net>2016-02-21 11:48:45 +0100
commitcc24a339d8c0517259084b5c178d784626ba965c (patch)
tree9868e9687b5802ae0a3733712a3bbeb3bc75c953 /src/emu/ioport.h
parentb5daabda5495dea5c50e17961ecfed2ea8619d76 (diff)
Merge remote-tracking branch 'refs/remotes/mamedev/master'
Second attempt
Diffstat (limited to 'src/emu/ioport.h')
-rw-r--r--src/emu/ioport.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/emu/ioport.h b/src/emu/ioport.h
index 89bd9e6964e..6d9d941fa4a 100644
--- a/src/emu/ioport.h
+++ b/src/emu/ioport.h
@@ -333,6 +333,7 @@ enum ioport_type
IPT_UI_ON_SCREEN_DISPLAY,
IPT_UI_DEBUG_BREAK,
IPT_UI_PAUSE,
+ IPT_UI_PAUSE_SINGLE,
IPT_UI_RESET_MACHINE,
IPT_UI_SOFT_RESET,
IPT_UI_SHOW_GFX,
@@ -342,6 +343,7 @@ enum ioport_type
IPT_UI_FAST_FORWARD,
IPT_UI_SHOW_FPS,
IPT_UI_SNAPSHOT,
+ IPT_UI_TIMECODE,
IPT_UI_RECORD_MOVIE,
IPT_UI_TOGGLE_CHEAT,
IPT_UI_UP,
@@ -369,6 +371,18 @@ enum ioport_type
IPT_UI_LOAD_STATE,
IPT_UI_TAPE_START,
IPT_UI_TAPE_STOP,
+ IPT_UI_DATS,
+ IPT_UI_FAVORITES,
+ IPT_UI_UP_FILTER,
+ IPT_UI_DOWN_FILTER,
+ IPT_UI_LEFT_PANEL,
+ IPT_UI_RIGHT_PANEL,
+ IPT_UI_UP_PANEL,
+ IPT_UI_DOWN_PANEL,
+ IPT_UI_EXPORT,
+ IPT_UI_AUDIT_FAST,
+ IPT_UI_AUDIT_ALL,
+ IPT_UI_TOGGLE_AUTOFIRE,
// additional OSD-specified UI port types (up to 16)
IPT_OSD_1,
@@ -1082,6 +1096,7 @@ public:
struct user_settings
{
ioport_value value; // for DIP switches
+ bool autofire; // for autofire settings
input_seq seq[SEQ_TYPE_TOTAL]; // sequences of all types
INT32 sensitivity; // for analog controls
INT32 delta; // for analog controls
@@ -1158,6 +1173,8 @@ struct ioport_field_live
bool last; // were we pressed last time?
bool toggle; // current toggle setting
digital_joystick::direction_t joydir; // digital joystick direction index
+ bool autofire; // autofire
+ int autopressed; // autofire status
std::string name; // overridden name
};
@@ -1400,6 +1417,12 @@ public:
ioport_type token_to_input_type(const char *string, int &player) const;
std::string input_type_to_token(ioport_type type, int player);
+ // autofire
+ bool get_autofire_toggle() { return m_autofire_toggle; }
+ void set_autofire_toggle(bool toggle) { m_autofire_toggle = toggle; }
+ int get_autofire_delay() { return m_autofire_delay; }
+ void set_autofire_delay(int delay) { m_autofire_delay = delay; }
+
private:
// internal helpers
void init_port_types();
@@ -1436,6 +1459,10 @@ private:
void record_frame(const attotime &curtime);
void record_port(ioport_port &port);
+ template<typename _Type> void timecode_write(_Type value);
+ void timecode_init();
+ void timecode_end(const char *message = NULL);
+
// internal state
running_machine & m_machine; // reference to owning machine
bool m_safe_to_read; // clear at start; set after state is loaded
@@ -1458,12 +1485,19 @@ private:
emu_file m_playback_file; // playback file (NULL if not recording)
UINT64 m_playback_accumulated_speed; // accumulated speed during playback
UINT32 m_playback_accumulated_frames; // accumulated frames during playback
+ emu_file m_timecode_file; // timecode/frames playback file (NULL if not recording)
+ int m_timecode_count;
+ attotime m_timecode_last_time;
// has...
bool m_has_configs;
bool m_has_analog;
bool m_has_dips;
bool m_has_bioses;
+
+ // autofire
+ bool m_autofire_toggle; // autofire toggle
+ int m_autofire_delay; // autofire delay
};