Mercurial > repos > blastem
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 { |