diff options
Diffstat (limited to 'src/emu/ioport.h')
-rw-r--r-- | src/emu/ioport.h | 34 |
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 }; |