Commit Graph

133 Commits

Author SHA1 Message Date
OBattler
6661ff5dcc Abstracted away the machine bus'es and flags in order to make the rest of the emulator agnostic as to how they're stored. 2021-12-13 01:23:06 +01:00
RichardG867
447269eb39 Machine table and ROM fixes and cleanups 2021-11-21 13:17:30 -03:00
TC1995
e29dafa17a Changes list 5:
Added the AT&T 2xc498 Precision RAMDAC.
Added 1MB configurations to the Cirrus Logic GD5434 as well as re-organized the memory size options of the other Cirrus cards.
Separated the et4000w32/i blitter from the standard et4000w32p blitter and properly implemented the X/Y Count route.
Added several Diamond Cirrus cards.
Added Number Nine S3 cards (868 and 968-based).
Fixed the WD90c30 1MB modes.
Re-organized the video card names.
2021-11-18 23:58:04 +01:00
OBattler
11431213ed Also reverted all the video changes. 2021-11-13 23:25:07 +01:00
OBattler
bad67c4f4d Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-10-26 01:59:08 +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
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
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
c15a3fa841 Merge pull request #1687 from 86Box/master
Bring the branch up to part with master.
2021-09-13 23:30:02 +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
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
TC1995
16996ab2a2 Added the 3dfx Velocity 100 per request, alongside its BIOS. 2021-09-05 01:16:56 +02:00
Miran Grča
b0ec4e1ece Merge pull request #1652 from 86Box/master
Brought the branch up to par with master.
2021-09-03 16:41:24 +02:00
TC1995
391c6a3571 S3 & TVP3026: Part 2.
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)
2021-09-03 00:05:43 +02:00
OBattler
67367798a7 Merged various SMC FDC67C6xx Super I/O chips into one file, re-added the UMC88xx 486 chipsets (and four machines for it) based on work by tiseno100 and my own work, various other fixes, and added quite a few machines (including the AOpen AP5VM which now works), also added the remaining ALi M6117 machine (Protech SBC with Award BIOS), and made the Intel Advanced/ATX's on-board S3 Trio64V+ work, as well as the on-board S3 Trio64/V2 of the two Compaq Presarios. 2021-08-21 18:19:10 +02:00
Miran Grča
920b9b417d Merge pull request #1544 from 86Box/master
Bring the branch up to par with master.
2021-07-12 05:58:47 +02:00
TC1995
40b593d3ad Added the TGUI9660 and fixed a compile bug (technically a 32-bit color bug) in said card and the 9680.
Added I2C/DDC support to the 9660 and 9680 as well as PCI IRQ support.
Extended the MMIO base addressing to 4MB for the 9660/9680.
2021-07-11 15:06:23 +02:00
OBattler
4f6df76f10 Revert "Revert "Merge branch 'feature/machine_and_kb' into master""
This reverts commit f2cd3756dd.
2021-07-04 17:40:39 +02:00
Daniel Gurney
f2cd3756dd Revert "Merge branch 'feature/machine_and_kb' into master"
This reverts commit 6604a29d7e, reversing
changes made to 1d7fca0abd.
2021-07-04 18:22:52 +03:00
Miran Grča
737093117d Merge pull request #1521 from 86Box/master
Bring this feature branch up to part with master.
2021-07-04 00:32:50 +02:00
TC1995
d7a9a4f1f3 Properly fixed the Bresenham line draw command on TGUI9440.
Added the TGUI9680 card and its corresponding 32bit mode and clipping.
Patterns on bitblt are more properly emulated.
2021-07-03 23:16:49 +02:00
OBattler
fd4817a87b All the current WIP work (warning: the PIT is currently using some temporary test rewrite that is going to be undone). 2021-06-29 19:11:19 +02:00
TC1995
d2c6452ff5 Reworked the HTVGA/Video7 clocks. Fixes the HT209 2401 error on MCA.
Fixed 16 color in the Realtek 3106 card.
Reworked the Sierra 1148x for the second time.
Registers that only exist on 928/80x and up are not used by the 911/924 anymore.
2021-05-20 20:57:54 +02:00
TC1995
1b642b4aba Port 0x105 on the ISA-based HT209 is only initialized from port 0x46e8 to avoid conflicts with the IBM PS/1 2011 and 2121's already existing initialization of the ports.
Reworked the Sierra SC1148x and AT&T49x ramdacs to use the RS2 signal when available.
Added the Realtek RTG3106 video card.
2021-05-12 18:51:02 +02:00
TC1995
94daad1887 Add the HT209/D-based Radius SVGA Multiview card and its "quirks". 2021-04-27 23:54:33 +02:00
David Hrdlička
dfbbe08a07 rewrite the emulator to use UTF-8 internally 2021-03-30 09:46:49 +02:00
OBattler
586a72c2bb Fixed the Video 7/Headland hardware cursor with the Windows 3.1 drivers, and added the standalone HT216-32. 2021-03-26 23:06:42 +01:00
OBattler
7b22fa60d1 Cleaned up the ET4000/W32, fixed the ICS 53xx/GENDAC/SDAC RAMDAC's, and readded the Cardex ET4000/W32p Rev. C with ICS 5341 RAMDAC. 2021-03-25 06:32:10 +01:00
TC1995
1763b2fcb2 Disabled defective ics5341-based bioses (16bpp would appear purprlish even on 16bpp and on 15bpp, though their roms won't be removed) and re-enabled the stg170x-based bioses with appropriate skew fixes (for real).
Replaced the ET4000/W32 (without letters) bios with a newer one.
Added ET4000/W32i VLB.
2021-03-24 19:06:38 +01:00
TC1995
9d700ce8d2 Fixed 1280x1024x8bpp mode in the 928.
Added the Tseng ET4000/W32 and its blitter.
Brought back the Tseng ET4000/W32i from the old days of being unused.
2021-03-16 16:48:24 +01:00
RichardG867
27115d80d3 Add AGP video card support and Voodoo 3 AGP 2021-03-14 21:31:02 -03:00
OBattler
cd0f344221 Video fixes and added the Tseng ET2000. 2021-02-18 21:55:39 +01:00
TC1995
eeabeeb2bb Added the latest fixes to support the 868/968 video engine and the 868 itself. 2020-12-22 14:17:22 +01:00
OBattler
645429e5f2 S3 Vision968 work. 2020-12-19 16:09:32 +01:00
EngiNerd89
4a00adc501 Merge branch 'master' of https://github.com/86Box/86Box.git into EngiNerd 2020-12-13 16:55:52 +01:00
EngiNerd89
901a75bb5d Ported NCR PC4i from PCem.
Implemented NCR NGA (640x400 extended CGA) graphic card.
2020-12-08 18:33:20 +01:00
Winins0
5f37f86a57 Moved the OGC in vid_table.c. 2020-12-07 16:57:12 +03:00
EngiNerd89
9daf161aee Added the following new machines:
- Olivetti M19.
- Olivetti M240.

Implemented mainboard jumper settings for Olivetti M24 machine:
- Like on a real M24, onboard video card can be disabled, and other video cards can be installed.
- Renamed m_olivetti_m24.c to m_xt_olivetti.c, as it handles all XT-class Olivetti machines.

Decoupled Olivetti OGC (640x400 extended CGA) from M24 machine code:
- OGC exists both as 16-bit proprietary card and 8-bit ISA card (GO708).
- Implemented underlined text handling in 80x25 character mode.
- Like Compaq CGA, replaced code portions common to CGA with calls to vid_cga.c.
2020-12-05 20:15:53 +01:00
OBattler
6e233f4ac8 SDL renderer improvements and fixes and added SDL OpenGL option;
Various performance improvements;
Fixed USB UHCI HCHalt;
Cirrus Logic CL-GD 5422/24 fixes and removed them from the Dev branch;
The Storage controllers sections of Settings now has its own corresponding section of the configuration file;
Fixed the AT clock divisors for some Pentium OverDrive CPU's;
Added the ACPI RTC status (no ACPI RTC alarm event yet).
2020-11-26 18:20:24 +01:00
RichardG867
53c1d684fb Fix Voodoo ordering 2020-11-23 14:48:48 -03:00
TC1995
7bb51b4c7a Ported the latest Voodoo patches from PCem. 2020-11-18 00:21:07 +01:00
OBattler
0faf6692c9 WARNING: CONFIGS MIGHT PARTIALLY BREAK WHERE DEVICE NAMES HAVE CHANGED.
Changes to device_t struct to accomodate the upcoming PCI IRQ arbitration rewrite;
Added device.c/h API to obtain name from the device_t struct;
Significant changes to win/win_settings.c to clean up the code a bit and fix bugs;
Ported all the CPU and AudioPCI commits from PCem;
Added an API call to allow ACPI soft power off to gracefully stop the emulator;
Removed the Siemens PCD-2L from the Dev branch because it now works;
Removed the Socket 5 HP Vectra from the Dev branch because it now works;
Fixed the Compaq Presario and the Micronics Spitfire;
Give the IBM PC330 its own list of 486 CPU so it can have DX2's with CPUID 0x470;
SMM fixes;
Rewrote the SYSENTER, SYSEXIT, SYSCALL, and SYSRET instructions;
Changed IDE reset period to match the specification, fixes #929;
The keyboard input and output ports are now forced in front of the queue when read, fixes a number of bugs, including the AMI Apollo hanging on soft reset;
Added the Intel AN430TX but Dev branched because it does not work;
The network code no longer drops packets if the emulated network card has failed to receive them (eg. when the buffer is full);
Changes to PCI card adding and renamed some PCI slot types, also added proper AGP bridge slot types;
USB UHCI emulation is no longer a stub (still doesn't fully work, but at least Windows XP chk with Debug no longer ASSERT's on it);
Fixed NVR on the the SMC FDC37C932QF and APM variants;
A number of fixes to Intel 4x0 chipsets, including fixing every register of the 440LX and 440EX;
Some ACPI changes.
2020-11-16 00:01:21 +01:00
TC1995
816af7e843 Added the Diamond Stealth VRAM (911), SE (Trio32) cards plus a generic S3 ViRGE 325 card.
Updated the Trio64V+ bios.
2020-11-13 21:14:09 +01:00
OBattler
795a6017d2 PIC rewrite, proper SMRAM API, complete SiS 471 rewrite and addition of 40x, 460, and 461, changes to mem.c/h, disabled Voodoo memory dumping on exit, bumped SDL Hardware scale quality to 2, bumped IDE/ATAPI drives to ATA-6, finally bumped emulator version to 3.0, redid the bus type ID's to allow for planned ATAPI hard disks, made SST flash set its high mappings to the correct address if the CPU is 16-bit, and added the SiS 401 AMI 486 Clone, AOpen Vi15G, and the Soyo 4SA2 (486 with SiS 496/497 that can boot from CD-ROM), assorted 286+ protected mode fixes (for slightly more accuracy), and fixes to 808x emulation (MS Word 1.0 and 1.10 for DOS now work correctly from floppy). 2020-10-14 23:15:01 +02:00
TC1995
945ec15350 Built-in video card device fixes from selected machines, such as Tandy and Olivetti.
Added the Compaq Deskpro BIOS from 1987 (8086, not 386).
Added the Trident TVGA9000B video card and fixed some anomalies with the TVGA8900B.
2020-10-06 18:06:08 +02:00
TC1995
64fa9a9526 Added the Phoenix S3 Trio64V+ card. 2020-10-04 19:56:03 +02:00
TC1995
2aa741e597 Re-added the S3 928 to the video table (forgot in the previous commits).
Marked the Trio3D/2X as incomplete/dev-branched due to bugs on win9x and no public datasheet of it.
Added 8MB option to the supported video memory to the ViRGE/VX.
2020-10-01 21:05:53 +02:00