Commit Graph

117 Commits

Author SHA1 Message Date
Daniel Gurney
aef9d1ed94 Revert "Merge branch 'bugfixes' into master"
This reverts commit 8250b57325, reversing
changes made to 6c643d05b8.
2025-07-01 03:04:14 +03:00
starfrost
8250b57325 Merge branch 'bugfixes' into master 2025-07-01 00:28:27 +01:00
starfrost013
bba8f4d499 Remove various unused ega_t fields and lots of unused 8514 stuff 2025-06-21 00:39:50 +01:00
OBattler
b394480a06 Assorted machines and JEGA/JVGA fixes. 2025-06-14 21:06:57 +02:00
starfrost013
5d8b3412e9 mdacols -> mda_attr_to_color_table; cgacols -> cga_attr_to_color_table 2025-06-11 20:36:56 +01:00
starfrost013
317a5b7ade stat -> status; improve MDA register decoding; add MDA CRTC, register and mode enums 2025-06-11 17:37:15 +01:00
starfrost013
dd7f3d0aae ma -> memaddr
ma_latch -> memaddr_latch
maback -> memaddr_backup
ca -> cursoraddr
sc -> scanline
oldsc -> scanline_old
2025-06-10 22:53:45 +01:00
starfrost013
95708eb0d7 Reorganise and rename the CGA files. Move onboard video to the video folder. Rename "con" to "cursorvisible" across the entire emulator 2025-06-09 23:04:13 +01:00
TC1995
cf042e95cb ATI EGA Wonder 800 Plus changes (June 7th, 2025)
It really comes down to the EEPROM for the monitor settings and fixes for resolutions between hdisp > 640 && hdisp < 800 (like MDA)
2025-06-07 22:50:21 +02:00
Jasmine Iwanek
ee5508f306 Assorted EGA code optimizations 2025-06-06 23:16:28 -04:00
Jasmine Iwanek
77f1c62aee Support for alternate IBM EGA Address
(Disabled behind ifdef because while it's a thing, you need a custom BIOS to use it)
2025-06-06 23:16:28 -04:00
Jasmine Iwanek
6f8571c026 Fix a bug in EGA 2025-06-06 21:55:06 -04:00
Jasmine Iwanek
b71e321236 Assorted cleaning 2025-06-06 21:55:06 -04:00
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