summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu
Commit message (Collapse)AuthorAgeFilesLines
* Better handling of null/missing items. More consistent error handling. ↵save-experiments Aaron Giles2021-04-2012-160/+386
| | | | Reduced compression to default to speed up saves. Optimized simple binary saves as well. Device interfaces now have automatic containers. Fixed duplicate entry detection. Added logic to parse an item we're skipping. Added detection of missing/duplicate items from input JSON. Fixed timing for save/load.
* Keep link to parent item so that full names can be computed as needed. ↵ Aaron Giles2021-04-192-93/+123
| | | | Remove name accumulation logic from save/load step, along with unnecessary parameters.
* Differentiated raw arrays from vector arrays. Add warnings for raw arrays ↵ Aaron Giles2021-04-193-47/+123
| | | | that are not in containers.
* Detect array members that can't be replicated and manually register each ↵ Aaron Giles2021-04-195-338/+430
| | | | item instead. Remove old ALLOW_SAVE_TYPE now that enums are implicitly supported. Add stricter checking of endpoint offsets. Some other cleanups.
* Expose size of device class through the device type. This helps with error ↵ Aaron Giles2021-04-191-0/+5
| | | | checking save state registrations to ensure they are within bounds.
* More descriptive errors. Added compare mode and leveraged it to compare ↵ Aaron Giles2021-04-183-77/+149
| | | | saved data against current state.
* Moved CRC and size calculations into the streamers. Improved validation when ↵ Aaron Giles2021-04-182-346/+570
| | | | parsing.
* Checkpoint on JSON restore after successfully performing a JSON restore. ↵ Aaron Giles2021-04-172-544/+1212
| | | | Still needs cleanup.
* Implemented save_file. JSON and secondary files are now written to a ↵ Aaron Giles2021-04-162-48/+463
| | | | ZIP-formatted file.
* g update: Aaron Giles2021-04-159-970/+785
| | | | | | | | | | | | | | | | | | | * Removed old saving mechanism entirely, including internal lists of items. * Removed old logic saving to streams/buffers/files. * Removed old state item iterator; a new mechanism will need to be created for this. Stubbed out debugger and LUA calls to it for now. * Replaced the streams/buffers saves with the new binary save; these are presumed to be 100% internal, so there is no header checking or other associated logic. * Stubbed in incomplete file handling for JSON-based saves; large arrays are identified and referenced as external, though ZIP writing has not been done yet. * Redid JSON generation using an internal buffer and helpers for speed. * Added sorting and pruning of save items after registration. * Added detection of duplicate entries. * Fixed display of long names in save window. * Moved timers into their own container.
* Remove final cases where people directly registered state data with the core ↵ Aaron Giles2021-04-1410-249/+56
| | | | manager. Fixed array stride calculations in registration. Removed old registration mechanism entirely.
* Replace STRUCT_MEMBER usage from cpu devices with structured saves. Allow ↵ Aaron Giles2021-04-131-20/+22
| | | | unions to be saved in the same manner as structs. Fix pointer saves.
* Add support for std::array and for custom types that map to integers/FP ↵ Aaron Giles2021-04-132-25/+56
| | | | values. Fix up ymfm-related saving. Modernize AY8910 saving.
* Add bitmap support to registrar. Aaron Giles2021-04-121-4/+16
|
* Added save state window to debugger. Centralized unique/vector/pointer ↵ Aaron Giles2021-04-129-73/+736
| | | | unwrapping.
* Add explicit unique_ptr/vector containers. Fix registration checks. Added ↵ Aaron Giles2021-04-095-69/+162
| | | | modern saving to namco and ymfm sound.
* Created new hierarchical save_registrar, which supports self-describing ↵ Aaron Giles2021-04-0933-177/+898
| | | | structs and arrays. Converted several core files and structures over to using it. Currently just for testing.
* Allow breaking into main menu before the machine fully starts (i.e. just ↵ AJR2021-04-091-2/+2
| | | | | | before the initial soft reset) by using the normal "Config Menu" UI input Note that the minor code shuffling in machine.cpp is necessary to prevent emulation from getting confused if "Select New Game" happens to be selected.
* Add %o format support to debugger printf command AJR2021-04-061-0/+26
|
* options: simplified the statename/snapname logic for naming after image ↵ etabeta2021-04-042-27/+4
| | | | devices (e.g. %d_cart or %d_flop1) while allowing for more general non-alphanumeric separators, so that for instance %d_cart_%i correctly produces a name with the software name, followed by an underscore and an index, rather than failing to be recognized and defaulting back to %g/%i.
* battlane: fix a problem with double height sprites at last boss [dink] hap2021-04-011-3/+3
|
* Added some swlist warnings for Tafoid's tests. Robbbert2021-04-021-0/+2
|
* srcclean in preparation for release Vas Crabb2021-03-281-1/+1
|
* Addressed Github issue #7843 (mute on unthrottle) (#7875) MooglyGuy2021-03-221-1/+1
|
* mpc60: Misc. additions and notes AJR2021-03-141-0/+1
|
* video/k057714.cpp: Implemented raster timing registers. (#7846) 9871238791132021-03-131-0/+1
| | | * Gives precise timings for Firebeat screens.
* pmac6100: Move it to a new driver Olivier Galibert2021-03-121-1/+50
|
* -A few incremental UI code improvements: Vas Crabb2021-03-122-22/+49
| | | | | | | | | * Simplified message when toggling UI controls. * Show actual configured UI toggle key, not misleading hard-coded text. * Push window activated/deactivated events to UI manager. * Simplified SDL window event handling code - events are pretty precise. -Miscellaneous code cleanup.
* views: Ensure alternatives are always created Olivier Galibert2021-03-101-0/+4
|
* emumem_mview.cpp: Use count_leading_zeros to simplify awidth calculation AJR2021-03-051-6/+1
|
* fix #7806 (#7841) feos2021-03-051-1/+1
|
* views: Keep a reference to the handlers so that installs overlapping them ↵ Olivier Galibert2021-03-032-0/+11
| | | | don't kill them
* Add 'wpsize' variable to access the data size from a watchpoint (#7837) Scott Percival2021-03-033-3/+6
|
* Revert "fileio.cpp: This doesn't technically require emu.h" AJR2021-02-281-1/+1
| | | | This reverts commit 6d6073054b9155592a6022d66751422ff3b3a372.
* coolridr.cpp: Use measured clocks for Cool Riders by correct XTAL usage ↵ Brian Troha2021-02-281-1/+2
| | | | based on documentation in header of coolridr.cpp
* emuview: Fix init_handlers in specific cases, fix mapping ioports in views Olivier Galibert2021-02-273-4/+4
|
* fileio.cpp: This doesn't technically require emu.h AJR2021-02-261-1/+1
|
* addrmap: Allow creators in the memory map Olivier Galibert2021-02-241-0/+21
|
* Ensure validation of device tags in non-default slot options AJR2021-02-201-0/+1
|
* emumem: Disable the unmap-value-in-device-map test for now Olivier Galibert2021-02-202-12/+18
|
* rendlay.cpp: Increased precision of ellipse calculations. Vas Crabb2021-02-171-128/+162
| | | | | Also optimised drawing fully covered ellipse pixels and added a few comments.
* emumem: Fix regions and shares on dynamically-installed device maps Olivier Galibert2021-02-163-38/+105
|
* debug: add cls command to clear console buffer hap2021-02-164-1/+13
|
* Eliminate ARRAY_LENGTH template in favor of C++17's std::size AJR2021-02-1424-73/+65
| | | | | | | | | | * osdcomm.h: Move definition of EQUIVALENT_ARRAY to coretmpl.h * sharc.cpp, gt64xxx.cpp, ym2413.cpp, gb_lcd.cpp, snes_ppu.cpp: Use STRUCT_MEMBER for save state registration * gio/newport.cpp, megadrive/svp.cpp, nes_ctrl/bcbattle.cpp, arm7.cpp, tms9995.cpp, pckeybrd.cpp, sa1110.cpp, sa1111.cpp, jangou_blitter.cpp, vic4567.cpp: Use std::fill(_n) instead of memset * emucore.h: Remove obsolete typedef
* Stop converting debugger console commands to all lowercase before parsing ↵ AJR2021-02-133-56/+56
| | | | | | | them. Case insensitivity has been preserved for command names, CPU and region tags and certain symbolic parameters (as well as expressions, which were treated as case-insensitive in other contexts), but filenames and character constants are no longer automatically lowercased. * debugcmd.cpp, debugcon.cpp: Remove some superfluous c_str() calls * debugcmd.cpp: Remove local member referencing debugger_cpu, which is accessed only rarely since the console now tracks the visible CPU
* Update state views when memory is modified through the debugger (since ↵ AJR2021-02-091-0/+1
| | | | registers can be memory-mapped)
* input.cpp: Fix regression in token parsing AJR2021-02-031-2/+2
|
* render/bgfx: Fix failure to load texture .png files when -artpath contains ↵ AJR2021-02-032-3/+3
| | | | multiple directories
* Use std::clamp in various core functions AJR2021-02-033-17/+8
|
* input.cpp, inputdev.cpp: Convert a few more functions to use std::string_view AJR2021-02-034-38/+37
|