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.