Improved the banking of the ATI 28800-5 cards (VGA Charger and VGA Wonder XL).
Improved the skew and horizontal display of some of the ET4000W32P cards as well as the cursor.
Made the Oak OTI 077 and PVGA WD90c30 cards use the Sierra 11487 (actually a clone is used in the real cards).
For the WD90c30, changed the way the hack is involved.
Reverted some changes of the S3 Vision/Trio that originally made glitches, now the glitches are gone and the accelerator renders fine.
Re-organized the Sierra 1148x RAMDAC's and added the 11486 (Mark 1).
MCA SVGA cards use the full 32-bit mapping.
Added a timer to improve perfomance of the 3D engine.
Made the Trio3D/2X available for all.
Reserved bit 2 of CR33 is now always set to make sure Win95's Trio3d/2X drivers work along with a workaround for the memory size.
Added preliminary DMA bus master capabilities.
Fixed Chicago 73x (73f/g and 81)'s width/pitch in 15bpp mode using its built-in drivers at 800x600 using the 928.
Vastly improved implementation of the Short Stroke Vectors.
Removed threading for FIFO mode in the cards using the 964 chips and up.
Implementation of the non-threaded FIFO for cards using the 964 chips and up. Should fix most remaining wallpaper issues with those chips.
Improved recalctimings when 256+ mode Enhanced Mode is issued.
Added the MiroCRYSTAL 8S VLB card (805, SDAC).
Added the Phoenix S3 Vision968 (IBM RGB) and the MiroCRYSTAL 20SD VLB (864, SDAC) (alongside their BIOSes).
Added the vendor specific bits of CRTC5c used by the MiroVIDEO 40SV Ergo (968), Phoenix 868 and Phoenix 968.
Restored FIFO in the pre-964 cards, but without threading (Warning, code might be bloated for this).
Fixed horizontal issue with the SPEA Mercury P64V (968).
This is a portable computer based around 80C86 processor and Chips &
Technologies chip set. It features a 640x200 monochromatic LCD display,
and up to two 720k 3.25" floppy drives.
It can optionally contain a hard drive controller along with 20M 3.25" MFM
hard drive in place of one floppy drives, which is not emulated yet.
Also not emulated is the expanded memory over 640K.
At least two versions of BIOS have been seen in the wild -- one from
89/09/04 another from 09/12/20.
The MD5 checksums of the ROM images (a pair of chips for each BIOS versions
and a character ROM) are as follows:
SHA1(ce39ab220de25bbd824dbd5c7411c88f3a8d7430) =
roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_090489_Even.rom
SHA1(9b374cf5aa48186577293c3a83250cdc1aed7c9a) =
roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_090489_Odd.rom
SHA1(57015c8b85aecb10890d4ddd4a0d133e1ba4ca49) =
roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_122089_Even.rom
SHA1(1d3217e9fde7410167cd462ad82b360bf546b9d0) =
roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_122089_Odd.rom
SHA1(59ff86fcfea479b02075c32da12c6c1579d71df5) =
roms/machines/v86p/v86pfont.rom
The 82C425 is a CGA-compatible display controller chip. On top of being
able to drive a regular CRT display like an ordinary CGA card, it can
be configured to drive a monochrome 640x200 LCD panel instead.
The chip along with a LCD panel are notably used in the Victor V86P
laptop comupter.
When driving a monochrome LCD, the controller is able to employ some clever
tricks to compensate for he lack of color: by alternately turning dots on
and off with various duty cycles it can achieve displaying 4 or 8 shades
of gray. It can also enhance contrast between the text glyphs and their
background when it's less than the configured minimum (with "SMARTMAP"
algorithm).
The emulation is fairly complete. The 320x200 graphical mode uses 4 gray
shades along with stretching the pixels horziontally much like the real
hardware would. SMARTMAP is implemented for text mode and also matches
the real hardware pretty closely.
The missing bits are:
* Configurable blink rates
* Mapping the character map into host address space
The code is based on the T1000 display controller emulation and
still bears strong resemblance to it.
This adds support for Chips & Technologies 82C606 CHIPSpak Multifunction
Controller emulation. It is similar enough to 82C710 that supporting the
82C606 is merely a matter of adding a variant to the existing code.
The 82C606 is notably used in the Victor V86P portable computer.
Compared to 82C710, the 82C606 provides neither floppy nor IDE hard
driver support. On the other hand it provides a RTC with non-volatile
CMOS RAM and a Game Port. The base addresses and interrupt lines of the
peripherals are configurable.
The 82C606 SuperIO allows reconfiguring the interrupt line used for the
UART alarm at runtime, including disabling it altogether.
While at that, correct the type in the serial_setup() prototype to be
the same as serial_t.irq uses.
Overhauled the read portion of the PIX TRANS command (fixes white corruption in some instances while keeping everything already working fine).
Fixed Miro 10SD recalctimings issue about losing graphics mode.
DWORD mode SVGA CRTC bit fixed when S3 DWORD mode bit is enabled.
Reworked the pix tranfer register to allow a word in a byte transfer.
Added an alternative bios selection for the SPEA Mirage 801 card (3.05I and 4.01, the latter being the default now.
Added the MiroCrystal 10SD 805 VLB, Phoenix 801 ISA, MiroVideo 40SV 968 VLB/PCI, SPEA Mercury P64V 968 PCI , SPEA Mirage P64 Trio64 VLB cards.
Removed some non-working S3 cards like the Trio64V+ VLB and Elsa Winner 2000 Pro X VLB (only PCI variants of these cards are now in)
- A global variable added as vm_name
- This variable can be filled with the `--vmname "Name"` or `-V "Name"` parameter.
- If there are no such a parameter definied this variable will filled up with the directory name.
- The Discord module displays this global variable, as VM name.
- Various 86Box managers can use this feature to display fancy VM names, instead of GUID folder names.
- This variable can be easily used later for adding cool things, like the VM name in title bar, etc.