Commit Graph

730 Commits

Author SHA1 Message Date
OBattler
bad67c4f4d Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-10-26 01:59:08 +02:00
OBattler
77d73ed3c2 Finished the Intel 450KX, changes to the memory and SMRAM API's, removed the ASUS P/I-P6RP4 from the Dev branch, added the CMD646 PCI IDE controller, and fixed some bugs on the CMD640. 2021-10-26 01:54:35 +02:00
TC1995
61273f5c1f Video changes:
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.
2021-10-24 19:06:05 +02:00
OBattler
820e9eede7 Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-10-21 21:18:44 +02:00
OBattler
85f810aa22 The Virtual PC 2007 machine now correctly uses the version of 440BX without AGP. 2021-10-21 21:18:20 +02:00
OBattler
a394a33500 Conflict resolution. 2021-10-19 18:18:15 +02:00
RichardG867
e8d9b51680 Remove SiS 5598 from include as well 2021-10-19 12:40:08 -03:00
RichardG867
9f0d240c7a Port ES1371 and ICS fixes from VFIO branch 2021-10-19 12:29:06 -03:00
RichardG867
6fc0890f23 Remove underscore from Multitech PC500 2021-10-19 12:22:13 -03:00
RichardG867
5ae6530ce5 ACPI: Fix resume issue with P2B-LS 2021-10-18 23:29:51 -03:00
RichardG867
e05aab152a Implement I/O port traps on PIIX and VIA ACPI 2021-10-18 21:59:12 -03:00
RichardG867
878c92bf7f ACPI: Rework suspend types and remove bogus PMCNTRL mirrors (those are SMI traps instead) 2021-10-18 15:05:38 -03:00
RichardG867
5d0b068ec0 Remove SiS 5598 machines and code as agreed upon 2021-10-16 20:22:12 -03:00
RichardG867
5bf8aa2d58 Port plat_m(un)map from the VFIO branch 2021-10-16 20:12:49 -03:00
RichardG867
b6bca8ae60 Remove VT8601 machine per machine_and_kb branch 2021-10-16 19:19:04 -03:00
RichardG867
128f32961d Replace WCF-681 with BCM GT694VA 2021-10-16 19:18:09 -03:00
OBattler
1c2d1e702b Assorted changes and bugfixes and added the two IMS 8848 machines. 2021-10-09 17:37:09 +02:00
OBattler
d3540b7dc5 Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-10-07 01:15:45 +02:00
OBattler
fc9ae687a1 Fixed video.h. 2021-10-06 23:41:36 +02:00
OBattler
6ee1fb490a Made the video_copy stuff Unix-friendly. 2021-10-06 23:18:33 +02:00
OBattler
2825131722 Conflict resolution. 2021-10-06 18:16:56 +02:00
OBattler
b7f5d4a773 Video 7 fixes, fixes RAMDAC 6-bit/8-bit switching on the Radius SVGA MultiView. 2021-10-06 18:12:22 +02:00
OBattler
f30577255f Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-10-06 02:27:19 +02:00
OBattler
46807540ed Rewritten renderer blitting, fixes flickering when inversion or grayscale is used. 2021-10-06 02:26:30 +02:00
OBattler
114539b2b2 Added a pic_set_pci() function that adds the PIC I/O aliases. 2021-10-02 23:07:12 +02:00
OBattler
5231ab4e44 Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-09-26 22:52:33 +02:00
TC1995
3bfcfc01a3 S3 ViRGE changes:
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.
2021-09-26 21:13:47 +02:00
OBattler
73404e1b92 Conflict resolution. 2021-09-18 00:51:49 +02:00
TC1995
a9c0c3181a Merge branch 'master' of github.com:86Box/86Box into tc1995 2021-09-17 05:07:02 +02:00
OBattler
2bc9e7520a Conflict resolution. 2021-09-17 02:48:18 +02:00
OBattler
c35b7e21ba And the forgotten fdc.h. 2021-09-17 02:42:52 +02:00
TC1995
20d7bb00b2 S3 changes part 4.
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).
2021-09-16 23:49:16 +02:00
Miran Grča
be2005dea4 Merge pull request #1690 from 86Box/master
Bring the branch up to par with master.
2021-09-14 22:34:42 +02:00
OBattler
bb4590a738 Added the Multitech PC-500, closes #1275. 2021-09-14 15:45:23 +02:00
Miran Grča
c15a3fa841 Merge pull request #1687 from 86Box/master
Bring the branch up to part with master.
2021-09-13 23:30:02 +02:00
OBattler
96faa28eeb Removed the useless y1 and y2 parameters from the renderers' blit functions (and other places). 2021-09-13 23:19:10 +02:00
OBattler
13dc05cfd2 Removed the useless double-buffering in video/video.c, improves performance and reduces RAM usage. 2021-09-13 21:02:15 +02:00
TC1995
04e48a071e S3 changes part 3:
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).
2021-09-11 22:02:31 +02:00
Miran Grča
c5864a46d8 Merge pull request #1676 from 86Box/master
Bring the branch up to par with master.
2021-09-08 00:08:23 +02:00
OBattler
0c4003caa3 Added the C&T 82C100 chipset needed by the Victor V86P. 2021-09-07 23:41:17 +02:00
Miran Grča
c107fde4e5 Merge pull request #1675 from lkundrak/lr/victor-v86p
Victor V86P Emulation
2021-09-07 22:17:49 +02:00
Lubomir Rintel
f482ad54f6 Add the Victor V86P Machine
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
2021-09-07 21:34:18 +02:00
Lubomir Rintel
a05f5d493f Add Chips & Technologies 82C425 CGA LCD/CRT controller emulation
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.
2021-09-07 21:34:18 +02:00
Lubomir Rintel
ad5e0943f1 Add Chips & Technologies 82C606 Super I/O emulation
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.
2021-09-07 21:34:18 +02:00
Lubomir Rintel
d152e92648 Don't raise the UART interrupts if no IRQ is configured
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.
2021-09-07 21:34:18 +02:00
Lubomir Rintel
e641e81de7 Add possibility to change the RTC interrupt line
The 82C606 SuperIO allows reconfiguring the interrupt line used for the
RTC alarm at runtime.
2021-09-07 21:34:18 +02:00
Cacodemon345
d232ce99fe Redirect fopen64 functions to fopen for non-Linux Unix systems 2021-09-07 16:24:50 +06:00
TC1995
4f5a78a8b9 Added a force byte mode variable to prevent dword mode from operating due to glitches in the S3 acceleration using said mode. 2021-09-06 13:03:50 +02:00
Miran Grča
7145e3aa9a Merge pull request #1662 from 86Box/master
Bring the branch up to par with master.
2021-09-05 20:31:53 +02:00
TC1995
0ae17cbb3e S3 changes/improvements:
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.
2021-09-05 18:10:54 +02:00