Commit graph

12034 commits

Author SHA1 Message Date
Miran Grča
93ff7b7ff8
Merge pull request #4011 from iamgreaser/gm/video-debug-device
Add initial "Unit Tester" device for analysing framebuffer contents
2024-01-08 02:35:35 +01:00
OBattler
215c507634 Soft reset on IDE device 1 causes the assertion of PDIAG- which causes the error register of device 0 to also be set to 1, indicating diagnostics passed successfully (+ a PIIX3 fix), fixes #4002. 2024-01-08 02:35:03 +01:00
GreaseMonkey
9448fc044f Enable and disable "configure" button for unit tester
Now ready for review!
2024-01-08 13:53:13 +13:00
GreaseMonkey
276e43428e Allow one to enable/disable unit tester exit
Memo to self: Hardware renderers often exit in a silent segfault. Look into this at some point.
2024-01-08 13:48:33 +13:00
GreaseMonkey
5a2e3611d9 unittester: Apply clang-format 2024-01-08 13:01:55 +13:00
GreaseMonkey
4648092b12 unittester: Fix that one bug I wasn't going to fix
I might as well not be a hypocrite here.
2024-01-08 12:59:02 +13:00
GreaseMonkey
e5f467918c unittester: Cleanups and specification v1.0.0 finalisation 2024-01-08 12:54:31 +13:00
GreaseMonkey
77c4883d0b Merge remote-tracking branch 'origin/master' into gm/video-debug-device 2024-01-08 12:10:21 +13:00
OBattler
86d7c248f4 The forgotten changes to vid_cga.h. 2024-01-08 00:09:35 +01:00
GreaseMonkey
5453a7334f Merge remote-tracking branch 'origin/master' into gm/video-debug-device 2024-01-08 12:08:37 +13:00
GreaseMonkey
30aacb2a1a unittester: Implement 0x03 "Verify Screen Snapshot Rectangle"
Basic quick tests show that this is probably consistent with command 0x02.
2024-01-08 12:07:14 +13:00
OBattler
354c537469 Added 3 CGA line doubling types, in order from the lowest to the highest quality, and the IBM 5153 monitor (per VileR's colors) which is now default, closes #3105. 2024-01-08 00:07:00 +01:00
GreaseMonkey
f35dd20974 unittester: Reduce spam 2024-01-08 10:45:13 +13:00
OBattler
67d8ebba51 S3: Correct line lengths and introduce s3_log(). 2024-01-07 20:54:48 +01:00
Miran Grča
526c912c80
Merge pull request #4009 from 86Box/tc1995
S3 changes again:
2024-01-07 20:46:25 +01:00
TC1995
c5e321ca92 S3 changes again:
1. Moved the wraparound fix to the respective recalctimings, makes Commander Keen still playable without flickering and, at the same time, making Solaris work right in 640x480x8bpp+ mode (including 1024x768x8bpp).
2. The multifunction index 0x0e bit that can be toggled in 32bpp mode is now initialized properly, should fix the pinkness on Solaris' 32bpp mode.
2024-01-07 20:36:50 +01:00
Miran Grča
e25caccc43
Merge pull request #4003 from iamgreaser/gm/vga-smooth-vscroll-fix-4001
EGA, (S)VGA: Fix vertical fine scroll behaviour
2024-01-07 14:19:36 +01:00
GreaseMonkey
678874cd42 unittester: Implement 0x02 "Read Screen Snapshot Rectangle"
This will need some extra testing but it does appear to be at least somewhat functional.
2024-01-07 22:24:32 +13:00
GreaseMonkey
2e020584cf unittester: Finish implementing 0x01 "Capture Screen Snapshot"
And it's looking like the overscan bounds and offset calculation will need to be correct.
Otherwise, things will break.
Let's see what happens when I get command 0x02 working...
2024-01-07 21:32:59 +13:00
GreaseMonkey
d44c439bd8 unittester: Implement most of 0x01 "Capture Screen Snapshot"
The thing that isn't implemented is the actual snapshot capture.
But the dimensions should be correct.
I am feeling a bit iffy about the overscan, though.
2024-01-07 21:27:13 +13:00
GreaseMonkey
59e51939ad unittester: Fix erroneous debug message 2024-01-07 20:09:06 +13:00
GreaseMonkey
ae3e40706f unittester: Remove the worst of the log spam 2024-01-07 18:19:27 +13:00
GreaseMonkey
7dbbb0d12b Fix a comment 2024-01-07 18:19:17 +13:00
GreaseMonkey
ab7df4409b unittester: Implement 0x04 "Exit" 2024-01-07 17:42:23 +13:00
GreaseMonkey
d1133a7c7f unittester: Implement status register and 0x00 "No-op" command 2024-01-07 17:20:19 +13:00
GreaseMonkey
04eb9ffc3e unittester: Add WIP specification document 2024-01-07 17:07:24 +13:00
OBattler
4f392ca8e3 SM(S)C FDC37C669 Super I/O chip rewrite and proper FDC power down behavior, fixes floppy drive errors on the new Daeweoo machine. 2024-01-07 01:42:34 +01:00
GreaseMonkey
5279cd5d8d unittester: Add dummy main ports
Reads and writes mostly do nothing but log, although the status returns a dummy value of 0x04 (no command in flight, not waiting for anything, and no errors).
2024-01-07 13:31:45 +13:00
GreaseMonkey
130d4094e1 unittester: Implement basic activation + IOBASE-setting protocol
Next up is the actual I/O ports!
2024-01-07 13:17:21 +13:00
GreaseMonkey
72b465e181 Add dummy 86Box Unit Tester device 2024-01-07 11:50:22 +13:00
GreaseMonkey
bf52ef7598 Add "86Box unit tester" config option + Qt UI checkbox
This is in preparation for making the device actually exist.
2024-01-07 11:21:38 +13:00
GreaseMonkey
258c55dcd3 EGA, (S)VGA: Fix vertical fine scroll behaviour
Ref: GH-4001
2024-01-07 09:04:25 +13:00
OBattler
2fb04b63ec Some corrections. 2024-01-06 01:59:06 +01:00
OBattler
41766a6a1d PCI changes to accomodate the SiS TRC stuff. 2024-01-06 01:55:38 +01:00
OBattler
937e2a52f8 SiS 5571, Daewoo Compaq, speed up AT / PS/2 KBC (does not appear to break anything from months of testing) and fix AT / PS/2 keyboard reset to fix the Samsung SPC7700LP-W soft reset. 2024-01-06 01:51:20 +01:00
OBattler
a1ef3c47fc 8514/a and ATi Mach 8: Fix the recently introduced warnings. 2024-01-06 00:05:43 +01:00
Miran Grča
b02efe1e58
Merge pull request #3999 from 86Box/tc1995
Huge fixes to 8514/A compatibles:
2024-01-05 21:28:59 +01:00
TC1995
4b52a514bd Huge fixes to 8514/A compatibles:
1. Properly implemented polygon filling in the BitBLT side of the ATI 8514/A compatibles (Mach8/32), this allows games like Mj8514 and demos like HDIDEMO from IBM to run under ATI's hdiload 1.1 properly.
2. Finally figured out the polygon filling command in the IBM one about read and write masks (Command 5 and Command 2 with polygon filling bits on, currently only for the read mask one), this allows the above samples to render properly with IBM's original hdiload 1.0 from 1987.
2024-01-05 21:22:01 +01:00
Miran Grča
73afc194ea
Merge pull request #3998 from 86Box/tc1995
S3 mode fixes 2 and one small accel cleanup:
2024-01-05 21:13:56 +01:00
TC1995
6b1d0b9e88 S3 mode fixes 2 and one small accel cleanup:
1. Fixed 16bpp modes (including 15-bit) of the Trio32/64 that were doubling their horizontal resolution.
2. Made Bresenham Line easier to work with.
2024-01-05 21:11:49 +01:00
OBattler
13d582b56f Unix: Use proper parentheses to cast the result, not the flags, fixes #3994. 2024-01-05 13:01:17 +01:00
OBattler
e64b7e837c Also applied the changes to pit_fast.c. 2024-01-04 09:02:59 +01:00
OBattler
1b4cc90455 Merge branch 'master' of https://github.com/86Box/86Box 2024-01-04 09:00:38 +01:00
OBattler
2722ae1d68 PIT: Change assignments to OR's. 2024-01-04 09:00:29 +01:00
Miran Grča
b5bb35688c
Merge pull request #3991 from 86Box/tc1995
PCnet-based fixes:
2024-01-04 00:48:39 +01:00
TC1995
82b19477f4 PCnet-based fixes:
1. Racal Etherblaster now has, on reset, the proper initialization values, fixes detection under various operating systems, especially NT.
2024-01-04 00:46:20 +01:00
Miran Grča
d62a82af4d
Merge pull request #3990 from 86Box/tc1995
S3 mode fixes (1):
2024-01-04 00:41:42 +01:00
TC1995
4317155167 S3 mode fixes (1.5):
1. Actually fix the one in 32bpp mode (968 only).
2024-01-04 00:27:50 +01:00
TC1995
45df94c954 S3 mode fixes (1):
1. Fixed the Elsa Winner 2000 Pro-X/8 (964 and 968) 15/16/32bpp modes at 1280x1024+.
2024-01-04 00:22:47 +01:00
OBattler
356ac8acbe Fixed the two warnings in video/vid_s3.c. 2024-01-03 23:56:58 +01:00