Commit Graph

104 Commits

Author SHA1 Message Date
GreaseMonkey
a72142f2b5 Fix EGA/VGA/SVGA odd-even handling of write mask
Matches my AMD Stoney + S3 Trio64V2, and also Intel's 2023 GPU docs (which *still* tend to be more accurate than IBM's), and makes more sense than what we've (I've?) been doing.
2025-05-02 10:51:34 +12:00
OBattler
512154e4a8 EGA: Add braces around a case block to make clang happy. 2025-03-30 09:00:39 +02:00
OBattler
5569fa6f5d C&T SuperEGA: More fixes, the BIOS no longer freezes on attempting to boot from anything. 2025-03-30 08:22:14 +02:00
OBattler
e4877a57c5 EGA/JEGA: More fixes and implemented more C&T SuperEGA behavior. 2025-03-30 07:28:20 +02:00
OBattler
3fc6d29462 JEGA/JVGA: Only update renderer override on master, do not update CRTC cursor location unless it's either master or slave, and only override the text mode renderer - fixes AX Windows 3.0 386 enhanced mode returning from DOS box to full screen. 2025-03-30 04:53:48 +02:00
OBattler
c00c432398 EGA: Fix colors in mono mode and attribute registers, fixes #5395. 2025-03-29 00:10:39 +01:00
OBattler
63222b70db Added the OKIVGA/H-2 (JVGA/H). 2025-03-28 06:16:05 +01:00
Akamaki
512c04c9f4 Add OKI if386AX emulation (#7)
* add a machine oki if386ax

* if386AX: still in debug

* Revert "if386AX: still in debug"

This reverts commit ade401beb0c72cee6fd1ec4728097a87e75bc09b.

* if386ax: added I/O 6xh

* if386ax: remove comment

* formatting, sorting, change filename

* change mono color palette
2025-03-24 00:56:34 +09:00
OBattler
646e25f1bc EGA: Implement monochrome attributes for text mode. 2025-03-23 02:22:10 +01:00
OBattler
2151a6064f SuperEGA: Implement row and vertical divide modes. 2025-03-22 23:57:05 +01:00
OBattler
5fe9cc76da SuperEGA: Increase the GDC and CRTC register arrays to 256 elements to prevent overflows and correctly ignore the upper 3 bits of CRTC register 07h in ega_recalctimings(), fixes #4905. 2025-03-22 20:44:56 +01:00
OBattler
c3d15ef36d EGA and JEGA: Implement some missing SuperEGA stuff and make the JEGA properly set the EGA type to SuperEGA, fixes #5370. 2025-03-22 19:45:32 +01:00
Akamaki
f05e2f34b6 added JEGA video emulation 2025-03-19 08:51:52 +09:00
Jasmine Iwanek
d5d1d5c449 More cleanups to device structs 2025-02-08 01:28:25 -05:00
Jasmine Iwanek
81b8038bc5 Clean up .available & .poll 2025-02-01 03:38:52 -05:00
OBattler
463badd613 kB -> KB. 2024-11-19 04:08:21 +01:00
Jasmine Iwanek
c59e12ab09 Deal with more magic numbers in vid_ega.c 2024-08-08 18:58:14 -04:00
OBattler
6118f7080d Compaq EGA: Put the dot poll timer into the correct time after a timings recalculation, fixes POST errors on non-Compaq machines. 2024-08-07 17:34:09 +02:00
Jasmine Iwanek
493e82f488 Fix mistake in vid_ega.c 2024-08-07 01:29:13 -04:00
Jasmine Iwanek
5b8b5d739b Deal with some magic numbers in vid_ega.c 2024-08-07 01:07:50 -04:00
OBattler
fbfb6849c4 Compaq EGA: Implement C&T behavior where reads in mode 0 return 0xFF if bit 2 of GDC register 4 is set, fixes video memory size detection, fixes #4571. 2024-08-07 05:08:41 +02:00
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