* Changed to use modern poly.h instead of polylgcy.h.
* Moved helper classes into separate voodoo namespace.
* Derived device classes from video_device_interface.
* Split classes so that later versions derive from earlier versions.
* Created device maps to be directly included.
* Redesigned register mapping to use helper classes and delegates.
* Rewrote rasterizers to use C++ templates instead of macros.
* Added logic to compute equations for color/texture combine units.
* Added special generic identity-texel rasterizer cases.
* Removed pipeline stalls on texture and palette changes.
* Removed pipeline stalls on most all parameter changes.
* Generally re-thought and cleaned up logic throughout.
* Parameterized cycle stealing on status reads; updated all existing voodoo consumers to configure it as it was before.
-vidoe/poly.h: Various improvements:
* Exposed poly_array class for broader use.
* Changed poly_array to intelligently determine maximum size.
* Added logic to track multiple "last" instances in poly_array.
* Extended logic to support up to 16m work items.
* Removed MaxPolys parameter from poly_manager template.
* Added Flags parameter to poly_manager template.
* Added POLY_FLAG_NO_CLIPPING flag to remove clipping code when not needed.
* poly_manager now supports a MaxParams value of 0.
* Made paramcount a template parameter for render_* functions.
* Added reset_after_wait() method to be overridden by derived classes.
* Switched to using std:: helpers instead of internal methods.
* Removed useless dependency on screen_device.
* TRACK_POLY_WAITS now produces more complete statistics.
-video/polylgcy.cpp: Removed legacy implementation of polygon renderer.
-machine/gt64xxx.cpp: Prevent lockups by disallowing 0-duration timers.
-machine/pci.cpp: Added support for adding subdevice maps directly.
-emu/video/rgbsse.h: Improved min/max for SSE4.1+ and scale+clamp operations for all.
-emu/vidoe/rgbutil.h: Made palette expansion constexpr and added argbexpand function.
-osd/osdcore.cpp: Changed osd_ticks to use QueryPerformanceCounter on Windows since the mingw std::chrono::high_resolution_clock is anything but.
This effectively reverts b380514764 and
c24473ddff, restoring the state at
598cd52272.
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.
Used in the high end HP9000/300 machines. Provides a resolution
of 1280x1024 @ 8bpp. It also provides two overlay planes and one
phantom plane. Each plane contains two window movers that are used
for copying characters and tiles on the screen. It also has a RUG
for line/vector drawing. The current state implements everything
that is required to have a working HP Visual user environment in
MAME.
Working:
- window mover
- pixel replacement rules
- window replacement rules
- f0 tripple replacement rule (copy src or keep destination depending on pattern register)
- VRAM bit access mode
- solid line drawing
Not implemented yet:
- drawing circles
- linetype vector/circles
- rectangles
- filling areas
- tripple replacement rules other than f0
A skeleton for the Microsoft Jazz architecture, which was implemented in the MIPS Magnum 4000, Olivetti M700-10 and was the base/origin of several other MIPS ARC systems.
* added skeleton Inmos G300/G332/G364 device
* added skeleton NatSemi DP83932C SONIC device
* added skeleton MCT-ADR device
* Remove vram_rw and ctrl_rw wrapper functions
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* topcat: replace hardcoded display width by m_fb_width
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* topcat: prepare topcat for multi plane operation
framebuffer vram is only 1 bit wide.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* 98544: set single topcat plane
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* add nereid mapper used on HP98543/98545 graphic cards
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* prepare for multi-topcat operation
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* add HP 98543 4 plane graphics card
* hp9k_3xx: add hp98543 card
* topcat,nerid: disable VERBOSE
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* hp98543: use required_device_array
* 98543: use required_region_ptr
* 98544: use required_region_ptr
* topcat: add save state support
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* nereid: add save state support
* hp98544,hp98543,topcat: use shared memory space
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* nereid: remove redundant variable
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* topcat, nereid: remove trailing underscore from include guard
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* topcat,hp98543: code style fixes proposed in PR
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* add topcat template
HP topcat was an ASIC used on HP900/300 graphics cards.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* hook up topcat asic to HP98544
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* topcat: add basic configuration macros for fb planes, height and width
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* hp98544: move logic to topcat video driver
Preparation to support multi plane graphic cards
like the HP98543/98545/98547.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* xtal: add 35.904MHz XTAL
* bt45x: new devices
Basic implementation of various Brooktree RAMDAC devices. Two of these (bt457, bt458) are used by InterPro graphics boards currently under development, the others are unused/untested at this point.
* bt45x: tweak descriptions (nw)
An implementation of the National Semiconductor DP8510 BITBLT Processing Unit. This is used on the InterPro GT family graphics boards, and this implementation seems to be correct enough to enable me to progress there, hence the PR. While I'd love to have another system to test against, I'm not aware of any other systems that ever used this device other than some NatSemi reference designs, which are not (yet) in MAME.
* initial skelethon: ControlID X628 fingerprint reader
* first draft of an implementation of the NT7534 device (LCD controller)
* fix emulation of ControlID x628 + NT7534 LCD controller
* cidx628: fix LCD color palette on Control ID x628 driver
* Adding a header with details of the hardware. This is the first MAME driver with an LCD controlled by a NT7534 chip, so I wrote an initial implementation of that new device.