summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/video.cpp
Commit message (Collapse)AuthorAgeFilesLines
* (nw) Clean up the mess on master Vas Crabb2019-03-261-5/+14
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-251-14/+5
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* video: don't use iter count (nw) hap2019-02-151-1/+5
|
* video: stop frameskipping constantly on screenless systems with frameskip=0 (nw) hap2019-02-151-2/+3
|
* Video throttling: Additive oversleeping Celelibi2019-02-151-3/+7
| | | | Signed-off-by: Celelibi <celelibi@gmail.com>
* Replace ATTOSECONDS_TO_HZ with as_hz where appropriate (nw) AJR2018-11-051-2/+2
|
* better handling for arbitrary numbers of screens (nw) Vas Crabb2018-03-121-97/+111
|
* Remove all uses of first_screen() from core files, nw Ryan Holtz2018-03-111-178/+373
|
* png: make it not leak memory by default, and look a but more like C++ Vas Crabb2017-08-131-11/+7
|
* more const, get rid of forced sleep (nw) Vas Crabb2017-08-021-16/+7
|
* general cleanup: Vas Crabb2017-05-231-3/+3
| | | | | | | | | | | * move rarely-used output and pty interfaces out of emu.h * consolidate and de-duplicate forward declarations, also remove some obsolete ones * clean up more #include guard macros * scope down a few more things (nw) Everyone, please keep forward declarations for src/emu in src/emu/emufwd.h - this will make it far easier to keep them in sync with declarations than having them scattered through all the other files.
* Remove the minimum constraint for sleep, thus avoid choosing a seemingly 057a3dd61f99517a3afea0051a49cb27994f94d2017-05-201-8/+4
| | | | arbitrary constant.
* Relax the threshold to consider an oversleep as a system time change, 057a3dd61f99517a3afea0051a49cb27994f94d2017-05-181-1/+1
| | | | in case of running on a heavily loaded system, as suggested by cuavas.
* Fix video_manager::throttle_until_ticks (#2309) 057a3dd61f99517a3afea0051a49cb27994f94d2017-05-171-1/+6
| | | | Do not update m_average_oversleep if we overslept too much. This is still a partial fix, more investigation is needed when the system time jumps backward.
* Move static data out of devices into the device types. This is a ↵ Vas Crabb2017-05-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | significant change, so please pay attention. The core changes are: * Short name, full name and source file are no longer members of device_t, they are part of the device type * MACHINE_COFIG_START no longer needs a driver class * MACHINE_CONFIG_DERIVED_CLASS is no longer necessary * Specify the state class you want in the GAME/COMP/CONS line * The compiler will work out the base class where the driver init member is declared * There is one static device type object per driver rather than one per machine configuration Use DECLARE_DEVICE_TYPE or DECLARE_DEVICE_TYPE_NS to declare device type. * DECLARE_DEVICE_TYPE forward-declares teh device type and class, and declares extern object finders. * DECLARE_DEVICE_TYPE_NS is for devices classes in namespaces - it doesn't forward-declare the device type. Use DEFINE_DEVICE_TYPE or DEFINE_DEVICE_TYPE_NS to define device types. * These macros declare storage for the static data, and instantiate the device type and device finder templates. The rest of the changes are mostly just moving stuff out of headers that shouldn't be there, renaming stuff for consistency, and scoping stuff down where appropriate. Things I've actually messed with substantially: * More descriptive names for a lot of devices * Untangled the fantasy sound from the driver state, which necessitates breaking up sound/flip writes * Changed DECO BSMT2000 ready callback into a device delegate * Untangled Microprose 3D noise from driver state * Used object finders for CoCo multipak, KC85 D002, and Irem sound subdevices * Started to get TI-99 stuff out of the TI-990 directory and arrange bus devices properly * Started to break out common parts of Samsung ARM SoC devices * Turned some of FM, SID, SCSP DSP, EPIC12 and Voodoo cores into something resmbling C++ * Tried to make Z180 table allocation/setup a bit safer * Converted generic keyboard/terminal to not use WRITE8 - space/offset aren't relevant * Dynamically allocate generic terminal buffer so derived devices (e.g. teleprinter) can specify size * Imporved encapsulation of Z80DART channels * Refactored the SPC7110 bit table generator loop to make it more readable * Added wrappers for SNES PPU operations so members can be made protected * Factored out some boilerplate for YM chips with PSG * toaplan2 gfx * stic/intv resolution * Video System video * Out Run/Y-board sprite alignment * GIC video hookup * Amstrad CPC ROM box members * IQ151 ROM cart region * MSX cart IRQ callback resolution time * SMS passthrough control devices starting subslots I've smoke-tested several drivers, but I've probably missed something. Things I've missed will likely blow up spectacularly with failure to bind errors and the like. Let me know if there's more subtle breakage (could have happened in FM or Voodoo). And can everyone please, please try to keep stuff clean. In particular, please stop polluting the global namespace. Keep things out of headers that don't need to be there, and use things that can be scoped down rather than macros. It feels like an uphill battle trying to get this stuff under control while more of it's added.
* Fix debug build by removing vestiges of -dummywrite (nw) AJR2017-03-021-6/+1
|
* Introduce u8/u16/u32/u64/s8/s16/s32/s64 Vas Crabb2016-11-191-22/+22
| | | | | | | | | | | | * New abbreviated types are in osd and util namespaces, and also in global namespace for things that #include "emu.h" * Get rid of import of cstdint types to global namespace (C99 does this anyway) * Remove the cstdint types from everything in emu * Get rid of U64/S64 macros * Fix a bug in dps16 caused by incorrect use of macro * Fix debugcon not checking for "do " prefix case-insensitively * Fix a lot of messed up tabulation * More constexpr * Fix up many __names
* Revert "Added IS_ENABLED, so we have compiler check for non used part, it is ↵ Miodrag Milanovic2016-11-121-1/+1
| | | | | | checked but not compiled in (nw)" This reverts commit c0407f073bf7afe26407c4add5cfeaf7104913c9.
* Added IS_ENABLED, so we have compiler check for non used part, it is checked ↵ Miodrag Milanovic2016-11-111-1/+1
| | | | | | but not compiled in (nw) false and true now used instead of integer where used as bool
* Do not use FUNC in delegate where applicable (nw) Miodrag Milanovic2016-11-061-1/+1
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-10/+10
| | | | | Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8 also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
* some bool <-> int not needed conversions, also cleaned drivenum.* was using ↵ Miodrag Milanovic2016-10-211-13/+13
| | | | memset for clearing vector (nw)
* std::min and std:max instead of MIN and MAX, also some more macros converted ↵ Miodrag Milanovic2016-07-311-3/+3
| | | | to inline functions (nw)
* Fix -nodebug crash (nw) therealmogminer@gmail.com2016-06-081-8/+10
|
* Major refactoring of debugger core [Ryan Holtz] therealmogminer@gmail.com2016-06-081-1/+1
| | | | | | | | * Eliminate globals/file statics * Remove lots of stuff from global scope * Use std::function for custom command registration * Eliminate some trampolines * Build fixes from Vas Crabb and balr0g
* Revert "Allow for output to verify that a machine's emulation has ended ↵ Scott Stone2016-05-161-9/+3
| | | | | | properly specifically in instances where less than 2 seconds has elapsed. (nw)" This reverts commit fc4ab036fc4822ed9927c3f379f002e16aa3ffeb.
* Allow for output to verify that a machine's emulation has ended properly ↵ Scott Stone2016-05-161-3/+9
| | | | specifically in instances where less than 2 seconds has elapsed. (nw)
* Added ability to create standalone emulators, added zexall as example (nw) Miodrag Milanovic2016-05-081-1/+1
|
* INC -> HXX makes editors and code analyzers see it as C++ (nw) Miodrag Milanovic2016-05-011-1/+1
|
* Split UI and frontend part from core [Miodrag Milanovic] Miodrag Milanovic2016-04-231-7/+6
|
* video.cpp: create final snapshot on -str runs even for screenless systems. ↵ Ivan Vangelista2016-04-221-9/+6
| | | | Fixes MT04965 (nw)
* Iterate over devices C++11 style AJR2016-04-181-23/+19
| | | | | | Replace the old device_iterator and its specialized versions with functionally equivalent classes that use standard operators to yield references to devices/interfaces rather than pointers. With range-based for loops, they no longer have to be stored in named variables, though they can also be reused concurrently since the iteration state is now maintained by a subclass. Add a few more typical getters to device_t::subdevice_list.
* Compressed internal layouts [David Haywood] Miodrag Milanovic2016-03-301-1/+1
|
* Make osd_file a polymorphic class that's held with smart pointers Vas Crabb2016-03-141-28/+27
| | | | | | | | | | | | | | | Make avi_file a class that's held with smart pointers, encapsulate various AVI I/O structures Make zip_file and _7z_file classes rather than having free functions everywhere Hide zip/7z class implementation behind an interface, no longer need to call close() to send back to the cache Don't dump as much crap in global namespace Add solaris PTY implementation Improve variable expansion for SDL OSD - supports ~/$FOO/${BAR} syntax Rearrange stuff so the same things are in file module for all OSDs Move file stuff into its own module 7z/zip open and destruct are still not thread-safe due to lack of interlocks around cache access Directory functions still need to be moved to file module SDL OSD may not initialise WinSock on Windows
* * Support *n conversion in stream_format/string_format Vas Crabb2016-03-011-4/+4
| | | | | | | | | * Make stream_format return characters printed * Add iostreams with std::vector storage * Move to type-safe templates for logerror and popmessage * Remove now-unnecessary I64FMT from calls to logerror/popmessage * Put some lib/util stuff in util:: namespace * Some fixes to Japanese translation
* Replace strformat, strprintf and strcatprintf with type-safe steam_format ↵ Vas Crabb2016-02-281-41/+22
| | | | | | | | | and string_format Update MAME to use new function Instantiate ODR-used static constant members Make some of the UI code more localisable Remove use of retired functions in tools
* ui: Moved options "Configure Directories" and "Save Configuration" into ↵ dankan18902016-02-271-1/+1
| | | | | | | | "Configure Options" menu. Removed unnecessary icons from the toolbar (performed the same actions of entries already in the menu). Proper handling the export of the list. Updated the .po files.
* draw FPS counter even in menus (nw) Miodrag Milanovic2016-02-151-1/+1
| | | | will revert this when MG finish his work
* Added new options: Michele Fochi2016-02-081-7/+15
| | | | | | -[no]exit_after_playback (default=no) -[no]record_input (default=no) Added new UI shortcut to save current timecode (default F12) Translated variable names and comments to english language
* VideoSnaps patch Michele Fochi aka motoschifo2016-02-071-1/+56
| | | http://adb.arcadeitalia.net/videosnaps.php
* Small code cleanup: dankan18902016-01-291-1/+1
| | | | | | | | | - corealloc.h: added macro definition for global_alloc (nothrow) memory allocation. - textbuf.cpp / wavwrite.cpp: removed pointless cast. - debugcmd.cpp / luaengine.cpp / render.cpp: avoid strlen calls in a loop. - diimage.cpp: simplified "device_image_interface::set_image_filename" function. - miscmenu.cpp / selgame.h / video.cpp(h): replaced int with bool where applicable. - ui.cpp: removed unused code.
* Pass and return palette devices by reference, not as pointers AJR2016-01-231-10/+15
| | | | | | - Add screen_device::has_palette() - Require device_gfx_interface::gfx() and palette() to access members - Getters for atari_vad_device return devices as references, not pointers
* modernized crosshair_manager (nw) Miodrag Milanovic2016-01-111-1/+1
|
* Merge pull request #561 from ajrhacker/strings Miodrag Milanović2016-01-111-2/+2
|\ | | | | Return std::string objects by value rather than pass by reference [ajrhacker]
| * Return std::string objects by value rather than pass by reference AJR2016-01-101-2/+2
| | | | | | | | | | | | - strprintf is unaltered, but strformat now takes one fewer argument - state_string_export still fills a buffer, but has been made const - get_default_card_software now takes no arguments but returns a string
* | modernize output_manager (nw) Miodrag Milanovic2016-01-101-1/+1
|/
* tagged_list without tagmap_t (nw) Miodrag Milanovic2015-12-111-9/+0
|
* clang-modernize part 1 (nw) Miodrag Milanovic2015-12-031-42/+42
|
* Initial conversion of core to C++14. Note that compilers are now limited to ↵ Miodrag Milanovic2015-12-031-1/+1
| | | | GCC 4.9.0 and up, Clang 3.4.0 and up, and VS2013 and up [Miodrag Milanovic]
* Some cleanups and init fixes with help of ReSharper C++ (nw) Miodrag Milanovic2015-11-111-1/+1
|