Commit Graph

43 Commits

Author SHA1 Message Date
Jasmine Iwanek
197e817ea3 Remove several unused variables 2023-10-08 13:32:43 -04:00
TC1995
097fa229bd Fix compilation. 2023-09-30 22:21:09 +02:00
TC1995
6802c0593b Video, Storage and MCA changes/fixes.
1. Cirrus Logic GD54xx, Paradise/WD VGA now reset the interlace once a text mode is issued if not done automatically.
2. Paradise/WD's 15/16bpp modes using the 800x600 resolution now have the correct ma_latch, should fix most operating systems drivers using this combo.
3. More fixes (hopefully) to the accelerated pitch and rowoffset of the Trident TGUI cards (9440AGi and 96x0XGi), should fix issues with delayed displays mode changes under various operating systems (e.g.: Win3.1x).
4. Preliminary implementation of the Area Fill command of XGA, which is issued while using various painting and/or calc utilities on Win3.1x (IBM XGA updated drivers, e.g.: 2.12).
5. Preliminary (and incomplete) 4bpp XGA mode.
6. The XGA memory test for the 0xa5 using writes (used by various operating systems) no longer conflicts with DOS' XGAKIT's memory detection.
7. Small ROP fixes to both XGA and 8514/A.
8. Re-organized the mapping of the Mach32 chipset, especially when to enable the ATI mode or switching back to IBM mode, should fix LFB conflicts with various operating systems.
9. According to The OS/2 Museum, the Adaptec AHA-154xB series of SCSI cards fail the ASPI4DOS.SYS 3.36 signature check, so now make the changes accordingly.
10. Remove useless and crashy bios-less option of the Trantor T128.
11. The Image Manager 1024 card can also be used on a XT (although only if it has a V20/V30).
12. Re-organized the IBM PS/2 model 60 initialization as well as its right POS machine ID (though an update to sc.exe is still required for the POST memory amount to work normally).
2023-09-30 22:08:08 +02:00
TC1995
23a2923724 More XGA fixes:
These make XGAKIT report 1MB of VRAM (from DOS).
2023-08-24 00:30:21 +02:00
Jasmine Iwanek
506d548b38 More linting in src/video 2023-08-23 00:50:52 -04:00
Alexander Babikov
ef631a8133 8514/A and XGA handling refactor:
* separate (ibm8514|xga)_enabled into (ibm8514|xga)_standalone_enabled
  and (ibm8514|xga)_active, the former being enabled only for standalone
  8514/A or XGA cards, the latter for all 8514/A and XGA-capable cards
  and not saved into the config file;
* remove (ibm8514|xga)_has_vga and replace all uses of it with
  (ibm8514|xga)_standalone_enabled;
* Qt UI: the checkboxes for standalone 8514/A and XGA are now correctly
  grayed out if an (S)VGA card with 8514/A or XGA capability is selected,
  including cases when the card is an internal/onboard one; said cards are
  now no longer appear as SVGA multi-monitor compatible.
2023-08-22 23:48:32 +05:00
OBattler
debed8d196 Re-add XGA ROM reading. 2023-08-16 00:10:38 +02:00
OBattler
6906db6d3b Mach8 and XGA logging clean-ups. 2023-08-15 22:30:55 +02:00
Jasmine Iwanek
375f69ed61 Fix more compile warnings 2023-08-15 13:28:04 -04:00
Jasmine Iwanek
02e41927e3 Dribs and drabs which have escaped 2023-08-12 13:07:00 -04:00
cold-brewed
99cdd3a16a Various warning cleanups 2023-08-12 11:42:11 -04:00
OBattler
ce5e21f870 More warning and compile fixes. 2023-08-08 15:38:40 +02:00
Jasmine Iwanek
2d7c62c853 sonarlint vid_xga.c 2023-07-31 15:10:52 -04:00
TC1995
d2b0d0c3c2 XGA: 16bpp mode in accelerated mode no longer shows inverted colors in various parts of some stuff (e.g.: Win3.1x, OS/2). 2023-07-27 16:01:20 +02:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
54c52fb55c Fix several instances of uninitialized variables. 2023-07-21 13:46:08 -04:00
OBattler
7e9045e6b1 And a warning in the XGA code. 2023-07-16 03:50:00 +02:00
TC1995
cb06b9e78f Video features and fixes:
Added the Mach8 and Mach32 ISA/VLB/PCI cards (initial implementation and MCA coming soon for the Mach32) and their corresponding EEPROM's.
Added INMOS XGA ISA card and updated the SVGA core to reflect its mapping as well as the Mach8/32 mapping when in 8514 monitor mode.
Mark the XGA button as already checked and locked when a standalone XGA BIOS card is present like the INMOS one. (QT only)
Same concept as above, but applies to the Mach8 and 32 for the 8514 option as well. (QT only)
2023-07-14 23:38:04 +02:00
Jasmine Iwanek
d1127e68fa Even more sonarlint work 2023-06-04 23:39:14 -04:00
TC1995
a77271cfa6 Accelerator fixes part 1:
XGA: Fix crash when (S)VGA cards not selected as the primary display (e.g.: EGA, CGA. etc).
Better handling of the VGA on/off passthrough (vga_on variable).
MCA side: to avoid lfb issues, bit 0 of POS4 will be always enabled regardless of the ram size (most software uses the >16MB memory method).
Better handling of the BIOS ROM mapping and Memory Mapped I/O during the MCA PS/2 POST and resets, fixes 40 25 hang (once and for all).
Re-organized the ROM loading in ISA mode.
2023-05-05 19:08:49 +02:00
Jasmine Iwanek
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00
Jasmine Iwanek
bd75bc141a Header cleanups
Tabs to spaces
Consistency
2022-11-13 21:15:47 -05:00
Jasmine Iwanek
6ea143e107 More compile warning fixes 2022-11-06 15:55:16 -05:00
Jasmine Iwanek
ece9f7ec72 Fix some compile warns while I'm at it 2022-09-21 19:27:08 -04:00
TC1995
3a77be3820 Clang-format fixes... 2022-09-06 23:48:10 +02:00
TC1995
32220dab84 XGA: made the source file compatible with the 86box clang-format style (ident) and actually fixed the 40 25 POST hang (the key element was bit 0 of MCA port 0x103). 2022-09-06 23:39:37 +02:00
TC1995
c3f6a46142 XGA: Revert to the rom_init routine to load the XGA-1/XGA-2 bios, this fixes intermittent hangs on the XGA-2 end (MCA only, ISA version is intact). 2022-09-01 17:52:51 +02:00
Jasmine Iwanek
883e7c256a clang format in src/video (#2654) 2022-08-31 20:19:29 -03:00
Jasmine Iwanek
5e0c1ac209 Gdbstub, Minitrace and more (#2653)
* Fix gdbstub compilation

* Fix minitrace compilation

* Fix many warnings on Linux Builds

* Support DirectInput for Joysticks in QT UI too
2022-08-31 18:35:32 -03:00
TC1995
0c2d9cb289 XGA: Cursor no longer gets black parts when returning from Mystify screensaver to GUI and, at the same time, keeping the Win95 cursor intact.
Mono blits no longer cause transparency issues in some programs (e.g.: Creative utilities such as MIDI and CD on Win3.1x).
2022-08-09 23:16:38 +02:00
TC1995
8767bb5894 Made reg 0x53 (read only) default temp val to 0x70 to satisfy xgaaidos.sys's detection.
Apparently MCA Audio cards always want auto-init enabled.
2022-07-19 17:25:17 +02:00
TC1995
a8c0d30a0a Apparently a default temp val of 0xff in the read makes XGA-1/2 panic on GUI's... 2022-07-19 17:18:46 +02:00
TC1995
3cc3bb339a Fix the fix. 2022-07-15 18:36:47 +02:00
TC1995
0ba7c3c025 Fix warnings on the XGA, 8514/A and EGA Render map files.
Revert initial XGA rom length back to 0x2000 to prevent error 114 in the MCA bioses.
2022-07-15 18:27:30 +02:00
Cacodemon345
11a75f5fd5 Merge branch 'master' into multimonitor-take2-ui 2022-07-10 11:44:58 +06:00
TC1995
333e99113b IBM ESDI MCA, 8514/A, XGA and Rancho changes:
ESDI MCA: Increased esdi_time from 200 to 512, should fix the timeout that caused the bad attention 03 fatal.
Rancho: Added the Rancho RT1000B-MC MCA SCSI controller, it uses the 8.20R BIOS.
8514/A: Reworked the Outline command to satisfy the manual and the win2.10 (286/386) driver.
XGA: Initial rom len is set to 0x8000 (which, after being configured, is set back to 0x2000) just to not make it hang with POST code 40 25 on most configurations.
2022-07-09 23:19:18 +02:00
Cacodemon345
431f1de906 Merge branch '86Box:master' into multimonitor-take2-ui 2022-07-05 18:57:57 +06:00
TC1995
f0a78c7642 Initial XGA-2 implementation, (same as XGA-1 internally, but able to do 800x600 officially), selection is possible only on QT at the moment.
Refactored the ROP/MIX of the XGA accelerator.
Bus type variable added to make sure the device is an ISA-16 device or MCA in its dedicated register.
2022-07-03 23:01:46 +02:00
Cacodemon345
8a3367ff6f Multi-monitor support (backend preparation part) 2022-07-03 01:18:23 +06:00
TC1995
30e0201174 When linear framebuffer base is mapped, it's fb_only time, fixes gibberish fonts and corrupt mouse cursor on BeOS releases using the S3 Trio/Virge cards.
Slight cleanup of the XGA card and fixed more possible cursor issues.
2022-07-01 17:58:56 +02:00
TC1995
63b4209414 And finally, more fixes to the XGA implementation including:
Cursor and mapping on Windows 2.x' 286/808x XGA driver.
Pattern and DMA bus master fixes to OS/2 2.x/Warp's XGA driver.
Software reset no longer causes glitches to the screen using XGA (x86.c)
2022-06-27 17:01:02 +02:00
TC1995
1d9c18df0b More fixes to the PXBlt (BitBLT) side, now patterns work fine as well as DMA bus mastering required by OS/2 and Windows 3.0 third party XGA drivers. 2022-06-21 20:56:30 +02:00
TC1995
9e44719f13 Added initial (and a bit buggy on OS/2, so use 8514/A on it instead) emulation of XGA for both MCA and ISA buses. 2022-06-17 21:26:26 +02:00