summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video/voodoo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* devices/video/voodoo.cpp : Simplify handlers cam9002019-04-271-25/+25
|
* voodoo: Mark frame buffer as changed after direct lfb write. Fixes missing ↵ Ted Green2018-11-141-0/+2
| | | | text during nbagold power on tests. (nw)
* Renamed flipendian -> swapendian, as I spent minutes trying to find the ↵ mooglyguy2018-11-051-8/+8
| | | | functions to tell to another person who spent minutes trying to find the functions, and we refer to such functions as swapping just about everywhere else in the codebase, nw
* voodoo: deal with needing to be able to configure screen/CPU or set them at ↵ Vas Crabb2018-05-231-32/+54
| | | | | | | | start in a safer way devfind: revert previous change - if finders aren't set in stone after device_resolve_objects it's going to lead to all kinds of hard-to-diagnose bugs (I'll add more checks for this some time after release) (nw) also clean up rotting tabulation
* voodoo: Use device finders instead of machine().device (nw) Ryan Holtz2018-05-211-28/+22
|
* remove safe_pc() and safe_pcbase() (nw) smf-2018-04-131-8/+8
|
* voodoo: Correct vsync timing and remove anonymous timer. Ted Green2018-03-281-18/+32
|
* xtal.h is dead, long live to xtal.cpp [O. Galibert] Olivier Galibert2018-01-231-1/+1
|
* voodoo: Use CRTC registers for vblank start. Fixes viper regression caused ↵ Ted Green2018-01-061-5/+7
| | | | by last voodoo commit. (nw)
* Calculate screen size and timing using voodoo CRTC and PLL registers. (nw) Ted Green2018-01-061-7/+29
|
* Revert "Revert "Merge branch 'master' of https://github.com/mamedev/mame"" Firehawke2017-12-131-1/+4
| | | | This reverts commit 54155441e9ba9941e85d80c4834a66376a11e791.
* Revert "Merge branch 'master' of https://github.com/mamedev/mame" Firehawke2017-12-131-4/+1
| | | | | This reverts commit f537428e5a40ba6dde8ca9bf0fe9ae6b1f189ac4, reversing changes made to 0d70d798107d4e4e8fb9f230410aeb1e888d65c5.
* voodoo: Set number of SGRAM chips to 2 for 16M cards. (nw) Ted Green2017-12-041-1/+4
|
* suppress function-like macro expansion for MSVC (nw) Vas Crabb2017-11-091-3/+3
|
* voodoo: Use SSE routines for texture perspective correction. (nw) Ted Green2017-11-041-2/+2
|
* voodoo: Incorporate some more sse optimizations. (nw) Ted Green2017-10-121-1/+1
|
* voodoo: Reorganize a few function calls to make profiling easier. (nw) Ted Green2017-10-111-4/+10
|
* voodoo: Add some code optimizations. (nw) Ted Green2017-10-081-13/+17
|
* voodoo: Use table lookup for RGB565 conversion. (nw) Ted Green2017-10-011-9/+34
|
* voodoo: Revert to using lower 16 bits of zaColor only. Fixes depth ↵ Ted Green2017-09-111-4/+4
| | | | buffering from last commit for Voodoo 2 cards and greater. (nw)
* voodoo: Fixed subtle casting bug. The uncasted depth in the expanded ↵ Ted Green2017-09-111-4/+4
| | | | variable calculation was causing a possible sign extension into the top 32 bits of expanded. Allows obsidian manufacturing test in calspeed to pass. (nw)
* voodoo: Remove wrapping after y origin conversion so that proper y-clipping ↵ Ted Green2017-08-301-4/+5
| | | | is performed. Fixes pool cue wrapping out of top the screen in virtpool. (nw)
* voodoo: Fixup logging and implement actual vRetrace and hvRetrace functions. ↵ Ted Green2017-06-291-24/+44
| | | | (nw)
* viper: revert to using internally generated vblank. voodoo: Write register ↵ Ted Green2017-06-141-0/+1
| | | | data to intrCtrl. (nw)
* voodoo: Extend PCI interrupt support to Voodoo 2 and above. (nw) Ted Green2017-06-141-20/+10
|
* voodoo: Separate vblank (external) and pci interrupt (internal) callbacks. (nw) Ted Green2017-06-141-14/+32
|
* voodoo: Also calculate dither pointer when needed for fogging. Fixes ↵ Ted Green2017-06-041-1/+1
| | | | graphics crash in sf2049. (nw)
* some more Voodoo cleanup (nw) Vas Crabb2017-05-251-199/+151
|
* Move static data out of devices into the device types. This is a ↵ Vas Crabb2017-05-141-301/+326
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* voodoo: Revert texture base address calculation to fix seattle driver. (nw) Ted Green2017-04-221-4/+2
|
* voodoo: Change multi base address selection to fix funkball textures. Ted Green2017-04-201-6/+10
|
* Self-registering devices prep: Vas Crabb2017-02-271-6/+6
| | | | | | | | | | | | | | * 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.
* Remove device_config_complete from numerous devices that don't really need ↵ AJR2017-02-091-10/+0
| | | | it (nw)
* converted lot of TRUE/FALSE to real boolean and updated types (nw) Miodrag Milanovic2016-10-221-59/+59
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-241/+241
| | | | | 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
* std::min and std:max instead of MIN and MAX, also some more macros converted ↵ Miodrag Milanovic2016-07-311-11/+11
| | | | to inline functions (nw)
* small cleanup (nw) Miodrag Milanovic2016-06-051-1/+1
|
* (nw) Fixed up PCI VGA legacy register mapping Ted Green2016-05-181-5/+7
|
* voodoo: Stopped blocking of non-fifo'd register writes (nw) Ted Green2016-05-171-3/+6
| | | | gt64xxx: Added PCI stall functions (nw)
* (nw) Prep work for gpu acceleration Ted Green2016-05-011-46/+50
|
* INC -> HXX makes editors and code analyzers see it as C++ (nw) Miodrag Milanovic2016-05-011-2/+2
|
* NULL->nullptr, instead of DEVCB_NULL use always DEVCB_NOOP to prevent ↵ Miodrag Milanovic2016-04-241-1/+1
| | | | confusion (nw)
* Iterate over devices C++11 style AJR2016-04-181-4/+3
| | | | | | 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.
* Cleanups and version bump Miodrag Milanovic2016-02-241-7/+3
|
* start making this a little more modern c++y with classes, member functions ↵ David Haywood2016-02-011-1476/+1399
| | | | | | etc. rather than legacy structs, tokens etc. (with a view to eventually ditching polylgcy)
* Cleanups and version bumpmame0170 Miodrag Milanovic2016-01-271-4/+2
|
* shuffle some code around, move included code to .inc file, easier to read / ↵ David Haywood2016-01-241-539/+22
| | | | understand than the self-include. also kill off the old rasterizer path, the new one seems to work fine, so it's essentially dead code, hopefully nobody has an issue with this.
* reverting: Miodrag Milanovic2016-01-201-8/+10
| | | | | | | SHA-1: 1f90ceab075c4869298e963bf0a14a0aac2f1caa * tags are now strings (nw) fix start project for custom builds in Visual Studio (nw)
* Revert "rest of device parameters to std::string (nw)" Miodrag Milanovic2016-01-201-2/+2
| | | | This reverts commit caba131d844ade3f2b30d6be24ea6cf46b2949d7.
* rest of device parameters to std::string (nw) Miodrag Milanovic2016-01-161-2/+2
|