- video/pc_vga.cpp: Move everything that doesn't belong to main VGA/SVGA interfaces to per-manufacturer family files;
- shared/pcshare.cpp: retire pcat_base_state::pcvideo_* fns;
- video/pc_vga.cpp: temporary move gamtor_vga_device to misc/gamtor.cpp;
- bus/isa/isa_cards.cpp: retire TGUI9680 from being selected (all refs points to be a PCI card only, there's mention of a VLB card but haven't seen a single retail dump/photo yet)
- bus/isa/svga_trident.cpp: add TVGA9000 ISA card
- bus/isa/svga_tseng.cpp: add earlier ColorImage ET4000AX variant
- bus/isa/svga_tseng.cpp: add Kasan Hangulmadang-16 Korean variant ISA
- Adds a very preliminary implementation of nVidia Riva 128 PCI card, added as a temp target in pc/pcipc.cpp (pcinv3);
- video/pc_vga.cpp: Rework and fix VGA input sense (necessary to allow Riva 128 to survive POST);
- video/pc_vga_s3.cpp: Fix s3_vga_device inheritance (was subclassing from ati_vga_device)
- pc/calchase.cpp: convert custom JAMMA i/f to ISA device;
- pc/calchase.cpp: connect Trident VGA to ISA bus;
* machine/mc68328.cpp: Split MC68328 device into a base class with shared functionality, and derived MC68328 and MC68EZ328 models.
* video/sed1375.cpp: Added roughly-functional implementation of the Epson SED1375 LCD controller.
Machines promoted to working
------------------------
3Com Palm IIIc [Ryan Holtz]
- Use 16-bit pointer for sprite RAM storage (despite some systems only having 8-bit CPUs)
- Rename device and move to src/devices
- Clean up variable naming in associated drivers
- neobattl: Add DIP switch locations
- krzybowl: Reduce clocks to match known XTAL value
* 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