Commit Graph

2514 Commits

Author SHA1 Message Date
Matthew Budd 5bbbd0e8e7 Successful use of GLX openGL inside gtk3 window. This eliminates the need for SDL video. 2020-06-07 10:54:00 -04:00
Matthew Budd 4f27c58856 Moved poor performing cairo draw routines into their own functions. Removed GtkGlArea experimental code that did not work. 2020-06-07 09:32:47 -04:00
Matthew Budd 76df04d830 Added an experimental shared memory interface to allow for the video window to be a separate process. 2020-06-06 22:53:34 -04:00
Matthew Budd 6b406e411f Bug fixes for SDL2 keyboard interaction. 2020-06-06 09:02:36 -04:00
Matthew Budd 8c2cea1ed4 Added logic to change how full screen mode works with cairo drawing. 2020-06-05 21:23:33 -04:00
Matthew Budd 1fc0725e94 Successful display of graphics using cairo. Not as efficient as other methods but works. 2020-06-05 21:08:53 -04:00
Matthew Budd 88e0c838e2 Merge https://github.com/TASVideos/fceux 2020-06-05 07:37:16 -04:00
Matthew Budd a59f1421b5 Added logic to refresh video display with last pass image data when inside debug loop. 2020-06-02 05:02:43 -04:00
Matthew Budd a25a5c914c Added a refresh list button to the active cheat list window to allow for the displayed list to be resync'd to the true active cheat list in case a new game ROM is loaded and new cheats are automatically loaded as a result. 2020-06-01 09:37:36 -04:00
Matthew Budd f929a7cc23 Added logic to cheat search window to make all sorting buttons insentive until the search reset button is hit once. 2020-06-01 09:32:51 -04:00
Matthew Budd a58f5dc5e0 Added logic to make cheat window edit/delete buttons insensitive unless a row is selected in treeview list. 2020-06-01 09:19:55 -04:00
zeromus 322c671ea7
Merge pull request #114 from owomomo/master
Bookmark description in the Hex Editor can be directly edit
2020-05-31 16:13:46 -05:00
zeromus 74b11ae84c
Merge pull request #103 from bbbradsmith/lua_zapper_set
zapper.set for lua
2020-05-31 16:13:29 -05:00
Matthew Budd 1ace69f5f9 Updated cheat list tree view to update entry fields when a line in the tree is selected with corresponding to the selected lines data. 2020-05-31 14:53:54 -04:00
Matthew Budd 51be2877ef Added logic to set registers via text entry boxes prior to running new instructions in debugger window. 2020-05-31 14:28:49 -04:00
Matthew Budd 8a0165f54b changed unimplemented functions on debugger window to be have insensitive widgets for now. 2020-05-31 13:53:07 -04:00
Matthew Budd acbd2cf3c8 Added logic to debugger to make breakpoint edit/delete button sensitive only when a breakpoint is selected in the tree view. 2020-05-31 13:48:58 -04:00
Matthew Budd 358a2309db Created separate debug menu for debugger and hex editor on main window. 2020-05-31 10:11:52 -04:00
Matthew Budd 34e8afe39d Bug fix for memory view window when handling large ROM displays. 2020-05-31 06:48:37 -04:00
Matthew Budd 9eab3f9e5d Added logic to sync memview activity coloring menu options at startup. 2020-05-30 19:44:30 -04:00
Matthew Budd 8c04403062 Added logic to allow for configurable coloring on memory view window. 2020-05-30 17:20:06 -04:00
Matthew Budd b7877f1a5e Added configurable fore and back ground color picking for memview window. 2020-05-30 11:26:36 -04:00
Matthew Budd a92874a5b6 Added logic to sync memory last pass values at startup. 2020-05-29 17:19:44 -04:00
Matthew Budd 7500446b2c Changed memory buffer setup to allow for color and activity data to be stored for each address. 2020-05-29 16:53:20 -04:00
Matthew Budd 6e33c48a1f Added memory view highlight activity coloring. Still TODO, add logic to switch colors in menu. 2020-05-29 15:00:33 -04:00
Matthew Budd d362161269 Added logic to only allow select key presses through to the textview widget on the debugger window. 2020-05-29 09:30:07 -04:00
Matthew Budd 5e0cbc1cbc Improved logic for hex editor button inputs. 2020-05-29 09:24:28 -04:00
Matthew Budd 0d9b9254ff memory viewer (hex editor) window viewport calculation improvement. Much more accurate and efficient than previous. 2020-05-29 06:52:53 -04:00
Matthew Budd 4c3bf6cf6c Removed automatic condition insertion on asm debug breakpoint entry window. 2020-05-28 21:57:40 -04:00
Matthew Budd 05de1a8356 Added PPU data display to debug window. 2020-05-28 21:54:14 -04:00
Matthew Budd 7d08906a89 Efficiency fixes for the debugger asm text view window. 2020-05-28 21:30:12 -04:00
Matthew Budd d15623b7e6 Added logic to seek the PC on the debug window every time a breakpoint is hit. 2020-05-27 06:46:20 -04:00
Matthew Budd 27e326ce90 Added seek to PC and seek to Addr logic. 2020-05-27 05:48:38 -04:00
Matthew Budd 64444129c3 Added callback functions for editing break cycle/instruction limit text fields 2020-05-25 20:44:39 -04:00
Matthew Budd 20af463419 Added a few hooks for break on cycles, instructions and bad opcode checkboxes. Still TODO add break cycle/instruction limit set logic. 2020-05-25 20:28:42 -04:00
Matthew Budd 41e1bdc592 Added logic to context menu to prefill breakpoint add popup. 2020-05-25 20:06:16 -04:00
Matthew Budd db17dc06e6 Added logic to capture asm list. 2020-05-25 09:28:22 -04:00
Matthew Budd c50b5581d6 Added logic to sync breakpoint edit window parameters to actual state upon opening. 2020-05-25 08:11:01 -04:00
Matthew Budd 2755c9cdb2 Added logic to allow for use of a enable checkbox to next to each breakpoint in the list 2020-05-24 21:31:29 -04:00
Matthew Budd 9f009a1850 Successful test of basic debugger functions. 2020-05-24 21:10:10 -04:00
Matthew Budd 613dd479d4 Added logic to set values for debugger window register displays. 2020-05-24 12:50:13 -04:00
Matthew Budd df236e3628 Added framework for breakpoint add/edit window. 2020-05-24 11:06:31 -04:00
Matthew Budd 4c199ef4fe Added initial framework for debugger window. 2020-05-23 23:25:28 -04:00
Matthew Budd 69790db498 Initial framework for debugger window in work. 2020-05-23 22:37:31 -04:00
Matthew Budd 40379a32dc Added a memory write boundary protection in the ram watch window to prevent users from writing into ROM memory area. 2020-05-23 16:28:43 -04:00
Matthew Budd c46d3e2a9d Added logic to clear edited row and column indices on null pointer error in RAM watch window. 2020-05-23 16:22:56 -04:00
Matthew Budd 484f299107 Added a NULL check to prevent crash in RAM watch window. 2020-05-23 16:20:40 -04:00
Matthew Budd 11d02a31c4 Added logic in memview window to make set address and value entry windows exit on an enter key press. 2020-05-23 16:09:14 -04:00
Matthew Budd 6947f2bd05 Bug fix for GUI initialization with a specified game on the command line. Sometimes the X-server needs a little more time to initialize the window. Added a short 0.1 sec usleep at startup to give X the time it needs. A few more cppcheck warning fixes made as well. 2020-05-23 15:08:03 -04:00
Matthew Budd 04a4b6de74 Added more functionality to the memview window. Now can view all memory types. New context menu allows for seeking to a new location by address, poking memory locations, and jumping from RAM to ROM. 2020-05-23 14:56:42 -04:00
Matthew Budd 9ac2803533 Added logic to get NES ROM address from RAM location for context menu. 2020-05-22 09:30:16 -04:00
Matthew Budd b731245171 Added a few context menu items. TODO create callback functions for them 2020-05-22 09:19:45 -04:00
Matthew Budd 475464cca2 Added logic to display a label showing the address of the cursor selected memory location in hex editor. 2020-05-22 09:00:07 -04:00
Matthew Budd c05c85bcfd Added popup context menu framework for memview. 2020-05-21 22:07:10 -04:00
Matthew Budd 364ae8c689 Added callback for context menu on memview window. 2020-05-20 21:48:39 -04:00
Matthew Budd 5db17d7913 Cleaned out treeview logic in favor of text view. Text view is much more efficient. 2020-05-19 01:00:14 -04:00
Matthew Budd 284a787104 bug fix for memory poke logic. 2020-05-19 00:51:03 -04:00
Matthew Budd fe4d1f85af Successful test of poking into RAM with hex editor in text view. 2020-05-19 00:30:24 -04:00
Matthew Budd 41cfd69fe2 Successful display of memview. 2020-05-19 00:03:30 -04:00
Matthew Budd 267966b0b3 Text View hex editor in work. 2020-05-18 22:03:58 -04:00
Matthew Budd 6460a3035b Tree view inner / outer slider functions but is not ideal. Going to try out text view object instead. 2020-05-18 08:29:05 -04:00
Matthew Budd 90482feac8 Memview successful initial test, but performance is slightly lacking. Going to change tree view logic. 2020-05-17 11:36:55 -04:00
Matthew Budd 3c10dcc1fd Added logic to allow for writing into memory via the mem view hex editor. 2020-05-16 23:50:58 -04:00
Matthew Budd 5834dd3661 Added memory view window framework. Still TODO memory poke functionality. 2020-05-16 22:17:24 -04:00
Matthew Budd 9dcad0b211 Bug fix for gamepad configuration when using keyboard inputs. 2020-05-16 18:50:29 -04:00
Matthew Budd c7f9a4257a Bug fixes for screen sizing at startup with a ROM specified on the command line. 2020-05-16 15:06:40 -04:00
Matthew Budd 74923eaccc Removed static hotkey string array from global header and added an accessor function. 2020-05-16 13:16:24 -04:00
Matthew Budd 26f36da7e7 Another bug fix for gamepad config loading at startup, the first fix was in the wrong place. Removed static video variable from header. 2020-05-16 11:13:24 -04:00
Matthew Budd 00e316b521 Bug fix for loading gamepad config at startup. 2020-05-16 10:40:57 -04:00
Matthew Budd 01c60c4dc1 Bug fix for displaying button names when reloading gamepad config window. 2020-05-16 10:14:37 -04:00
Matthew Budd e5e02e20f4 Bug fix for gamepad key name display when calibrating buttons. 2020-05-16 09:47:13 -04:00
Matthew Budd b63772b774 Removed debug print statement. 2020-05-16 09:19:25 -04:00
Matthew Budd c3e4db0faa Hotkey selected state cleanup. Sync gui menu selected state when state changes occur via hotkeys. Removed deprecated gtk widgets from sdl/input.cpp. 2020-05-16 09:09:36 -04:00
Matthew Budd 172dffec55 Changed window size variables in gui to be static as their is no reason to export them to the linker. 2020-05-15 17:08:13 -04:00
Matthew Budd 5173b85ac1 Added logic to check if the screen size has actually changed in the window configure event callback. Do not reset video is screen size is the same. This prevents annoying screen flickering during transitions to/from full screen mode. 2020-05-15 17:02:33 -04:00
Matthew Budd bcbac77084 When a lua script is provided on the command line with the --loadlua option. Added code to always resolve any relative file path to an absolute as the lua core changes the current working directory which then invalidates the relative pathing from where the current working directory was at the time the program had initially been started. 2020-05-14 23:47:57 -04:00
Matthew Budd 87d3db2406 Added screen dimension limits. Added some debug statements to pipeline script. 2020-05-14 18:16:04 -04:00
Matthew Budd 1ba5929ea2 Modified screen display logic to always center image in the center of the window. 2020-05-14 09:16:09 -04:00
Matthew Budd 9f615d6f81 Found a better way to clear the screen to a black background. 2020-05-14 07:55:06 -04:00
Matthew Budd c702a86b67 commented out window configure print statements. 2020-05-13 22:00:00 -04:00
Matthew Budd 575e090aff Ran indent program on new cheat and ramwatch cpp files to apply hard tabs. 2020-05-13 21:13:22 -04:00
Matthew Budd 699069b7ee Ran indent program to gui.cpp to re-apply hard tabs. 2020-05-13 21:07:31 -04:00
Matthew Budd 7ac726d415 Replaced deprecated gtk_key_snoop function with standard gtk key press/release event handling functions. 2020-05-13 09:24:31 -04:00
Matthew Budd 48bbec8fba Added logic to clear screen to black during startup and if a screen configure event occurs and no game is loaded. 2020-05-13 09:00:07 -04:00
Matthew Budd 42233b0425 Removed unused global window symbol for hotkey gui window 2020-05-13 08:36:35 -04:00
Matthew Budd c45c6c00cf Removed old menu comments from gtk gui. 2020-05-13 08:33:55 -04:00
Matthew Budd 61f55f3e28 Ensure that pallette variable has been freed before attempting malloc a new heap. 2020-05-12 22:45:08 -04:00
Matthew Budd 9583c0fbdd A few more bug fixes for the ram watch window. 2020-05-12 22:39:03 -04:00
Matthew Budd 57561ad563 Moved RAM watch window logic to its own separate file. 2020-05-12 22:13:22 -04:00
Matthew Budd 309cb00f93 Moved cheat window code to its own file. Created a cheat window class object to better manage multiple instances of the cheat window. 2020-05-12 20:14:11 -04:00
owomomo 2024d321b7 1. The description of the bookmarks in Hex Editor can be edited instead of delete and add again.
2. When click close button of the bookmark name window, the operation can be canceled.
3. Detail.
2020-05-12 17:25:23 +08:00
Matthew Budd 754e621735 Bug fixes for gtk hot key config window. 2020-05-11 00:47:31 -04:00
Matthew Budd dfd236c9d1 Fixed gtk window gui resizing logic. Can now resize by dragging the corners of the window with the mouse as well as through the vidio menu. 2020-05-10 23:38:36 -04:00
Matthew Budd d6a798962c Removed deprecated gtk_widget_modify_bg. 2020-05-10 17:29:14 -04:00
Matthew Budd bfaf429664 Removed deprecated GTK_STOCK usages. 2020-05-10 17:11:15 -04:00
Matthew Budd d87d5b2271 Fixed & character usage in authors string text in about window. 2020-05-10 16:42:45 -04:00
Matthew Budd 73a4efcad9 Finished reworking main menu. 2020-05-10 16:40:28 -04:00
Matthew Budd 81b9555ad0 Finished updating emulation menu to new non-deprecated widgets. 2020-05-10 16:24:44 -04:00
Matthew Budd ee35a5bab4 Updated options sub menu. 2020-05-10 15:32:32 -04:00
Matthew Budd 89895fdd18 Finished File menu of main menu bar. 2020-05-10 14:59:49 -04:00
Matthew Budd af36752585 Working on removing deprecated main menu and replacing with non-deprecated functions. 2020-05-10 11:17:59 -04:00
Matthew Budd 5a74646bb5 Removed use of deprecated gtk_alignment widgets 2020-05-10 10:18:57 -04:00
Matthew Budd 260b45273e Swapped out deprecated gtk table in favor of gtk grid on game pad configure window. 2020-05-10 09:54:25 -04:00
Matthew Budd b68aff598e Fixed a few more deprecated gtk function usages. 2020-05-09 21:00:51 -04:00
Matthew Budd 6ab46618fc Replaced a few more deprecated gtk function calls for their newer variants. 2020-05-09 20:47:47 -04:00
Matthew Budd 7610dea7fb Removed deprecated UI manager from the ram watch menu. Ram watch menu is now created by raw gtk functions. 2020-05-09 20:35:15 -04:00
Matthew Budd 3231589d25 Changed out depricated gtk_hbox_new and gtk_vbox_new in favor of gtk_box_new 2020-05-09 16:42:34 -04:00
Matthew Budd fcf8f57085 Changed memory tree views to use monospace and have vertical dividers for columns. 2020-05-09 10:36:55 -04:00
Matthew Budd f4985e4add Merge branch 'master' into linux-cheats 2020-05-09 09:32:10 -04:00
Matthew Budd 3f2ab57a20 Merge branch 'master' of https://github.com/TASVideos/fceux into development 2020-05-09 09:23:28 -04:00
Matthew Budd 77471eb1a0 Merge branch 'development' into linux-cheats 2020-05-08 23:55:29 -04:00
Matthew Budd 70a804e90f Fixed a few code errors identified by cppcheck static code analyzer.
Fixed incorrect error handling of realloc function to prevent memory leak.
Fixed a few uninitialized local stack variables.
Changed (1 << 31) to (1u << 31) to fix error stating that a signed 32 bit integer shifted by 31 bits can result in undefined behavior.
2020-05-08 23:30:31 -04:00
Matthew Budd 305e8b58e8 Added memory write functionality to RAM watch window. 2020-05-07 23:25:33 -04:00
Matthew Budd 27cbbdf534 Added logic to load/save RAM watch files. 2020-05-07 21:31:55 -04:00
Matthew Budd c901c7273d Added directly cheat list cell editing functionality to gtk GUI. 2020-05-07 09:49:03 -04:00
Matthew Budd b4f4f816d7 Added logic to allow for RAM watch display updates to be non-destructive. 2020-05-06 09:00:53 -04:00
Matthew Budd 4490f650f1 RAM watch entry window bug fixes. 2020-05-06 08:36:08 -04:00
Matthew Budd ab5d3f5f14 Successful view of memory in ram watch window. Still TODO, added rest of button functionality. 2020-05-06 00:17:59 -04:00
Matthew Budd 19deda1314 Added initial framework for RAM watch window. 2020-05-05 23:08:50 -04:00
Matthew Budd d1fd5a8e2d A few bug fixes while testing the cheat window. 2020-05-05 20:42:25 -04:00
Matthew Budd 45d88df6b0 Hooked up cheats pause while window active function. 2020-05-05 19:56:38 -04:00
Matthew Budd 30aec1e534 Added cheat modification via update button logic. 2020-05-05 08:18:41 -04:00
Matthew Budd 7bc778fd0e Added active toggle functionality to cheat list window. 2020-05-05 08:06:08 -04:00
Matthew Budd d081c68db3 Successful loading of cheat codes from file via cheat window. 2020-05-05 00:18:15 -04:00
Matthew Budd add91354de Successful test of Add, remove, and update functions to the active cheat list. 2020-05-04 23:50:33 -04:00
Matthew Budd 37bb110601 Added file chooser function for loading cheats from file. 2020-05-04 22:01:15 -04:00
Matthew Budd 52cc2629eb Successful initial test of cheat search functionality. 2020-05-04 21:42:56 -04:00
Matthew Budd 7416ad2fdb Added initial layout for gui cheat window. 2020-05-03 16:29:28 -04:00
CaH4e3 d89ead783e
Merge pull request #98 from owomomo/master
Add Multiple RAM Watches At Once In Edit Watch Window
2020-05-03 22:28:19 +03:00
CaH4e3 12667209de
Merge pull request #110 from bbbradsmith/toosmall_chrram
CHR size < 1k allows NES program to corrupt memory
2020-05-03 22:27:44 +03:00
Matthew Budd 9844caf69d Bug fix for command line game genie enable logic with linux based gtk GUI. GUI was forcing game genie to disabled at startup which was overriding command line selection. The GUI logic has been fixed to sync the state of menu game genie toggle box to the desired startup configuration of game genie. 2020-05-02 19:57:11 -04:00
bbbradsmith 2cdb283a64 iNES_Init error reporting 2020-05-02 00:42:44 -04:00
bbbradsmith e8597862f1 CHR size < 1k allows NES program to corrupt memory because VPage is 1k granularity
returning 0 from iNES_Init is not ideal, error is "unsupported mapper" but at least it's an error
also adding CHRmask1/2/4/8 fallback, not sure if needed but looks suspicious for <8k
2020-05-02 00:20:44 -04:00
zeromus 16a965d15c oops, had that backwards (re #106) 2020-04-14 18:09:09 -04:00
zeromus fadb200856 in 01dfbf5afa I broke the disable-sprite-in-leftmost-8-pixels part of the oldppu. this fixes it. fixes #106 2020-04-14 16:44:45 -04:00
g0me3 5d872472ef - N106 sound issue requested fix, see comments
- new inex 2.0 mapper 406 added without flash support though
- dpcm data log now does proper memory area logging (not worth actually, always be like C000 lol)
2020-04-09 20:54:05 +03:00
owomomo 5d7c3a6631
Merge pull request #18 from TASVideos/master
Update code to the newest
2020-02-23 10:22:00 +08:00
bbbradsmith 747fba7711 Virtual Boy controller forgot signature bit 14 2020-02-08 15:58:24 -05:00
bbbradsmith b22753762f Virtual Boy controller support 2020-02-08 15:58:24 -05:00
owomomo 7a278b10a8 RAM Watch: Adding multiple watches in the dialog, when adding multiple watches from other window, the watches is also in the address edit control.
I realized that the watch operation need to be decoupled from the RAM Watch list, but things seem get too complicated, hoping this is not get even worse.
2020-02-05 22:56:30 +08:00
owomomo a9c4bc9592 1. Trying to find a more efficient way to know which byte has a cheat. Since the cheat map occupies a lot of memory, I decided to make it only exists when necessary.
2. Reorganized some codes.
2020-02-01 16:51:33 +08:00
owomomo c3d0d40aa6 Trying to find a more efficient way to know which byte has a cheat. It might be memory cost but it's 2020. 2020-02-01 01:00:34 +08:00
owomomo c830d2cc7d ... 2020-01-31 20:13:41 +08:00
owomomo 935cdaf178
Merge pull request #17 from TASVideos/master
Sync code to the newest
2020-01-31 19:46:54 +08:00
Devine Lu Linvega f83e488a65
Fixed type in lua-engine.cpp (#95) 2020-01-30 18:26:52 -05:00
g0me3 fb8d46d969 fix for cdl sram logging hack crashes nsf logging (fixed #94) 2020-01-29 20:44:49 +03:00
g0me3 18165938d4 preliminary, basic hookup of Family Network System base board + MMC1 cassette emulation 2020-01-16 21:33:37 +03:00
g0me3 4fe5da841c forgot to remove debug code 2020-01-12 17:07:23 +03:00
g0me3 db003f841d fixed #90 (debug breakpoint missing if conditions used) 2020-01-12 16:56:37 +03:00
g0me3 e43fe75b67 forgot to upload file 2020-01-04 13:48:32 +03:00