comparison io.c @ 1377:e587f16e7d3d

Implemented SMS pause button
author Michael Pavone <pavone@retrodev.com>
date Sun, 28 May 2017 21:03:55 -0700
parents 040c5600e2d9
children 65f1d6558e9e
comparison
equal deleted inserted replaced
1376:70d88d9bfe13 1377:e587f16e7d3d
16 #include <stdlib.h> 16 #include <stdlib.h>
17 17
18 #include "io.h" 18 #include "io.h"
19 #include "blastem.h" 19 #include "blastem.h"
20 #include "genesis.h" 20 #include "genesis.h"
21 #include "sms.h"
21 #include "render.h" 22 #include "render.h"
22 #include "util.h" 23 #include "util.h"
23 24
24 #define CYCLE_NEVER 0xFFFFFFFF 25 #define CYCLE_NEVER 0xFFFFFFFF
25 #define MIN_POLL_INTERVAL 6840 26 #define MIN_POLL_INTERVAL 6840
72 UI_PREV_SPEED, 73 UI_PREV_SPEED,
73 UI_RELEASE_MOUSE, 74 UI_RELEASE_MOUSE,
74 UI_TOGGLE_KEYBOARD_CAPTURE, 75 UI_TOGGLE_KEYBOARD_CAPTURE,
75 UI_TOGGLE_FULLSCREEN, 76 UI_TOGGLE_FULLSCREEN,
76 UI_SOFT_RESET, 77 UI_SOFT_RESET,
78 UI_SMS_PAUSE,
77 UI_SCREENSHOT, 79 UI_SCREENSHOT,
78 UI_EXIT 80 UI_EXIT
79 } ui_action; 81 } ui_action;
80 82
81 typedef enum { 83 typedef enum {
490 case UI_TOGGLE_FULLSCREEN: 492 case UI_TOGGLE_FULLSCREEN:
491 render_toggle_fullscreen(); 493 render_toggle_fullscreen();
492 break; 494 break;
493 case UI_SOFT_RESET: 495 case UI_SOFT_RESET:
494 current_system->soft_reset(current_system); 496 current_system->soft_reset(current_system);
497 break;
498 case UI_SMS_PAUSE:
499 if (current_system->type == SYSTEM_SMS) {
500 sms_context *sms = (sms_context *)current_system;
501 vdp_pbc_pause(sms->vdp);
502 }
495 break; 503 break;
496 case UI_SCREENSHOT: { 504 case UI_SCREENSHOT: {
497 char *screenshot_base = tern_find_path(config, "ui\0screenshot_path\0", TVAL_PTR).ptrval; 505 char *screenshot_base = tern_find_path(config, "ui\0screenshot_path\0", TVAL_PTR).ptrval;
498 if (!screenshot_base) { 506 if (!screenshot_base) {
499 screenshot_base = "$HOME"; 507 screenshot_base = "$HOME";
688 *ui_out = UI_TOGGLE_KEYBOARD_CAPTURE; 696 *ui_out = UI_TOGGLE_KEYBOARD_CAPTURE;
689 } else if (!strcmp(target + 3, "toggle_fullscreen")) { 697 } else if (!strcmp(target + 3, "toggle_fullscreen")) {
690 *ui_out = UI_TOGGLE_FULLSCREEN; 698 *ui_out = UI_TOGGLE_FULLSCREEN;
691 } else if (!strcmp(target + 3, "soft_reset")) { 699 } else if (!strcmp(target + 3, "soft_reset")) {
692 *ui_out = UI_SOFT_RESET; 700 *ui_out = UI_SOFT_RESET;
701 } else if (!strcmp(target + 3, "sms_pause")) {
702 *ui_out = UI_SMS_PAUSE;
693 } else if (!strcmp(target + 3, "screenshot")) { 703 } else if (!strcmp(target + 3, "screenshot")) {
694 *ui_out = UI_SCREENSHOT; 704 *ui_out = UI_SCREENSHOT;
695 } else if(!strcmp(target + 3, "exit")) { 705 } else if(!strcmp(target + 3, "exit")) {
696 *ui_out = UI_EXIT; 706 *ui_out = UI_EXIT;
697 } else { 707 } else {