Commit Graph

83 Commits

Author SHA1 Message Date
Alexander Babikov
c8bdb4cfcd Add manufacturer name to IBM video adapters 2024-01-29 00:49:11 +05:00
OBattler
ac78275cb8 EGA: Correct register (non-)readability on the Compaq EGA and light pen registers. 2024-01-24 20:45:44 +01:00
GreaseMonkey
257cf0d1a2 Remove the "reset horizontal fine scroll on split screen" VGAism from EGA 2024-01-23 17:07:27 +13:00
GreaseMonkey
e5000f7419 Fix fine scroll wobbling in EGA when calling ega_recalctimings
Closes: GH-4072
2024-01-23 17:03:33 +13:00
OBattler
79874ad3d5 EGA and (S)VGA: Removed a leftover if block around overscan Y, fixes garbage overscan Y values causing crashes. 2024-01-09 17:38:54 +01:00
GreaseMonkey
bad7c6490e Rework EGA overscan to be compatible with the unit tester
By the way, text mode scrolling at least seems to be correct now
2024-01-09 17:32:38 +13:00
GreaseMonkey
22ead81b80 Fixes for EGA scrolling 2024-01-09 17:20:31 +13:00
GreaseMonkey
258c55dcd3 EGA, (S)VGA: Fix vertical fine scroll behaviour
Ref: GH-4001
2024-01-07 09:04:25 +13:00
TC1995
bf52c1172b EGA:
Implement PEL panning per hardware features.
2023-12-22 19:29:42 +01:00
TC1995
d38ad2eb23 ATI EGA Wonder 800+ fixes.
1. Reverted the migration from ATI 18800 as the EGA code had the proper palette.
2. Add support for the 800x600 resolution required by said card.
2023-12-19 19:03:54 +01:00
TC1995
6eb05e14d5 ATI EGA Wonder 800+ and 18800 refactoring:
1. Proper cleanup of the code.
2. Migrate the card in question to the VGA class list as it's actually a rebadged VGA Edge (thus 18800).
3. Some VGA only features are not supported on this card and are documented in the recalctimings.
2023-12-18 23:43:37 +01:00
GreaseMonkey
1f5d00fe55 Generate CGA-to-EGA tables in video.c; Remove redundant table generation in vid_ega.c 2023-11-21 10:26:13 +13:00
Jasmine Iwanek
506d548b38 More linting in src/video 2023-08-23 00:50:52 -04:00
OBattler
27c56f608d Compaq 386 machine fixes and Compaq EGA palette mux timer, fixes #3494. 2023-08-14 05:00:56 +02:00
Jasmine Iwanek
02e41927e3 Dribs and drabs which have escaped 2023-08-12 13:07:00 -04:00
OBattler
33471594f4 First batch of video fixes, also fixes the MDA timings. 2023-08-12 01:16:49 +02:00
Jasmine Iwanek
a65c2164e0 sonarlint vid_ega.c 2023-07-31 15:20:29 -04:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
GreaseMonkey
078651d273 (mostly) Fix EGA split screen - fix done by @cons-cinnabar
Closes: #3386
2023-06-11 13:28:13 +12:00
Jasmine Iwanek
d1127e68fa Even more sonarlint work 2023-06-04 23:39:14 -04:00
Ben Russell
8fe70b0a6e vid_ega: Make the read-write CRTC registers readable
This fixes a lockup that happens when returning from QBASIC under many screen modes, including SCREEN 0.
2023-03-24 21:50:06 +00:00
Ben Russell
0bed201e87 vid_ega: Merge text renderers together 2023-03-23 17:06:12 +13:00
Ben Russell
69c18755a4 vid_ega: Extend 4bpp renderer to handle CGA 2bpp chunky graphics; Remove 2bpp renderer
This also lets planes 2 and 3 be used.
2023-03-23 15:28:25 +13:00
Ben Russell
212e494328 vid_ega: Merge 4bpp graphics renderers together 2023-03-23 14:51:35 +13:00
Ben Russell
2a395efbc9 vid_ega: Fix address decoding for Odd/Even modes for the 4bpp gfx renderers
This, combined with the Odd/Even fixes from a previous commit, gets the 64KB 640x350 2bpp modes working correctly.
Relevant issue: #2944
2023-03-20 20:07:39 +00:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Jasmine Iwanek
a40630ba63 Even more tabs to spaces 2023-01-07 14:09:51 -05:00
Jasmine Iwanek
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00
Jasmine Iwanek
883e7c256a clang format in src/video (#2654) 2022-08-31 20:19:29 -03:00
Cacodemon345
8a3367ff6f Multi-monitor support (backend preparation part) 2022-07-03 01:18:23 +06:00
TC1995
dbea8ec715 EGA: Backported the SVGA remapping parts to EGA as it actually works better in some cases, e.g.: FantasyLand on EGA. 2022-06-12 20:03:34 +02:00
Jasmine Iwanek
d28cec126a src/video 2022-04-12 17:26:07 -04:00
Jasmine Iwanek
3b73ce330c src/video 2022-03-18 18:07:09 -04:00
Jasmine Iwanek
801f81fbda clean up device_config_t formatting 2022-02-26 23:31:28 -05:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
OBattler
bff29cc69d Committed possible EGA and (S)VGA fix. 2022-02-11 00:15:11 +01:00
OBattler
6f2b93923c A lot of fixes - everything now seems to work properly. 2022-02-03 03:10:06 +01:00
Jess Lovelace
f18615ae87 refactored device_t and all declarations 2022-02-02 16:31:22 -05:00
OBattler
2c599321de Some small EGA fixes. 2021-12-08 22:43:23 +01:00
Jasmine Iwanek
41dccb5f6b EGA also supported 32K
lines 194-205 appear to cover the memory window setting.
2021-11-13 18:02:56 -05:00
OBattler
f27fec1740 Removed EGA/(S)VGA render wake-up on zero-sized blit and fixed the last compile-breaking mistake in the Unix SDL code. 2021-09-13 23:28:00 +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
TC1995
fd5ac14f26 Fixed scrolling anomalies in the EGA and SVGA card cores for Commander Keen to work right without glitches. 2021-07-12 22:12:27 +02:00
David Hrdlička
dfbbe08a07 rewrite the emulator to use UTF-8 internally 2021-03-30 09:46:49 +02:00
OBattler
cd0f344221 Video fixes and added the Tseng ET2000. 2021-02-18 21:55:39 +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
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
OBattler
b350c86237 Applies the split screen fix to EGA as well. 2020-10-09 13:50:31 +02:00
tiseno100
0f71ce7b5f Added 2 new XT machines
Implemented the American XT computer and the Iskra 3104(A clone made in Belarusian SSR). Also removed the Goldstar 386 & the Unknown Headland 386SX board as they were very buggy and their purpose is now served by the much better Intel 82335 boards.
2020-09-22 10:03:23 +03:00
OBattler
43b6056d84 EGA and (S)VGA cards now correctly disable the display when CRTC 0x17 bit 7 is clear, also reduces resizes even further. 2020-07-20 04:34:47 +02:00