コード例 #1
0
ファイル: debug.c プロジェクト: bobsummerwill/VICE
inline static void debug_history_step(const char *st)
{
    if (event_record_active()) {

        if (debug_buffer_ptr + DEBUG_MAXLINELEN >= DEBUG_HISTORY_MAXFILESIZE) {

            debug_create_new_file();
        }

        debug_buffer_ptr += 
            sprintf(debug_buffer + debug_buffer_ptr, "%s\n", st);
    }

    if (event_playback_active()) {

        char tempstr[DEBUG_MAXLINELEN];
        int line_len = sprintf(tempstr, "%s\n", st);

        if (debug_buffer_ptr >= debug_buffer_size) {
            debug_open_new_file();
        }

        debug_file_line++;

        if (strncmp(st, debug_buffer + debug_buffer_ptr, strlen(st)) != 0) {
            event_playback_stop();
            ui_error(translate_text(IDGS_PLAYBACK_ERROR_DIFFERENT)
                     , st, debug_file_line, debug_file_current - 1);
        }

        debug_buffer_ptr += line_len;
    }
}
コード例 #2
0
ファイル: uistatusbar.c プロジェクト: carriercomm/VICE-Core
static void ui_update_event_checkbox (GtkWidget *w, gpointer data)
{
    if (data) {
        event_playback_stop();
    } else {
        event_record_stop();
    }
}
コード例 #3
0
ファイル: uicommands.c プロジェクト: martinpiper/VICE
static UI_CALLBACK(playback_events_stop)
{
    event_playback_stop();
}
コード例 #4
0
ファイル: uistatusbar.c プロジェクト: carriercomm/VICE-Core
static UI_CALLBACK(event_playback_button_callback)
{
    event_playback_stop();
    XtUnmanageChild(event_playback_button);
}
コード例 #5
0
ファイル: event.c プロジェクト: martinpiper/VICE
static void event_alarm_handler(CLOCK offset, void *data)
{
    alarm_unset(event_alarm);

    /* when recording set a timestamp */
    if (record_active) {
        ui_display_event_time(current_timestamp++, 0);
        next_timestamp_clk = next_timestamp_clk 
                                + machine_get_cycles_per_second();
        alarm_set(event_alarm, next_timestamp_clk);
        return;
    }

    /*log_debug("EVENT PLAYBACK %i CLK %i", event_list_current->type,
              event_list_current->clk);*/

    switch (event_list->current->type) {
      case EVENT_KEYBOARD_MATRIX:
        keyboard_event_playback(offset, event_list->current->data);
        break;
      case EVENT_KEYBOARD_RESTORE:
        keyboard_restore_event_playback(offset, event_list->current->data);
        break;
      case EVENT_JOYSTICK_VALUE:
        joystick_event_playback(offset, event_list->current->data);
        break;
      case EVENT_DATASETTE:
        datasette_event_playback(offset, event_list->current->data);
        break;
      case EVENT_ATTACHIMAGE:
        event_playback_attach_image(event_list->current->data,
                                    event_list->current->size);
        break;
      case EVENT_ATTACHDISK:
      case EVENT_ATTACHTAPE:
        {
            /* old style attach via absolute filename and detach*/
            unsigned int unit;
            const char *filename;

            unit = (unsigned int)((char*)event_list->current->data)[0];
            filename = &((char*)event_list->current->data)[1];
            
            if (unit == 1)
                tape_image_event_playback(unit, filename);
            else
                file_system_event_playback(unit, filename);
        }
        break;
      case EVENT_RESETCPU:
        machine_reset_event_playback(offset, event_list->current->data);
        break;
      case EVENT_TIMESTAMP:
        ui_display_event_time(current_timestamp++, playback_time);
        break;
      case EVENT_LIST_END:
        event_playback_stop();
        break;
      case EVENT_OVERFLOW:
        break;
      default:
        log_error(event_log, "Unknow event type %i.", event_list->current->type);
    }

    if (event_list->current->type != EVENT_LIST_END
        && event_list->current->type != EVENT_RESETCPU) {
        next_current_list();
        next_alarm_set();
    }
}
コード例 #6
0
ファイル: uisnapshot.c プロジェクト: OpenEmu/VICE-Core
/** \brief  Gtk event handler for the "Stop playing back events" menu item
 *
 * \param[in]   parent      parent widget
 * \param[in]   user_data   unused
 */
void uisnapshot_history_playback_stop(GtkWidget *parent, gpointer user_data)
{
    event_playback_stop();
}