summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/screen.cpp
Commit message (Collapse)AuthorAgeFilesLines
* cking_master, cxg_ch2001: move from chessbase to screenless (nw) hap2019-06-121-3/+1
|
* screen: default svg region (nw) hap2019-06-121-4/+2
| | | | hh_sm510: set svg refresh rate to 60hz (nw)
* fix screen_device::update_now() when drawing partial lines (#5109) enikland22019-05-251-14/+6
| | | | | | -screen: Fixed update_now() when drawing partial lines. [Enik Land] -screen: Fixed pixel-access functions to use the current bitmap. [Enik Land]
* (nw) Clean up the mess on master Vas Crabb2019-03-261-20/+5
| | | | | | | | | | | | | 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-5/+20
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* svg screen: add verbose message instead of aspect ratio helper (nw) hap2019-03-071-20/+5
|
* screen: don't assert on update_partial with scanline<0, plenty drivers do ↵ hap2018-11-241-3/+0
| | | | update_partial(vpos-1) (nw)
* -screen.cpp: Added a devcb for easier hooking of the scanline timer. [Ryan ↵ mooglyguy2018-11-171-5/+11
| | | | | | Holtz] -zerozone, zexall, zr107, zrt80, zt8802, zwackery, zx: Removed MACHINE_CONFIG_START/_END. [Ryan Holtz]
* luaengine: Added pixel(x,y) function. [Ryan Holtz] mooglyguy2018-11-041-0/+90
|
* -bgfx: Improved rendering with artwork by 5-10x or more. [Ryan Holtz] mooglyguy2018-08-261-2/+2
|
* divideo: Fetch screen to be potentially configured during ↵ AJR2018-08-211-8/+22
| | | | | | | | | | device_config_complete (nw) - Allow device finder to be used as an argument for set_screen (nw) screen: Calculate physical aspect ratio whenever required, not in device_config_complete, since the renderer caches the result anyway (nw) cdp1861, cdp1864: Eliminate the "magic reference" constructors, doing their work in device_config_complete instead (nw)
* ignore SVG dimensions, like we always did (nw) Vas Crabb2018-07-281-4/+9
|
* make rectangle work better with constexpr, change many things to use ↵ Vas Crabb2018-07-281-48/+41
| | | | designated getters/setters (nw)
* Better support for screen orientation/geometry: Vas Crabb2018-07-261-45/+86
| | | | | | | | | | | | | | | | | | | | | * Eliminates the need for the horizontal/vertical/LCD/SVG layout files * Screens can now have orientation and physical aspect ratio specified * RASTER/VECTOR defaults to 4:3, LCD/SVG defaults to square pixels at config time * System orientation is applied on top of screen orientation Automatically generated single-screen views and orientation flags in XML output now work correctly for systems with multiple screens in different geometries/orientations, e.g. housemnq, rocnms, stepstag, or netmerc. The "core rotation options" only interact with system orientation. Allowing multi-screen systems to work well with one monitor per emulated screen is a complex topic. System orientation also affects the GFX viewer while screen orientation doesn't. The orientation displayed in the system selection menu is from the system orientation. Let me know if I've broken any systems or use cases. Also, add save state support for std::array/C array nested to any depth.
* fixup, improve validation (nw) Vas Crabb2018-06-011-8/+7
|
* svis_snd cleanups, nw mooglyguy2018-06-011-26/+7
|
* Address performance concerns with previous change to screen.h/.cpp, nw mooglyguy2018-03-111-2/+4
|
* Remove all uses of first_screen() from core files, nw Ryan Holtz2018-03-111-2/+2
|
* destaticify initializations (nw) (#3289) wilbertpol2018-03-041-153/+0
| | | | | | * destaticify initializations (nw) * fix this->set_screen (nw)
* binding reference to nullptr is bad, mkay? (nw) Vas Crabb2018-01-061-8/+9
|
* Various palette and screen improvements (nw) AJR2017-11-131-28/+33
| | | | | - Use device_resolve_objects to remove the need for resolve_palette - Palette format no longer depends on configuration of first screen
* png: make it not leak memory by default, and look a but more like C++ Vas Crabb2017-08-131-7/+3
|
* general cleanup: Vas Crabb2017-05-231-20/+20
| | | | | | | | | | | * 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.
* Move static data out of devices into the device types. This is a ↵ Vas Crabb2017-05-141-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* New device interface for palettes AJR2017-04-061-6/+43
| | | | | | - Create device_palette_interface, which takes over most functionality from palette_device except for the initialization/decoding routines and RAM interface. - Update screen_device and device_gfx_interface to use a device_palette_interface object rather than a palette_device. This necessitates slight alterations to a few drivers and devices. - Modify v9938 and v9958 to use the new device_palette_interface rather than a subdevice. This entails breaking a cyclic dependency between device_video_interface and screen_device for this case.
* isa8_device: Provide proper unitmask for address spaces of any data width (nw) AJR2017-03-301-3/+6
| | | | screen_device: Guard against assert failure on partial updates starting from incomplete first line (nw)
* Convert screen_device VBLANK callback to devcb_write_line AJR2017-03-101-16/+4
| | | | | | - WRITE_LINE callback has same functionality, except that screen is not an argument - Rename screen_eof_xxx to screen_vblank_xxx in many drivers - No changes to externally registered vblank delegates or screen update methods
* Self-registering devices prep: Vas Crabb2017-02-271-1/+4
| | | | | | | | | | | | | | * Make device_creator a variable template and get rid of the ampersands * Remove screen.h and speaker.h from emu.h and add where necessary * Centralise instantiations of screen and speaker finder templates * Add/standardise #include guards in many hearers * Remove many redundant #includes * Order #includesr to help catch headers that can't be #included alone (nw) This changes #include order to be prefix, unit header if applicable then other stuff roughly in order from most dependent to least dependent library. This helps catch headers that don't #include things that they use.
* Introduce u8/u16/u32/u64/s8/s16/s32/s64 Vas Crabb2016-11-191-59/+59
| | | | | | | | | | | | * 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
* Reverting part of changes from previous commits as described in mail on list ↵ Miodrag Milanovic2016-10-231-1/+1
| | | | (nw)
* there you go (nw) Miodrag Milanovic2016-10-221-1/+1
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-59/+59
| | | | | 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
* use std algo instead of manual setting (nw) Miodrag Milanovic2016-10-211-3/+1
|
* some bool <-> int not needed conversions, also cleaned drivenum.* was using ↵ Miodrag Milanovic2016-10-211-1/+1
| | | | memset for clearing vector (nw)
* More prep for removing pointer/reference duality (nw) Vas Crabb2016-08-271-1/+1
|
* for bool type use true and false (nw) Miodrag Milanovic2016-07-311-2/+2
|
* std::min and std:max instead of MIN and MAX, also some more macros converted ↵ Miodrag Milanovic2016-07-311-4/+4
| | | | to inline functions (nw)
* simple_list to vector in screen (nw) Miodrag Milanovic2016-06-191-10/+10
|
* ... and analog noise being generated like ass (nw) Angelo Salese2016-06-171-0/+1
|
* Cleanups and version bumpmame0174 Miodrag Milanovic2016-05-251-12/+12
|
* hh*: reduce svg screen size from 4K to 1080p, this gets rid of framerate ↵ hap2016-05-021-2/+2
| | | | hiccup at start for me
* screen.cpp: only log at start the message about deprecated vblank etabeta782016-05-011-3/+2
| | | | | to avoid spamming logerror debugger window at each frame, which makes debugging quite hard ;) . nw.
* hh_hmcs40/ucom4: increased screensize hap2016-04-271-1/+1
|
* svg artwork: now that caching is done, we can increase screensize without ↵ hap2016-04-271-0/+17
| | | | worrying about a speed hit
* screen: Add svg shapes pre-computation [O. Galibert] Olivier Galibert2016-04-271-37/+417
|
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-1/+1
|
* Split UI and frontend part from core [Miodrag Milanovic] Miodrag Milanovic2016-04-231-1/+1
|
* screen: Fix alpha handling, cdkong looks good now [O. Galibert] Olivier Galibert2016-04-141-0/+9
|